欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

HDB3的matlab编译码

发布时间:2025/4/5 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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编译码的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。