HDB3的matlab编译码
Posted fpga&matlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDB3的matlab编译码相关的知识,希望对你有一定的参考价值。
%程序说明:对一个二进制序列进行hdb3编码运算
%function y=hdb3(x)
x=[0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 ]
n=length(x);%输入系列的长度
last_V=-1;%初始化V的符号
last_one=-1;%初始化1的符号
y=zeros(size(x)); %初始化输出序列
count=0; %连0计数器
for i=1:n
if x(i)==1 %遇1则极性反转
y(i)=-last_one;
last_one=y(i);
count=0;
else
count=count+1;%遇0则零的个数加1
if count==4 %遇到连续4个0
count=0;
y(i)=-last_V; %遇4连零则置为V,相邻的V极性反转
last_V=y(i);
if y(i)*last_one==-1 %V与前一个非0符号必须同极性(相邻V之间如果间隔偶数个1,则y(i)*last_one==-1,插入B符号,否者,不插入。)
y(i-3)=y(i);
end
last_one=y(i);
end
end
end
y
以上是关于HDB3的matlab编译码的主要内容,如果未能解决你的问题,请参考以下文章
基于FPGA的HDB3编译码verilog实现,结合MATLAB进行辅助验证
FPGA教程案例88编译码1——基于FPGA的HDB3编译码verilog实现