编码译码基于matlab HDB3编译码仿真含Matlab源码 1961期
Posted 海神之光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编码译码基于matlab HDB3编译码仿真含Matlab源码 1961期相关的知识,希望对你有一定的参考价值。
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【编码译码】基于matlab HDB3编译码仿真【含Matlab源码 1961期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二 HDB3编译码器的Matlab建模与程序设计
1 HDB3的Matlab建模思想
从编码规则来分析, 寄存器内存放信码, 放置计数器来记录夹在2个“V”之间1的数量, 4个码元通过后, 是否加“B”符号决定于判偶电路的判定。整体模型如图1所示, 首先保证插“V”模块正常工作, 电路继续施行加“B”的运作, 最后施行信码双极性的转化, 经过模块流转的信号均是单极性信号, 所消耗的寄存器的数量可以大大减少。
双相码的运用解决了区分“1”、“V”和“B”的问题, 2个拥有不同相位的二进制码去表示一个二进制代码是双相码的特点。不同的代码就可以准确地区分, 要达到按照编码规则转变输出“1”的目的, 可以增加标识符, 通过开关控制来改变输出极性。
图1 设计的整体模型
2 基于Matlab描述语言的模块设计
HDB3编码器的组成框图如图2所示可以看出, 消息代码输入, 在HDB3编码规则的框架下开展插入“V”符号和加入“B”符号的动作, 经过单极性信号变换模块形成双极性信号, 插“V”、加“B”和单极性码变化成双极性码组成整个HDB3编码器。
图2 HDB3编码器的框图
三、部分源代码
%本函数实现将输入的一段二进制代码进行HDB3编译码
xn=[1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0]; %输入单极性码
yn=xn; %输出yn初始化
num=0; %计数器初始化
for k=1:length(xn)
if xn(k)==1
num=num+1; %“1”计数器
if num/2== fix(num/2) %奇数个1时输出-1,进行极性交替
yn(k)=1;
else
yn(k)=-1;
end
end
end
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 邱佳雪.基于Matlab编程的HDB3编码设计[J].计算机与网络. 2017,43(Z1)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
以上是关于编码译码基于matlab HDB3编译码仿真含Matlab源码 1961期的主要内容,如果未能解决你的问题,请参考以下文章
误码率仿真基于matlab LDPC编译码误码率仿真含Matlab源码 2079期
误码率仿真基于matlab LDPC编译码误码率仿真含Matlab源码 2079期
基于FPGA的HDB3编译码verilog实现,结合MATLAB进行辅助验证