📄 m_seq.m
字号:
% clear;
% clear all;
%**************************************************************************
% connect_cof1=[0 0 1 1 1 1 1 0 0 1]; %移位寄存器的反馈系数
connect_cof1=[0 0 0 0 0 1 0 0 1 0]; %移位寄存器的反馈系数
M_seq_initiate=[1 1 1 1 1 1 1 1 1 1] ; %移位寄存器的初始状态
temp1=M_seq_initiate;
r=length(temp1);
M_seq_length=2^r; %M_seq序列的长度,g1是M序列
M_seq=[]; %初始时为空矩阵
M_seq_leng=0;
%the circle is to generate M sequence,then stop when temp equals M_seq_initiate again
while M_seq_leng<M_seq_length
connect_sum1=temp1.*connect_cof1;
if temp1(1:length(temp1)-1)==[0 0 0 0 0 0 0 0 0]
connect_sum2=1;
else
connect_sum2=0;
end
connect_sum=[connect_sum1,connect_sum2];
feedback1=mod(sum(connect_sum),2);
M_seq=[M_seq,temp1(length(temp1))]; %用移位寄存法产生M序列
M_seq_leng=length(M_seq);
temp1=[feedback1,temp1(1:(length(temp1)-1))];
end
for i=1:M_seq_length %将0,1单极性序列变成+1,-1的双极性序列
if M_seq(i)==0
M_seq(i)=-1;
else
M_seq(i)=1;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -