如何在Matlab中利用已产生的m序列产生gold序列?

2024-12-16 18:21:20
推荐回答(2个)
回答1:

方法如下:
1、 选5个移位寄存器 其实我也不知道这名字正不正确,反正就是Z分之1那个 按顺序排列好,其中第二个初始条件(initial conditions)设置为0,其他的默认为1.
2、 先把这5个移位寄存器链接起来 第一个输出连第二个输入,以此类推到第五个接OUT,out这里再接一个scope以便观察信号波形
3 、选一个logical operator,并从设置中调成XOR,4输入端
4、 继续连线,XOR的输出端接第一个移位寄存器的输入端;然后把XOR输入端引到第二个移位寄存器和第三个移位寄存器的连线上,此时XOR还有3个输入端,分别像刚刚那样分别引到第三和第四,第四和第五,第五和out的线上
5 、点击运行 scope中显示的便是m序列,看吧 周期是31,1的个数比0多一个,而且没有重复波形!

回答2:

假设你已经得到了a1,a2
N=length(a1);
gold=zeros(N,N);
for i=1:N
temp=a1+[a2(i:end) a2(1:i-1)];
gold(i,:)=mod(temp,2);
end;