永发信息网

谁有用matlab7.0 产生m序列和gold序列的程序啊?还有仿真图,能给我发下吗?

答案:1  悬赏:70  手机版
解决时间 2021-02-22 13:02
  • 提问者网友:绫月
  • 2021-02-21 18:27
谁有用matlab7.0 产生m序列和gold序列的程序啊?还有仿真图,能给我发下吗?
最佳答案
  • 五星知识达人网友:忘川信使
  • 2021-02-21 19:01
m序列:
function [mseq]= m_sequence(fbconnection);
n = length(fbconnection);
N = 2^n-1; %m序列的长度
register = [zeros(1,n - 1) 1]; %定义移位寄存器的初始状态
mseq(1)= register(n); %m序列的第一个输出码元
for i = 2:N
newregister(1)= mod(sum(fbconnection.*register),2);%寄存器与反馈的模2和
for j = 2:n
newregister(j)= register(j-1);
end;
register = newregister; %移位后的寄存器
mseq(i) = register(n); %新的寄存器输出
end

clear;
fbconnection=[0 1 0 0 1];
m_sequence=m_sequence(fbconnection);
stairs(m_sequence); %对m序列绘图
axis([0 35 -0.2 1.2]); grid on

GOLD序列:
clear all clc
%%%%%%GOLD序列的生成%%%%%%
r=6;N=2^r-1;
s1(1:6)=[1 0 0 0 0 0]; %initial value 1
s2(1:6)=[1 0 0 0 0 0]; %initial value 1
f1=[1 0 0 0 0 1 1]; %特征多项式f=x^6+x+1;
f2=[1 1 0 0 1 1 1]; %特征多项式f=x^6+x^5+x^2+x+1;
for n=r+1:N %creat pn 1
s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r)),2);
end
for n=r+1:N %creat pn 2
s2(n)=mod(sum(s2(n-r:n-1).*f2(1:r)),2);
end
s=mod(s1+s2,2); %creat pn gold
gold_sequence_1 = s;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯