您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > AM调制解调及matlab仿真程序和图
(1)所用滤波器函数:巴特沃斯滤波器%注:wp(或Wp)为通带截止频率ws(或Ws)为阻带截止频率Rp为通带衰减As为阻带衰减%butterworth低通滤波器原型设计函数要求WsWp0AsRp0function[b,a]=afd_butt(Wp,Ws,Rp,As)N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws)));%上条语句为求滤波器阶数N为整数%ceil朝正无穷大方向取整fprintf('\nButterworthFilterOrder=%2.0f\n',N)OmegaC=Wp/((10^(Rp/10)-1)^(1/(2*N)))%求对应于N的3db截止频率[b,a]=u_buttap(N,OmegaC);(2)傅里叶变换函数function[Xk]=dft(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^(nk);Xk=xn*WNnk;设计部分:1.普通AM调制与解调%单音普通调幅波调制y=amod(x,t,fs,t0,fc,Vm0,ma)要求fs2fc%x调制信号,t调制信号自变量,t0采样区间,fs采样频率,%fc载波频率,Vm0输出载波电压振幅,ma调幅度t0=0.1;fs=12000;fc=1000;Vm0=2.5;ma=0.25;n=-t0/2:1/fs:t0/2;x=4*cos(150*pi*n);%调制信号y2=Vm0*cos(2*pi*fc*n);%载波信号figure(1)subplot(2,1,1);plot(n,y2);axis([-0.01,0.01,-5,5]);title('载波信号');N=length(x);Y2=fft(y2);subplot(2,1,2);plot(n,Y2);title('载波信号频谱');%画出频谱波形y=Vm0*(1+ma*x/Vm0).*cos(2*pi*fc*n);figure(2)subplot(2,1,1);plot(n,x)title('调制信号');subplot(2,1,2)plot(n,y)title('已调波信号');X=fft(x);Y=fft(y);w=0:2*pi/(N-1):2*pi;figure(3)subplot(2,1,1);plot(w,abs(X))axis([0,pi/4,0,2000]);title('调制信号频谱');subplot(2,1,2);plot(w,abs(Y))axis([pi/6,pi/4,0,1200]);title('已调波信号频谱');%画出频谱波形y1=y-2*cos(800*pi*n);y2=Vm0*y1.*cos(2*pi*fc*n);%将已调幅波信号的频谱搬移到原调制信号频谱处wp=40/N*pi;ws=60/N*pi;Rp=1;As=15;T=1;%滤波器参数设计OmegaP=wp/T;OmegaS=ws/T;[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As);[b,a]=imp_invr(cs,ds,T);y=filter(b,a,y2);figure(4)subplot(2,1,1);plot(n,y)title('解调波');Y=fft(y);subplot(2,1,2);plot(w,abs(Y))axis([0,pi/6,0,1000]);title('解调信号频谱');%画出频谱波形结果:ButterworthFilterOrder=6OmegaC=0.1171-0.01-0.008-0.006-0.004-0.00200.0020.0040.0060.0080.01-505载波信号-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-500050010001500载波信号频谱-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-4-2024调制信号-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-4-2024已调波信号00.10.20.30.40.50.60.70500100015002000调制信号频谱0.550.60.650.70.7505001000已调波信号频谱-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-20246解调波00.050.10.150.20.250.30.350.40.450.505001000解调信号频谱-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-101234解调波00.050.10.150.20.250.30.350.40.450.505001000解调信号频谱2.抑制双边带调制与解调%单音抑制载波双边带调制y=amod(x,t,fs,t0,fc,Vm0,ma)要求fs2fc%x调制信号,t0采样区间,fs采样频率,%fc载波频率,Vm0输出载波电压振幅,ma调幅度t0=0.1;fs=12000;fc=1000;Vm0=2.5;ma=0.25;n=-t0/2:1/fs:t0/2;x=4*cos(150*pi*n);%调制信号y=Vm0*x.*cos(2*pi*fc*n);%载波信号figure(1)subplot(2,1,1)plot(n,x)title('调制信号');subplot(2,1,2)plot(n,y)title('已调波信号');N=length(x);X=fft(x);Y=fft(y);w=0:2*pi/(N-1):2*pi;figure(2)subplot(2,1,1)plot(w,abs(X))axis([0,pi/4,0,2000]);title('调制信号频谱');%画出频谱波形subplot(2,1,2)plot(w,abs(Y))axis([pi/6,pi/4,0,2200]);title('已调波信号频谱');%画出频谱波形y1=y-2*cos(2000*pi*n);y2=Vm0*y1.*cos(2*pi*fc*n);%将已调幅波信号的频谱搬移到原调制信号频谱处wp=40/N*pi;ws=60/N*pi;Rp=1;As=15;T=1;%滤波器参数设计OmegaP=wp/T;OmegaS=ws/T;[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As);[b,a]=imp_invr(cs,ds,T);y=filter(b,a,y2);figure(3)subplot(2,1,1)plot(n,y)title('解调波');Y=fft(y);subplot(2,1,2)plot(w,abs(Y))axis([0,pi/6,0,5000]);title('解调信号频谱');%画出频谱波形结果:ButterworthFilterOrder=6OmegaC=0.1171-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-4-2024调制信号-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-10-50510已调波信号00.10.20.30.40.50.60.70500100015002000调制信号频谱0.550.60.650.70.750500100015002000已调波信号频谱-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-20-1001020解调波00.050.10.150.20.250.30.350.40.450.5010002000300040005000解调信号频谱3.单边带调制与解调%单音单边带调制y=amod(x,t,fs,t0,fc,Vm0,ma)要求fs2fc%x调制信号,t0采样区间,fs采样频率,%fc载波频率,Vm0输出载波电压振幅,ma调幅度t0=0.1;fs=12000;fc=1000;Vm0=2.5;ma=0.25;n=-t0/2:1/fs:t0/2;N=length(n);x1=4*cos(150*pi*n);%调制信号x2=hilbert(x1,N);y=(Vm0*x1.*cos(2*pi*fc*n)-Vm0*x2.*sin(2*pi*fc*n))/2;figure(1)subplot(2,1,1)plot(n,x1)title('调制信号');subplot(2,1,2)plot(n,y)title('已调波信号');X=fft(x1);Y=fft(y);w=0:2*pi/(N-1):2*pi;figure(2)subplot(2,1,1)plot(w,abs(X))axis([0,pi/4,0,3000]);title('调制信号频谱');%画出频谱波形subplot(2,1,2)plot(w,abs(Y))axis([pi/6,pi/4,0,2500]);title('已调波信号频谱');%画出频谱波形y1=y-2*cos(1500*pi*n);y2=Vm0*y1.*cos(2*pi*fc*n);%将已调幅波信号的频谱搬移到原调制信号频谱处wp=40/N*pi;ws=60/N*pi;Rp=1;As=15;T=1;%滤波器参数设计OmegaP=wp/T;OmegaS=ws/T;[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As);[b,a]=imp_invr(cs,ds,T);y=filter(b,a,y2);figure(3)subplot(2,1,1)plot(n,y)title('解调波');Y=fft(y);subplot(2,1,2)plot(w,abs(Y))axis([0,pi/6,0,2500]);title('解调信号频谱');%画出频谱波形结果:ButterworthFilterOrder=6OmegaC=0.1171-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-4-2024调制信号-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-10-50510已调波信号00.10.20.30.40.50.60.70100020003000调制信号频谱0.550.60.650.70.7505001000150020002500已调波信号频谱-0.05-0.04-0.03-0.02-0.0100.010.020.030.040.05-10-50510解调波00.050.10.150.20.250.30.350.40.450.505001000150020002500解调信号频谱7参考文献[1]信号与系统课程组.信号与系统课程设计指导,2007.10[2]吴大正.信号与线性系统分析(第四版).高等教育出版社,2005.8[3]谢嘉奎.电子线路—非线性部分(第四版).高等教育出版社,2003,2[4]黄永安等.Matlab7.0/Simulink6.0建模仿真开发与高级工程应用.清华大学出版社,2005.12[5]江建军.LabVIEW程序设计教程.电子工业出版社,2008.03[6]张化光,孙秋野.MATLAB/Simulink实用教程.北京人民邮电出版社,2009
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:AM调制解调及matlab仿真程序和图
链接地址:https://www.777doc.com/doc-5712763 .html