Matlab7.0
程序如下: dt=0.001; fs=1/dt; t=-0.2:dt:0.2; fc=250; m=sinc(200*t); subplot(421);plot(t,m); axis([-0.2 0.2 -1.2 1.2]); title('原始信号'); c=cos(2*pi*fc.*t); d=sin(2*pi*fc.*t); u=(m.*c-imag(hilbert(m)).*d)/2; v=(m.*c+imag(hilbert(m)).*d)/2; subplot(423);plot(t,u); axis([-0.1 0.1 -1.2 1.2]); title('上边带调制信号'); subplot(425);plot(t,v); title('下边带调制信号'); axis([-0.1 0.1 -1.2 1.2]); F_m=dt*fft(m); F_u=dt*fft(u); F_v=dt*fft(v); f=linspace(-fs/2,fs/2,length(m)); subplot(422); plot(f,abs(fftshift(F_m))); title('原始信号频谱'); subplot(424); plot(f,abs(fftshift(F_u))); title('上边带调制信号频谱'); subplot(426); plot(f,abs(fftshift(F_v))); title('下边带调制信号频谱'); y=v.*c; F_y=dt*fft(y); H=zeros(size(f)); f_cutoff=100; l=fs/length(m); n=floor(f_cutoff/l); H(1:n)=4*ones(1,n); l1=length(m)-n; H(length(m)-n:length(m)-1)=4*ones(1,n); Z=F_y.*H; subplot(428); plot(f,abs(fftshift(Z))); title('解调信号频谱'); z=fs*real(ifft(Z)); subplot(427); plot(t,z); axis([-0.1 0.1 -1.2 1.2]); title('解调信号');
结果: