f1=f1(:,1); f3=f1'.*f2; figure(4);
subplot(1,1,1); fy3 = fft(f3);
plot(w1,abs(abs(fy3))); title('已调信号的频谱'); sound(f3,fs,nbits);
f4=f3.*f2; figure(5);
subplot(1,1,1); fy4=fft(f4);
plot(w1,abs(abs(fy4))); title('解调信号的频谱'); sound(f4,fs,nbits);
频谱波形如下:
4理解傅里叶变换的性质
(1)对比信号时域的尺度变换,抽取与插值变换,观察其频域中频谱的变化,回放语音信号,体会时域语音信号的变化。 (2)信号的调制与解调
语音信号与高频正弦载波相调制,比较其频谱变化,回放信号,比较时域中语音信号的变化,将调制后的信号进行调解,回放信号,比较时域中语音的变化
解调
从高频已调信号中恢复出调制信号的过程称为解调(demodulation ),又称为检波(detection )。对于振幅调制信号,解调(demodulation )就是从它的幅度变化上提取调制信号的过程。解调(demodulation )是调制的逆过程。
可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。 程序
5.设计数字滤波器; 给定滤波器的性能指标如下: (1)低通滤波器的性能指标:
fb=1000Hz,fc=1200Hz,As=100dB,Ap=1dB.
(2)高通滤波器的性能指标:fb=4800Hz,fc=5000Hz,As=100dB,Ap=1dB. (3)带通通滤波器的性能指标:
fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB. 采用窗函数法和线性变换法设计上面要求的3种滤波器,并画出滤波器的频率响应;
采用窗函数法和双线性变换法设计上面要求的3种滤波器,并画出滤波器的频率响应。
窗函数带通滤波器程序: wn=kaiser(49);
fc1=1000;fc2=3200;fs=8000; wc1=2*fc1/fs;wc2=2*fc2/fs;
b=fir1(48,[wc1 wc2],wn); freqz(b,1);
title('窗函数带通滤波器频率响应图 ') 窗函数带通滤波器频率响应图:
窗函数高通滤波器程序: wn=kaiser(49);
fc=4800;fs=22050;wc=2*fc/fs; b=fir1(48,wc,'high',wn);freqz(b,1); figure(1); freqz(b);
title('窗函数高通滤波器频率响应图 ') 窗函数高通滤波器频率响应图:
窗函数低通滤波器程序: wn=kaiser(49);
fc=1200;fs=8000;wc=2*fc/fs; b=fir1(48,wc,wn);freqz(b,1) freqz(b);
title('窗函数低通滤波器频率响应图'); 窗函数低通滤波器频率响应图:
双线性变换法带通滤波器程序:
wp1=1200/8000*2*pi;wp2=3000/8000*2*pi; ws1=1000/8000*2*pi;ws2=3200/8000*2*pi; Rp=1;Rs=100;
Wp1=tan(wp1/2);Wp2=tan(wp2/2); Ws1=tan(ws1/2);Ws2=tan(ws2/2);
BW=Wp2-Wp1;W0=Wp1*Wp2;W00=sqrt(W0); WP=1,WS=WP*(W0^2-Ws1^2)/(Ws1*BW); [N,Wn]=cheb1ord(WP,WS,Rp,Rs,'s'); [B,A]=cheby1(N,Rp,Wn,'s'); [BT,AT]=lP2BP(B,A,W00,BW); [num,den]=bilinear(BT,AT,0.5); [h,omega]=freqz(num,den,32); subplot(2,2,1);stem(omega/pi,abs(h)); xlabel('\\omega/\\pi');ylabel('|H(z)|');
subplot(2,2,2);stem(omega/pi,20*log10(abs(h))); xlabel('\\omega/\\pi');ylabel('增益,db');
双线性变换法带通滤波器频率响应图:
双线性变换法高通滤波器程序: FS=8000
F1=2800;FH=3000; wp=(FH/FS)*2*pi; ws=(F1/FS)*2*pi; OmegaP=2*FS*tan(WP/2); OmegaS=2*FS*tan(WS/2);
[N,Wn]=buttord(OmegaP,OmegaS,1,100,'s'); [b,a]=butter(N,Wn,'s'); [bz,az]=bilinear(b,a,FS); freqz(bz,az,4096,FS,'whole'); title('双线性变换法高通')
双线性变换法高通滤波器频率波形图: