Maison > tutoriels informatiques > connaissances en informatique > Comment générer des signaux aléatoires à large bande à l'aide de Matlab

Comment générer des signaux aléatoires à large bande à l'aide de Matlab

WBOY
Libérer: 2024-01-25 09:54:06
avant
601 Les gens l'ont consulté

Comment générer des signaux aléatoires à large bande à laide de Matlab

Comment générer des signaux aléatoires à large bande à l'aide de Matlab

Génération Matlab de signaux pseudo-aléatoires (séquence M)

Il existe deux méthodes principales expliquées ici, l'une consiste à utiliser l'édition de fichiers m, l'autre consiste à utiliser simulink pour générer

1. Modifier avec le fichier m

Np=63;% période de cycle

delta_T = 1 ; % de tics d'horloge

a=1;% amplitude

%Initialiser la séquence M

M(1)=1;

M(2)=0;

M(3)=0;

M(4)=1;

M(5)=1;

M(6)=0;

M_XuLie(Np) = 0;

pour n = 1 : Np

temp = xor(M(6), M(5));

if(temp == 0)

M_XuLie(n) = a;

autre

M_XuLie(n) = -a;

fin

M(6) = M(5);

M(5) = M(4);

M(4) = M(3);

M(3) = M(2);

M(2) = M(1);

M(1) = temp;

fin

figure(4)

escaliers(M_XuLie)

ylim([-2 2])

Description :

1. Principe : Puisqu'il est écrit en code, l'expression du principe peut ne pas être très intuitive. Le principe sera donné sous forme de simulation plus tard

.

2. Période : S'il y a N registres à décalage, alors la période est 2^N-1

3. Suite du cycle :

r = 3 ; % nombre de cycles

u=repmat(M_XuLie,1,r+1);% attribue la séquence M à l'entrée comme signal d'entrée

2. Utilisez simulink pour générer une séquence M

1 Choisissez 6 registres à décalage, qui sont des registres 1/Z. Disposez-les dans l'ordre et définissez les conditions initiales sur tous les 1

.

2 Liez d'abord ces 6 registres à décalage, connectez la première sortie à la deuxième entrée, et ainsi de suite jusqu'à ce que la sixième soit connectée à OUT, puis connectez un oscilloscope ici pour observer la forme d'onde du signal ou connectez-le à l'espace de travail (en cet exemple est connecté à l'espace de travail). Définissez le nom de la variable et le format de sortie comme suit.

Remarque : essayez de choisir la sortie sous forme matricielle, sinon il ne sera pas pratique d'appeler.

3 Sélectionnez un opérateur logique et ajustez-le sur XOR à partir des paramètres, 2 entrées

4 Continuez à vous connecter

5 Définir les paramètres, définissez principalement la taille du pas et la durée totale d'exécution (cliquez sur le menu Paramètres de simulation-configuration)

6 Cliquez pour exécuter. Ce qui est affiché dans la portée est la séquence m ! Ou entrez escaliers(M_seque)

dans la ligne de commande

Remarque : en fait, il existe certains problèmes d'utilisation réelle avec cette méthode, c'est-à-dire que le signal de sortie est de type booléen, c'est-à-dire une séquence logique, et ne peut pas être utilisé comme entrée de la fonction de transfert si c'est le cas. dans un fichier m, il peut être utilisé via des méthodes doubles et autres. Pour la conversion, Simulink devrait disposer d'une méthode pour le convertir, mais la requête correspondante n'a pas encore été effectuée.

Comment générer une séquence pn dans matlab

pour k=1:length(x) gfpretty(x(k,:));end

m séquence pseudo-aléatoire code source Matlab

%5 séquence m de commande

% Entrez ce qui suit dans la fenêtre de commande MATLAB :

% fbconnection=[0 1 0 0 1];

% mseq="m"_sequence(fbconnection);

% mseq

fonction mseq="m"_sequence(fbconnection)

n=longueur(fbconnection);

N=2^n-1;

register=[ones(1,n-1) 1]; %L'état initial du registre à décalage

mseq(1)=register(n); %mLe premier symbole de sortie de la séquence

pour i="2:N"

newregister(1)=mod(sum(fbconnection.*register),2);

pour j="2:n",

newregister(j)=register(j-1);

fin;

register="newregister";

mseq(i)=registre(n);

fin

Enregistrer sous m_sequence.m;

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!

source:docexcel.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal