- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、实验目的1.学会MATLAB的使用,掌握MATLAB的程序设计方法;2.掌握在Windows环境下语音信号采集的方法;3.掌握数字信号处理的基本概念、基本理论和基本方法;4.掌握MATLAB设计FIR和IIR数字滤波器的方法;5.学会用MATLAB对信号进行分析和处理。二.实验原理1.用窗函数法设计FIR滤波器的基本思想是在时域逼近理想滤波器的单位脉冲响应。首先根据待逼近理想频率滤波器的频率响应为HdejΩ。由IDFT求出理想滤波器的单位脉冲响应h[k]。为了获得线性相位FIR滤波器在窗函数法设计FIR滤波器的过程中,需要将线性相位因子ej(-0.5MΩ+β)加入理想滤波器的频率响应HdejΩ。2.利用双线性变换设计IIR滤波器,首先要设计出满足指标要求的模拟滤波器的传递函数,然后由通过双线性变换可得所要设计的IIR滤波器的系统函数。如果给定的指标为数字滤波器的指标,则首先要转换成模拟域指标。三.实验内容1.语音信号的采集要求利用windows下的录音机或其他软件,录制一段自己的话音,时间控制在1秒左右。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,要求理解采样频率、采样位数等概念。wavread函数调用格式:y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。[y,fs,bits]=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。y=wavread(file,N),读取前N点的采样值放在向量y中。y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量y。2.语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。3.设计数字滤波器和画出频率响应根据语音信号的特点给出有关滤波器的性能指标:1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz,As=100dB,Ap=1dB;2)高通滤波器性能指标,fc=4800Hz,fp=5000HzAs=100dB,Ap=1dB;3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,c2=3200Hz,As=100dB,Ap=1dB。要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数fir1设计FIR滤波器;然后在用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各滤波器的频率响应。4.用滤波器对信号进行滤波比较两种滤波器的性能,然后用性能好的各滤波器分别对采集的信号进行滤波,在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。5.比较滤波前后语音信号的波形及频谱要求在一个窗口同时画出滤波前后的波形及频谱。6.回放语音信号在MATLAB中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。四、实验结果及实验分析1.语音信号的采集及频谱分析Matlab程序代码如下:[y,fs,bits]=wavread(dsp.wav)y=y(:,1);sound(y,fs,bits);Y=fft(y,fs);subplot(211);plot(y);title(音频信号的时域波形);subplot(212);plot(abs(Y));title(音频信号的频域波形);axis([0,5000,0,1.2*max(abs(Y))]);1.得到的结果如下:说明录音文件的采样频率为44100HZ,采样位数为16位。2.信号的时域和频域特性:3.设计数字滤波器和画出频率响应1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz,As=100dB,Ap=1dB。(1)用Kaiser窗函数设计FIR低通滤波器:fp=1000;fc=1200;As=100;Ap=1;wc=2*pi*fc/fs;wp=2*pi*fp/fs;ws=wc-wp;deltaw=(wc+wp)/(2*pi);n0=ceil((As-8)/2.285/ws);beta=0.1102*(As-8.7);wdkai=(kaiser(n0+1,beta));b0=fir1(n0,deltaw,wdkai);figure(1);[h,w]=freqz(b0,1);plot(w*fs*0.5/pi,20*log10(a
文档评论(0)