资源描述
课程设计报告
题 目:基于MATLABGMSK系统设计仿真
学生姓名:
学生学号:
系 别:
专 业:
届 别:
指引教师:
基于MATLABGMSK系统设计仿真
1课程设计任务与规定
1.1课程设计任务
(1)加深对GMSK基本理论知识理解。
(2)培养独立开展科研能力和编程能力。
(3)通过SIMULINK对GMSK调制系统进行仿真。
1.2 课程设计规定
(1)观测基带信号和解调信号波形。
(2)观测已调信号频谱图。
(3)分析调制性能和BT参数关系。
(4)与MSK系统对比。
1.3 课程设计研究基本
调制原理图如图1,图中滤波器是高斯低通滤波器,它输出直接对VCO进行调制,以保持已调包络恒定和相位持续。
图1 GMSK调制原理图
为了使输出频谱密集,前段滤波器必要具备如下待性:
1.窄带和尖锐截止特性,以抑制FM调制器输入信号中高频分量;
2.脉冲响应过冲量小,以防止FM调制器瞬时频偏过大;
3.保持滤波器输出脉冲响应曲线下面积相应pi/2相移。调制指数为1/2。前置滤波器以高斯型最能满足上述条件,这也是高斯滤波器最小移频键控(GMSK)由来。
GMSK本是MSK一种,而MSK又是是FSK一种,因而,GMSK检波也可以采用FSK检波器,即包络检波及同步检波。而GMSK还可以采用时延检波,但每种检波器误码率不同。咱们在构建数字通信系统模型后,运用计算机仿真作为分析手段,对在不同通信环境下设计方案误码性能进行定量分析,用来对各调制,解调方案性能进行评估。由于GMSK信号具备良好频潜效率、以及恒包络性质,因而广泛应用于移动通信系统。高斯最小频移键控(GMSK)由于带外辐射低因而具备较好频谱运用率,其恒包络特性使得其可以使用功率效率高C类放大器。这些优良特性使其作为一种高效数字调制方案被广泛运用于各种通信系统和原则之中。如上所述,GMSK有着广泛应用。因而,从本世纪80年代提出该技术以来,广大科研人员进行了大量针对其调制解调方案研究。
GMSK非相干解调原理图如图2,图中是采用FM鉴频器(斜率鉴频器或相位鉴频器)再加鉴别电路,实现GMSK数据解调输出。
图2 GMSK解调原理图
2 GMSK系统设计
2.1 信号发生模块
由于GMSK信号只需满足非归零数字信号即可,本设计中选用(Bernoulli Binary Generator)来产生一种二进制序列作为输入信号。
图3 GMSK信号产生器
该模块参数设计这只重要涉及如下几种。其中probability of a zero 设立为0.5表达产生二进制序列中0浮现概率为0.5;Initial seed 为61表达随机数种子为61;sample time为1/1000表达抽样时间即每个符号持续时为0.001s。当仿真时间固定期,可以通过变化sample time参数来变化码元个数。例如仿真时间为10s,若sample time为1/1000,则码元个数为10000。如图4所示。
图4 Bernoulli Binary Generator参数设立
2.2 调制解调模块
图5 GMSK调制解调模块
GMSK Modulator Baseband为GMSK基带调制模块,其input type参数设为Bit表达表达模块输入信号时二进制信号(0或1)。BT product为0.3表达带宽和码元宽度乘积。其中B是高斯低通滤波器归一化3dB带宽,T是码元长度。当B·T=∞时,GMSK调制信号就变成MSK调制信号。BT=0.3是GSM采用调制方式。Plush length则是脉冲长度即GMSK调制器中高斯低通滤波器周期,设为4。Symbol prehistory表达GMSK调制器在仿真开始前输入符号,设为1。Phase offset 设为0,表达GMSK基带调制信号初始相位为0。Sample per symbol为1表达每一种输入符号相应GMSK调制器产生输出信号抽样点数为1。如图6所示。
AWGN Channel为加性高斯白噪声模块,高斯白噪声信道Mode参数设立为Signal to noise(SNR),表达信道模块是依照信噪比SNR拟定高斯白噪声功率,这时需要拟定两个参数:信噪比和周期。而将SNR参数设为一种变量xSNR是为了在m文献中编程,计算不同信噪比下误码率,变化SNR即变化信道信噪比。如图7所示。
GMSK Demodulator Baseband是GMSK基带解调器。其前六项参数与GMSK调制器相似,并设立值也相似。最后一项为回溯长度Traceback Length,设为变量Tracebacklength,在m文献通过变化其值,可以观测回溯长度对调制性能影响。如图8所示。
图6 GMSK Modulator Baseband参数设立
图7 AWGN Channel参数设立
图8 GMSK Demodulator Baseband参数设立
2.3 误码率计算模块
图9 误码率计算模块
Receive dely(接受端时延)设立为回溯长度加一,表达接受端输入数据滞后发送端数据TracebackLength+1个输入数据;Computation delay(计算时延)设为0,表达错误率记录模块不忽视最初任何输入数据。Computation mode(计算模式)设立为Entire frame(帧计算模块),表达错误率记录模块对发送端和接受端所有数据进行记录。Output data(输出数据)设为workspace,表达竟记录数据输出到工作区。Variable name (变量名)则是设立m文献中要返回参数名称,设为xErrorRate。如图10所示。
图10 Error Rate Calculation参数设立
2.4 波形观测模块
2.4.1调制、解调信号观测模块
由于GMSK调制信号是一种复合信号,因此只用示波器(Scope)无法观测到调制波形,因此在调制信号和示波器间加一转换模块Complex to magnitude-angle将调制信号分别在幅度和相角两方面来观测。
图11调制信号观测模块
将Complex to magnitude-angleoutputoutput参数设为magnitude and angle,表达同步输出调制信号幅度和相角。示波器scope1number of axes 为2表白有纵坐标个数为2;time range表达时间轴显示范畴,设为auto,表达时间轴显示范畴为整个仿真时间段。Tick Tabels 设为bottom axis only时,只显示各个纵坐标以及最下面横坐标标签。如图12所示。
图12 Complex to Magnitude-Angle参数设立
图13 解调信号观测模块
2.4.2 调制信号频谱观测模块
图14 GMSK调制信号频谱观测模块
设立了坐标Y范畴为0到7,X范畴为[-FS,FS],Amplitude scaling表达幅度计算,选取普通模式即以V为单位进行计算。但Y坐标标记Y-axis title设为magnitude,dB转换为dB形式。如图15所示。
图15 Spectrum Scope参数设立
2.4.3眼图观测模块
图16 GMSK调制解调信号眼图观测模块
Offset(sample)参数表达MATLAB在开始绘制眼图之前应当忽视抽样点个数。Symbols per trace表达每径符号数,每条曲线即成为一种“径”。Traces displayed 则是要显示径数。New traces per display 是每次重新显示径数目。如图17所示。
图17 Discrete-Time Eye Diagram Scope参数设立
2.4.4星座图观测模块
图18 GMSK调制解调星座图观测模块
星座图展示了信号在空间排列分步,即在噪声环境下信号之间最小距离。
2.4.5 GMSK系统设计仿真模型图
图19 GMSK系统设计仿真模型图
3 GMSK系统与MSK系统性能比较
3.1 MSK系统设计
最小频移键控(MSK)是恒定包络调制技术,是2FSK改进调制方式,它具备波形持续,相位稳定,带宽最小并且严格正交特点。如下是MSK各个系统模块简介。其参数设立参照GMSK参数设立。
3.1.1 信号发生模块
图20 MSK信号产生器
3.1.2 调制解调模块
图21 MSK调制解调模块
3.1.3 误码率计算模块
图22 误码率计算模块
3.1.4 MSK系统设计仿真模型图
图23 MSK系统设计仿真模型图
3.2 GMSK系统设计
图24 GMSK系统设计图
3.3 GMSK调制仿真误码性能M文献代码
图25 GMSK调制仿真误码性能M文献
3.4 GMSK系统与MSK系统性能比较M文献代码
图26 GMSK系统与MSK系统性能比较M文献
4 GMSK系统仿真
4.1 仿真
系统仿真是用模型代替实际系统进行实验。它是在不破坏真实系统环境状况下,为研究系统特性而构造并运营这种真实系统模型办法。
仿真工作目就是在合理构造系统模型基本上,采用有效方案对系统性能进行评估。普通咱们可以依照公式进行计算;运用计算机进行波形级仿真;或者通过用硬件构成样机进行测量来对通信系统性能进行评估。
用基于公式办法可以透彻理解设计参数和系统性能之间关系。但是,除了某些抱负和过度简化状况外,仅用解析办法评估通信系统性能是非常困难。依照设计样机时得到测量数。
据评沽性能固然是精确可信办法。但是,其缺陷是费时、开销大、不灵活。这在初期设计阶段也显得有些不适当。而将基于计算机仿真办法用于性能评价,几乎可以按任意详细限度规定建立模型。并且可以很容易将数学和经验模型结合起来,把测量器件特性和实际信号都组合到分析和设计当中去。虽然在许多状况下,计算机仿真是系统分析一种较好办法,特别是大多数具备随机性复杂系统无法用精确数学模型并用解析办法求解时,仿真普通成为解决此类问题有力工具。但是,仿真在实际应用中还依然局限性之处。诸如,构造和确认仿真模型需要耗费较多时间:在初步设计中,确认复杂模型,也许会很困难;系统模型中往往有不少随机变量,而在系统仿真时,受到样本量限制,使得仿真精度受到限制。这些缺陷,只有通过仔细选取建模和仿真技术才干予以缓和。本文采用MATLABSimulink仿真。
4.2 GMSK调制与解调波形
图27 GMSK调制信号幅度和相角波形
由于调制信号是一种复合信号,不能直接由示波器观测,通过一complex to magnitude-angle模块将调制信号分为幅度和相角两个变量来观测。通过幅度波形(上)和相角波形(下)验证了GMSK幅度不变,由相角波形来看,相角持续,与理论符合。因此图形基本对的。由图28中基带信号(上)与解调信号波形(下)比较可得,其由起始码元到最后一种码元,发现调制信号波形从第四个码元开始与基带信号完全符合,阐明系统调制性能较好,基本实现理解调目——将调制信号还原为基带信号。
图28 GMSK基带信号与解调信号
图29 BT=0.3GMSK调制信号频谱
简朴说,任何信号(满足一定数学条件),都可以通过傅里叶变换而分解成一种直流分量和若干个正弦信号和。每个正弦信号均有自己频率和幅值,这样,以频率值作横轴,以幅值作纵轴,把上述若干个正弦信号幅值画在其所相应频率上,就做出了信号幅频分布图,也就是所谓频谱图。
图30 BT=0.5GMSK调制信号频谱
实验所得频谱图主瓣与理论频谱近似,只是顶端稍显尖锐,不够圆滑。
图31 BT=0.9GMSK调制信号频谱
比较图29、图30和图31中频谱,发现BT=0.3与BT=0.9得GMSK调制频谱,并无明显差别,与GMSK调制信号频谱随着BT减小而变得紧凑起来理论成果不符合,从而验证也许是系统某些参数设立不太合理,导致得不到对的成果。
4.3 GMSK调制信号眼图
图32 BT=0.1时GMSK调制信号眼图
眼图“眼睛”张开大小反映着码间串扰强弱。眼睛张越大,且眼图越端正,表达码间串扰越小;反之表达码间串扰越大。
当存在噪声时,噪声将叠加在信号上,观测到眼图线迹会变得模糊不清。若同步存在码间串扰,“眼睛”将张开得更小。与无码间串扰时眼图相对比,本来清晰端正细线迹,变成了比较模糊带状线,并且很不端正。噪声越大,线迹越宽,越模糊;码间串扰越大,眼图越不端正。
眼图对于展示数字信号传播系统性能提供了诸多有用信息:可以从中看出码间串扰大小和噪声强弱,有助于直观地理解码间串扰和噪声影响,评价一种基带系统性能优劣;可以批示接受滤波器调节,以减少码间串扰。
(1)最佳抽样时刻应在“眼睛”张开最大时刻。
(2)对定期误差敏捷度可以由眼图斜边斜率决定。斜率越大,对定期误差就越敏感。
(3)在抽样时刻上,眼图上下两分支阴影区垂直高度,表达最大信号畸变。
(4)对于运用信号过零点取平均来得到定期信息接受系统,眼图倾斜分支与横轴相交区域大小,表达零点位置变动范畴,这个变动范畴大小对提取定期信息有重要影响。
分析:由图中混乱线条可知,BT=0.1时,眼图“眼睛”睁开很小,失真严重,系统码间串扰较大。
图33 BT=0.3时GMSK调制信号眼图
分析:由图中混乱线条可知,BT=0.3时,眼图“眼睛”睁开比图32中大,但存在过零点失真,依然存在码间串扰,但比BT=0.1时好得多。
图34 BT=0.9时GMSK调制信号眼图
分析:与图33,34相比较,图34中眼图最为清晰,眼睛睁开限度也较大,且眼图端正,阐明码间串扰较小。综合上述分析,可知BT值越小,码间串扰越大,这也是GMSK体制缺陷。
4.4 GMSK基带信号星座图
GMSK基带信号星座图如下图所示,分别为信噪比等于16及28时星座图。在通信科技中星座图展示了信号在空间排列分步,即在噪声环境下信号之间最小距离。星座图对于判断调制方式误码率有很直观效用。并且,由于频率调制时,其频率分量始终随着基带信号变化而变化,故而其基向量也是不断变化,并且,此时在信号空间中分量也为一种拟定量。因此,对于频率调制普通不讨论其星座图。由图可以发现信噪比越大信号在空间排列分布越紧凑。
图35 SNR=16时GMSK基带信号星座图
图36 SNR=28时GMSK基带信号星座图
4.5 GMSK系统误码率曲线
在BT=0.3、0.5时,对系统误码率进行仿真。当BT=0.3时,既可以使频域带宽很窄,时域持续时间恰当,又使时域信号容易实现。
图37 BT=0.3和BT=0.5 GMSK系统误码率曲线
仿真成果表白,系统在BT=0.5时误码率要低于BT=0.3时误码率。这表白GMSK调制信号频谱随着BT减小而变得紧凑时候,GMSK调制信号误码性能却变得越来越差。可见,GMSK频谱特性改进是以误码率性能下降为代价。 因此,在使用GMSK调试方式时候,要同步考虑频谱和误码性能规定,选用恰当BT值。BT=0.3是个经验数据,惯用于实际工程。
固然GMSK信号误码率不但取决于信噪比,还与GMSK调制器参数Sample per symbol以及GMSK解调器参数Tracebacklength关于。增大这两个参数值,其误码率将会减少。恰当变化这些参数并比较误码率性能变化,从而弄清实际GMSK系统参数拟定根据。通过仿真实验,可以对通信系统建立、通信理论进一步分析研究起到较好效果。
4.6 不同BT参数下GMSK与MSK比较
图38 BT=0.2GMSK与MSK比较
从图中可以看出,BT=0.2性能比BT=0.4差;BT=0.4曲线比较接近MSK曲线;MSK曲线性能较优。
图39 BT=0.4GMSK与MSK比较
从原理上说,GMSK是MSK改进,GMSK频谱在主瓣以外比MSK衰减得更快,而邻路干扰小。但是,GMSK信号频谱特性改进是通过减少误码率性能换来。前置滤波器带宽越窄,即BT值越小,输出功率频谱就越紧凑,误码率性能就变得越差。当BT趋于无穷时,GMSK就蜕变为MSK。虽然,图中只比较了BT=0.2和BT=0.4曲线,但从趋势上来看,BT值越大,其曲线将越接近MSK曲线。
5总结
咱们在构建数字通信系统模型后,运用计算机仿真作为分析手段,对在不同通信环境下设计方案误码性能进行定量分析,用来对各调制,解调方案性能进行评估。对GMSK良好性能有了更感性结识。
在本次专业课程设计中第一次接触到SimuLink ,刚开始是一头雾水毫无头绪。日后通过资料查阅逐渐理解了SimuLink是MATLAB提供用于对动态系统进行建模、仿真和分析工具包。设计中规定用SimuLink搭建GMSK调制与解调模块、计算误码率,并且绘制信噪比——误码率曲线。
第一星期内,重要进行了资料查询及建模任务,先将各模块参数均设为常数,对调制解调波形进行观测,分析器实际波形与理论波形间差距以及产生误差因素。依次采用分步进行方式,逐渐实现系统所需各个功能。调试过程采用也是相似办法,每搭建一种功能模块就先进行仿真,调试待得到满意成果后再进行下一功能模块搭建和调试。并在不断浮现错误过程中学会了应用MATLAB系统协助。
整个专业课程设计中遇到最大问题就是FFT频谱仪参数设立及仿真参数设立,总是solver options得选取时出问题,把握不好固定步长和可变步长选取,以及固定步长时持续求解器选取。经实践证明,GMSK调制与解调因选取固定步长Fixed-step,由于传播是数字信号,因此选取离散求解器(discrete solver)。
设计中重要研究GMSK调制特性,通过不同信噪比时误码率绘制误码率曲线分析与比较为信号选取适当调制、解调方式。尽管本设计能完毕调制信号频谱、眼图及波形观测以及误码率曲线绘制,但由于频谱仪参数设立方面问题,使得频谱图与抱负形态有所差别,有待改进。
应用simulink 进行仿真大大减少了电路仿真繁琐,其中每个模块都包括几种电路元件,减少了电路连接时麻烦,电路连线也更清晰,并且只需变化各参数即可观测电路特性,操作简朴并且所得成果也比较抱负。外观看起来也更为美观。
三周专业课程设计让人受益匪浅,在要感谢我指引教师和搭档,有她们协助才顺利完毕任务。
参照文献
[1] 李永忠.当代通信原理与技术[M].北京:国防工业出版社, .5
[2] 樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,
[3] 薛定宇,陈阳泉.基于MATLAB/Simulink系统仿真技术与应用[M].北京:清华大学出版社,.2
[4] 刘思峰,方志耕,朱建军,沈洋.系统建模与仿真[M].北京:清华大学出版社,
附录 GMSK误码率作图M文献源程序
xSampleTime=1/10000;
xSimulationTime=10;
xInitialSeed=61;
xTracebackLength=4;
x=0:10;
y1=x;
y2=x;
bt=0.3;
for i=1:length(x)
xSNR=x(i);
sim ('GMSK');
y1(i)=xErrorRate(1);
end
bt=0.5;
for i=1:length(x)
xSNR=x(i);
sim ('GMSK');
y2(i)=xErrorRate(1);
end
semilogy(x,y1,'b:*',x,y2,'r--');
xlabel('SNR(dB)')
ylabel('Symbol Error Rate')
legend('bt=0.3','bt=0.5')
GMSK,MSK误码率比较作图M文献源程序
xInitialSeed=67;
xTracebackLength=4;
Rb=10000;
x=0:15;
y1=x;
y2=x;
xSamplesPerSymbol=2;
bt=0.4;
for i=1:16
xSNR=x(i);
sim ('GMSK');
y1(i)=xErrorRate(1);
end
for i=1:16
xSNR=x(i);
sim('MSK');
y2(i)=xErrorRate(1);
end
semilogy(x,y1,'b:*',x,y2,'r--');
xlabel('SNR(dB)')
ylabel('Symbol Error Rate')
legend('GMSK','MSK’)
指引教师评语
成绩
评估
指引教师签字:
年 月 日
答辩小组评语
成绩
评估
答辩小组签字:
年 月 日
展开阅读全文