BCH编译码的matlab性能分析
1.問題描述:
???????? BCH編譯碼是一種糾錯能力強,構造簡單的信道編譯碼。BCH編譯碼的生成多項式可以由如下的式子表示:
? ? ?
??????? 本文,主要分析碼率為0.8和0.5兩種模式下 的BCH編譯碼性能,將BCH碼的參數設置為BCH(255,207)和BCH(255,131),兩種參數下的編碼碼率分別為0.8117和0.5137。
??????? BCH譯碼過程主要通過計算伴隨式sj得到錯誤位置多項式,然后通過chein算法計算錯誤位置多項式的根,從而確定錯誤位置數。并最終由錯誤位置數得到錯誤值以及錯誤圖樣E(x),最后通過R(x)- E(x)= C(x)進行糾錯。
2.部分程序:
?
clc;
clear all;
close all;
warning off;
SNR ?= [0:1:7];
TJL ?= 5000;
N ? ?= 255;?
K ? ?= 207;?
%主體代碼
for i = 1:length(SNR)
? ? i
? ? Bit_err(i) ? ?= 0; %設置誤碼率參數
? ? Num_err ? ? ? = 0; %蒙特卡洛模擬次數
? ? Numbers ? ? ? = 0; %誤碼率累加器
? ? while Num_err <= TJL?
? ? ? ? ? %計算幾個值
? ? ? ? ? message ? ?= randint(1,K,[0,1]);
? ? ? ? ? msg ? ? ? ?= gf(message);
? ? ? ? ? BCHcode_gf = bchenc(msg,N,K);
? ? ? ? ? %BCH編碼
? ? ? ? ? BCHcode_double=-1*ones(1,N);
? ? ? ? ? for code_j=1:N
? ? ? ? ? ? ? if BCHcode_gf(1,code_j)==1
? ? ? ? ? ? ? ? ?BCHcode_double(1,code_j)=1;
? ? ? ? ? ? ? end
? ? ? ? ? end
? ? ? ? ? %信道
? ? ? ? ? BCH_receive = awgn(BCHcode_double,SNR(i),'measured');
? ? ? ? ? hard_coded ?= zeros(1,N);
? ? ? ? ? for hard_j=1:N
? ? ? ? ? ? ? if BCH_receive(hard_j)>0
? ? ? ? ? ? ? ? ?hard_coded(hard_j)=1;
? ? ? ? ? ? ? end
? ? ? ? ? end
? ? ? ? ? %BCH解碼?
? ? ? ? ? BCHdecode = gf(zeros(1,K));
? ? ? ? ? hard_BCH ?= hard_coded;
? ? ? ? ? [BCHdecode_i,error_num]=bchdec(gf(hard_BCH),N, K);
? ? ? ? ? BCHdecode = BCHdecode_i;
? ? ? ? ? BCHdecode_double = zeros(1,K);
? ? ? ? ? for gf_to_double_j=1:K
? ? ? ? ? ? ? if BCHdecode(gf_to_double_j)==1
? ? ? ? ? ? ? ? ?BCHdecode_double(gf_to_double_j)=1;
? ? ? ? ? ? ? end
? ? ? ? ? end
? ? ? ? ? Err = biterr(BCHdecode_double,message);
? ? ? ? ? Num_err ? ? ? ? ? ? ? ? = Num_err+Err;
? ? ? ? ? Num_err
? ? ? ? ? Numbers ? ? ? ? ? ? ? ? = Numbers+1;
? ? end ?
? ? Bit_err(i) = Num_err/(length(message)*Numbers); ?
end
%曲線仿真
figure;
semilogy(SNR,Bit_err,'b-o');
xlabel('SNR');
ylabel('BER');
grid on;
save data.mat SNR Bit_err
3.仿真結論:
???????? 從圖的仿真結果可知,采用BCH(255,131)的編譯碼方式,其碼率接近0.5,因此具有較好的編譯碼性能,當SNR為6db的時候,誤碼率達到10的-4次方。而采用BCH(255,207)編譯碼方式,其碼率較高,為0.8117。雖然具有較高的傳輸效率,但是其性能較差。在SNR為7db的時候,誤碼率性能為10的-3次方。
D45
總結
以上是生活随笔為你收集整理的BCH编译码的matlab性能分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用php编写室友通讯录_使用 XML 和
- 下一篇: 各个音阶的频率_有谁知道音谱中的1234