《物联网通信技术》第7章 课后习题答案.docx
物联网通信技术第7章课后习题答案1(1)按照7.1.1实验内容和步骤,通过MAT1.AB脚本程序将实验仿真结果和2FSK理论误比特率曲线绘制在一张图中。解SimUlink仿真框图如文中7.1.1实验内容所示,文件名为CommChanne1.SlX脚本程序代码如下:%commChanmain.m文件名%SnrVec表示信噪比向量值,单位dBsnrVec=0:15;%初始化误比特率向量ber=zeros(length(snrVec),1);%BFSK调制的频率间隔等于24kHzFrequencySeparation=24000;%信源产生信号的bit率等于IOkbits,产生1秒的数据BitRate=10000;%仿真时间设置为10秒SimulationTime=10;%BFSK调制信号每个符号的抽样数等于2SamplesPerSymbol=2;%循环执行仿真程序fori=1.length(SnrVec)%信道的信噪比(单位dB)依次取snrVec中的元素SNR=snrVec(i);%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中sim('commChanne);%计算BitErrorRate的均值作为本次仿真的误比特率ber(i)=mean(BitErrorRate);end%计算理论情况下不同信噪比的AWGN信道的误比特率,此处需将dB单位进行转换theoryBitErrorRate=qfunc(sqrt(10.A(snrVec/10);%绘制仿真信噪比和误比特率的关系曲线图,纵坐标采用对数坐标,红色曲线semilogy(snrVec,ber,-r*');%在同一坐标系下画多条曲线holdongridxlabel('SNR(dB),)ylabel('BitErrorRate')%绘制理论的信噪比和误比特率的关系曲线图,纵坐标采用对数坐标,蓝色曲线semilogy(snrVec,theoryBitErrorRate,'-b*,);仿真结果如下:1.jd口园IQH文件(F)辐(E)M(V)插入IM(T)MS(D)窗口(W)W(三)图中蓝色曲线为理论曲线,红色曲线为实验仿真曲线。从图中可以看出,在加性高斯白噪声(AWGN)信道下,BFSK调制信号的误比特率随着信噪比的增加而降低,当信噪比达到14dB左右时,误比特率刚好低于IO-3O而在理论条件下,误比特率也随着信噪比增加而降低,在相同信噪比下,理论值低于实际值,可以看出理论情况下信噪比到达IOdB时误比特率就低于IO-3O(2)在都市环境中,一般将移动通信信道看作是多径瑞利衰落信道。分析2FSK在多径瑞利衰落信道中的传输性能,瑞利衰落信道模拟两径衰落的情况,这两径信号的时延分别为0和2s,它们的相对增益则分别为OdB和-3dB.信道由两部分组成,分别是单输入单输出衰落信道(SISOFadingChannel)和加性高斯白噪声产生器(AWGNChannel)O其中单输入单输出衰落信道的主要参数设置如表7-40所示,试给出该场景下的仿真结果。表740单输入单输出衰落信道(SISOFadingChannel)的参数设置参数名称参数值Discretepathdelays(三)02e-6Averagepathgains(dB)10-3Normalizeaveragepathgainsto0dBCheckedFadingdistributionRaleighMaximumDopplerShift(Hz)30Dopplerspectrumdoppler(Jake,)InitialSeed67解Simulink仿真框图如下图所示,文件名为commChannelRayleigh.slx%comtnChannc<UykH)*SlmuilnkOXSMVkwDttpUrDteQivnSmulMkwiAna*yiCodeTooBH<pa*BSP34/)-l->-,0fi.eraMW*lft90>g¼jr*um>Ilb<*Irlgl脚本程序代码如下:%CommChanRayleigh.m文件名%SnrVec表示信噪比向量值,单位dBSnrVec=0:15;%初始化误比特率向量ber=zeros(length(snrVec),1);%BFSK调制的频率间隔等于24kHzFrequencySeparation=24000;%信源产生信号的bit率等于IOkbitZs,产生1秒的数据BitRate=10000;%仿真时间设置为10秒SimulationTime=10;%BFSK调制信号每个符号的抽样数等于2SamplesPerSymbol=2;%准备一个空白图holdoff;%执行AWGN信道仿真程序,得到相应的曲线CommChanmain;%保持AWGN信道的曲线图holdon;%循环执行仿真程序fori=Iilength(SnrVec)%信道的信噪比(单位dB)依次取SnrVec中的元素SNR=snrVec(i);%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中sim(,commChannelRayleigh,);%计算BitErrorRate的均值作为本次仿真的误比特率ber(i)=mean(BitErrorRate);end%绘制信噪比和误比特率的关系曲线图,纵坐标采用对数坐标Semilogy(SnrVeC,be-b*');gridXIabeIC信噪比(dB),)ylabel('误比特率')仿真结果如下:司Figure1×文件(F)编辑(E)查看(V)插入桌面(D)窗口(W)帮助(三))HJ)口国1°"o510信噪比(dB)0123100'0'0"11115图中蓝色曲线为多径瑞利衰落信道下误码率曲线,红色曲线为AWGN信道下误码率曲线。从图中可以看出多径瑞利衰落信道下误码率很高。2(1)按照7.1.2实验内容和步骤,通过MAT1.AB脚本程序将DQPSK实验仿真结果和QPSK仿真结果绘制在一张图中进行性能比较。解将文中7.1.2实验DQPSKSimulink系统文件dqpskMod.slx中的误码率计算器(ErrorRateCalCUlation)的参数设置改为如下图所示。BlockParameters:ErrorRateCalculation×symbolscompared.Thisvectorcanbesenttoeitherthe.workspaceoranoutputport.Thedelaysarespecifiedinnumberofsamples,regard1essofwhethertheinputisascalaroravector.Theinputstothe'T,and'Rx'portsmustbescalarsorcolumnvectors.The*Stopsimulation*optionstopsthesimulationupondetectingatargetnumberoferrorsoramaximumnumberofsymbols,whichevercomesfirst.ParametersReceivedelay:Computationdelay:0OKICancelHelpQPSK系统与DQPSK仅在调制解调方式上不同,其他部分与文中参数完全一致。其Simulink系统图如下所示,文件名为qpskMod.sloqfMod-Snuink_hie£(MViewDepiayCM9wnS*nuonAr¼alys*sCoO100KHelpI*"Ijul*4QPSKModulatorBaseband(QPSK基带调制器)jBlockParameters:QPSKModulatorBasebandQPSKModulatorBaseband(mask)(1ink)Modulatetheinputsignalusingthequaternaryphaseshiftkeyingmethod.MainDalaTyPeSParamelersInputtype:integerConstelIationordering:GrayPhaseoffset(rad):pi/4ViewConstellation(i.CanCelHelPQPSKDemodulatorBaseband(QPSK基带解调器)BlockParameters:QPSKDemodulatorBasebandQPSKDemodulatorBaseband(nask)(1ink)*DesodulatetheinputsignalusingthequaternaryphaseshiftkeyingBeth(X1.MainDHlaTyPeSjParametersOutputtype:IInIeger_Constellationordering:G11yPhaseoffset(rad):pi/4inIOKIGMK:elIHClPN-JErrorRateCalculation(误码率计算器)BlockParameters:ErrorRateCalculation×symbolscompared.Thisvectorcanbesenttoeitherthe.workspaceoranoutputport.Thedelaysarespecifiedinnumberofsamples,regardlessofwhethertheinputisascalaroravector.Theinputstothe'T,and'Rx'portsmustbescalarsorcolumnvectors.The,Stopsimulalion'optionstopsthesimulationupondetectingatargetnumberoferrorsoramaximumnumberofsymbols,whichevercomesfirst.ParametersReceivedelay:O同Computationdelay:I。BIComputationmode:EntireframeOutputdata:WorkspaceVariablenam*面glErrorVecI口Resetport口StopsimulationIOKICancelHelpM文件dqpskModmain.m对QPSK和DQPSK两个仿真模型进行仿真。脚本程序代码如下:%dqpskModmain.m文件名clear;%设置调制信号的抽样间隔SampleTime=1/50000;%设置仿真时间的长度SimulationTime=10;%SnrVec表示信噪比向量值,单位dBsnrVec=0:10;%初始化误符号率向量dqpskser=zeros(length(snrVec),1);qpskser=zeros(length(snrVec),1);fori=klength(snrVec)%信噪比依次取向量snrVec的数值SNR=snrVec(i);%执行DQPSK的仿真模型sim('dqpskMod');%从ErrorVer中获得调制信号的误符号率dqpskser(i)=dqpskErrorVec(l);endfork=Iilength(SnrVec)SNR=snrVec(k);%执行QPSK的仿真模型sim('qpskMod')%从ErrorVer中获得调制信号的误符号率qpskser(k)=qpskErrorVec(l);end%绘制信噪比与误符号率的关系曲线semilogy(snrVec,dqpskser,'-r*');holdongridxlabel('SNR(dB),)ylabel('SymbolErrorRate')semilogy(snrVec,qpskser,'-k*');仿真结果如下图所示:Cidid11iO0<raH01.山-OqUJASW3O123456SNR<dB)8910红色曲线为DQPSK误符号率曲线,黑色曲线为QPSK与误符号率曲线。可以看出QPSK符号率低于DQPSK,说明QPSK性能更好。但是在解调时由于QPSK存在相位模糊问题,所以在实际中主要采用DQPSK。(2)用MAT1.AB绘制不同滚降因子升余弦成型滤波器的冲激响应曲线。假设截止频率为500Hz,采样频率100kHz,时延5,四个滚降系数分别为0,0.25,05和1。利用rcosine()函数生成升余弦滚降系统。脚本程序代码如下:%raised_cosine.mclearallFd=le3;%截止频率为Fd/2Fs=Fd*100;%设置采样频率为100kdelay=5;%设置时延为5forr=0,0.25,0.5,1%滚降系数num=rcosine(Fd,Fs,firnorma,r,delay);%生成升余弦滚降系统t=0:1/Fs:1/Fs*(length(num)-1);l=rand(),rand(),rand(),rand();%每个循环改变一次颜色figure(l);plot(t,num,'Color1,1);holdon;axis(00.01-0.31.1);title。升余弦滚降系统冲激响应)XlabeIC时间s')ylabel('h(t),)end结果如下:上图说明,在每个码元周期结束时,刚好是冲激响应曲线的零点,可以消除码间串扰。同时,滚降系数越大时,升余弦滚降系统的冲激响应衰减越快,越接近理想低通特性。3(1)按照7.1.3实验内容和步骤,对约束长度都等于9,码率(编码效率)分别等于1/2和1/3的卷积码进行硬判决译码仿真,结果绘制在一张图中进行性能比较。其中码率为1/2的卷积编码器2个生成多项式用八进制数表示为753和561,码率为1/3的卷积编码器3个生成多项式用八进制数表示为557、663和711o解按照7.1.3实验内容码率1/2的卷积码,其Simulink系统文件名为ChanEndecodel.slxConvolutionalEncoder(卷积编码器)的参数设置如下:ViterbiDecoder(Viterbi译码器)的参数设置如下:BlockParameters:ViterbiDecoderViterbiDecoder(mask)(link)sctheYitcrbialgorithmtodecodeConvolutionallyencodedinputdutn.Cscthepoly2trcl1isfunctiontocreateatrellisusingtheconstraintlength.Codegenerator(octal)andfeedbackconnection(octal).MajnI>ataTypesFixed-pointoperationalparanetersSettingsinthisgrouponlyapplyforHardandSoftdecisionswithfixed-pointinputsignals.Statemetricwordlength:16Outputdatatype:IdoUbreUKJICanCelHeIPToWorkspace(工作区写入模块)的参数设置如下:国BlockParameters:ToWorkspace×ToWorkspaceAWriteinpultospecifiedIimcseries,array,orstructureinaworkspace.Formenu-basedsimulation,dataiswrittenintheMAT1.ABbaseworkspace.DataisnotavaiIableuntilthesimulationisstoppedorpaused.Tologabussignal,use”Timeseries'saveformal.ParametersVariablename:IBiIErrorRaIel1.imitdatapointstolast:IinfJDecimation:UlISavefomat:Timeseries叼1.ogfixed-pointdataasafiobjectSampletime(-1forinherited):码率1/3除卷积码编码和译码的PoIy2trellisO函数的参数不同外,其余与码率1/2相同。其Simulink系统文件名为chanEndecode2.slxConvolutionalEncoder(卷积编码器)的参数设置如下:ViterbiDecoder(Viterbi译码器)的参数设置如下:ToWorkspace(工作区写入模块)的参数设置如下:国BlockParameters:ToWorkspace×ToWorkspaceaWriteinputtospecifiedtimeseries,array,orstructureinaworkspace.Formenu-basedsimulation,dataiswrittenintheMT1.ABbaseworkspace.Dataisnotavailableuntilthesimulationisstoppedorpaused.Tologabussignul,use"Timeseries,saveformal.ParametersVariablename:IBiIElTOrRaIe2I1.imitdatapointstolast:IinfIIDecimation:11IIllISaveformal:Timcseries"01.ogfixed-pointdataasafiobjectSampletime(-1forinherited):IT间I脚本程序代码如下:%ChanEndecodermain.m%snrVec表示信噪比向量值,单位dBclearall;snrVec=-10:5;%初始化误比特率向量berl=Zeros(Iength(SnrVec)J);ber2=zeros(length(snrVec),1);%循环执行仿真程序fori=klength(snrVec)%信道的信噪比(单位dB)依次取snrVec中的元素SNR=snrVec(i);%运行码率1/2的仿真程序,得到的误比特率保存在工作区变量BitErrorRatel中sim('chanEndecode);%计算BitEiTOrRatel的均值作为本次仿真的误比特率berl(i)=mean(BitErrorRate1);endfork=Uength(SnrVec)%信道的信噪比(单位dB)依次取SnrVec中的元素SNR=snrVec(k);%运行码率1/3仿真程序,得到的误比特率保存在工作区变量BitErrorRate2中sim('chanEndecode2,);%计算BilErrorRate2的均值作为本次仿真的误比特率ber2(k)=mean(BitErrorRate2);end%绘制信噪比和误比特率的关系曲线图,纵坐标采用对数坐标semilogy(snrVec,berl,-r*');holdongridxlabel('SNR(dB),)ylabel('BitErrorRate')semilogy(snrVec,ber2,-k*t);仿真结果如下图所示:文件(F)(E)查看(V)播入(I)工具(T)桌面(D)g(W)帮助(三)-10-8-6-2024SNR<dB)红色曲线表示码率为1/2的误比特率曲线,黑色曲线表示码率为1/3的误比特率曲线。仿真的结果显示,相同信噪比下,码率为1/3的卷积码性能更好。(2)对同一个卷积码分别进行软判决译码和硬判决译码仿真,将仿真结果绘制在一张图中进行性能比较。(注意:软判决译码时解调器的参数设置与硬判决译码时不同)解保留卷积码硬判决译码系统,将卷积码改为示例中的trellis=poly2trellis(3,67)其Simulink系统文件名为ChanEndeCOde.sixConvolutionalEncoder(卷积编码器)的参数设置如下:国BlockParameters:ConvolutionalEncoderQConvolutionalEncoder(mask)(link)ConvoIutionalIyencodebinarydata.Usethepoly2trellisfunctiontocreateatrellisusingtheconstraintlength,codegenerator(octal)andfeedbackconnection(octal).Selectthe*Terminatetrellisbyappendingbits"operationmodetoterminatethetrellisattheall-zerostatebyappendingtailbitsattheendofeachinputframe.CheckthePuncturecodecheckboxtopuncturetheencodeddataforallotheroperationnodes.NUsetheistrellisfunctioninMAT1.ABtocheckifastructureisavalidtrellisstructure.ParametersTrellisstructure:poly2trellis(3,67)Operationmode:Truncated(reseteveryframe)_Specifyinitialstateviainputport3Outputfinalstatei11PxmcturecodeOOK)CanCelHelpApplyViterbiDecoder(Viterbi译码器)的参数设置如下:要进行软判决译码,通过AWGN信道的已调BPSK复信号必须先进行映射和解调,Viterbi译码器要求输入数据为O到7之间的整数,必须先进行多于2bit的量化。建立了如下图所示的软判决译码系统。其Simulink系统文件名为chanEndecode3.s!x由于通过AWGN信道的已调BPSK复信号的虚部为零,所以只需要转换实信号,先进行归一化然后再量化。将已调BPSK信号转换成卷积码译码器可识别的整数数据。编码以及调制部分与硬判决相同,此处不再说明参数设置。解调和译码部分各模块参数设置如下:将通过AWGN信道的已调BPSK信号数据以复数形式表示:ComplextoReal-ImagOutputtherealand/orimaginarycomponentsoftheinput.BlockParameters:ComplextoReal-Imag数据归一化:BlockParameters:StandardDeviationStandardDeviationComputethestandarddeviationalongthespecifieddimensionoftheinputoracrosstime(runningstandarddeviation).ParametersRunningstandarddeviationFindthestandarddeviationvalueover:Eachcolumn。IOKICanCeIHelpApply数据量化(3比特量化):ViterbiDecoder(Viterbi译码器)的参数设置如下:脚本程序代码如下:%SnrVec表示信噪比向量值,单位dBclearall;snrVec=-10:5;%初始化误比特率向量hardber=zeros(length(snrVec),1);softber=zeros(length(snrVec),1);%循环执行仿真程序fori=1:Iength(SnrViec)%信道的信噪比(单位dB)依次取snrVec中的元素SNR=snrVec(i);%运行硬判决的仿真程序,得到的误比特率保存在工作区变量BitErrorRate中sim('chanEndecode,);%计算BitErrOrRate的均值作为本次仿真的误比特率hardber(i)=mean(BitErrorRate);endfork=Iilength(SnrVec)%信道的信噪比(单位dB)依次取SnrVec中的元素SNR=snrVec(k);%运行软判决的仿真程序,得到的误比特率保存在工作区变量BitErrorRateS中sim(,chanEndecode3');%计算BitErrorRateS的均值作为本次仿真的误比特率softber(k)=mean(BitErrorRate3);end%绘制信噪比和误比特率的关系曲线图,纵坐标采用对数坐标semilogy(snrVec,hardber,-r*);holdongridxlabel('SNR(dB),)ylabel('BitErrorRate')semilogy(snrVec,softber,'-k*);仿真结果如下图所示:红色曲线为硬判决方式的误比特率曲线;黑色曲线为软判决方式的误比特率曲线,可以看出,相同信噪比下,软判决方式的性能比硬判决方式好。(3)绘制直接序列扩频通信系统信噪比SNR与误比特率的对应关系对数曲线图。解文中直接序列扩频通信系统实验,其SimUlink系统文件名为DSSS.slx脚本程序代码如下:%SnrVec表示信噪比向量值,单位表示信噪比向量值,单位dBclear;snrVec=-50:-10;%初始化误比特率向量ber=zeros(length(snrVec),1);%循环执行仿真程序fori=1.length(SnrVec)%信道的噪比(单位dB)依次取snrVec中的元素SNR=snrVec(i);%运行仿真程序,得到的误比特率保存在工作区变量BitEnrRate中sim('DSSS,);%计算BitErrOrRate的均值作为本次仿真误比特率的均值作为本次仿真误比特率ber(i)=mean(BitErrorRate);end%绘制信噪比和误特率的关系曲线图,纵坐标采用对数semilogy(snrVec,ber,'-r*');gridxlabel('SNR(dB),)ylabel('BitErrorRate')如上图所示,直接序列扩频通信系统当信噪比高于-2OdB时,误比特率下降很快。直接序列扩频通信系统抗噪声性能十分良好。