




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年法學概論的學科發展與試題及答案
- VB界面設計試題及答案分享
- 代碼重構技巧與示例試題及答案
- 2025年計算機二級VB考試的復習準備及試題及答案
- 密切關注2025年法學概論考試試題及答案
- 2025年軟考理論與實踐結合試題及答案
- 人才發展與公司戰略風險試題及答案
- 網絡故障自排查小貼士試題及答案
- 浙江省“七彩陽光”新高考研究聯盟2024-2025學年高二下學期期中聯考數學試題(含部分答案)
- 網絡管理中的變化與挑戰試題及答案
- 2025年河南省洛陽市中考數學一模試卷
- 2025年武漢鐵路局集團招聘(180人)筆試參考題庫附帶答案詳解
- 信息安全管理員-初級工練習題(附答案)
- 深圳學位鎖定合同協議
- 2025全國不動產登記代理人《不動產登記代理實務》考試真題(附完整解析)
- 農產品供應鏈應急保障措施
- 食品原料報廢管理制度
- 2025年高級政工師理論考試題庫(濃縮500題)
- 鄉村振興學習課件
- 2025年施工現場質量員繼續教育考試題庫(繼續教育)含答案
- 飼料企業安全生產工作計劃
評論
0/150
提交評論