基于MATLAB的m序列的产生及相关特性仿真精.docx
《基于MATLAB的m序列的产生及相关特性仿真精.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的m序列的产生及相关特性仿真精.docx(8页珍藏版)》请在冰豆网上搜索。
基于MATLAB的m序列的产生及相关特性仿真精
XUEBAO2009.10.20
*[收稿日期]2009-07-28
[作者简介]刘新永(1975-,男,解放军蚌埠坦克学院教育技术中心,讲师,研究方向:
通信与网络技术。
蔡凤丽(1978-,女,安徽电子信息职业技术学院,讲师,研究方向:
通信与信息系统。
裴晓根(1975-,男,解放军蚌埠坦克学院信息指挥教研室,助讲,研究方向:
军事通信。
No.52009
GeneralNo.44Vol.8
2009年第5期第8卷(总第44期
安徽电子信息职业技术学院学报
JOURNALOFANHUIVOCATIONALCOLLEGEOFELECTRONICS&INFORMATIONTECHNOLOGY
[文章编号]1671-802X(200905-0014-03
基于MATLAB的m序列的产生及相关特性仿真
刘新永1,蔡凤丽2,裴晓根3
(1、3.解放军蚌埠坦克学院,安徽蚌埠233050;2.安徽电子信息职业技术学院,安徽蚌埠233060
[摘要]本文主要是介绍MATLAB在m序列的产生及其相关特性分析方面的应用,研究了基于MATLAB完成m
序列simulink硬件仿真方法,并且利用MATLAB对不同长度的几种m序列进行相关特性的分析。
[关键词]m序列;simulink硬件仿真;自相关[中图分类号]TN95[文献标识码]B
一、m序列的产生原理
m序列是最长线性反馈移存器序列的简称,它是由带线性反馈的移存器产生的周期最长的一种序列。
如图1所示为n级移位寄存器,其中有若干级经模2加法器反馈到第1级。
不难看出,在任何一个时刻去观察移位寄存
器的状态,必然是2n个状态之一,
其中每一状态代表一个n位的二进制数字;但是,必须把全0排斥在外,因为一旦
出现全0状态,
则以后的序列将恒为0,所以,寄存器的起始状态可以是非全0的2n-1状态之一。
这个电路的输出序列是从寄存器移出的,尽管移位寄存器的状态每一移位节拍改变一次,但无疑是循环的。
如果反馈线所分布的级次是恰当的,那么,移位寄存器的状态必然各态历经后才会循环。
这里所谓“各态历经”就是所有2n-1个状态都经过了。
由此可见,应用n级移位寄存器所产生的序列的周期最长是2n-1。
同时由于这种序列虽然是周期的,但当n足够大时周期可以很长,在一个周期内0和1的排列有很多不同方式,对每一位来说是0还是1,看来好像是随机的,所以又称为伪随机码;又因为它的某一些性质和随机噪声很相似,所以又称为伪噪声码(PN码。
图1最长线性移位寄存序列的产生
要用n级移位寄存器来产生m序列,关键在于选择
哪几级移位寄存器作为反馈,将移位寄存器用一个n阶
的多项式f(x表示,这个多项式的0次幂系数或常数为1,其k次幂系数为1时代表第k级移位寄存器有反馈线;否则无反馈线(系数只能取0或1,本身的取值并无实际意义,也不需要去计算x的值。
称f(x为特征多项式。
例如特征多项式
f(x=1+x+x4(1对应于图2所示的电路。
理论分析证明:
当特征多项式f(x是本原多项式时,与它对应的移位寄存器电路就能产生m序列,如果加、减法采用模2运算,那么f(x的倒量g(x=1/f(x(2就代表所产生的m序列,这个m序列各位的取值按f(x式中各项的幂次自低至高取它们的系数。
图215位m序列的产生
所谓“本原多项式”,即f(x必须满足以下条件:
1f(x为既约的,即不能被1或它本身以外的其他多项式除尽;
2当q=2n-1时,则f(x能除尽1+xq;3当q<时2n-1,则f(x不能除尽1+xq;只要找到了本原多项式,就能由它构成m序列产生器。
但是寻找本原多项式并不是很简单的。
经过前人大量
XUEBAO
的计算,已将常用本原多项式列成表备查,如在表1中列
出了一部分。
表中为了简短些,多项式的系数每三位二进制数字用一位八进制数字代表,把表内八进制数字展开,就得到特征多项式的系数,由于本原多项式的逆多项式(即把系数的顺序倒转也是本原多项式,所以表中对应第一个数有两个特征多项式。
表1常用本原多项式
二、MATLAB实现及相关函数分析
1、Simulink硬件生成电路仿真实现
我们可以使用MATLAB的Simulink工具箱对m序列的硬件生成电路仿真。
以n=4为例,本原多项式为f(x=1+x+x4,先在MATLAB中画出硬件生成电路图,如图3中,Transferdelay即移位寄存器,给移位寄存器设置初值,注意:
不能全为0;xor是表异或的逻辑门;Scope为示波器,用来观察输出的波形。
图3
用MATLAB中Simulink对15位m序列
进行硬件仿真
1先设置参数,将Simulation中Parameter…项的Stoptime设为15.0,时间坐标步长为1,实际输出16个值,取第2到第16个。
2仿真:
点击Simulation中start开始仿真,仿真结果输出至Scope,同时将输出变量(t,out释放至工作空间中,作出信号波形图如图4所示。
3在工作空间中利用序列的自相关性和互相关性来检验,判定仿真结果是否正确。
图415位m序列码信号波形图(每位采11个点2、自相关特性分析
周期函数的自相关函数定义为:
式中T0是s(t的周期。
定义序列x=(x1,x2,……,xn的自相关函数为:
(3
m序列的自相关函数:
由m序列的性质,移位相加后还是m序列,因此0的个数比1的个数少1个。
所以,当j1
R(j=1≠
期也是m。
mn。
值自相关序列>>1时,比较简便,Matlabclear;
%产生mconnect=[1%15
XUEBAO
2009.10.20
cor=xcorr(m,m;
figure,
plot(1:
(l+l-1,cor;max(abs(cor(1:
l-1
max(cor/max(abs(cor(1:
l-1%周期相关序列
m_bu0=[zeros(1,l-1mzeros(1,l-1];m_bu=[m(2:
lmm(1:
(l-1];cor_cir=xcorr(m_bu0,m_bu;figure,
plot(1:
(l+l-1,cor_cir((2*l-1:
(4*l-3;max(abs(cor_cir((2*l-1:
(3*l-3
max(cor_cir/max(abs(cor_cir((2*l-1:
(3*l-3其中,m序列的长度可以通过查表1取得,可以在程序中修改。
图5是取不同m序列的仿真情况。
图5不同长度m序列的相关函数举例仿真,其中括号中
的数字分别为(最大副瓣,主副比单位:
dB从图5可以看出,m序列具有良好的周期自相关特性,但是具有良好的周期自相关特性的序列并不一定具有良好的非周期特性。
序列的非周期自相关函数不如巴克码序列理想。
对某一长度的m序列而言,由于初始状态不一样,得到的码元排列也不一样,由此得到的自相关函数的主旁瓣比也有所不同。
三、结束语
MATLAB在通信中有很多应用,功能十分强大且编程复杂度低。
Communication工具箱更是几乎涉及到通信的各个领域:
信道编码、解码,数字调制解调,扩频技术,各类接口电路等等。
本文主要是介绍MATLAB在m序列的产生及其相关特性分析方面的应用,研究了基于MATLAB完成m序列simulink硬件仿真方法,并且利用MATLAB对不同长度的几种m序列进行相关特性的分析,只涉及到通信的很小一部分。
希望大家在用MATLAB进行通信领域的研究时,能得到更多成果。
[参考文献]
[1]吴明捷,等.伪随机码及计算机的产生[J].辽宁工程技术大学学报(自然科学版,2002.
[2]MarvinN.Cohen,MarshallR.Fox.andJ.MichaelVaden.MinimumpeaksibelobepulseCompressioncodes.IEEEInternationalRadarsConference.1990:
633-638
[3]王华,等.Matlab在电信工程中的应用[M].中国水
利水电出版社,
2001.[4]孔祥维,黄申,李国平.神经网络在二相编码信号旁瓣抑制中的应用[J].大连理工大学学报.2001(1.
[5]朱近康.扩展频谱通信及其应用[M].中国科学技术大学出版社,1993.
[6]陈海龙,
李宏.基于MATLAB的伪随机序列的产生和分析[J].计算机仿真.2005(5.
[7]张贤达,保铮.通信信号处理[M].国防工业出版社,2000.SimulationofMSequenceGenerationandRelated
CharacteristicBasedonMATLAB
LiuXin-yong1,CaiFeng-li2,PeiXiao-gen3
Abstract:
Thisarticlemainlyintroducesthegeneratingprincipleofmsequences.InthemeantimeitintroducesitsMATLABrealizationandhardwaresimulationbyusingMATLABSimulink.TherelevantfeaturesofseveralmsequenceswithdifferentlengthareanalyzedbasedonMATLAB.
KeyWords:
msequence;hardwaresimulation;Autocorrelation
15位m序列的周期自相关函数(1,1515位m序列非周期
自相关函数(4,
3.7531位m序列的周期
自相关函数(1,3131位m序列非周期
自相关函数(5,6.2
127位m序列的周期
自相关函数(1,127127位m序列非周期
自相关函数(12,10.5833
16