编码译码基于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进行辅助验证

HDB3的matlab编译码

通信基于matlab语音信号仿真含Matlab源码 957期

MATLAB教程案例9信道编译码之turbo编码译码算法matlab误码率仿真