信道编码作业.docx
《信道编码作业.docx》由会员分享,可在线阅读,更多相关《信道编码作业.docx(23页珍藏版)》请在冰豆网上搜索。
信道编码作业
现给出循环码及卷积码的编解码程序,理解各程序,完成以下习题。
将程序运行结果及各题目的解答写入word中:
1.用matlab运行书上习题中的“clockcode.m”
(a)说明(7,4)码的纠错检错方法
接收码字矢量:
利用伴随式矢量纠检错:
若是无误:
若是有误:
(7,4)码具有3位最小d,一位纠错能力,当时,看后三位码是什么,根据后三位码来判断是哪位码错误,在进行纠正。
(b)在程序中标注“注释”处加上注释(英文或中文)
具体见信道编码作业文件夹clockcode.m,decode.m,encode.m
(c)对于编码和未编码的情况,误比特率为1e-2、1e-3及1e-4时的Eb/N0分别是多少?
图1:
clockcode.m运行结果
由图可看出
误比特率为1e-2
误比特率1e-3
误比特率1e-4
编码
4.5
6.75
8.3
未编码
4.25
7
8.3
(d)从物理意义上说明编码增益问题
经过编码后的数据,可以进行纠检错。
因此在相同误码率的情况下,所需要的信噪比比较小,说明适应能力更强。
(e)当采用(15,11)码时,观察与(7,4)码相比编码增益的变化。
图2:
clockcode(15,11).m运行结果
观察(15,11)码,可以看到在相同的BER的情况下,其的编码增益变大。
【(15,11)码采用的是下列矩阵。
G=
H=
】
(程序见信道编码作业文件夹
clockcode(15,11).m,decode(15,11).m,encode(15,11).m)
2.针对题目1中的clockcode.m
(a)若信道使信号幅度呈瑞利衰落,画出编码与未编码的Eb/N0---误比特率曲线,说明与题目1观察结果的异同,并说明原因。
(clockcoderui.m)
图3:
clockcoderui.m运行结果
两者的图形形状基本一致,只是瑞利衰落出来的误码率普遍要比高斯情况下的大。
(b)若信道使信号幅度呈莱斯衰落,画出编码与未编码的Eb/N0---误比特率曲线,更改K值的大小,观察曲线的现象,能得出什么结论。
(clockcodelai.m)
图4.1:
clockcodelai.m运行结果K=10
图4.2:
clockcodelai.m运行结果K=1
图4.3:
clockcodelai.m运行结果K=20
图4.4:
clockcodelai.m运行结果K=50
可看到形状还是基本不变,但是误码率还是要比高斯大,且和K取值有关,随着K值增大,误码率不断减小。
(程序见信道编码作业文件夹)
3.bpskh.m为(2,1,7)卷积码采用硬判决译码时在AWGN中的误比特性能的仿真主程序,用matlab运行主程序bpskh.m,将运行结果写入word文档中,并回答以下问题(tblen为回溯长度):
(a)在标识注释处注释(中文或英文)
见具体程序bpskh.m
(b)在误比特率Pb=10-5处,硬判决的编码增益(与未编码比较)
图5:
bpskh.m运行结果
未编码:
9.6dB
硬判决:
6.7dB
编码增益为:
2.9dB
(c)详细的解释以下函数(包括函数用法,意义,参数设置等方面)
trellis=poly2trellis(constlen,codegen)
将卷积码多项式转换成MATLAB的trellis网格表达式的函数,第一个参数为延迟器的个数,第二个参数表示:
c2=b1+b3+b5+b7+b8
C1=b1+b6+b8
expVitBER=bercoding(EbNo,'conv','hard',codeRate,dspec)、
用来计算误码率,在AWGN信道中,采用PSK调制,硬译码的情形下的误码率。
其中EbNo表示信噪比,hard表示硬译码,coderate表示码元速率
msg_rx=awgn(msg_tx,EsN0-10*log10(1/codeRate))
表示经过AWGN信道传输之后收到的信息,要传输的信息为msg_tx,函数返回接收到的信息
hMod=modem.pskmod('M',M,'PhaseOffset',pi/4,'SymbolOrder','Gray','InputType','Bit')
函数用来建立一个PSK调制器,M为阶数,pi/4为相位
msg_tx=modulate(hMod,msg_enc)
该函数用来进行PSK调制,第一个参数为调制器,第二个为将要调制的信号。
返回调制之后的信号,也就是用于传输的信号。
hDemod=modem.pskdemod('M',M,'PhaseOffset',pi/4,'SymbolOrder','Gray','OutputType','Bit')
函数用来奖励一个PSK解调器
msg_demod=demodulate(hDemod,msg_rx);
将信号进行PSK解调
(d)要保证性能没有显著下降,tblen至少应为多少;
图6:
bpskh.mtblen24
图7:
bpskh.mtblen22
图8:
bpskh.mtblen20
图9:
bpskh.mtblen18
图10:
bpskh.mtblen16
图11:
bpskh.mtblen14
图12:
bpskh.mtblen8
可看出在tblen=24时,几乎和32性能相同,之后便开始劣化,并且从16之后开始劣化迅速。
4.bpsks.m为(2,1,7)卷积码采用软判决译码时在AWGN中的误比特性能的仿真主程序,用matlab运行主程序bpsks.m,将运行结果写入word文档中,并回答以下问题(tblen为回溯长度):
(a)在标识注释处注释(中文或英文)
见程序bpsks.m
图13:
bpsks.m
(b)在SNR=4dB时,要保证仿真精度,大概需要至少仿真多少个码字?
6.7dB
图14.1:
bpsks.mtblen=32
6.7dB
图14.2:
bpsks.mtblen=24
6.73dB
图14.3:
bpsks.mtblen=22
6.75dB
图14.4:
bpsks.mtblen=20
6.9dB
图14.5:
bpsks.mtblen=18
7.1dB
图14.6:
bpsks.mtblen=16
7.5dB
图14.7:
bpsks.mtblen=14
图14.8:
bpsks.mtblen=8
可看出在tblen=24时,几乎和32性能相同,之后便开始劣化,并且从16之后开始劣化迅速。
比较之后发现大概在码字小于2e5时,仿真精度将不再符合要求
(c)在误比特率Pb=10-5处,2比特软判决的编码增益(与未编码比较)?
未编码:
9.6dB
软译码:
4.7dB
编码增益:
4.9dB
(d)在误比特率Pb=10-5处,3比特软判决的编码增益(与未编码比较)?
未编码:
9.6dB
软译码:
4.5dB
编码增益:
5.1dB
(与硬编码相比,增大2dB)