实验报告哈尔滨工程大学教务处制实验一基带码型仿真(一)单、双极性归零码仿真一、实验原理1.1归零码归零码,是信号电平在一个码元之内都要恢复到零的编码方式,它包括曼彻斯特编码和差分曼彻斯特编码两种编码方式。
1.2单、双极性归零码对于传输数字信号来说,最常用的方法是用不同的电压电平来表示两个二进制数字,即数字信号由矩形脉冲组成。
A)单极性不归零码,无电压表示”0”,恒定正电压表示”1”,每个码元时间的中间点是采样时间,判决门限为半幅电平。
单极性归零码(RZ)即是以高电平和零电平分别表示二进制码1 和0,而且在发送码1 时高电平在整个码元期间T 只持续一段时间τ,其余时间返回零电平.在单极性归零码中,τ/T 称为占空比.单极性归零码的主要优点是可以直接提取同步信号,因此单极性归零码常常用作其他码型提取同步信号时的过渡码型.也就是说其他适合信道传输但不能直接提取同步信号的码型,可先变换为单极性归零码,然后再提取同步信号B)双极性不归零码,”1”码和”0”码都有电流,”1”为正电流,”0”为负电流,正和负的幅度相等,判决门限为零电平。
双极性归零码是二进制码0 和1 分别对应于正和负电平的波形的编码,在每个码之间都有间隙产生.这种码既具有双极性特性,又具有归零的特性.双极性归零码的特点是:接收端根据接收波形归于零电平就可以判决1 比特的信息已接收完毕,然后准备下一比特信息的接收,因此发送端不必按一定的周期发送信息.可以认为正负脉冲的前沿起了起动信号的作用,后沿起了终止信号的作用.因此可以经常保持正确的比特同步.即收发之间无需特别的定时,且各符号独立地构成起止方式,此方式也叫做自同步方式.由于这一特性,双极性归零码的应用十分广泛。
1.3 功率谱密度求信号的功率谱,功率谱= 信号的频率的绝对平方/ 传输序列的持续时间,求得的功率谱进行单位换算以dB值表示1.4占空比(Duty Ratio)在电信领域中有如下含义:例如:脉冲宽度1μs ,信号周期4μs 的脉冲序列占空比为0.25。
在一段连续工作时间内脉冲占用的时间与总时间的比值。
二、仿真方案2.1程序流程图2.2参数设计分别设置占空比为0.5、0.75、1.0 采样点数为2^k ,k 取正整数 每码元采样点数为64 码元速率为2Mb/s3.实验程序global dt t df Nclose allk=14;Rt=0.5; %占空比N=2^k; %采样点数L=64; %每码元的采样点数M=N/L; %码元数Rb=2; %码速率为2Mb/sTs=1/Rb; %码元间隔dt=Ts/L; %时域采样间隔df=1/(N*dt); %频域采样间隔T=N*dt; %截短时间Bs=N*df/2; %系统带宽t=linspace(-T/2,T/2,N); %时域横坐标f=linspace(-Bs,Bs,N); %频域横坐标EP=zeros(1,N);for jj=1:100a=round(rand(1,M)); %产生M个取值0,1等概的随机码s=zeros(1,N); %产生一个N个元素的零序列for ii=1:Rt*Ts/dts(ii+[0:M-1]*L)=a; %产生单极性归零码endQ=t2f(s); %傅氏变换P=Q.*conj(Q)/T; %P为单极性归零码的功率EP=(EP*(ii-1)+P)/ii; %累计平均aa=30+10*log10(EP+eps); %加eps以避免除以零endsubplot(2,2,2)plot(f,aa,'r')title('单极性归零码的功率谱')xlabel('f/MHZ')ylabel('Ps(f)/MHZ')axis([-15,+15,-50,50])gridsubplot(2,2,1)plot(t,s,'g')title('单极性归零码')xlabel('t(ms)')ylabel('s(t)(V)')axis([-5,5,-0.5,1.5])gridfor jj=1:100a=round(rand(1,M)); %产生M个取值0,1等概的随机码a=1-2*a;s=zeros(1,N); %产生一个N个元素的零序列for ii=1:Rt*Ts/dts(ii+[0:M-1]*L)=a; %产生双极性归零码endQ=t2f(s); %付氏变换P=Q.*conj(Q)/T; %P为双极性归零码的功率EP=(EP*(ii-1)+P)/ii; %累计平均aa=30+10*log10(EP+eps); %加eps以避免除以零endsubplot(2,2,4)%set(2,'position',[10,50,750,350]) %设定窗口位置及大小plot(f,aa,'r')title('双极性归零码的功率')xlabel('f(MHZ)')ylabel('Ps(f)(MHZ)')axis([-15,+15,-50,50])gridsubplot(2,2,3)plot(t,s,'g')title('双极性归零码')xlabel('t(ms)')ylabel('s(t)(V)')axis([-5,5,-1.5,1.5])grid子程序function X=t2f(x)global dt df N t f T%X=t2f(x)%X与x长度相同,并为2的整幂。
%本函数需要一个全局变量dt(时域取样间隔)H=fft(x);X=[H(N/2+1:N),H(1:N/2)]*dt;end图一占空比为0.5的波形图二占空比为0.75的波形图三占空比为1.0的波形(二)AMI码和HDB3码仿真一、实验原理1.1 AMI码1码通常称为传号,0码则叫空号,这是沿用了早期电报通信中的叫法。
从形态上看,它已是三状态信号,所以AMI码是伪三进制码。
(1)编码规则:消息代码中的0 传输码中的0消息代码中的1 传输码中的+1、-1交替例如:消息代码:1 0 1 0 1 0 0 0 1 0 1 1 1AMI码: +1 0 -1 0 +1 0 0 0 -1 0 +1 -1 +1(2)AMI码的特点:1 由AMI码确定的基带信号中正负脉冲交替,而0电位保持不变;所以由AMI码确定的基带信号无直流分量,且只有很小的低频分量;2 在接收端不易提取定时信号,由于它可能出现长的连0串;3 具有检错能力,如果在整个传输过程中,因传号极性交替规律受到破坏而出现误码时,在接收端很容易发现这种错误。
(3)解码规则从收到的符号序列中将所有的-1变换成+1后,就可以得到原消息代码1.2 HDB3码三阶高密度双极性码(英语:High Density Bipolar of Order 3,简称:HDB3码)是一种适用于基带传输的编码方式,它是为了克服AMI码的缺点而出现的,具有能量分散,抗破坏性强等特点。
三阶高密度双极性码用于所有层次的欧洲E-carrier系统,HDB3码将4个连续的“0”位元取代成“000V”或“B00V”。
这个做法可以确保连续的violations are of differing polarity,即是相隔单数的一般B记号。
1 先将消息代码变换成AMI码,若AMI码中连0的个数小于4,此时的AMI码就是HDB3码;2 若AMI码中连0的个数大于3,则将每4个连0小段的第4个0变换成与前一个非0符号(+1或-1)同极性的符号,用表示(+1+,-1-);3 为了不破坏极性交替反转,当相邻V符号之间有偶数个非0符号时,再将该小段的第1个0变换成+B或-B,符号的极性与前一非零符号的相反,并让后面的非零符号从符号开始再交替变化。
例如:消息代码: 1 0 0 0 0 10 0 0 01 1 0 0 0 0 1 1AMI码: +1 0 0 0 0 -10 0 0 0+1 -1 0 0 0 0 +1 -1HDB3码:+1 0 0 0 +V -10 0 0 -V+1 -1 +B 0 0 +V -1 +1二、实验程序global dt df t f Nclose allN=2^14; %采样点数L=64; %每码元的采样点数M=N/L; %码元数Rb=2;Ts=0.5; %码元宽度是0.5usdt=Ts/L;df=1/(N*dt); %MHzRT=0.5; %占空比T=N*dt ; %截短时间Bs=N*df/2; %系统带宽t=[-T/2+dt/2:dt:T/2]; %时域横坐标f=[-Bs+df/2:df:Bs]; %频域横坐标EPAMI=zeros(size(f));EPHDB=zeros(size(f));for ii=1:8ami=zeros(1,M);hdb=zeros(1,M);a=round(rand(1,M));b=3;%表示0000之间循环个数c=-1;%记载相邻V之间的1元素个数sign1=-1; %标志前一个信号sign2=-1; %标志前一个信号for ii=1:Mif a(ii)==1sign1=0-sign1;ami(ii)=sign1;endendfor ii=1:Mif b==3 %表示非0000if a(ii)==1sign2=0-sign2;hdb(ii)=sign2;if c>=0 %表示不是第一个0000c=c+1; %用来计算相邻v之间的非0元素个数endelseif ii<=M-3 & a(ii)+a(ii+1)+a(ii+2)+a(ii+3)==0 if mod(c,2)==1 %000Vhdb(ii+3)=sign2;else%B00Vsign2=0-sign2;hdb(ii)=sign2;hdb(ii+3)=sign2;endc=0;b=0;endelseif b<3 %对0000的循环b=b+1;endendfor i=[1:L]ami1(i+[0:M-1]*L)=ami;hdb1(i+[0:M-1]*L)=hdb;endAMI=t2f(ami1);PAMI=AMI.*conj(AMI)/T;HDB=t2f(hdb1);PHDB=HDB.*conj(HDB)/T;EPAMI=(EPAMI*(ii-1)+PAMI)/ii; EPHDB=(EPHDB*(ii-1)+PHDB)/ii;%画出RNZ、AMI、HDB3码波形figure(1)subplot(3,1,1)tt=[1:40];stem(a(1:40))axis([1,40,-1.5,1.5])title('原始RNZ信号')subplot(3,1,2)stem(tt,ami(1:40)')title('AMI码')subplot(3,1,3)stem(tt,hdb(1:40))title('HDB3码')%画出AMI的功率谱密度图figure(2)subplot(2,2,1)stem(tt,ami(1:40)','g')title('AMI码')subplot(2,2,3)stem(tt,hdb(1:40),'g')title('HDB3码')subplot(2,2,2)aa=30+10*log10(EPAMI+eps);%加eps以避免除以零bb=30+10*log10(EPHDB+eps);plot(f,aa,'r');gridaxis([-8,+8,-80,40])xlabel('f/MHz')ylabel('Ps(f)(dBm/MHz)')title('AMI功率谱密度')%画出HDB3的功率谱密度图subplot(2,2,4)plot(f,bb,'r');gridaxis([-8,+8,-80,40])xlabel('f/MHz')ylabel('Ps(f)(dBm/MHz)')title('HDB3功率谱密度')end实验2:采用2DPSK调制的数字通信系统一、实验原理1.1 2DPSK信号原理2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。