BCH码误码率ber性能仿真(MATLAB)

news/2024/11/15 0:27:20/

BCH码

        不同于奇偶校验码只能检验数据传输是否出错,BCH码可以实现对数据的检验和纠错

        BCH(n,k)中的n代表总码元,k代表有效码元,相应的n-k即代表纠错码元

        本文着重比较分析BCH(255,207),BCH(255,131),BCH(255,87)的性能

仿真图

        BCH(255,207)的码率为207/255=0.81,BCH(255,131)的码率为0.51,BCH(255,87)的码率为0.34,就传输效率来看,BCH(255,207)显著优于其他两者

        但是就误码率分析,BCH(255,87)显著优于其他两者,当信噪比为7时,BCH(255,87)的误码率甚至接近于10^-4,这是因为BCH的纠错码元数为255-87=168,多于其余二者

MATLAB代码(版本为2024a)

clc;
clear all;
close all;
warning off;SNR  = [0:1:8];
count = 800;
N    = 255; 
K    = [207,131,87];
for m = 1:length(K)
Bit_err=zeros(1,9);
for i = 1:length(SNR)disp(['当前进度:',num2str((i+m*9-9)/27*100),'%'])Num_err       = 0; Numbers       = 0; while Numbers <= count message    = randi([0,1],1,K(m));msg        = gf(message);BCHcode_gf = bchenc(msg,N,K(m));BCHcode_double=zeros(1,N);for code_j=1:Nif BCHcode_gf(1,code_j)==1BCHcode_double(1,code_j)=1;endendBCH_receive = awgn(BCHcode_double,SNR(i),'measured');receive_decoded  = zeros(1,N);for hard_j=1:Nif BCH_receive(hard_j)>0.5receive_decoded(hard_j)=1;endendreceive_decoded=gf(receive_decoded);BCHdecode = bchdec(receive_decoded,N,K(m));BCHdecode_double = zeros(1,K(m));for gf_to_double_j=1:K(m)if BCHdecode(gf_to_double_j)==1BCHdecode_double(gf_to_double_j)=1;endendErr = biterr(BCHdecode_double,message);Num_err = Num_err + Err;Numbers = Numbers + 1;endBit_err(i) = Num_err/(length(message)*Numbers);
endif m==1figure;semilogy(SNR,Bit_err,'b-o');xlabel('SNR');ylabel('BER');grid on;elseif m==2hold onsemilogy(SNR,Bit_err,'r-s');elseif m==3hold onsemilogy(SNR,Bit_err,'g-d');legend('BCH(255,207)','BCH(255,131)','BCH(255,87)');end
end


http://www.ppmy.cn/news/1501402.html

相关文章

【redis】一致性hash算法和hash槽

普通hash取模 直接hash(key)%N , N为机器的数量&#xff0c;但不利于集器扩容或者缩容 一致性hash算法和hash槽 一致性hash算法是在redis 分片中使用&#xff0c;hash槽在redis cluster&#xff08;集群&#xff09;中使用 Redis一致性hash&#xff1a;Redis一致性hash是为…

福昕高级PDF编辑器专业版 v2024 授权版

福昕高级PDF编辑器是一款功能强大的PDF文件编辑软件&#xff0c;提供多种实用的编辑功能。 软件功能&#xff1a; 1. PDF文档编辑&#xff1a;用户可编辑PDF文档内容&#xff0c;包括文字、图片、表格、图形等&#xff0c;且不会对原有文本内容造成影响。 2. 批注工具&#x…

免费【2024】springboot 宠物救助管理系统的设计与实现

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

《计算机网络》(学习笔记)

目录 一、计算机网络体系结构 1.1 计算机网络概述 1.1.1 计算机网络的概念 1.1.2 计算机网络的组成 1.1.3 计算机网络的功能 1.1.4 电流交换、报文交换和分组交换 1.1.5 计算机网络的分类 1.1.6 计算机网络的性能指标 1.2 计算机网络体系结构与参考模型 1.2.1 计算机…

谷粒商城实战笔记-高效工作经验积累

当然&#xff0c;我会提供一个更具体的例子来说明这两个原则的重要性及其背后的惨痛经历。 1. 先理解需求&#xff0c;后写代码 惨痛经历 几年前&#xff0c;我所在的团队负责为开发一个在线预订系统。 项目启动之初&#xff0c;我们急于展示成果&#xff0c;没有充分理解客…

自动驾驶芯片概况(科普向)

芯片按应用场景可分为消费芯片、工业芯片、车规级芯片和军工芯片等。 美国制定的汽车电子标准把其分为5级。汽车各系统对芯片要求由高到低依次是&#xff1a;动力安全系统> 车身控制系统> 行驶控制系统> 通信系统> 娱乐系统。。车规级芯片分为控制芯片、微处理器芯…

基于stm32的多旋翼无人机(Multi-rotor UAV based on stm32)

由于一直在调试本项目&#xff0c;好久没有发文章&#xff0c;最近本项目的PID调试初见成效&#xff01;开始正文前首先感谢各位粉丝的支持&#xff0c;以及对本项目技术上支持的老师以及师兄&#xff0c;谢谢你们&#xff01; 基于stm32的多旋翼无人机 一、多旋翼无人机飞行原…

5 Go语言的值与指针

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;由浅入深讲解Go语言&#xff0c;希望大家都能够从中有所收获&#xff0c;也请大家多多支持。 查看相关资料与知识库 专栏地址:Go专栏 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;大家一起学习&#xff0c;…