日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

BCH编译码的matlab性能分析

發布時間:2024/8/1 92 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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性能分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。