基于Matlab的m序列相关特性的仿真Word文档下载推荐.docx
- 文档编号:19875424
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:14
- 大小:138.97KB
基于Matlab的m序列相关特性的仿真Word文档下载推荐.docx
《基于Matlab的m序列相关特性的仿真Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于Matlab的m序列相关特性的仿真Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
[关键词]m序列;
simulink硬件仿真;
自相关
第一章设计内容及要求
第二章m序列设计方案的选择
第三章m序列的产生及性质
3.1m序列的产生原理、结构及产生
3.2m序列的基本性质
3.3生成m序列的模块
第四章m序列构造其他序列
第五章程序调试及运结果
5.1仿真设计流程图
5.2实验的调试与运行结果
5.3错误排除
第六章结论
参考文献
附录
第一章设计内容及要求
基于MATLAB产生m序列
要求:
1.通过matlab编程产生m序列的产生原理及其产生方法。
2.对特定长度的m序列,分析其性质,及其用来构造其它序列的方法。
2.1方案一
MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。
2.2方案二
图2.1Simulink实现m序列
Simulink是MATLAB最重要的组件之一,它提供了一个动态系统建模,仿真和综合分析的集成环境。
在此环境中无需大量书写程序,而只需通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应性广,结构及流程清晰及仿真精细等优点,基于以上优点,Simulink已被广泛的运用到控制理论和数字信号处理的复杂仿真和设计。
通过比较方案一和方案二,发现方案一的有点具有通用性而方案二利用MATLAB的Simulink直接搭建模块,在移位寄存器较少的情况下利用此方法比较简单,可是当移位寄存器的个数增多时,要搭建那么多的模块就显的很繁琐了,缺乏通用性,因此本次实验选择方案一。
m序列是最长线性反馈移位寄存器序列的简称,m序列是由带线性反馈的移位寄存器产生的。
由n级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。
带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。
n级线性移位寄存器的如图3.1所示:
图3.1n级线性移位寄存器
图中Ci表示反馈线的两种可能连接方式,Ci=1表示连线接通,第n-i级输出加入反馈中;
Ci=0表示连线断开,第n-i级输出未参加反馈。
因此,一般形式的线性反馈逻辑表达式为
------表达式3.1
将等式左边的an移至右边,并将an=C0an(C0=1)带入上式,则上式可以写成
-------表达式3.2
定义一个与上式相对应的多项式
--------表达式3.3
其中x的幂次表示元素的相应位置。
该式为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系。
当F(x)满足下列三个条件时,就一定能产生m序列:
(1)F(x)是不可约的,即不能再分解多项式;
(2)F(x)可整除xn+1,这里p=2n+1;
(3)F(x)不能整除xn+1,这里q<
q.
满足上述条件的多项式称为本原多项式,这样产生m序列的充要条件就变成了如何寻找本原多项式。
(1)均衡性。
在m序列一个周期中‘1’的个数比‘0’要多1位,这表明序列平均值很小。
(2)m序列与其移位后的序列模2相加,所得的序列还是m序列,只是相位不同而已。
例如:
1110100与向又移3位的序列1001110相对应模二相加后的序列为0111010,相当于原序列向右移一位后的序列,仍为m序列。
(3)m序列发生器中移位寄存器的各种状态,除全0状态外,其他状态只在m序列中出现一次。
(4)m序列发生器中,并不是任何抽头组合都能产生m序列。
理论分析指出,产生的m序列数由下式决定:
--------表达式3.4
其中φ(X)为欧拉数。
例如5级移位寄存器产生31位m序列只有6个。
(5)m序列具有良好的自相关性,其自相关系数:
-------表达式3.5
从m序列的自相关系数可以看出m序列是一个狭义伪随机码。
图3.2m序列信号的自相关函数
根据m序列的生成原理图,如图3.1所示,由图可知m序列是多级移位寄存器通过线性反馈再进行模二相加产生的,最后一位一位输出观察其波形图。
程序中使用的代码如下:
N=2^length(reg1)-1;
fork=1:
N
a_n=mod(sum(reg1.*coeff1(1:
length(coeff1)-1)),2);
reg1=[reg1(2:
length(reg1)),a_n];
out1(k)=reg1
(1);
end
其中N为m序列的长度,值为(26-1)。
由程序已定义了移位寄存器的初始状态和抽头系数,在此基础上进行反馈,后进行模二加,所得的结果为输出的第一个值,初始状态向左移移位,而所得的输出值填补上变成新的序列,在进行第二次反馈和模二加,依次循环N次,产生m序列
第四章m序列构造其他序列
Gold序列具有三值互相关函数,其值为:
(式2.10)
这里,
(式2.11)
当r为奇数时,gold序列中约有50%的码序列归一化相关函数值为-1/p。
当r为偶数但又不是4的倍数是,约有75%的码序列归一化互相关函数值为-1/p。
Gold序列是R.Gold于1967年提出来的,它由两个m序列按下述方法演变而来的:
把2个码长相同的m序列移位并进行模2加,如果相加的两个m序列是一对优选对,则相加的结果为一个Gold序列。
设有一对周期为N=2r-1的m序列优选对{a},{b},以其中任意一个序列为基准序列,如{a},对另一个序列{b}进行移位i次,得到{b}的移位序列{bi},然后与序列{a}进行模二加得到一个新的周期为N的序列{c},则称新序列{c}为Gold序列,既
{ci}={a}+{b}i=0,1,2,....,N
4.1Gold序列的产生方框图
产生gold序列的程序代码如下:
gold=mod(out1+out2,2);
第五章程序调试及运行结果
否
是
是
图5.1实验仿真流程图
程序中把移位寄存器的初始值定义全为1,抽头系数定义为[1000011]和[1100111],根据公式m序列的长度=2n-1,可知道所得的两个m序列的长度都为63,所利用的移位寄存器为6个。
代码如下:
reg1=ones(1,6);
%寄存器初始状态
coeff1=[1000011];
%设置系数
reg2=ones(1,7);
coeff2=[1001111];
程序检测无误后,运行程序,得到图形如下:
图5.2运行后的两m序列波形仿真图
根据产生Gold序列的原理,运行程序,得到如下Gold序列的仿真图;
图5.3运行后Gold序列的仿真图
自相关性:
首先将第一个m序列变成双极性的序列,在与本身进行移位相乘进行积分运算,代码如下:
out1=2*out1-1;
%变为双极性序列
forj=0:
N-1
rho(j+1)=sum(out1.*[out1(1+j:
N),out1(1:
j)])/N;
j=-N+1:
N-1;
rho=[fliplr(rho(2:
N)),rho];
figure(3)
plot(j,rho);
axis([-1010-0.11.2]);
title('
第一个m序列的自相关函数'
)
互相关性:
第一个m序列的函数与第二个m序列函数的移位相乘进行积分运算。
R(j+1)=sum(out1.*[out2(1+j:
N),out2(1:
j)]);
图5.4m序列自相关性仿真图
图5.5两m序列的互相关性仿真图
实验过程中出了许多错误,特别是在对序列的自相关性上,缺乏了对自相关性的了解,导致出的波形错误,但在查找资料,修改自相关函数,终于得到了正确的仿真图。
第六章结论
本研究通过对m序列的原理及性质的分析,利用matlab编程和matlab中的simulink仿真的方法实现了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.
[8]肖国镇,梁传甲.伪随机序列及其应用[M].北京:
国防工业出版社.1985
[9]林可祥,汪一飞.伪随机码的原理与应用[M].北京:
人民邮电出版社.1998.
[10]吴先用,邹学玉.一种m序列伪码发生器的产生方法[J].西安:
西安电子科技大学出版社.2003
clear;
reg1=ones(1,7);
%产生m序列
coeff2=[1100111];
N=2^length(reg2)-1;
a_n=mod(sum(reg2.*coeff2(1:
length(coeff2)-1)),2);
%移位,反馈
reg2=[reg2(2:
length(reg2)),a_n];
%反馈
out2(k)=reg2
(1);
%取第一个值输出
%产生gold序列
c=1:
N;
figure
(1)
[b1,t1]=stairs(c,out1);
subplot(2,1,1);
plot(b1,t1);
axis([0130-0.11.1]);
第一个m序列'
);
[b2,t2]=stairs(c,out2);
subplot(2,1,2);
plot(b2,t2);
第二个m序列'
figure
(2)
[b3,t3]=stairs(c,gold);
plot(b3,t3);
gold序列'
out2=2*out2-1;
%自相关函数
%互相关函数
R=[fliplr(R(2:
N)),R];
figure(4)
plot(j,R);
axis([-NN-2020]);
两个m序列的互相关函数'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 序列 相关 特性 仿真