AMI、HDB3、密勒码编码实现
——matlab仿真模拟
【任务描述】
A. 产生一个长为1000的二进制随机序列,“0”的概率为0.8,”1”的概率为0.2;
B. 对上述数据进行归零AMI编码,脉冲宽度为符号宽度的50%,波形采样率为符号
率的8倍,画出前20个符号对应的波形(同时给出前20位信源序列);
C. 改用HDB3码,画出前20个符号对应的波形;
D. 改用密勒码,画出前20个符号对应的波形;
E. 分别对上述1000个符号的波形进行功率谱估计,画出功率谱;
F. 改变信源“0”的概率,观察AMI码的功率谱变化情况;
【基本思路】
采用调用子函数的方法,在掌握了各种码的编码规律之后实现编码功能。具体实
现了AMI码、HDB3码以及密勒码的编码。而且调用了功率谱函数spectrum对各种码
的功率谱以及不同信源概率下的功率谱进行了比较。下面就详细介绍各种码形的变
换思路:
1.AMI码
AMI码中信息码“0”对应着三元码序列中的“0”,信息码“1”则交替地变换为“+1”
和“-1”的归零码。
2.HDB3码
在AMI码的基础上,当出现多于3个零的情况,利用其检错能力,使用异常代替
长连零,以平衡码中的极性使得直流分量为0。
3.密勒码
密勒码中使用码元周期中点的跳变来代表“1”,当出现连续的“0”时出现电平跳
变,否则码元周期内不出现跳变。
【程序清单】
Code.m:完成产生随机0、1序列并且将其用波形表示的功能。
AMI_Code.m:将随机序列转换为AMI码
HDB3_Code.m:将随机序列转换为HDB3码
Miller_Code.m:将随机序列转换为密勒码
Plot_spectrum.m: 使用库函数绘制功率谱曲线
第 1 页 共 10 页