bch编码matlab,BCH码的编码方法.doc
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握循環(huán)碼的編碼原理
2、掌握BCH碼的編碼方法
3、了解編碼與對誤碼性能的改善
二、實(shí)驗(yàn)內(nèi)容
1、自行設(shè)置BCH碼的參數(shù),給出生成的BCH碼;
2、利用encode庫函數(shù)實(shí)現(xiàn)編碼;
3、搭建一個(gè)通信仿真模塊,并給出運(yùn)行結(jié)果,分析BCH碼對通信性能的影響;
3、整理好所有的程序清單,并作注釋。
三、實(shí)驗(yàn)結(jié)果
本原多項(xiàng)式,可糾正2位錯(cuò)誤時(shí),生成多項(xiàng)式為,寫出生成矩陣,給出產(chǎn)生(15,7,2)BCH碼的源程序,并給出運(yùn)行結(jié)果。
(1)生成矩陣
由(15,7,2)BCH碼的生成多項(xiàng)式
可知其生成矩陣
則可知其生成矩陣
(2)源程序:
function f=bchencod(a)%對信息元a進(jìn)行編碼
G=[1 1 1 0 1 0 0 0 1 0 0 0 0 0 0;
0 1 1 1 0 1 0 0 0 1 0 0 0 0 0;
0 0 1 1 1 0 1 0 0 0 1 0 0 0 0;
0 0 0 1 1 1 0 1 0 0 0 1 0 0 0;
0 0 0 0 1 1 1 0 1 0 0 0 1 0 0;
0 0 0 0 0 1 1 1 0 1 0 0 0 1 0;
0 0 0 0 0 0 1 1 1 0 1 0 0 0 1];%(15,7,2)的生成矩陣
t=input('輸入0或者1'); %t=0時(shí)產(chǎn)生(3,1),漢明編碼所有碼字t=1時(shí)對輸入序列進(jìn)行編碼
if t==1
a=input('輸入信息元序列:');%當(dāng)t=0時(shí),則用戶手動(dòng)輸入信息元序列
c=mod(a*G,2);%對應(yīng)碼字
disp('(編碼后的序列為:)');
disp(c);%顯示編碼后的結(jié)果
else
disp('(15,7,2)BCH碼為:');%當(dāng)t=0時(shí),對for循環(huán)得到的信息元序列進(jìn)行編碼
for i=0:1:(2^7-2)%進(jìn)行for循環(huán),得到信息元序列
a=dec2bin(i,7);%限定產(chǎn)生的二進(jìn)制為7位
c=mod(a*G,2);%對信息元a進(jìn)行編碼
disp(a);%顯示信息元
disp('對應(yīng)碼字為:');
disp(c);%顯示編碼結(jié)果
end
end
(3)結(jié)果
輸入1時(shí),結(jié)果如下:
輸入0時(shí),結(jié)果如下:
中間部分已省略,
2、用encode函數(shù)對隨機(jī)產(chǎn)生的序列進(jìn)行BCH編碼,給出編碼結(jié)果。
(1)、源代碼
msg=randint(15,11);%隨機(jī)生成的信息元
code=encode(msg,15,11,'bch');%對隨機(jī)生成的msg進(jìn)行BCH編碼
disp(code)%顯示編碼結(jié)果
(2)、運(yùn)行結(jié)果
3、搭建一個(gè)通信仿真模塊(采用BCH編碼),并給出運(yùn)行結(jié)果,分析哪些參數(shù)誤碼率有影響。
運(yùn)行結(jié)果為:
參數(shù)設(shè)置如下:
Bernoulli BinaryGenerator和 BCH Encoder:
Binary Symmetric Channel:BCH Decoder:
參數(shù)為10000、
上圖為設(shè)置不同參數(shù)時(shí)對誤碼率的影響:
分析:(1)、實(shí)驗(yàn)中,軟件的參數(shù)設(shè)置不正確會(huì)對誤碼率產(chǎn)生很大的影響,其中取樣的大小同樣會(huì)影響,當(dāng)取樣的值為1000時(shí),誤差要大于取樣值為10000時(shí)的誤碼率。
(2)、在Bernoulli Binary Generator中,產(chǎn)生0的概率的設(shè)置對其誤碼率產(chǎn)生影響,當(dāng)0和1隨機(jī)產(chǎn)生的概率不相等時(shí),根據(jù)信息序列和譯碼規(guī)則的不同會(huì)相應(yīng)的對其誤碼率產(chǎn)生影響。
(3)、在Binary Symmetric Channel中,錯(cuò)誤概率的設(shè)置同樣影響其誤碼率。若錯(cuò)誤概率大于0.5時(shí),誤碼率相對偏高錯(cuò)誤概率小于0.5時(shí),誤碼率相對偏低。
(4)、BCH Encoder、BCH Decoder
參數(shù)為編碼與譯碼對應(yīng)的BCH碼的形式。N為碼元長度,K為信息位長度。
Binary Symmetric Channel
(5)、Error probability為譯碼時(shí),碼元的錯(cuò)誤率。它的值直接影響結(jié)果,值越大,則結(jié)果出現(xiàn)的錯(cuò)誤碼元數(shù)也就越多,差錯(cuò)率也越大。通信系統(tǒng)的傳輸性能也越差。
實(shí)驗(yàn)心得
通過本實(shí)驗(yàn),加深了對BCH碼編碼原理的理解,學(xué)會(huì)了使用MATLAB軟件進(jìn)行模擬仿真編寫B(tài)CH碼,其中實(shí)現(xiàn)的方法有,用編程的方法實(shí)現(xiàn),也可以用仿真模塊來實(shí)現(xiàn)。并且在用仿真模塊實(shí)現(xiàn)BCH編碼時(shí),通過對參數(shù)的設(shè)置,知道了影響誤碼率的各因素。
總結(jié)
以上是生活随笔為你收集整理的bch编码matlab,BCH码的编码方法.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习日记:scipy库的版本差异
- 下一篇: 【五线谱】音高表示 ( 高音谱号 | C