Sum_AMI_N=zeros(1,N*N_sample);//AMI不归零码功率值初始化 Sum_HDB3_N=zeros(1,N*N_sample); //HDB3不归零码功率值初始化 然后依次对各个码进行处理,如: for j=1:2*N
rz_code((j-1)*N_sample/2+1:j*N_sample/2)=datab(j); drz_code((j-1)*N_sample/2+1:j*N_sample/2)=datad(j); ami_code((j-1)*N_sample/2+1:j*N_sample/2)=ami_data(j); hdb3_code((j-1)*N_sample/2+1:j*N_sample/2)=hdb3_data(j); 调用程序:
function [f,sf]=T2F(t,st) dt=t(2)-t(1); T=t(end); df=1/T;
N=length(st);
f=(-N/2*df):df:((N/2*df)-df); sf=fft(st);
sf=T/N*fftshift(sf); function y=hdb3(x) n=length(x); last_V=-1; last_one=-1; y=zeros(size(x)); count=0; for i=1:n;
if x(i)==1;
y(i)=-last_one; last_one=y(i); count=0; else
count=count+1; if count==4; count=0; y(i)=-last_V; last_V=y(i);
if y(i)*last_one==-1 y(i-3)=y(i); end
last_one=y(i); end
end
end //对HDB3码进行处理 function y=ami(x) n=length(x); last_one=-1;
y=zeros(size(x)); for r=1:n
if x(r)==1
y(r)=-last_one; last_one=y(r); end
end //对AMI码进行处理
实验步骤
1.安装MATLAB6.5软件
2.学习简单编程,画图plot(x,y)函数等
3.利用MATLAB软件,编写.M文件,随机产生一组单极归零(RZ)码与单极非归零(NRZ)码,并得出功率谱,如下所示:
4.利用MATLAB软件,编写.M文件,随机产生一组双极性归零码与双极性非归零码,并得出功率谱,如下:
5.根据已产生的RZ码,通过AMI和HDB3编码规则,利用.M文件产生AMI码与HDB3码,如下:
6.根据已产生的NRZ码,通过AMI和HDB3编码规则,利用.M文件产生AMI码与HDB3码,如下:
7.得出上述两种情况下产生的AMI码与HDB3的功率谱,如下:
实验心得
1、单极性不归零码的编码规则是用高电平和低电平(这里为零电平)分别表示二进制信息“1”和“0”,在整个码元期间电平保持不变。 2、单极性归零码的编码规则与单极性不归零码不同的是,发送“1”时在整个码元期间高电平只持续一段时间,在码元的其余时间内则返回到零电平。
3、双极性码的特点与单极性码不同的地方是,双极性码中,+1和-1交替出现。 4、AMI码的编码规则是“0”码不变,“1”码则交替地转换为+1和-1。由于AMI码的传号交替反转,故由于它决定的基带信号将出现正负脉冲交替,而0电位保持不变的规律。这种基带信号无直流成分,且只有很小的低频成分。它的频谱A显示MI码的能量集中于f0/2处(f0为码速率)。
5、HDB3的编码规则如下:用B脉冲来保证任意两个相连取代节的V脉冲间“1”的个数为奇数。当相邻V脉冲间“1”码数为奇数时,则用“000V”取代,为偶数个时就用“B00V”取代。在V脉冲后面的“1”码和B码都依V脉冲的极性而正负交替改变。在HDB3码中,相邻两个V码之间或是其余的“1”码之间都符合交替变号原则,故它的频谱须符合这些特点。
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育杭电 通信原理实验报告 (3)全文阅读和word下载服务。
相关推荐: