Une séquence pseudo-aléatoire est une séquence déterministe présentant certaines caractéristiques aléatoires. Ce sont des séquences déterministes générées par des registres à décalage, mais ce sont pourtant des séquences aléatoires avec des caractéristiques aléatoires. Parce qu'elle possède également des caractéristiques aléatoires, il est impossible de juger si une séquence générée est une véritable séquence aléatoire ou une séquence pseudo-aléatoire à partir des caractéristiques de la séquence. Elle ne peut être jugée que sur la base de la méthode de génération de la séquence.
Si une séquence, d'une part, elle peut être prédéterminée et peut être produite et copiée à plusieurs reprises, d'autre part, elle a une sorte d'aléatoire ; séquence Caractéristiques aléatoires (c'est-à-dire caractéristiques statistiques), nous appelons cette séquence 伪随机序列
.
Une séquence pseudo-aléatoire est une séquence déterministe présentant certaines caractéristiques aléatoires. Ce sont des séquences déterministes générées par des registres à décalage, mais ce sont pourtant des séquences aléatoires avec des caractéristiques aléatoires. Parce qu'elle possède également des caractéristiques aléatoires, il est impossible de juger si une séquence générée est une véritable séquence aléatoire ou une séquence pseudo-aléatoire à partir des caractéristiques de la séquence. Elle ne peut être jugée que sur la base de la méthode de génération de la séquence. La série de séquences pseudo-aléatoires présente un bon caractère aléatoire et une fonction de corrélation proche du bruit blanc, et présente une prédéterminabilité et une répétabilité. Ces caractéristiques rendent les séquences pseudo-aléatoires largement utilisées, notamment dans les systèmes CDMA comme codes d'étalement, qui sont devenus un problème clé dans la technologie CDMA. La particularité est que le nombre d’occurrences des deux éléments dans la séquence est approximativement égal.
Si n éléments apparaissant en continu sont appelés une séquence d'éléments de longueur n, alors la séquence d'éléments de longueur n dans la séquence est deux fois plus longue que la séquence d'éléments de longueur n+1.
Il existe une relation définie entre les éléments de séquence, mais il s'agit d'une forme de signal discrète spéciale avec des propriétés similaires aux séquences aléatoires. Elle peut être exprimée comme
…, ɑ-1, ɑ0, ɑ1. , ɑ2 ,...
où ɑi peut prendre la valeur 0, 1 ou 1, -1 il peut aussi prendre les éléments du champ symbolique GF(q) (voir code du bloc). La première est appelée séquence binaire et la seconde est appelée séquence q-aire. Mais la chose la plus importante dans la pratique est la première. La longueur de la séquence peut être finie ou infinie. Ce dernier se concentre principalement sur les séquences périodiques, c'est-à-dire qu'il existe un entier positif minimum tel que ɑp = ɑp + i pour tout i, et p est la période.
Lorsque chaque élément de la séquence est une variable aléatoire indépendante les unes des autres et a la même distribution, on parle de séquence aléatoire. Les principales applications pratiques sont les colonnes pseudo-aléatoires. Il fait référence à l'existence d'une relation définie entre les éléments d'une séquence, mais il possède les propriétés suivantes similaires aux séquences aléatoires : ① Le nombre d'éléments ne diffère pas de plus de 1 dans une longueur ou une période limitée, c'est-à-dire qu'il est proche à probabilité égale ; ② L'apparition de l valeurs identiques ou est appelée La probabilité de l à long terme est proche de 1/ql ; ③La fonction de corrélation
est p lorsque τ=0, et ne dépasse pas ± ; 1 lorsque τ0, où p est la longueur ou la période de la séquence. En fait, les séquences qui remplissent généralement les conditions ci-dessus sont parfois aussi appelées séquences pseudo-aléatoires.
import numpy as np import matplotlib.pyplot as plt #用来正常显示中文标签 #plt.rcParams['font.family'] = ['Simhei'] plt.rcParams['font.sans-serif'] = ['Yahei consolas hybrid'] #用来正常显示负号 plt.rcParams['axes.unicode_minus']=False # A = 6 N = 200 x0 = 1 M = 255 v = np.zeros([N,1]) #print(v) x= np.arange(N) for k in np.arange(N): x2 = A*x0 x1 = x2 % M v1 = x1/256 v[k] = 2*(v1 - 0.5) x0 = x1 #print(v.reshape(7,16)) plt.plot(x,v) plt.xlabel('k') plt.ylabel('v') plt.title('伪随机序列') plt.show()
Recommandations gratuites associées : Cours vidéo de programmation
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!