1、画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用MATLAB设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。3课程设计基础MATLAB编程基础、数字信号处理知识、语音信号处理知识。4.具体步骤与要求4.1语音信号的采集录制一段自己的话音,或利用老师给的语音,在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。程序:I,Fs,bits=wavread(2.wav);%读取语音信号2.wavsound(I); %重放语
2、音wavrecord(2*Fs,Fs); %使用基于PC的音频输入设备4.2语音信号的频谱分析要求画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。clear all3.wav%读取语音信号3.wavY=fft(I); %进行快速傅里叶变换mag=abs(Y); %求取幅度谱 phase=angle(Y); %求取相位谱phase=phase*180/pi; %转换为Pi单位dB=20*log10(abs(Y)+eps); %求取对数幅度谱t=(0:length(I)-1)/Fs; %设置标度subplot(221);plot(t,I);title(波形图xlabel
3、(时间(s)ylabel(幅度%设置标题和横纵坐标f=(1:length(Y)*Fs/length(Y);subplot(222);plot(f,mag);幅度谱频率(Hz)频谱幅度subplot(223);plot(f,phase);相位谱频谱相位subplot(224);plot(f,dB);对数幅度谱频谱幅度(dB) 图2 时域波形和信号的频谱特性4.3设计数字滤波器,画出其频率响应曲线各滤波器的性能指标:(1)低通滤波器性能指标fp1000Hz, fs1200Hz, As40dB, Ap1dB。(2)高通滤波器性能指标fs4000Hz, fp4300Hz, As40dB, Ap1dB(
4、3)带通滤波器性能指标fp11200 Hz, fp23 000 Hz, fs11000 Hz, fs23200 Hz, As40dB, Ap1dB。要求:(1) 频率变换法设计IIR滤波器: 可以利用函数butter、cheby1、cheby2和ellip等设计。(2) (选做)设计IIR滤波器:用双线性变换法设计上面要求的3种滤波器。bilinear(3) (选做)设计FIR滤波器:用窗函数法设计上面要求的3种滤波器。可以利用函数fir1设计FIR滤波器。(4) 采用函数freqz画出各滤波器的频率响应。%LPF设计fpL=1000; %通带频率HzfsL=1200; %阻带频率HzapL=
5、1; %通带纹波DBasL=40; %阻带衰减DBWpL = fpL*2/Fs; %通带角频率radWsL = fsL*2/Fs; %阻带角频率rad%巴特沃斯低通滤波器nL,WnL = buttord(WpL,WsL,apL,asL); %求得n和Wn,n是最小阶数,Wn是截止频率bL,aL = butter(nL,WnL,low %低通滤波器传递函数系数hL,wL=freqz(bL,aL); title(巴特沃斯低通滤波器)%cheby1低通滤波器n1L,Wn1L = cheb1ord(WpL,WsL,apL,asL);b1L,a1L = cheby1(n1L,apL,Wn1L,h1L,w
6、1L=freqz(b1L,a1L);cheby1低通滤波器%cheby2低通滤波器n2L,Wn2L = cheb2ord(WpL,WsL,apL,asL);b2L,a2L = cheby2(n2L,apL,Wn2L,h2L,w2L=freqz(b2L,a2L);cheby2低通滤波器%椭圆低通滤波器n3L,Wn3L = ellipord(WpL,WsL,apL,asL);b3L,a3L = ellip(n3L,apL,asL,Wn3L,h3L,w3L=freqz(b3L,a3L);椭圆低通% HPF设计fpH=4300;fsH=4000;apH=1;asH=40;WpH = fpH*2/Fs;
7、WsH = fsH*2/Fs;%巴特沃斯高通滤波器nH,WnH = buttord(WpH,WsH,apH,asH);bH,aH = butter(nH,WnH,highhH,wH=freqz(bH,aH);巴特沃斯高通滤波器%cheby1高通滤波器n1H,Wn1H = cheb1ord(WpH,WsH,apH,asH);b1H,a1H = cheby1(n1H,apH,Wn1H,h1H,w1H=freqz(b1H,a1H);cheby1高通滤波器%cheby2高通滤波器n2H,Wn2H = cheb2ord(WpH,WsH,apH,asH);b2H,a2H = cheby2(n2H,apH,
8、Wn2H,h2H,w2H=freqz(b2H,a2H);cheby2高通滤波器%椭圆高通滤波器n3H,Wn3H = ellipord(WpH,WsH,apH,asH);b3H,a3H = ellip(n3H,apH,asH,Wn3H,h3H,w3H=freqz(b3H,a3H);椭圆高通滤波器%BPF设计fp1=1200; %通带截止频率fp2=3000;fpB=1200 3000; %通带频率fs1=1000; %阻带截止频率fs2=3200;fsB=1000 3200; %阻带频率apB=1; %通带纹波asB=40; %阻带衰减WpB = fpB*2/Fs;WsB = fsB*2/Fs;
9、nB,WnB = buttord(WpB,WsB,apB,asB);bB,aB = butter(nB,WnB);hB,wB=freqz(bB,aB);巴特沃斯带通滤波器n1B,Wn1B = cheb1ord(WpB,WsB,apB,asB);b1B,a1B = cheby1(n1B,apB,Wn1Bh1B,w1B=freqz(b1B,a1B);cheby1带通滤波器n2B,Wn2B = cheb2ord(WpB,WsB,apB,asB);b2B,a2B = cheby2(n2B,apB,Wn2B);h2B,w2B=freqz(b2B,a2B);cheby2带通滤波器n3B,Wn3B = el
10、lipord(WpB,WsB,apB,asB);b3B,a3B = ellip(n3B,apB,asB,Wn3B);% figure(10)h3B,w3B=freqz(b3B,a3B);椭圆带通滤波器4.4用滤波器对信号进行滤波,比较滤波前后语音信号的波形及频谱要求用自己设计的各滤波器分别对采集的语音信号进行滤波,并在一个窗口同时画出滤波前后的波形及频谱。(1) IIR滤波器利用函数filter对信号进行滤波;(2) FIR滤波器利用函数fftfilt对信号进行滤波。% LPF滤波且进行频谱变换%IIR低通滤波IIRyL = filter(bL,aL,x); %语音信号通过butter低通滤波
11、器IIRy1L = filter(b1L,a1L,x); %语音信号通过cheby1低通滤波器IIRy2L = filter(b2L,a2L,x); %语音信号通过cheby2低通滤波器IIRy3L = filter(b3L,a3L,x); %语音信号通过ellip低通滤波器%FIR低通滤波FIRyL = fftfilt(bL,x);FIRy1L = fftfilt(b1L,x);FIRy2L = fftfilt(b2L,x);FIRy3L = fftfilt(b3L,x);%IIR低通滤波后FFTFFTIIRyL = fft(IIRyL); %语音信号通过butter低通滤波器后FFTFFTIIRy1L = fft(IIRy1L); %语
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1