永发信息网

matlab仿真系统辨识中M序列作为系统输入怎么写程序?

答案:1  悬赏:20  手机版
解决时间 2021-03-01 01:56
  • 提问者网友:蓝莓格格巫
  • 2021-02-28 01:34
matlab仿真系统辨识中M序列作为系统输入怎么写程序?
最佳答案
  • 五星知识达人网友:深街酒徒
  • 2021-02-28 02:26
白噪声序列并不是m序列。但是m序列是一种特殊的白噪声序列。m序列的特性决定它在信号编码处理中的广泛应用。例如CDMA,码分多路复用。
下面详细介绍m序列的特性,产生方式和Mablab例程。m序列是最基本的PN序列。PN序列就伪随机序列。 伪随机序列的存在是因为在实际中并不存在完美的随机序列。m序列是最长线性反馈移位寄存器序列的简称。这就说明了,m序列是由反馈移位寄存器来产生的。例如n=9的m序列产生移位寄存器如下图所示:

移位寄存器的形式,取决于n的值。
m序列特性的特性:1. m序列每一周期中 1 的个数比 0 的个数多 1 个
2. 相异m序列,按模2相加所得的序列仍为m序列

3. m序列的自相关函数为近似脉冲狄拉克δ函数,n越大,越理想。这一点是m序列的关键。
Mablab例程以下以n=7为例,来演示m序列的产生
%===================================
n = 7;


taps=2;
tap1=1;
tap2=7;


flag = 0;
rand('state',sum(100*clock))
while 1
abuff = round(rand(1,n));
%make sure not all bits are zero
if find(abuff==1)
break
end
end


for i = (2^n)-1:-1:1
xorbit = xor(abuff(tap1),abuff(tap2)); %feedback bit
abuff = [xorbit abuff(1:n-1)];
y(i) = (-2 .* xorbit) + 1;   %yields one's and negative one's (0 -> 1; 1 -> -1)
end


stem(y)
ylim([-2,2]);
xlim([1,2^(n+1)]);


figure;
[c,lags]=xcorr(y);
plot(lags,c)
%===================================
运行结果:m序列

m序列自相关:

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯