《物联网通信技术》第7章 课后习题答案_第1页
《物联网通信技术》第7章 课后习题答案_第2页
《物联网通信技术》第7章 课后习题答案_第3页
《物联网通信技术》第7章 课后习题答案_第4页
《物联网通信技术》第7章 课后习题答案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《物联网通信技术》第7章课后习题答案

1(1)按照7.1.1实验内容和步骤,通过MATLAB脚本程序将实验仿真结果

和2FSK理论误比特率曲线绘制在一张图中。

解Simulink仿真框图如文中7.1.1实验内容所示,文件名为commChannel.slx

脚本程序代码如下:

%commChanmain.ni文件名

%snrVec表示信噪比向量值,单位dB

snrVec=0:15;

%初始化误比特率向量

ber=zeros(lenglh(snrVec),1);

%BFSK调制的频率间隔等于24kHz

Frequencyseparation=24000;

%信源产生信号的bit率等于10kbit/s,产生1秒的数据BitRate=10000;

%仿真时间设置为10秒

SirnulationTime=10;

%BFSK调制信号每人符号的抽样数等于2

SamplesPerSymbol=2;

%循环执行仿真程序

fori=l:lcngth(snrVcc)

%信道的信噪比(单位dB)依次取snrVec中的元素

SNR=snrVec(i);

%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中

simC^ommChannel');

%计算BitErrorRate的均值作为本次仿真的误比特率

ber(i)=mean(BitErrorRate);

end

%计算理论情况下不同信噪比的AWGN信道的浜比特率,此处需将dB单位

进行转换

theoryBitErrorRate=qfunc(sqrt(10.A(snrVec/10)));

第1页共28页

%绘制仿真信噪比和误比特率的关系曲线图,纵坐标采用对数坐标,红色曲

线

semilogy(snrVcc,bcr,'-r*');

%在同一坐标系下画多条曲线

holdon

grid

xlabelCSNR(dB),)

ylabel('BitErrorRate')

%绘制理论的信噪比却误比特率的关系曲线图,纵坐标采用对数坐标,蓝色

曲线

semilogy(snrVec,theoryRitErrorRate,'-h*');

仿真结果如下:

图中蓝色曲线为理论曲线,红色曲线为实验与真曲线。

从图中可以看出,在加性高斯白噪声(AWGN)信道下,BFSK调制信号的

误比特率随着信噪比的增加而降低,当信噪比达到14dB左右时,误比特率刚好

第2页共28页

低于10-3。而在理论条件下,误比特率也随着信噪比增加而降低,在相同信噪比

下,理论值低于实际值,可以看出理论情况下信噪比到达10dB时误比特率就低

于于3。

(2)在都市环境中,一般将移动通信信道看作是多径瑞利衰落信道。分析

2FSK在多径瑞利衰落信道中的传输性能,瑞利衰落信道模拟两径衰落的情况,

这两径信号的时延分别为0和2.,它们的相对增益则分别为OdB和-3dB。

信道由两部分组成,分别是单输入单输出衰落信道(SISOFadingChannel)

和加性高斯白噪声产生器(AWGNChannel)o其中单输入单输出衰落信道的主要

参数设置如表7-40所示,试给出该场景下的仿真结果。

表7・40单输入单输出衰落信道(SISOFadingChannel)的参数设置

参数名称参数值

Discretepathdelays(s)[02e-61

Averagepathgains(dB)[0-3]

Normalizeaveragepathgainsto0dBChecked

FadingdistributionRaleigh

MaximumDopplerShift(Hz)30

Dopplerspectrumdoppler(*Jake,)

InitialSeed67

解Simulink仿真框图如下图所示,文件名为commChannelRayleigh.slx

%3m・­SimukMc

(dilVWwOispUyOwgr«nSmjiMtonMyvtCodeTo<M»Mp

「,I«*i溢

«jtXVanab<e$«fpOtKrete|

第3页共28页

%绘制信噪比和误比特率的关系曲线图,纵坐标采用对数坐标

semilogy(snrVec,ber/-b*');

grid

xlabel('信噪比(dB),)

ylabelC误比特率,)

仿真结果如下:

4TFigure1—□X

文件(F)编辑(E)查看(V)插入(I)工具⑴桌面(D)窗口(W)帮助(H)

051015

信噪比(dB)

图中蓝色曲线为多径瑞利哀落信道下误码率曲线,红色曲线为AWGN信道

下误码率曲线。从图中可以看出多径瑞利衰落信道下误码率很高。

第5页共28页

2(1)按照7.1.2实验内容和步骤,通过MATLAB脚本程序将DQPSK实验

仿真结果和QPSK仿真结果绘制在一张图中进行性能比较。

解将文中7.1.2实验DQPSKSimulink系统文件dqpskMod.slx中的误码率计算

器(ErrorRateCalculation)的参数设置改为如下图所示。

1%1BlockParameters:ErrorRateCalculationX

symbolscompared.Thisvectorcanbesenttoeitherthe♦

woikspaueorcmoutputport.

Thedelaysarespecifiedinnumberofsamples,regardlessof

whethertheinputisascalaroravector.Theinputstothe

Tx'and'Rx'portsmustbescalarsorcolumnvectors.

ThetStopsimulation*optionstopsthesimulationupon

detectingatargetnumberoferrorsoramaximumnumberof

symbols,whichevercomesfirst.

Parameters

Computationmode:Entireframe

Outputdata:Workspace

Variableriamfii————

^pskErrorVec

OResetport

□Stopsimulation

OKCancelHelpApp1y

QPSK系统与DQPSK仅在调制解调方式上不同,其他部分与文中参数完全一致。

其Simulink系统图如下所示,文件名为qpskMod.slxo

第6页共28页

QPSKModulatorBaseband(QPSK基带调制器)

第7页共28页

QPSKDemodulatorBaseband(QPSK基带解调器)

ErrorRateCalculation(误而马率计算器)

I%1BlockParameters:ErrorRateCalculationX

symbolscompared.Thisvectorcanbesenttoeitherthe,

workspaceoranoutputport.

Thedelaysarespecifiedinnumberofsamples,regardlessof

whethertheinputisascalaroravector.Theinputstothe

‘Tx'and'Rx'portsmustbescalarsorcolumnvectors.

Thp*Stnpsimii1ation*oplionsinps1hpinnupon

detectingatargetnumberoferrorsoramaximumnumberof

symbols,whichevercomesfirst.

Parameters

Receivedelay:

0

Computationdelay:

0

Computationmed。:Entireframe

OKCancelHelp

第8页共28页

M文件dqpskModmain.m对QPSK和DQPSK两个仿真模型进行仿真。

脚本程序代码如下:

%dqpskModmain.m文件名

clear;

%设置调制信号的抽样间隔

SampleTime=1/50000;

%设置仿真时间的长度

SimulationTime=10;

%snrVec表示信噪比向量值,单位dB

snrVec=0:10;

%初始化误符号率向量

dqpskser=7eros(length(snrVec),1);

qpskser=zeros(length(snrVec),1);

fori=1:length(snrVec)

%信噪比依次取向量snrVec的数值

SNR=snrVec(i);

%执行DQPSK的仿真模型

sim('dqpskMod');

%从ErrorVer中获得调制信号的误符号率

dqpskser(i)=dqpskErrorVec(l);

end

fork=klength(snrVec)

SNR-smVuc(k);

%执行QPSK的仿真模型

sim('qpskMod')

%从ErrorVer中获得调制信号的误符号率

qpskser(k)=qpskErrorVec(l);

end

第9页共28页

%绘制信噪比与误符号率的关系曲线

semilogy(snrVec,dqpskser,

holdon

grid

xlabeI('SNR(dB))

ylabel('SymboIErrorRate1)

semilogy(snrVec,qpskser,'-k*');

仿真结果如下图所示:

回,Xi

文件(F)编策⑹查看(V)通入(I)IM(T)息面(D)窗口(W)颦助(H)

012345678910

SNR(dB)

红色曲线为DQPSK误符号率曲线,黑色曲线为QPSK与误符号率曲线。可

以看出QPSK符号率低于DQPSK,说明QPSK性能更好。但是在解调时由于

QPSK存在相位模糊问题,所以在实际中主要采用DQPSKo

(2)用MATLAB绘制不同滚降因子升余弦成型流波器的冲激响应曲线。

第10页共28页

假设截止频率为500Hz,采样频率100kHz,时延5,四个滚降系数分别为0,

0.25,0.5»lo利用rcosine。函数生成升余弦滚降系统。

脚本程序代码如下:

%raiscd_cosinc.m

clearall

Fd=le3;%截止频率为Fd/2

Fs=Fd*100;%设置采样频率为100k

deiay=5;%设置时延为5

forr=[0,0.25,0.5,1]%滚降系数

num=rcosine(Fd,Fs,'fir/normal',r,delay);

%生成升余弦滚降系统

t=0:1/Fs:1/Fs*(length(num)-1);

l=[rand(),rand(),rand(),rand()l;

%每个循环改变一次颜色

figure(1);

plot(t,num,'Color*,1);

holdon;

axis([()0.01-0.31.1]);

title。升余弦滚降系统冲激响应)

xlabelC时间/s')

ylabel('h⑴')

end

结果如下:

第11页共28页

上图说明,在每个码元周期结束时,刚好是冲激响应曲线的零点,可以消除

码间串扰。同时,滚降系数越大时,升余弦滚降系统的冲激响应衰减越快,越接

近理想低通特性。

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.slx

第12页共28页

ConvolutionalEncoder(卷积编码器)的参数设置如下:

|%|BlockParameters:ConvolutionalEncoder

_____________—_______________________________________

ConvolutionalEncoder(mask)(link)

Convolutionallyencodebinarydata.Usethepoly2trellis

functiontocreateatrellisusingtheconstraintlength,code

generator(octal)andfeedbackconnection(octal).

Selectthe"Terminatetrellisbyappendingbits“operation

modetoterminatethetrellisattheall-zerostateby

appendingtailbitsattheendofeachinputframe.Checkthe

Puncturecodecheckboxtopuncturetheencodeddataforall

otheroperationmodes.

UsetheistrellisfunctioninMATLABtocheckifastructure

isavalidtrellisstructure.

Parameters

Trellisstructure:

poly2trellis(9,[753561])

Operationmode:Truncatedpreseteveryframe)▼

Specifyinitialstateviainputport

Outputfinalstate

Puncturecode

OK]CancelHelpApply

ViterbiDecoder(Viterbi译码器)的参数设置如下:

第13页共28页

&BlockParameters:ViterbiDecoder

ViterbiDecoder(mask)(link)

VsetheViterbialgorithmtodecodeconvolutionallyencodedinputdata.Isethepoly2trellis

functiontocreateatrellisusingtheconstraintlength,codegenerator(octal)andfeedback

connection(octal).

MainDataTypes|

Fixed-pointoperationalparameters

Settingsinthisgrouponly却plyforHardandSoftdecisionswithfixed-pointinputsignals.

Statemetricwordlength:16同

Outputdatatype:[double▼

OK]「Cancel]|Help|

ToWorkspace(工作区写入模块)的参数设置如卜:

国BlockParameters:ToWorkspaceX

ToWorkspace

Writeinputiospecifiedtimeseries,array,orstructureina

workspace.Eormenu-basedsimulation,dataiswritteninthe

MATLABbaseworkspace.Dataisnotavailableuntilthe

simulationissloppedorpaused.

Tologabussignal,use”Timeserics'saveforniat.

Parameters

Variablename:

Decimation:

Saveformal:Timeseries

0Logfixed-pointdataasafiobject

Sampletime(■iforinherited):

IT-

OK|CancelHelp

第14页共28页

码率1/3除卷积码编码和译码的poly2trellis-:)函数的参数不同外,其余与

码率1/2相同。其Simulink系统文件名为chanEndecode2.slx

ConvolutionalEncoder(卷积编码器)的参数设置如下:

BlockParameters:ConvolutionalEncoder

ConvolutionalEncoder(mask)(link)

Convolutionallyencodebinarydata.Usethepoly2trellis

functiontocreateatrellisusingtheconstraintlength,code

generator(octal)andfeedbackconnection(octal).

Selecttae*Terminatetrellisbyappendingbits*operation

modetoterminatethetrellisattheall-zerostateby

appendingtailbitsattheendofeachinputfra>e.Checkthe

Puncturecodecheckboxtopuncturetheencodeddataforall

otheroperationmodes.

UsetheistrellisfunctionmMATLABtocheckifastructure

isavalidtrellisstructure.

Paraineters

Trellisstructure:

poly2trellis(9,[557663711])

Operationnode:Truncated(reseteveryfrane)▼)

Specifyinitialstateviaport

Outputfinalstate

Puncturecode

JOKICancelHelpApply

ViterbiDecoder(Viterbi译码器)的参数设置如下:

第15页共28页

ToWorkspace(工作区写入模块)的参数设置如下:

1%1BlockParameters:ToWorkspaceX

ToWorkspaceA

Writeinputtospecifiedtimeseries,array,orstructureina

workspace.Formenu-basedsimulation,dataiswritteninthe

MATLABbaseworkspace.Deilaisnotavailubleuntilthe

simulationissloppedorpaused.

Tologabussignal,use"Timeseries*saveformat.

Parameters

Variablename:

|BitErrorRatc2

Limitdatapointstolast:

inf

Decinuition:

|1~|[j]

Saveformat:Timcserics”

0Logfixed-pointdataasafiobject

Sampletime(-1forinherited):

~"iiyi

OKCance1HelpApply

脚本程序代码如下:

%chanEndccodcrmain.m

%snrVec表示信噪比向量值,单位dB

clearall;

snrVec=-10:5;

%初始化误比特率向量

berl=zeros(lenglh(snrVec),l);

ber2=zeros(length(snrVec),1);

%循环执行仿真程序

fori=klength(snrVec)

%信道的信噪比(单位dB)依次取snrVec中的元素

SNR=snrVec(i);

%运行码率1/2的仿真程序,得到的误比特率保存在工作区变量

BitEiTorRatel中

sim('chanEndccodc1

第16页共28页

%计算BilErrorRatel的均值作为本次仿真的误比特率

berl(i)=mean(BitErrorRate1);

end

fork=l:length(snrVec)

%信道的信噪比(单位dB)依次取snrVec中的元素

SNR=snrVec(k);

%运行码率U3仿真程序,得到的误比特率保存在工作区变量

BitErrorRate2中

sim('chanEndecode2');

%计算BitErrorRate2的均值作为本次仿真的误比特率

ber2(k)=mean(RitFrrorRate2);

end

%绘制信噪比和误比特率的关系曲线图,纵坐标采用对数坐标

semilogy(snrVec,berl,

holdon

grid

xlabeI('SNR(dB))

ylabel('BitErrorRate')

semilogy(snrVec,ber2,'-k*1);

第17页共28页

仿真结果如下图所示:

-10-8-6-4-2024

SNR(dB)

红色曲线表示码率为1/2的误比特率曲线,黑色曲线表示码率为1/3的误

比特率曲线。仿真的结果显示,相同信噪比下,码率为1/3的卷积码性能更好。

(2)对同一个卷积码分别进行软判决译码和硬判决译码仿真,将仿真结果绘

制在一张图中进行性能比较。(注意:软判决译码时解调器的参数设置与硬判决

译码时不同)

解保留卷积码硬判决译码系统,将卷积码改为示例中的

trellis=poly2lrellis(3,[67])其Simuliiik系统文件名为uhanEndecude.slx

第18页共28页

ConvolutionalEncoder(卷积编码器)的参数设置如下:

i,|BlockParameters:ConvolutionalEncoder

ConvolutionalEncoder(mask)(link)

Convolutionallyencodebinarydata.Usethepoly2trellis

functiontocreateatrellisusingtheconstraintlength,code

generator(octal)andfeedbackconnection(octal).

Selectthe^Terminatetrellisbyappendingbits,*operation

modetoterminatethetrellisattheall-zerostateby

appendingtailbitsattheendofeachinputframe.Checkthe

Puncturecodecheckboxtopuncturetheencodeddataforall

otheroperationmodes.

UsetheistrellisfunctioninMATLABtocheckifastructure

Jisavalidtrellisstructure.

Parameters

Trellisstructure:

poly2trellis(3,[67])

Operationmode:[Truncatedpreseteveryframe)

Specifyinitialstateviainputport

Outputfinalstate

Puncturecode

JOK~[CancelHelp,[Apply

ViterbiDecoder(Vilerbi译码器)的参数设置如下:

第19页共28页

要进行软判决译码,通过AWGN信道的已调BPSK复信号必须先进行映射

和解调,Viterbi译码器要求输入数据为()到7之间的整数,必须先进行多于2

bit的量化。

建立了如下图所示的软判决译码系统。其Simulink系统文件名为

chanEndecode3.slx

2•n••◎七•2y、••««三匚••二•

由于通过AWGN信道的已调BPSK复信号的虚部为零,所以只需要转换实

信号,先进行归一化然后再量化。将已调BPSK信号转换成卷积码译码器可识别

的整数数据。

编码以及调制部分与硬判决相同,此处不再说明参数设置。

解调和译码部分各模块参数设置如下:

第20页共28页

将通过AWGN信道的已调BPSK信号数据以复数形式表示:

数据归一化:

第21页共28页

国BlockParameters:Gain

Gain

Element-wisegain(y=K.*u)ormatrixgain(y=K*uory=u*K).

MainSignalAttributesParameterAttributes

Gain:

-1

Multiplication:Element-wise(K.*u)

第22页共28页

数据量化(3比特量化):

[%]BlockParameters:UniformEncoder

UniformEncoder(mask)(link)

Uniformlyquantizeandencodetheinputintospecifiednumber

ofbits.TheinputissaturatedatpositiveandnegativePeak

value.Outputdatatypeiseither8,16,or32-bitsignedor

unsignedinteger,basedontheleastnumberofbitsneeded.

Parameters

Peak:

2•

Bits:

3

Outputtype:[Unsignedinteger

第23页共28页

ViterbiDecoder(Viterbi译码器)的参数设置如下:

脚本程序代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论