基于matlab的m序列的产生和特性分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于matlab的m序列的产生和特性分析作者:耿亚南
来源:《中国新通信》 2017年第15期
【摘要】 m 序列是一种重要的伪随机序列。

本文借助MATLAB 平台,详细介绍了m 序列的产生原理,并仿真了由移位寄存器产生的m 序列,同时研究了m 序列的自相关函数并得到了m 序列自相关函数的图像。

仿真结果验证了该方法的正确性和可行性。

【关键字】 m 序列自相关函数 MATLAB
一、引言
m 序列是最长线性移位寄存器序列的简称,有着良好的自相关性,易于产生和复制,是目前广泛应用的一种伪随机序列。

其在通信领域有着广泛的应用,如扩频通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领域。

近几十年来,运用m 序列测量房间声学系统脉冲响应的技术研究也受到了人们的关注。

m 序列法测量技术有两大优点其一是较强的抗噪声性能,其二是运算速度快、效率高。

二、m 序列的产生
2.1 m 序列的产生原理
m 序列是由带线性反馈的移位寄存器产生的。

由n 级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2 和构成,则称为线性反馈移位寄存器。

m 序列的产生框图如图1 所示。

图中C0、C1…Cn 均为反馈线,其中C0= Cn=1,表示反馈连结。

因为m 序列是由循环序列发生器产生的,因此C0和Cn 肯定为1,即参与反馈。

而反馈系数C1、C2…Cn - 1若为1,参与反馈,若为0,则表示断开反馈线,即开路、无反馈连线。

2.2 MATLAB 仿真
MATLAB 产生m 序列的部分程序:
function[mseq]=m_sequence(fbconnection)
n=length(fbconnection);
N=2^n-1;
register=[zeros(1,n-1) 1];
mseq(1)=register(n);
for i=2:N
newregister(1)=mod(sum(fbconnection.*register),2);
for j=2:n
newregister(j)=register(j-1);
end;
三、m 序列的自相关函数
3.1 自相关函数
自相关是指m 序列与逐位移位后的序列相关性的一种度量。

根据m 序列的特性,自相关函数为
R(τ)=A-D
式中,A 为对应位码元相同的个数;D 为对应位码元不同的个数。

对于m 序列,其码元长度为P=2n-1 在这里P 也为码序列中的码元数。

所以A 值为A=2n-1-1
D 的值为D=2n-1。

3.2 MATLAB 编程实现
MATLAB 产生自相关函数的部分程序
x1=mseq(m_sequence(00110011111));
[r1,lags]=xcorr(x1,Mlag,’unbiased’);
figure(1);
plot(lags,r1);
xlabel(‘n’); ylabel(‘Rx1(n)’);
title(‘Autocorrelation of x1’);
grid on;
四、结束语
借助MATLAB 的仿真,可以知道反馈逻辑关系不变,初始状态发生改变,产生的序列还是m 序列,只是起始位置不同而已;但是,如果移位寄存器的级数相同,反馈系数不同,产生的m 序列就不同。

根据m 序列自相关函数的图像,可以看出m 序列具有尖锐的自相关性。

相关文档
最新文档