资源描述:
《数字信号处理-matlab程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、例题3.1.1Fm=10;Fc=100;Fs=500;k=0:199;t=k/Fs;x=sin(2*pi*Fm*t);y=x.*cos(2*pi*Fc*t);Y=fft(y,256);subplot(2,1,1);plot(y);subplot(2,1,2);plot([-128:127],fftshift(abs(Y)));实验所得的图像如下图所示:实验内容1.实现抑制载波的幅度调制。已调信号,式中为调制信号;为载波信号。此处可取,。(1)分析调制信号的频谱,绘出其时域波形和频谱。Matlab程序如下:Fs=1000;Fc=40;N=1000;wc=80*pi;
2、n=0:N-2;t=n/Fs;x=cos(10*pi*pi*t);y=x.*cos(wc*t);z1=fft(x,256);subplot(2,1,1);plot(t,x);legend('x(t)的时域波形');subplot(2,1,2);plot([-128:127],fftshift(abs(z1)));legend('x(t)的频谱');实验所得图形如下:(2)分析已调信号的频谱,绘出其时域波形和频谱。Matlab程序如下:Fs=1000;Fc=40;N=1000;n=0:N-2;t=n/Fs;x=cos(10*pi*pi*t);y=modulate(x
3、,Fc,Fs,'am');z=fft(y,256);subplot(2,1,1);plot(t,y);legend('y(t)的时域波形');subplot(2,1,2);plot([-128:127],fftshift(abs(z)));legend('y(t)的频域波形')(3)设计低通滤波器并应用filter函数,实现信号同步解调设计的低通滤波器为cheby1型低通滤波器,技术参数为:wp=0.2*pi,ws=0.6*pi,Ap=1Db,As=25dB调制:[N,wc]=cheb1ord(0.2*pi,0.6*pi,1,25,’s’);[num,den]=c
4、heby1(N,1,wc,’s’);[b,a]=bilinear(num,den,0.5);x=cos(10*pi*pi*t);y=x.*cos(80*pi*t);w1=filter(b,a,y);plot(w1);Y=fft(w1);plot(w1);axis([0500-11]);调制后的波形如下图:解调:[N,wc]=cheb1ord(0.2*pi,0.6*pi,1,25,'s');[num,den]=cheby1(N,1,wc,'s');[b,a]=bilinear(num,den,0.5);x=cos(10*pi*pi*t);y=x.*cos(80*pi
5、*t);w1=filter(b,a,y);plot(w1);Y=fft(w1);Q=demod(Y,Fc,Fs,'am');plot(t,Q);axis([0.30.5-0.10.1]);解调后的波形如下图:2.实现含有载波的幅度调制。已调信号,选取,观察调制结果,与抑制载波的幅度调制有什么不同?Matlab程序:Fm=10;Fc=100;Fs=1000;N=1000;k=0:N-1;t=k/Fs;x=sin(2*pi*Fm*t);subplot(3,1,1);plot(t,x);xlabel('t(s)');title('Modulatesignal');y=m
6、odulate(x,Fc,Fs,'am');subplot(3,1,2);plot(t,y);xlabel('t(s)');title('Modulateedsignal(AM)');y1=(1+0.5*x).*sin(100*pi*t);subplot(3,1,3);plot(t,y1);xlabel('t(s)');title('Modulateedsignal');两种调制结果如下:(3)实现含有载波的幅度调制,调制信号为设,载波为,取。(1)分析调制信号的频谱,绘出其时域波形和频谱。(2)分析已调信号的频谱,绘出其时域波形和频谱。①Matlab程序为:Fs
7、=1000;Fc=40;N=1000;wc=80*pi;n=0:N-2;t=0.5/4:0.001:1.5/4;x=t;z1=fft(x,256);subplot(4,1,1);plot(t,x);gridon;legend('x(t)=t的时域波形');subplot(4,1,2);plot([-128:127],fftshift(abs(z1)));gridon;legend('x(t)=t时的频谱');y=(1+0.8*x).*cos(100*pi*t);z=fft(y,256);subplot(4,1,3);plot(t,y);gridon;legend(
8、'y(t)