📄 m.m
字号:
% clear;
% clear all;
%****************************************************************************************
%产生g1序列
% connect_cof1=[1 0 1 1 1 0 1 1 0 1 1]; %1023移位寄存器的反馈系数:6733
% connect_cof1=[0 1 0 0 0 0 1 0 0 1 1]; %1023移位寄存器的反馈系数:5023
% g1_seq_initiate=[1 1 1 1 1 1 1 1 1 1 1]; %1023移位寄存器的初始状态
% connect_cof1=[0 0 0 0 0 0 0 0 1 1 0 1 1]; %8192移位寄存器的反馈系数:20033
% connect_cof1=[0 0 1 1 0 1 0 1 1 0 0 0 1]; %8192移位寄存器的反馈系数:23261
% connect_cof1=[0 1 0 0 1 1 0 0 1 1 0 1 1]; %8192移位寄存器的反馈系数:24633 no
% connect_cof1=[1 0 0 0 1 1 1 1 0 0 0 0 1]; %8192移位寄存器的反馈系数:30741
% connect_cof1=[1 0 1 0 1 0 1 0 1 1 1 0 1]; %8192移位寄存器的反馈系数:32535
% connect_cof1=[1 1 1 1 1 0 1 0 0 0 1 0 1]; %8192移位寄存器的反馈系数:37505
% g1_seq_initiate=[1 1 1 1 1 1 1 1 1 1 1 1 1]; %8192移位寄存器的初始状态
connect_cof1=[0 0 0 0 1 1]; %63移位寄存器的反馈系数:103
g1_seq_initiate=[1 1 1 1 1 1]; %63移位寄存器的初始状态
temp1=g1_seq_initiate;
[row,col]=size(connect_cof1);
r=col;
g1_seq_length=2^r-1; %g1序列的长度,g1是m序列
g1_seq=[]; %初始时为空矩阵
g1_seq_leng=0;
%the circle is to generate m sequence,then stop when temp equals m_seq_initiate again
while g1_seq_leng<g1_seq_length
connect_sum=temp1.*connect_cof1;
feedback1=mod(sum(connect_sum),2);
g1_seq=[g1_seq,temp1(length(temp1))]; %用移位寄存法产生m序列
g1_seq_leng=length(g1_seq);
temp1=[feedback1,temp1(1:(length(temp1)-1))];
end
%将0,1单极性序列变成+1,-1的双极性序列
m_seq = 2*g1_seq-1;
for i=1:length(g1_seq)-11
if g1_seq(i)+g1_seq(i+1)+g1_seq(i+2)+g1_seq(i+3)+g1_seq(i+4)==0
% if g1_seq(i)+g1_seq(i+1)+g1_seq(i+2)+g1_seq(i+3)+g1_seq(i+4)+g1_seq(i+5)+g1_seq(i+6)+g1_seq(i+7)+g1_seq(i+8)+g1_seq(i+9)+g1_seq(i+10)+g1_seq(i+11) == 0
k = i
end
end
M_seq = [m_seq(1:k) 1 m_seq(k+1:length(g1_seq))];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -