本程序主要是实现AMI与HDB3编码规则的实现,由于自己编写的时间长了,现在无法检验,读者自己弄吧。

clear all;
a=input('请输入序列= ');
a_num=length(a);
a_ami=a;
a_sign=-1;
for i=1:a_num
    if a(i)==0
        continue;
    elseif a(i)==1&a_sign==-1
        a_ami(i)=-a(i);
        a_sign=1;
    elseif a(i)==1&a_sign==1
        a_ami(i)=a(i);
        a_sign=-1;
    end
end
%the part of painting
AMIandHDB3paint(a_num,a_ami,1,'AMI');
%the part of HDB3
a_sign=-1;     %先是按照负极性进行编码,即原初始位为‘1’,
a_hdb3=0;    %则HDB3码的初始位为‘-1’
a_hdb3=0;
a_ov=0;
i=1;c=0;
for j=1:a_num
    if i+3<=a_num
        if sum(a([i:i+3]))==0
            a_ov=a_ov+1;
            if mod(a_ov,2)==1
                a_hdb3(i+3)=-1;
                a_sign=1;
                if a_hdb3(i+3)~=a_hdb3(i-1);
                    a_hdb3(i)=a_hdb3(i+3);
                end
            elseif mod(a_ov,2)==0
                a_hdb3(i+3)=1;
                a_sign=-1;
                if a_hdb3(i+3)~=a_hdb3(i-1);
                    a_hdb3(i)=a_hdb3(i+3);
                end
            end
            i=i+4;c=1;
        end
    end
    if c==1
       c=0; continue;
    end
    if a(i)==0
        i=i+1;continue;
    elseif a(i)==1&a_sign==-1
        a_hdb3(i)=-a(i);
        a_sign=1; i=i+1;
    elseif a(i)==1&a_sign==1
        a_hdb3(i)=a(i);
        a_sign=-1; i=i+1;
    end
    if i>a_num
        break;
    end
end
%the part of painting
AMIandHDB3paint(a_num,a_hdb3,2,'HDB3');

%本程序是对AMIcodeANDHDB3code.m 模块化的尝试;
%主要是将计算程序与画图程序分隔开来;
function AMIandHDB3paint(a_num,a_matrix,n,a_name)
%the part of painting
t0=25;
t=0:1/t0:a_num;
a_paint=0;
for i=1:a_num
    for j=1:t0
        a_paint=[a_paint a_matrix(i)];
    end
end
t=[t a_num+1/t0];
a_paint=[a_paint,0];
subplot(2,1,n);
plot(t,a_paint,'LineWidth',2);grid minor;
axis([-0.05 a_num+0.05 -1.05 1.05]);
title([num2str(a_name),'输出波形']);
xlabel([num2str(a_name),'输出序列= ',[num2str(a_matrix)]]);
disp([num2str(a_name),'输出序列= ',num2str(a_matrix)]);

AMI与HDB3的matlab实现相关推荐

  1. 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=leng ...

  2. 【编码译码】基于matlab HDB3编译码仿真【含Matlab源码 1961期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[编码译码]基于matlab HDB3编译码仿真[含Matlab源码 1961期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

  3. 【Verilog】消息码转AMI码的具体Verilog代码实践以及经验分享

    程序分解说明 状态机部分: /*状态机 */ reg [1:0] STATE; //parameter idle = 2'b00; parameter input_zero = 2'b01; para ...

  4. cmi码型变换matlab程序_cmi码码型变换

    3. 观察 HDB3 码.AMI 码.BNRZ 码正.负极性波形. 4. 观察 NRZ 码.RZ 码.BRZ 码.BNRZ 码.AMI 码.CMI 码.HDB3 码.BPH 码经过码型反变换 后... ...

  5. 课程项目:大学程序设计相关大作业汇总参考及源码地址

    C++程序设计 利用C++实现的小游戏:2048,俄罗斯方块和贪吃蛇[Some small games implemented in C++: 2048, Tetris and Snake (Univ ...

  6. 最详细的CISCO路由器配置命令及方法

    第一章 路由器配置基础 一.基本设置方式 二.命令状态 三.设置对话过程 四.常用命令 五.配置IP寻址 六.配置静态路由 第二章 广域网协议设置 一.HDLC 二.PPP 三.X.25 四.Fram ...

  7. 路由器配置(新手上路,比较全面,强烈推荐)

    路由器配置(新手上路,比较全面,强烈推荐) 第一章 路由器配置基础 一.基本设置方式 二.命令状态 三.设置对话过程 四.常用命令 五.配置IP寻址 六.配置静态路由 第二章 广域网协议设置 一.HD ...

  8. 【现代通信原理笔记】4 数字基带传输

    [现代通信原理]4 数字基带传输 重点: 什么是数字基带信号 三个关键问题:差错.利用率.补偿 脉冲码型:单极性多级性 NRZ.单极性多级性 RZ.差分.归零 一元多元 PAM, 表达式.原理.框图, ...

  9. Cisco Packet Tracer基础命令操作以及组织网络实验

    打开Cisco packet tracer,选取路由器Router2811(example) 2.双击该路由器,在弹出的窗口选择 CLI 选项,启动后输入no,回车即可进入路由器的用户模式,若要进行对 ...

  10. H3C、思科路由器简单配置

    进入配置模式:sys ip address:这个基本是一样的. int gi1/1/1 ip address 192.168.1.2 30 undo shutdown 配置loopback: int ...

最新文章

  1. TVM性能评估分析(二)
  2. [转]英文版VS2010制作中文环境安装包
  3. [转载] HTTP 之 IOS一谈
  4. Fedora 23如何安装LAMP服务器
  5. 使用pyinstaller打包pyqt程序
  6. 安卓怎么显示res文件夹中的html_android中自定义WebView显示网页或本地html文件 | 学步园...
  7. java8中的lambda用法实例
  8. set()与get()详细解答(C#)
  9. 【转载】分布式之redis复习精讲
  10. 重写、重构、重载区别
  11. tomcat linux环境变量,linux系统为什么需要配置tomcat环境变量
  12. jupyter notebook的单独安装与使用
  13. JAVA内存模型和GC原理
  14. 计算机软件技术发展应用论文,计算机软件毕业论文计算机软件技术发展应用.docx...
  15. linux设置双屏拼接_Linux 与Windows(A卡、N卡)下折腾双屏、3屏拼接
  16. 《按自己的意愿过一生》语录二
  17. 为什么苹果蓝牙耳机连上还是公放_如何测试蓝牙设备的延时
  18. 电脑视频剪辑用哪个软件,好用的电脑视频剪辑软件有哪些
  19. java crm 进销存 springmvc SSM 项目 系统
  20. 【深入UCSC Genome Brower】写在前面

热门文章

  1. jetty中war包解压路径
  2. Java 学生选课系统 源代码
  3. php聊天室把数据存在缓存里,php聊天室信息存储的问题
  4. BM3D、域变换与Non-Local
  5. at24c08 E2PROM的I2C设备驱动实例——基于mini2440
  6. Servlet JSP 面试题
  7. 工业面阵相机与源型PLC和漏型PLC外部触发接线
  8. 谷歌火狐等浏览器Flash安装失败,安装后进入网站仍提示未安装Flash
  9. Windows版navicat11破解
  10. 以太网协议号字段定义