⛄一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【编码译码】基于matlab HDB3编译码仿真【含Matlab源码 1961期】
点击上面蓝色字体,直接付费下载,即可。
获取代码方式2:
付费专栏Matlab信号处理(初级版)
备注:
点击上面蓝色字体付费专栏Matlab信号处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab信号处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码
⛄二、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 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除