资源描述:
《基于Matlab调制与解调的实现(DOC)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Word格式基于Matlab调制与解调的实现一.实验目的1.熟悉Matlab的使用2.掌握幅度调制、角度调制及FSK调制的基本原理3.掌握解调的基本原理,并实现解调二.实验原理,仿真及结果分析AM调制与解调1.标准AM波调制与解调的原理调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。设载波信号的表
2、达式为,调制信号的表达式为,则调幅信号的表达式为标准调幅波示意图从高频已调信号中恢复出调制信号的过程称为解调,又称为检波。对于振幅调制信号,解调就是从它的幅度变化上提取调制信号的过程。解调是调制的逆过程。可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。2.matlab仿真完美整理Word格式%======================载波信号===========================t=-1:0.00001:1;A0=10;%载波信号振幅f=6000;%载波信号频率w0=fpi;Uc=A0cos(w0
3、t);%载波信号figure(1);subplot(2,1,1);plot(t,Uc);title('载频信号波形');axis([0,0.01,-15,15]);subplot(2,1,2);Y1=fft(Uc);%对载波信号进行傅里叶变换plot(abs(Y1));title('载波信号频谱');axis([5800,6200,0,1000000]);%======================调制信号==============================t=-1:0.00001:1;A1=5;%调制信号振幅f=6000;%载波信号频率w0=fpi;me
4、s=A1cos(0.001w0t);%调制信号subplot(2,1,1);完美整理Word格式plot(t,mes);xlabel('t'),title('调制信号');subplot(2,1,2);Y2=fft(mes);%对调制信号进行傅里叶变换plot(abs(Y2));title('调制信号频谱');axis([198000,202000,0,1000000]);%=======================AM已调信号=========================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=
5、3;%已调信号振幅f=3000;%载波信号频率w0=2fpi;m=0.15;%调制度mes=A1cos(0.001w0t);%消调制信号Uam=A2(1+mmes).cos((w0).t);%AM已调信号subplot(2,1,1);plot(t,Uam);gridon;title('AM调制信号波形');完美整理Word格式subplot(2,1,2);Y3=fft(Uam);%对AM已调信号进行傅里叶变换plot(abs(Y3)),grid;title('AM调制信号频谱');axis([5950,6050,0,500000]);%===============
6、==========FIR低通滤波器=======================Ft=2000;%采样频率fpts=[100120];%通带边界频率fp=100Hz,阻带截止频率fs=120Hzmag=[10];dev=[0.010.05];%通带波动1%,阻带波动5%[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev,Ft);%kaiserord估计采用凯塞窗设计的FIR滤波器的参数b21=fir1(n21,wn21,Kaiser(n21+1,beta));%由fir1设计滤波器[h,w]=freqz(b21,1);%得到频
7、率响应plot(w/pi,abs(h));gridontitle('FIR低通滤波器');完美整理Word格式%=========================AM信号解调=======================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=3;%已调信号振幅f=3000;%载波信号频率w0=2fpi;m=0.15;%调制度k=0.5;%DSB前面的系数mes=A1cos(0.001w0t);%调制信号Uam=A2(1+mmes).cos((w0).t);%AM已调信号Dam=Uam.cos(w0t