《物聯網通信技術》第7章 習題答案_第1頁
《物聯網通信技術》第7章 習題答案_第2頁
《物聯網通信技術》第7章 習題答案_第3頁
《物聯網通信技術》第7章 習題答案_第4頁
《物聯網通信技術》第7章 習題答案_第5頁
已閱讀5頁,還剩23頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

7.4習題

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)));

%繪制仿真信噪比和誤比特率的關系曲線圖,縱坐標采用對數坐標,紅色曲

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

%在同一坐標系下畫多條曲線

holdon

grid

xlabelCSNR(dB),)

ylabelCBitErrorRate')

%繪制理論的信噪比卻誤比特率的關系曲線圖,縱坐標采用對數坐標,藍色

曲線

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

仿真結果如下:

圖中藍色曲線為理論曲線,紅色曲線為實驗彷真曲線。

從圖中可以看出,在加性高斯白噪聲(AWGN)信道下,BFSK調制信號的

誤比特率隨著信噪比的增加而降低,當信噪比達到14dB左右時,誤比特率剛好

低于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|

腳本程序代碼如下:

%commChanRayleigh.m文件名

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

snrVec=0:15;

%初始化誤比特率向量

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

%BFSK調制的頻率間隔等于24kHz

FrequencySeparation=24000;

%信源產生信號的bit率等于l()kbit/s,產生1秒的數據

BitRate=1000();

%仿真時間設置為10秒

SimulationTime=10;

%BFSK調制信號每個符號的抽樣數等于2

SamplesPerSymbol=2;

%準備一個空白圖

holdoff;

%執行AWGN信道仿真程序,得到相應的曲線

commChanmain;

%保持AWGN信道的曲線圖

holdon;

%循環執行仿真程序

fori=l:lcngth(snrVcc)

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

SNR=snrVec(i);

%運行仿真程序,得到的誤比特率保存在工作區變量BitErrorRate+

sim('commChannelRayleigh');

%計算BitErrorRate的均值作為本次仿真的誤比特率

ber(i)=mean(BitErrorRate);

end

%繪制信噪比和誤比特率的關系曲線圖,縱坐標采用對數坐標

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

grid

xlabel('信噪比(dB),)

ylabelC誤比特率,)

仿真結果如下:

NFigure1—□

文件(F)編輯(E)查看(V)插入(I)工具⑴桌面(D)窗口(W)幫助(H)

051015

信噪比(dB)

圖中藍色曲線為多徑瑞利哀落信道下誤碼率曲線,紅色曲線為AWGN信道

下誤碼率曲線。從圖中可以看出多徑瑞利衰落信道下誤碼率很高。

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

QPSKModulatorBaseband(QPSK基帶調制器)

%BlockParameters:QPSKModulatorBaseband

QPSKModulatorBaseband(mask)(1ink)

ModulatetheinputsignaIusingthequaternaryphaseshiftkeyingmethod.

IOK]CancelHelpApply

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

M文件dqpskModmain.m對QPSK和DQPSK兩個仿真模型進行仿真。

腳本程序代碼如下:

%dqpskModmain.m文件名

clear;

%設置調制信號的抽樣間隔

SampleTime=1/50000;

%設置仿真時間的長度

SimulationTime=10;

%snrVcc表示信噪比向量值,單位dB

snrVec=0:10;

%初始化誤符號率向量

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

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

fori=1:length(snrVec)

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

SNR=snrVec(i);

%執行DQPSK的仿真模型

sim('dqpskMod');

%從ErrorVer中獲得調制信號的誤符號率

dqpskser(i)=dqpskErrorVec(l);

end

fork=l:length(snrVec)

SNR-snrVuc(k);

%執行QPSK的仿真模型

simCqpskMod')

%從ErrorVer中獲得調制信號的誤符號率

qpskser(k)=qpskErrorVec(l);

end

%繪制信噪比與誤符號率的關系曲線

semilogy(snrVec,dqpskser,'-r*');

holdon

grid

xlabelCSNR(dB))

ylabel('SymbolErrorRate1)

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

仿真結果如下圖所示:

回,Xi

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

012345678910

SNR(dB)

紅色曲線為DQPSK誤符號率曲線,黑色曲線為QPSK與誤符號率曲線???/p>

以看出QPSK符號率低于DQPSK,說明QPSK性能更好。但是在解調時由于

QPSK存在相位模糊問題,所以在實際中主要采用DQPSKo

(2)用MATLAB繪制不同滾降因子升余弦成型濾波器的沖激響應曲線。

假設截止頻率為500Hz,采樣頻率100kHz,時延5,四個滾降系數分別為0,

0.25,0.5和1。利用rcosine。函數生成升余弦滾降系統。

腳本程序代碼如下:

%raised_cosine.ni

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:I/F**(length(rnim)-1);

I=[rand(),rand(),rand(),rand()];

%每個循環改變一次顏色

figure(1);

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

holdon;

axis([()().()l-0.31.1]);

title。升余弦滾降系統沖激響應)

xlabel(時間/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.slx

ConvolutionalEncoder(卷積編碼器)的參數設置如下:

ViterbiDecoder(Viterbi譯碼器)的參數設置如下:

&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

碼率1/3除卷積碼編碼和譯碼的poly2lrellis。函數的參數不同外,其余與

碼率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譯碼器)的參數設置如下:

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(length(snrVec),l);

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

%循環執行仿真程序

fori=klength(snrVec)

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

SNR=snrVec(i);

%運行碼率1/2的仿真程序,得到的誤比特率保存在工作區變量

BitEiTorRatel中

sim('chanEndccodc1');

%計算BilErrorRatel的均值作為本次仿真的誤比特率

berl(i)=mcan(BitErrorRate1);

end

fork=l:length(snrVec)

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

SNR=snrVec(k);

%運行碼率1,3仿真程序,得到的誤比特率保存在工作區變量

BitErrorRatc2中

sim('chanEndecode2');

%計算BitErrorRate2的均值作為本次仿真的誤比特率

ber?.(k)=mean(RitRrmrRate2);

end

%繪制信噪比和誤比特率的關系曲線圖,縱坐標采用對數坐標

semilogy(snrVec,berl,

holdon

grid

xlabeI('SNR(dB))

ylabel('BitErrorRate')

semilogy(snrVec,ber2,

仿真結果如下圖所示:

-10-8-6-4-2024

SNR(dB)

紅色曲線表示碼率為1/2的誤比特率曲線,黑色曲線表示碼率為1/3的誤

比特率曲線。仿真的結果顯示,相同信噪比下,碼率為1/3的卷積碼性能更好。

(2)對同一個卷積碼分別進行軟判決譯碼和硬判決譯碼仿真,將仿真結果繪

制在一張圖中進行性能比較。(注意:軟判決譯碼時解調器的參數設置與硬判決

譯碼時不同)

解保留卷積碼硬判決譯碼系統,將卷積碼改為示例中的

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

ConvolutionalEncoder(卷積編碼器)的參數設置如卜:

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譯碼器)的參數設置如下:

要進行軟判決譯碼,通過AWGN信道的己調BPSK復信號必須先進行映射

和解調,Viterbi譯碼器要求輸入數據為0到7之間的整數,必須先進行多于2

bit的量化。

建立了如下圖所示的軟判決譯碼系統。其Simulink系統文件名為

chanEndecode3.slx

由于通過AWGN信道的已調BPSK復信號的虛部為零,所以只需要轉換實

信號,先進行歸一化然后再量化。將已調BPSK信號轉換成卷積碼譯碼器可識別

的整數數據。

編碼以及調制部分與硬判決相同,此處不再說明參數設置。

解調和譯碼部分各模塊參數設置如下:

將通過AWGN信道的已調BPSK信號數據以復數形式表示:

數據歸一化:

[%]BlockParameters:StandardDeviation

StandardDeviation

Computethestandarddeviationalongthespecifieddimensionof

theinputoracrosstime(runningstandarddeviation).

Parameters

□Runningstandarddeviation

Findthestandarddeviationvalueover:Eachcolumn

OK]Cancel|[Help]|Apply

數據量化(3比特量化):

國BlockParameters:DataTypeConversion

DataTypeConversion

Converttheinputtothedatatypeandscalingoftheoutput.

Theconversionhastwopossiblegoals.OnegoalistohavetheRealWorld

Valuesoftheinputandtheoutputbeequal.Theothergoalistohave

theStoredIntegerValuesoftheinputandtheoutputbeequal.

Overflowsandquantizationerrorscanpreventthegoalfrombeingfully

achieved.

Parameters

Outputminimum:Outputmaximum:

[0][7]

Outputdatatype:Inherit:Inheritviabackpropagation▼?

Lockoutputdatatypesettingagainstchangesbythefixed-pointtools

Inputandoutputtohaveequal:〔RealWorldValue(RWV)▼

Integerroundingnode:〔Floor▼

jSaturateonintegeroverflow

|OK||CancelApply

ViterbiDecoder(Viterbi譯碼器)的參數設置如卜:

同BlockParameters:ViterbiDecoder

ViterbiDecoder(mask)(link)

UsetheViterbialgorithmtodecodeconvolutionallyencodedinputdata.Usethepoly2trellis

functiontocreateatrellisusingtheconstraintlength,codegenerator(octal)andfeedback

connection(octal).

MainDataTypes

Encodeddataparaaeteis

Trellisstructure:poly2trellis(3,[67])

IPuncturedcode

臼Enableerasuresinputport

Branchmetriccomputationparameters

Decxsiontype:〔Softdecision▼.

Numberofsoftdecisionbits:3

)Errorifquantizedinputvaluesareoutofrange

Tracebackdecodingparameters

Tracebackdepth:35

Operationmode:Truncated

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論