bch编码matlab,BCH码的编码方法.doc
一、实验目的
1、掌握循环码的编码原理
2、掌握BCH码的编码方法
3、了解编码与对误码性能的改善
二、实验内容
1、自行设置BCH码的参数,给出生成的BCH码;
2、利用encode库函数实现编码;
3、搭建一个通信仿真模块,并给出运行结果,分析BCH码对通信性能的影响;
3、整理好所有的程序清单,并作注释。
三、实验结果
本原多项式,可纠正2位错误时,生成多项式为,写出生成矩阵,给出产生(15,7,2)BCH码的源程序,并给出运行结果。
(1)生成矩阵
由(15,7,2)BCH码的生成多项式
可知其生成矩阵
则可知其生成矩阵
(2)源程序:
function f=bchencod(a)%对信息元a进行编码
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时产生(3,1),汉明编码所有码字t=1时对输入序列进行编码
if t==1
a=input('输入信息元序列:');%当t=0时,则用户手动输入信息元序列
c=mod(a*G,2);%对应码字
disp('(编码后的序列为:)');
disp(c);%显示编码后的结果
else
disp('(15,7,2)BCH码为:');%当t=0时,对for循环得到的信息元序列进行编码
for i=0:1:(2^7-2)%进行for循环,得到信息元序列
a=dec2bin(i,7);%限定产生的二进制为7位
c=mod(a*G,2);%对信息元a进行编码
disp(a);%显示信息元
disp('对应码字为:');
disp(c);%显示编码结果
end
end
(3)结果
输入1时,结果如下:
输入0时,结果如下:
中间部分已省略,
2、用encode函数对随机产生的序列进行BCH编码,给出编码结果。
(1)、源代码
msg=randint(15,11);%随机生成的信息元
code=encode(msg,15,11,'bch');%对随机生成的msg进行BCH编码
disp(code)%显示编码结果
(2)、运行结果
3、搭建一个通信仿真模块(采用BCH编码),并给出运行结果,分析哪些参数误码率有影响。
运行结果为:
参数设置如下:
Bernoulli BinaryGenerator和 BCH Encoder:
Binary Symmetric Channel:BCH Decoder:
参数为10000、
上图为设置不同参数时对误码率的影响:
分析:(1)、实验中,软件的参数设置不正确会对误码率产生很大的影响,其中取样的大小同样会影响,当取样的值为1000时,误差要大于取样值为10000时的误码率。
(2)、在Bernoulli Binary Generator中,产生0的概率的设置对其误码率产生影响,当0和1随机产生的概率不相等时,根据信息序列和译码规则的不同会相应的对其误码率产生影响。
(3)、在Binary Symmetric Channel中,错误概率的设置同样影响其误码率。若错误概率大于0.5时,误码率相对偏高错误概率小于0.5时,误码率相对偏低。
(4)、BCH Encoder、BCH Decoder
参数为编码与译码对应的BCH码的形式。N为码元长度,K为信息位长度。
Binary Symmetric Channel
(5)、Error probability为译码时,码元的错误率。它的值直接影响结果,值越大,则结果出现的错误码元数也就越多,差错率也越大。通信系统的传输性能也越差。
实验心得
通过本实验,加深了对BCH码编码原理的理解,学会了使用MATLAB软件进行模拟仿真编写BCH码,其中实现的方法有,用编程的方法实现,也可以用仿真模块来实现。并且在用仿真模块实现BCH编码时,通过对参数的设置,知道了影响误码率的各因素。
bch编码matlab,BCH码的编码方法.doc相关推荐
- BCH编码译码误码率性能matlab仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 BCH编译码是一种纠错能力强,构造简单的信道编译码.BCH编译码的生成多项式可以由如下的式子 ...
- bch verilog代码_基于FPGA的多进制BCH编码
标签:编码(180)RS(99) 摘要:RS(Reed-Solomon)编码是一种具有较强纠错能力的多进制BCH编码,其既可纠正随机错误,又可纠正突发错误.RS编译码器广泛应用于通信和存储系统,为解决 ...
- 【编码译码】基于matlab QC-LDPC码编码和译码【含Matlab译码 2194期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[编码译码]基于matlab QC-LDPC码编码和译码[含Matlab译码 2194期] 点击上面蓝色字体,直接付费下载,即可. 获取代 ...
- 【编码译码】基于matlab LDPC编码和解码【含Matlab源码 2560期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [编码译码]基于matlab LDPC编码和解码[含Matlab源码 2560期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式 ...
- 【编码译码】基于matlab HDB3编译码仿真【含Matlab源码 1961期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[编码译码]基于matlab HDB3编译码仿真[含Matlab源码 1961期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...
- 基于Matlab的循环码实验报告,基于matlab的循环码实验报告.doc
基于matlab的循环码实验报告.doc 基于MATLAB循环码编码方法的应用叶俊(指导老师,刘丹平副教授)(重庆大学通信工程学院中国重庆400000)摘要任何两个相邻的循环码只有一位数字不同,因此循 ...
- gadecod matlab,【预测模型】基于遗传算法优化BP神经网络房价预测matlab源码
一.简介 1 遗传算法概述 遗传算法(Genetic Algorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法 ...
- 云南大学计算机网络期中考试刘春花,实验九基于CRC编码的检错程序的实现.doc...
实验九基于CRC编码的检错程序的实现.doc 云南大学软件学院实 验 报 告课程 计算机网络原理实验 任课教师 刘春花,刘宇 姓名 学号 专业 成绩 实验九.链路层实验基于 CRC 编码的检错程序的实 ...
- matlab 双层规划求解,双层规划模型的遗传算法求解的Matlab源码
双层规划模型的遗传算法求解的Matlab源码 双层规划模型的遗传算法求解的Matlab源码 function [BESTX,BESTY,ALLX,ALLY]=GAU (KU,KD,NU,ND,PmU, ...
- 【故障检测问题】基于matlab免疫算法求解故障检测问题【含Matlab源码 196期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[故障检测问题]基于matlab免疫算法求解故障检测问题[含Matlab源码 196期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭 ...
最新文章
- 阿里云安装git_阿里云服务器快速建网站_安装BT宝塔面板和wordpress
- 队列与环形队列使用数组模拟
- 在C#中使用RESTful API的几种好方法
- 神奇的python(二)之python打包成应用程序
- 中科院自动化所目标跟踪论文整理!三篇综述、两篇ICCV 2019!
- [转载]对 Linux 专家非常有用的 20 个命令
- Sharding-JDBC读写分离_MySql主从配置(1)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记015
- rand()和srand()产生伪随机数zz
- nodejs进程异常退出处理方法
- 使用Masonry让cell高度自适
- 每日一JAVA----------环境搭建Path,JAVA_HOME,classpath
- ppt复制切片器_切片器? 听说比筛选好用100倍
- 在线web魔方和在线AI象棋
- stc和sac_SAC与短期边际成本SMC.PPT
- android谷歌人脸识别,谷歌发布Android 4.0系统 支持人脸识别功能
- A pseudo attribute name is expected.解决方法
- 用R对Twitter用户的编程语言语义分析
- 计算机安装Hp1005打印机,如何安装hp1005打印机驱动程序_安装步骤是什么
- airpodspro窃听模式_AirPodsPro怎么切换模式
- 声音经济@2023: 「夹缝」求生,「希望」不远