- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通信原理上机实验报告
年级: 姓名: 学号: 时间:
三阶高密度双极性码
一、实验目的
1.熟悉MATLAB软件的工作环境
2.熟练掌握HDB3码的MATLAB仿真
3.熟练掌握HDB3码的Simulink仿真
二、实验原理
三阶高密度双极性码(HDB3码),其编码规则是:当信息代码中连“0”个数不大于3时,“1”码用正负脉冲交替表示;当连“0”个数大于3时,将每4个连“0”串的第4个“0”编码为与前一非“0”码同级性的正脉冲或负脉冲,该脉冲为破坏码或V码,为保证加V码后输出仍无直流分量,则需要:①相邻V码的极性必须相反,为此当相邻V码间有偶数个“1”时,将后面的连“0”串中第1个“0”编码为B符号,B符号的极性与前一非“0”码的极性相反,而B符号后面的V码与B符号的极性相同。②V码后面的非“0”符号的极性再交替反转。HDB3码是CCITT推荐作为PCM语音系统四次群线路接口码型,在光缆传输系统中采用。
HDB3码虽然编码很复杂,但解码规则很简单,若3连“0”前后非零脉冲同级性,则将最后一个非零元素译为零,如+1000+1就应该译成“10000”;若2连“0”前后非零脉冲级性相同,则两零前后都译为零,如-100-1,就应该译为“0000”。再将所有的-1变换成+1后,就可以得到原消息代码。
三、实验内容与结果
HDB3码的MATLAB仿真
(1)实验程序
x=[1 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0];
y=x;
num=0;
for k=1:length(x)
if x(k)==1
num=num+1;
if num/2==fix(num/2)
y(k)=1;
else
y(k)=-1;
end
end
end
num=0;
yh=y;
sign=0;
V=zeros(1,length(y));
B=zeros(1,length(y));
for k=1:length(y)
if y(k)==0
num=num+1;
if num==4
num=0;
yh(k)=1*yh(k-4);
V(k)=yh(k);
if yh(k)==sign
yh(k)=-1*yh(k);
yh(k-3)=yh(k);
B(k-3)=yh(k);
V(k)=yh(k);
yh(k+1:length(y))=-1*yh(k+1:length(y));
end
sign=yh(k);
end
else
num=0;
end
end
input=yh;
decode=input;
sign=0;
for k=1:length(yh)
if input(k)~=0
if sign==yh(k)
decode(k-3:k)=[0 0 0 0];
end
sign=input(k);
end
end
decode=abs(decode);
subplot(3,1,1);stairs([0:length(x)-1],x);axis([0 length(x) -0.2 1.2]);
title(原码);
subplot(3,1,2);stairs([0:length(x)-1],yh);axis([0 length(x) -1.2 1.2]);
title(HDB3编码);
subplot(3,1,3);stairs([0:length(x)-1],decode);axis([0 length(x) -0.2 1.2]);
title(HDB3解码);
(2)实验结果
文档评论(0)