clc;
clear;
close all;
%使每次产生的随机数是相同的。
rand('state',3)
%a表示元素个数
len=20;
%随机产生a-1个数据
rand_number=unidrnd(2,1,len-1);
%产生01随机数列
rand_number2=rand_number-1;
rand_number2=[1,rand_number2];
data1=rand_number2;
disp('HDB3编码前的原始数据');data1
%首先计算AMI码
flag=1;
for n=1:len
if rand_number2(n)==1 ;
flag = -flag;
rand_number2(n)= flag;
end
end
AMI = rand_number2;
data2 = AMI;
disp('AMI码');data2
m=-1;
for k=1:len-3
if abs(rand_number2(k))==1
m=rand_number2(k);
end
%检测是否连续4个码元都是0
if rand_number2(k)==0
if rand_number2(k+1)==0
if rand_number2(k+2)==0
if rand_number2(k+3)==0
%用2表示V
rand_number2(k+3)=2*m;
end
end
end
end
end
AMIV = rand_number2;
data20 = AMIV;
disp('AMI码插V后的值');data20
rand_number2 ;
flag=1;
for s=1:len
if abs(rand_number2(s))==2
for d=s+1:len
%V之间的非零码只有+1,-1遇到一个一使l变一次号,表示偶数或奇数
if abs(rand_number2(d))==1
flag=-flag;
end
if abs(rand_number2(d))==2
if flag~=1
flag=1;
else %检测到下一个V时,若为偶数个,则插入B %3代表B
rand_number2(d-3)=3*(-(rand_number2(d-4))/(abs(rand_number2(d-4))));
rand_number2(d:len)=-rand_number2(d:len);
end
end
end
end
end
HDB = rand_number2;
data3 = HDB;
disp('HDB3码');data3
%解码
for k=1:len
if abs(rand_number2(k))==2
rand_number2(k-3)=0;rand_number2(k)=0;
end
if abs(rand_number2(k))==1
rand_number2(k)=1;
end
end
%解码后的恢复序列
data4 = rand_number2;
disp('HDB3解码后的值');data4
figure;
subplot(511);
stem(data1);title('HDB3编码前的原始数据');
subplot(512);
stem(data2);title('AMI码');
subplot(513);
stem(data20);title('AMI码插V后的值');
subplot(514);
stem(data3);title('HDB3编码前的原始数据');
subplot(515);
stem(data4);title('HDB3解码后的值');
matlab-(含教程)基于MATLAB的HDB3编译码仿真,输出AMI码,AMI插V码,HDB3码以及解码
版权申诉
116 浏览量
2021-09-09
18:44:46
上传
评论
收藏 2.62MB 7Z 举报
mYlEaVeiSmVp
- 粉丝: 1883
- 资源: 19万+
最新资源
- 信呼OA系统2.1.7版源码
- 3122080306 邹子轩 实验报告二.docx
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发)(大赛作品,文档完整,可直接运行)
- 发那科工业机器人保养大全
- Sphere.h
- REMD固有时间尺度分解信号分量可视化(Matlab完整源码和数据)
- 嵌入式系统双单片机STC89C52+STC15W104多功能学习板电路图可扩展 适用于单片机初学者和教学
- 基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)大赛作品
- XILINXFPGA源码基于Spartan3火龙刀系列FPGA开发板VGA测试例程
- Java聊天室的设计与实现【尚学堂·百战程序员】
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈