• matlab AMI HDB3编解码 k


    clear all,clc
    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
    %AMI码的解码,对AMI码全波整流即可实现解码
    decodeAMI =abs(yn);
    %HDB3编码
    num = 0; %连零计算器的初始化
    yh = yn; %输出初始化
    sign = 0; %极性标志初始化为0
    V = zeros(1,length(yn)); %V脉冲位置记录变量
    B = zeros(1,length(yn)); %B脉冲记录位置变量
    for k = 1:length(yn)
    if yh(k) == 0
    num = num+1;
    if num == 4
    num = 0; %如果连续4个为零,计数器清零
    yh(k) = 1*yh(k-4);
    V(k) = yh(k);
    if yh(k) == sign %如果当前V符号与前一个V符号的极性相同
    yh(k) = -1*yh(k);
    yh(k-3) = yh(k);
    B(k-3) = yh(k);
    V(k) = yh(k);
    %让后面的非零符号从V符号开始再交替变化
    yh(k+1:length(yn)) = (-1)*yh(k+1:length(yn));
    end
    sign = yh(k);
    end
    else
    num = 0;
    end
    end
    re = [xn',yn',yh',V',B']; %输出结果:xn,AMI,HDB3,V&B
    %HDB3解码
    input = yh;
    decode = input;
    sign = 0; %极性标志初始化
    for k = 1:length(yh)
    if input(k)~=0
    if sign == yh(k)
    docede(k-3:k) = [0 0 0 0 ];
    end
    sign = input(k)
    end
    end
    decode = abs(decode); %整流
    error = sum([xn'-decode']);
    %AMI,HDB3编解码图
    figure(1);
    stairs([0:length(xn)-1],xn);
    axis([0 length(xn) -2 2]);
    title('Xn的单极性不归零波形');

    figure(2);
    subplot(2,1,1);
    stairs([0:length(xn)-1],yn);
    axis([0 length(xn) -2 2]);
    title('AMI码的编码波形');
    subplot(2,1,2);
    stairs([0:length(xn)-1],decodeAMI);
    axis([0 length(xn) -2 2]);
    title('AMI码的解码波形');

    figure(3);
    subplot(2,1,1);
    stairs([0:length(xn)-1],yh);
    axis([0 length(xn) -2 2]);
    title('AHDB3码的编码波形');
    subplot(2,1,2);
    stairs([0:length(xn)-1],decode);
    axis([0 length(xn) -2 2]);
    title('HDB#码的解码波形');

  • 相关阅读:
    4.深入k8s:容器持久化存储
    3.深入k8s:Deployment控制器
    深入k8s:Pod对象中重要概念及用法
    深入k8s:k8s部署&在k8s中运行第一个程序
    博文大纲
    文字渲染一探
    搭建sonarqube分析golang代码
    MSSQL系列 (四):系统函数之日期和时间函数
    MSSQL系列 (三):系统函数之字符串函数
    MSSQL系列 (二):表相关操作、列操作、(唯一、主键、默认、检查、外键、非空)约束、临时表
  • 原文地址:https://www.cnblogs.com/ksheep/p/2748753.html
Copyright © 2020-2023  润新知