Penjanaan Matlab isyarat pseudo-rawak (jujukan M)
Terdapat dua kaedah utama yang dijelaskan di sini, satu menggunakan penyuntingan fail m, satu lagi menggunakan simulink untuk menjana
1. Edit dengan fail m
Np=63;% tempoh kitaran
delta_T = 1; % detik jam
a=1;% amplitud
%Memulakan urutan M
M(1)=1;
M(2)=0;
M(3)=0;
M(4)=1;
M(5)=1;
M(6)=0;
M_XuLie(Np) = 0;
untuk n = 1 : Np
temp = xor(M(6), M(5));
jika(temp == 0)
M_XuLie(n) = a;
lain
M_XuLie(n) = -a;
akhir
M(6) = M(5);
M(5) = M(4);
M(4) = M(3);
M(3) = M(2);
M(2) = M(1);
M(1) = suhu;
akhir
angka(4)
tangga(M_XuLie)
ylim([-2 2])
Penerangan:
1. Prinsip: Memandangkan ia ditulis dalam kod, ungkapan prinsip mungkin tidak begitu intuitif
2 Tempoh: Jika ada N daftar syif, maka tempohnya ialah 2^N-13 Kesinambungan kitaran:
r = 3; % bilangan kitaran
u=repmat(M_XuLie,1,r+1);% tetapkan urutan M kepada input sebagai isyarat input
2 Gunakan simulink untuk menjana urutan M
1 Pilih 6 daftar syif, iaitu 1/Z Susun mengikut urutan, dan tetapkan syarat awal kepada semua 1
2 Mula-mula pautkan 6 daftar anjakan ini, sambungkan output pertama ke input kedua, dan seterusnya sehingga yang keenam disambungkan ke OUT, dan kemudian sambungkan skop di sini untuk memerhati bentuk gelombang isyarat atau sambungkannya ke ruang kerja (dalam contoh ini disambungkan ke ruang kerja). Tetapkan nama pembolehubah dan format output seperti berikut.
Nota: Cuba pilih output borang matriks, jika tidak, ia akan menyusahkan untuk menghubungi.
3 Pilih operator logik dan laraskannya kepada XOR daripada tetapan, 2 input
4 Teruskan menyambung
5 Tetapkan parameter, terutamanya tetapkan saiz langkah dan jumlah masa berjalan (klik menu tetapan simulasi-konfigurasi parameter)
6 Klik untuk menjalankan Apa yang dipaparkan dalam skop ialah urutan m! Atau masukkan tangga(M_seque)
dalam baris arahan
Nota: Sebenarnya, terdapat beberapa masalah dalam penggunaan sebenar dengan kaedah ini, iaitu isyarat keluaran adalah jenis bool, iaitu urutan logik, dan tidak boleh digunakan sebagai input fungsi pemindahan dalam fail m, ia boleh digunakan melalui kaedah berganda dan lain-lain Untuk penukaran, Simulink sepatutnya mempunyai kaedah untuk menukarnya, tetapi pertanyaan yang berkaitan belum dilakukan lagi.Cara menjana jujukan pn dalam matlab
m jujukan pseudorandom kod sumber Matlab
%5 pesanan m urutan
% Masukkan yang berikut dalam tetingkap arahan MATLAB:
% sambungan fb=[0 1 0 0 1];
% mseq="m"_jujukan(sambungan fb);
% mseq
fungsi mseq="m"_jujukan(sambungan fb)
n=panjang(sambungan fb);
N=2^n-1;
daftar=[ones(1,n-1) 1]; %Keadaan awal daftar syif
mseq(1)=register(n); %mSimbol keluaran pertama bagi jujukan
untuk i="2:N"
newregister(1)=mod(sum(fbconnection.*register),2);
untuk j="2:n",
pendaftar baharu(j)=daftar(j-1);
akhir;
register="newregister";
mseq(i)=daftar(n);
akhir
Simpan sebagai m_sequence.m;
Atas ialah kandungan terperinci Bagaimana untuk menjana isyarat rawak jalur lebar menggunakan matlab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!