1、AMI编码主程序AMI编码主程序:function y=AMI(x,samp)last_one=-1;for i=1:length(x) if x(i)=1 for j=1:samp/2 y(2*i-2)*samp/2+j)=-last_one; y(2*i-1)*samp/2+j)=0; end last_one=-last_one; else for j=1:samp y(i-1)*samp+j)=0; end endendy=y,x(i);曼彻斯特编码主程序:#includemain() int i,j; char a10,b20; cout首先进行曼彻斯特编码:endl; cout请输
2、入二进制数据流:endl; for(j=0;jaj; for(i=0;i10;i+) if(ai=0) b2*i=0;b2*i+1=1; if(ai!=0) b2*i=1;b2*i+1=0; cout曼彻斯特码编码结果为:endl; for(i=0;i20;i+) coutbi; coutendl; /下面进行曼彻斯特译码 char c20,d10; cout下面进行曼彻斯特译码:endl; cout请输入偶数个二进制数据流:endl; for(i=0;ici; for(i=0;i10;i+) if(c2*i=0)&(c2*i+1=1)di=0; else di=1; for(i=0;i10;
3、i+) coutdi; cout= abs(total - 2 * acc) flag = 1 ; break; end acc = newacc ;endifflag i = n ;end split = i ;%从分界点对两边的码递归做fanoc1 = fano(p(1:split-1) ;c2 = fano(p(split:n) ;c = cell(1,n) ;%添加前缀0,1for i = 1:split-1 ci = strcat(0 , c1i) ;endfor i = split:n ci = strcat(1 , c2i - split + 1 ) ;end%将顺序调整回去c
4、= fliplr(c) ;c(index) = c ;窗函数主程序框图如下所示:窗函数法设计FIR数字滤波器主程序:b=1;close 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,
5、Wc=1.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; a=(N-1)/2; w=menu2(temp); n=0:(N-1); hd=sin(w*(n-a)/(n-a)*pi); %得到理想低通滤波器 k=menu(请选择窗口类型:,boxcar,hamming,hanning,blackman); if k=1 B=boxcar(N); string=Boxcar,N=,num2str(N); else if k=2 B=hamming(N); string=Hamming,N=,nu
6、m2str(N); else if k=3 B=hanning(N); string=Hanning,N=,num2str(N); else if k=4 B=blackman(N); string=Blackman,N=,num2str(N); end end end end h=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);
7、n=0:N-1; stem(n,h,.); axis(0,N-1,-0.1,0.3); hold on; 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
8、; n=0:7; x=zeros(8); plot(n,x,-); title(相频特性); xlabel(频率(rad); ylabel(相位(rad); axis(0,3.15,-4,4); subplot(2,2,4); plot(m,mag); title(频率特性); xlabel(频率W(rad); ylabel(幅值); axis(0,3.15,0,0.5); text(0.9,1.2,string); b=menu(Do You want To Continue ?,Yes,No); if b=2 b=0; endendtemp=menu(Close All Figure ?,Yes,No);if temp=1 close allEnd运行结果:矩形窗汉宁窗:海明窗:布莱克曼窗:
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2