3种基带传输常用编码与解码方法.DOC

上传人:国*** 文档编号:1031647 上传时间:2018-11-21 格式:DOC 页数:11 大小:111KB
下载 相关 举报
3种基带传输常用编码与解码方法.DOC_第1页
第1页 / 共11页
3种基带传输常用编码与解码方法.DOC_第2页
第2页 / 共11页
3种基带传输常用编码与解码方法.DOC_第3页
第3页 / 共11页
3种基带传输常用编码与解码方法.DOC_第4页
第4页 / 共11页
3种基带传输常用编码与解码方法.DOC_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 3种基带传输常用编码与解码方法AMI编码function y=AMI(x,samp)last_one=-1;for i=1:length(x)if x(i)=1for j=1:samp/2y(2*i-2)*samp/2+j)=-last_one;y(2*i-1)*samp/2+j)=0;endlast_one=-last_one;elsefor j=1:sampy(i-1)*samp+j)=0;endendendy=y,x(i);NRZ编码function x=NRZ(y,samp)num=0;N=length(y)/samp;for i=1:Nfor j=1:sampif y(i-1)*s

2、amp+j)=1num=num+1;endendif num=samp/2 x(i)=1;elsex(i)=0;endnum=0;endHDB3编码function y=HDB3(x,samp)last_V=-1;last_one=-1;num=0;for i=1:length(x)if x(i)=1for j=1:samp/2y(2*i-2)*samp/2+j)=-last_one; %遇 1则极性反转y(2*i-1)*samp/2+j)=0;endlast_one=-last_one;num=0;elsenum=num+1;if num=4num=0;temp=-last_V; %遇 4连

3、零则置为 V,相邻的 V极性反转for j=1:samp/2y(2*i-2)*samp/2+j)=temp;y(2*i-1)*samp/2+j)=0;endlast_V=temp;if temp*last_one=-1 %V与前一个非 0符号必须同极性for j=1:samp/2y(2*(i-3)-2)*samp/2+j)=temp; %否则置 By(2*(i-3)-1)*samp/2+j)=0;endendlast_one=temp;endendendy=y,x(i); 主程序:clear all;samp=300;%x=randint(1,N);x=1 0 1 1 0 0 0 0 0 0

4、0 1 1 0 0 0 0 0 0 1;N=length(x);t=0:1/samp:N;y1=AMI(x,samp);y2=NRZ(x,samp);y3=HDB3(x,samp);figure(1);subplot(3,1,1);plot(t,y1);axis(0,N,-0.2,1.2);grid;title(AMI码);subplot(3,1,2);plot(t,y2);axis(0,N,-1.2,1.2);grid;title(单极性非归零码);subplot(3,1,3);plot(t,y3);axis(0,N,-1.2,1.2);grid;title(HDB3码);%gtext(基带

5、传输常用码的编码);最后输出结果:解码程序:AMI 解码: y=+1 0 -1 0 0 +1 0 0 -1 0 +1 -1 0 0 +1 0 -1 0 0 0 +1 -1; N=length(y); samp=500; t=0:1/samp:N; x=deAMI(y,samp); plot(t,x); axis(0,N,-1.2,1.2); grid; title(AMI 解码);子函数:function x=deAMI(y,samp)for i=1:length(y)if y(i)=1for j=1:sampx(i-1)*samp+j)=1;endelseif y(i)=-1for j=1:

6、sampx(i-1)*samp+j)=1;endelsefor j=1:sampx(i-1)*samp+j)=0;endendendendx=x,y(i);NRZ 解码: y=1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1; N=length(y); samp=500; t=0:1/samp:N; x=deNRZ(y,samp); plot(t,x); axis(0,N,-1.2,1.2); grid; title(NRZ 解码 );子函数:function x=deNRZ(y,samp)for i=1:length(y)if y(i)=1for j=1

7、:sampx(i-1)*samp+j)=1;endelsefor j=1:sampx(i-1)*samp+j)=0;endendendx=x,y(i);HDB3 解码:function x=HDB3(y,samp)first=y(1);for i=1:3if y(i)=0for j=1:sampx(i-1)*samp+j)=0;endelsefirst=y(i);for j=1:sampx(i-1)*samp+j)=1;endendendfor i=4:length(y)if y(i)=0for j=1:sampx(i-1)*samp+j)=0;endelseif y(i)*first=1fo

8、r j=1:sampx(i-1)*samp+j)=0;x(i-2)*samp+j)=0;x(i-3)*samp+j)=0;x(i-4)*samp+j)=0;first=y(i);endelse first=y(i);for j=1:sampx(i-1)*samp+j)=1;endendendendx=x,y(i); 主函数:y=+1 0 -1 0 0 +1 0 0 -1 0 +1 -1 0 0 +1 0 -1 0 0 0 -1 +1 N=length(y); samp=500; t=0:1/samp:N; x=deHDB3(y,samp); plot(t,x); axis(0,N,-1.2,1

9、.2); grid; title(HDB3 解码);用窗函数设计 FIR数字滤波器滤波器的设计程序:b=1;clear all;i=0;while(b);temp=menu(选择窗函数长度 N,N=10, N=15,N=20,N=25,N=30,N=33,N=35,N=40,N=45,N=50,N=55,N=60,N=64);menu1=10,15,20,25,30,33,35,40,45,50,55,60,64;N=menu1(temp);temp=menu(选择逼近理想低通滤波器截止频率 Wc,Wc=pi/4, Wc=pi/2,Wc=3*pi/4, Wc=pi, Wc=0.5, Wc=1.

10、0, Wc=1.5, Wc=2.0, Wc=2.5,Wc=3.0);menu2=pi/4,pi/2,3*pi/4,pi,0.5,1,1.5,2,2.5,3;w=menu2(temp);n=0:(N-1);hd=ideal(w,N);%得到理想低通滤波器,k=menu(请选择窗口类型:, boxcar, hamming,hanning,blackman);If k=1B=boxcar(N);String=Boxcar, N=,num2str(N);else if k=2B=hamming(N);String=hamming, N=,num2str(N);else if k=3B=hanning(

11、N);String=hanning, N=,num2str(N);else if k=4B=blackman(N);String=blackman, N=,num2str(N);endendendendh=hd.*(B);%得到 FIR 数字滤波器H,m=freqz(h,1,1024,whole); %求其频率响应mag=abs(H);%得到幅值db=20*log10(mag+eps)/max(mag);pha=angle(H);%得到相位i=i+1;figure(i)subplot(2,2,1);n=0:N-1;stem(n,h,。 );axis(0,N-1,-0.1,0.3);hold o

12、n;n=0:N-1;x=zeros(N);plot(n,x,);xlabel(n);ylabel(h(n);title(实际低通滤波器的 h(n);text(0.3*N),0.27,string);hold off;subplot(2,2,2);plot(m/pi,db);axis(0,1,-100,0);xlabel(w/pi);ylabel(db);title( 衰减特性( db) );grid;subplot(2,2,3);plot(m,pha);hold on;n=0:7;x=zeros(8);plot(n,x,-);title(相频特性 );xlabel(频率(rad) );ylab

13、el(相位(rad) );axis(0,3.15,-4,4);subplot(2,2,4);plot(m,mag);title(频率特性 )xlabel(频率 W(rad ) );ylabel(幅值);axis(0,3.15,0,1.5);text( 0.9,1.2, string) ;b=menu(DO you want to continue?, Yes,No);If b=2b=0; endendtemp=menu(Close all figure?, Yes, No);If temp=1close allEnd程序中用到的子函数:产生理想低通滤波器单位响应 hd(n)function hd=ideal(w,N);alpha=(N-1)/2;n=0:(N-1);m=n-alpha+eps;hd=sin(w*m)./(pi*m)最后的输出结果:当选择输出矩形窗,N=33,Wc=pi/4。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。