版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/XX大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合设计□创新实验日期:2018/6/23实验成绩:一、实验名称实验八16QAM调制解调与信道分析二、实验目的<1>掌握QAM及解调原理与特性<2>了解星座图的原理及用途<3>分析高斯、瑞利、莱斯信道三、实验内容<1>设计16QAM调制解调算法<2>比较GMSK和16QAM在高斯、莱斯和瑞利信道条件下的误码性能<3>撰写实验报告。四、实验原理正交振幅调制是用两个独立的基带数字信号对两个相互正交的同频载波进行抑制载波的双边带调制,利用这种已调信号在同一带宽内频谱正交的性质来实现两路并行的数字信息传输。正交振幅调制信号的一般表示式为16QAM是指包含16种符号的QAM调制方式.产生的框图如图1.图SEQ图\*ARABIC116QAM调制相干解调原理如图2.图SEQ图\*ARABIC216QAM解调五、实验步骤<1>16QAM调制与解调算法先产生所需的二进制基带信号:%%产生的随机二进制数据流M=16;%信号的星座尺寸k=log2<M>;%每个符号的比特数n=30000;%处理的比特数目numSamplesPerSymbol=1;%过采样因子%%创建二进制数据流作为列向量rngdefault%使用缺省随机数发生器dataIn=randi<[01],n,1>;%产生的二进制矢量数据%%将二进制信号转为整数值信号dataInMatrix=reshape<dataIn,length<dataIn>/k,k>;%数据整形成二进制4元组dataSymbolsIn=bi2de<dataInMatrix>;%转换为整数使用MATLAB函数qammod<>进行QAM的调制%%使用16-QAM调制dataMod=qammod<dataSymbolsIn',M,'bin'>;%二进制编码、相位偏移=0scatterplot<dataMod>title<'未加噪声的星座图'>axis<[-44-44]>在信号中加入噪声%%添加高斯白噪声EbNo=10;%当信道SNR计算的EB/N0=10dBsnr=EbNo+10*log10<k>-10*log10<numSamplesPerSymbol>;%%将信号通过AWGN信道rxSignal=awgn<dataMod,snr,'measured'>;显示星座图%%使用scatterplot功能展示星座图sPlotFig=scatterplot<rxSignal,1,0,'g.'>;holdonscatterplot<dataMod,1,0,'k*',sPlotFig>title<'加了噪声的星座图'>使用MATLAB函数qamdemod<>进行QAM的解调%%16-QAM解调dataSymbolsOut=qamdemod<rxSignal,M,'bin'>;%%将整数值信号转为二进制信号dataOutMatrix=de2bi<dataSymbolsOut,k>;dataOut=dataOutMatrix<:>;%返回的数据列矢量计算解调后的误码率%%计算系统的误码率〔BER[numErrors,ber]=biterr<dataIn,dataOut>;fprintf<'\nThebinarycodingbiterrorrate=%5.2e,basedon%derrors\n',...ber,numErrors>运行效果如图3图SEQ图\*ARABIC3运行效果图<2>QAM在高斯、莱斯和瑞利信道条件下的误码性能思路:先产生16QAM信号.然后先通过高斯信道引入噪声.再送入莱斯和瑞利信道后输出.通过给定不同的信噪比.画出误码率曲线。效果结果如图4所示.代码见附录1。图SEQ图\*ARABIC416QAM经过各信道的误码率其中用到的各信道模型如下.并可以通过使用Y=FILTER<CHAN,X>来模拟信道Chanon对信号X的影响。A.高斯信道:AWGN:在某一信号中加入高斯白噪声y=awgn<x,SNR>在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数.就加入复噪声。y=awgn<x,SNR,SIGPOWER>如果SIGPOWER是数值.则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured'.则函数将在加入噪声之前测定信号强度。y=awgn<x,SNR,SIGPOWER,STATE>重置RANDN的状态。y=awgn<…,POWERTYPE>指定SNR和SIGPOWER的单位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE是'dB'.那么SNR以dB为单位.而SIGPOWER以dBW为单位。如果POWERTYPE是'linear'.那么SNR作为比值来度量.而SIGPOWER以瓦特为单位。B.瑞利信道:RAYLEIGHCHAN<TS,FD,TAU,PDB>TS—为输入信号的采样周期FD—就是Doppler频偏.以Hz为单位.与速率的换算关系为v×fc/c.fc是载频TAU—输入的信道参数.一个向量.包含了各径的延时.以s为单位PDB—输入的信道参数.一个向量.包含了各径的功率〔当然是均值啦.实际产生的能量都是以此为均值的随机量.以dB为单位。C.莱斯信道:RICIANCHAN<TS,FD,K>TS—是输入信号的采样时间.以秒为单位。FD—是最大的多普勒频移.赫兹。K—是线性尺度上的RiceK-因子。<3>GMSK在高斯、莱斯和瑞利信道条件下的误码性能思路:先产生GMSK信号.然后先通过高斯信道引入噪声.再送入莱斯和瑞利信道后输出.通过给定不同的信噪比.画出误码率曲线。效果结果如图5所示.代码见附录2。图SEQ图\*ARABIC5GMSK经过各信道的误码率本次程序设计的各信道模型用到了MATLAB自带的模型类。GMSK生成器:comm.GMSKModulator<BitInput,PulseLength,SamplesPerSymbol>▷BitInput—指定是否将输入比特或整数。默认是false。当为false.step方法要求输入带符号的整数或双精度型数据值的-1或1的列向量。当为true.step方法要求输入带符号的整数或双精度型数据值的0或1的列向量▷PulseLength—脉冲长度.默认的是4。指定的长度的高斯脉冲形状在符号间隔作为实的正整数.GMSK为4.▷SamplesPerSymbol—每个输出符号的样本数目.默认的是8。指定上采样系数输出为实数、正数.标量整数值。上采样系数的数目是的step方法用于产生每个输入样本的输出采样。高斯信道生成器:comm.AWGNChannel<'NoiseMethod','SNR'>▷NoiseMethod—噪声的方法'Signaltonoiseratio<Eb/No>'.'Signaltonoiseratio<Es/No>'.'Signaltonoiseratio<SNR>'或者.'Variance'▷SNR—信号功率与噪声功率之比的分贝值莱斯信道生成器:comm.RicianChannel<'SampleRate',1e6,...'KFactor',2.8,...'MaximumDopplerShift',50,...'DopplerSpectrum',doppler<'Bell',8>,...'RandomStream','mt19937arwithseed',...'Seed',73,...'PathGainsOutputPort',true>;▷SampleRate—输入信号取样速率<Hz>.此属性的默认值是1Hz。▷KFactor—RicianK因子<标量或矢量线性尺度>.该位的默认值3如果KFactor是一个标量.那么第一离散路径是具有Kras系数的Ricek-因子的莱斯衰落过程。剩下的离散路径是独立的瑞利衰落过程。如果KFactor是行向量.则对应于K因子向量的正元素的离散路径是具有由该元素指定的瑞斯K因子的莱斯衰落过程。与K因子向量的零值元素相对应的离散路径是瑞利衰落过程▷MaximumDopplerShift—最大多普勒频移<赫兹>.属性的默认值是0.001赫兹。多普勒频移适用于信道的所有路径。当将最大值DoppReSHIFT设置为0时.通道对整个输入保持静态。可以使用RESET方法生成新的通道实现。▷DopplerSpectrum—多普勒频谱指定所述多普勒频谱的形状<路径>的信道。▷RandomStream—随机数流源.此属性的默认值是Globalstream。将随机数流的源指定为Globalstream|mt19937ar的种子。▷Seed—初始种子的mt19937ar随机数流.默认值73▷PathGainsOutputPort—输出信道路径增益.此属性默认值是FALSE将此属性设置为true输出通道路径增益的衰落过程的基础。瑞利信道生成器:comm.RayleighChannel<...'SampleRate',1e6,...'MaximumDopplerShift',30,...'DopplerSpectrum',doppler<'Bell',8>,...'RandomStream','mt19937arwithseed',...'Seed',73,...'PathGainsOutputPort',true>;▷属性与莱斯信道相同六、思考及体会通过本次实验.对各信道的模型有了一定的了解.通过误码率曲线图直观的看到了不同信道对信号的影响.为之后的学习提供了形象的解释。附录1%%QAM%%M=16;%信号的星座尺寸k=log2<M>;%每个符号的比特数n=30000;%处理的比特数目numSamplesPerSymbol=1;%过采样因子%%创建二进制数据流作为列向量rngdefault%使用缺省随机数发生器dataIn=randi<[01],n,1>;%产生的二进制矢量数据dataMod=qam_mod<dataIn>;%数据调制forN=-50:20%%高斯%添加高斯白噪声snr=N;%将信号通过AWGN信道rxSignal_Gauss=awgn<dataMod,snr,'measured'>;%信噪比以dB为单位%16-QAM解调dataOut_Gauss=qam_demod<rxSignal_Gauss>;%计算系统的误码率〔BER[numErrors,ber]=biterr<dataIn,dataOut_Gauss>;%fprintf<'\nThebinarycodingbiterrorrate=%5.2e,basedon%derrors\n',ber,numErrors>plot<snr,ber,'r^'>holdon%%瑞利%获得瑞利信道函数Rayleigh_chan=rayleighchan<1/10000,100>;%采样频率1/10000.最大多普勒频移100%将信号通过Rayleigh信道rxSignal_Rayleigh=filter<Rayleigh_chan,rxSignal_Gauss>;%16-QAM解调dataOut_Rayleigh=qam_demod<rxSignal_Rayleigh>;%计算系统的误码率〔BER[numErrors,ber]=biterr<dataIn,dataOut_Rayleigh>;%fprintf<'\nThebinarycodingbiterrorrate=%5.2e,basedon%derrors\n',ber,numErrors>plot<snr,ber,'g*'>holdon%%莱斯%获得莱斯信道函数Rician_chan=ricianchan<1/10000,100,1>;%将信号通过Rician信道rxSignal_Rician=filter<Rician_chan,rxSignal_Gauss>;%16-QAM解调dataOut_Rician=qam_demod<rxSignal_Rician>;%计算系统的误码率〔BER[numErrors,ber]=biterr<dataIn,dataOut_Rician>;%fprintf<'\nThebinarycodingbiterrorrate=%5.2e,basedon%derrors\n',ber,numErrors>plot<snr,ber,'b.'>holdonendxlabel<'信噪比SNR'>,ylabel<'误码率BER'>;legend<'高斯','瑞利','莱斯,K=5dB','Location','NorthEastOutside'>title<'16QAM下的误码率--SXF'>holdoffscatterplot<dataMod>title<'16QAM-调制信号星座图--SXF'>axis<[-44-44]>附录2%%GMSK%%n=300;%处理的比特数目sps=8;%每个符号的采样%%创建二进制数据流作为列向量rngdefault%使用缺省随机数发生器dataIn=randi<[01],n,1>;%产生的二进制矢量数据%创建GMSK调制器gmskMod=comm.GMSKModulator<'BitInput',true,'PulseLength',4,'SamplesPerSymbol',sps>;%创建GMSK解调器gmskDeMod=comm.GMSKDemodulator<'BitOutput',true,'PulseLength',4,'SamplesPerSymbol',sps>;%数据调制modSigGMSK=step<gmskMod,dataIn>;%误码率器hError=comm.ErrorRate<'ReceiveDelay',gmskDeMod.TracebackDepth>;forN=-50:20%%高斯snr=N;%创建高斯信道器hAWGN=comm.AWGNChannel<'NoiseMethod','Signaltonoiseratio<SNR>','SNR',snr>;%将信号通过AWGN信道rxSignal_Gauss=step<hAWGN,modSigGMSK>;%GMSK解调dataOut_Gauss=step<gmskDeMod,rxSignal_Gauss>;%计算系统的误码率〔BERerrorStats=step<hError,dataIn,dataOut_Gauss>;fprintf<'Errorrate=%f\nNumberoferrors=%d\n',errorStats<1>,errorStats<2>>figure<3>plot<snr,errorStats<1>,'r^'>holdon%%瑞利RayleighChan=comm.RayleighChannel<...'SampleRate',1e6,...'MaximumDopplerShift',30,...'DopplerSpectrum',doppler<'Bell',8>,...'RandomStream','mt19937arwithseed',...'Seed',73,...'PathGainsOutputPort',true>;%将信号通过瑞利信道[rxSignal_Rayleigh,PathGains1]=step<RayleighChan,rxSignal_Gauss>;%将通过AWGN信道的信号再通过瑞利信道modSigGMSK%GMSK解调dataOut_Rayleigh=step<gmskDeMod,rxSignal_Rayleigh>;%计算系统的误码率〔BERerrorStats=step<hError,dataIn,dataOut_Rayleigh>;fprintf<'Errorrate=%f\nNumberoferrors=%d\n',errorStats<1>,errorSt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国自考(护理学导论)模拟试卷11
- 初级经济考试《财政税收》真题卷二
- 出版行业数字化转型策略
- 初中物理浮力压强试卷(含答案)
- 六级写作高分范文
- 大学生职业生涯规划教学参考
- 2026 学龄前自闭症日常行为课件
- 24-第九章 人体参数监测系统软件平台布局实验
- 2026年幼儿园卫生管理制度范本
- Java后端开发实际案例解析
- 《吹瓶工艺培训》课件
- 提高输液室患儿静脉留置针穿刺成功率品管圈
- 锅炉招标采购技术规范书
- FZ∕T 73037-2019 针织运动袜行业标准
- 平面与平面垂直的判定定理
- 中建防水专项施工方案
- 氨水浓度密度对照表
- 沉淀溶解平衡与沉淀滴定法(药用基础化学课件)
- 雅思8000词汇表单
- 电梯安全保护装置课件
- 部编版小学道德与法治五年级下册第8课《推翻帝制民族觉》第3课时《民主共和渐入人心》课件
评论
0/150
提交评论