基于matlab语音信号处理设计内容摘要:

过后在 matlab 软件中,利用 函数 wavread 对语音信号进行采样,记下采样频率和采样点数。 程序如下: function yuyin_00 close all。 i=1。 [x,fs,bits]=wavread(39。 E:\39。 )。 %x:语音数据; fs:采样频率; bits:采样点数 sound(x,fs,bits)。 %话音回放 N=length(x)。 n=0:N1。 figure(i)。 subplot(2,1,1)。 plot(n,x)。 %画出原始语音信号的波形 xlabel(39。 n39。 )。 ylabel(39。 x(n)39。 )。 title(39。 原始语音信号 39。 )。 subplot(2,1,2)。 [H,f]=freqz(x,1,512,fs)。 plot(f,20*log10(abs(H)))。 %画出原始语音信号的频谱 xlabel(39。 n39。 )。 ylabel(39。 x(n)39。 )。 title(39。 原始语音信号的频谱 39。 )。 运行结果: fs=22050HZ bit=16 图 是原始语音信号的波形和频谱图 语音信号的频谱分析 画出原始语音信号的时域波形,然后对语音信号进行 FFT 变换,得到原始信号的频谱特性。 FFT频谱分析程序如下: function yuyin_04 close all。 i=1。 [x,fs,bits]=wavread(39。 E:\39。 )。 %x:语音数据; fs:采样频率; bits:采样点数 sound(x,fs,bits)。 %话音回放 N=length(x)。 n=0:N1。 figure(i)。 subplot(2,1,1)。 plot(n,x)。 %画出原始语音信号的波形 xlabel(39。 n39。 )。 ylabel(39。 x(n)39。 )。 title(39。 原始语音信号 39。 )。 subplot(2,1,2)。 [H,f]=freqz(x,1,512,fs)。 plot(f,20*log10(abs(H)))。 %画出原始语音信号的频谱 xlabel(39。 n39。 )。 ylabel(39。 x(n)39。 )。 title(39。 原始语音信号的频谱 39。 )。 f=fft(x,N)。 %对语音号进行快速傅里叶变换 ,得出频谱 i=i+1。 figure(i)。 plot(abs(n),abs(f))。 xlabel(39。 k39。 )。 ylabel(39。 |y(k)|39。 )。 title(39。 FFT 后的波形 39。 )。 结果如下图: 图 原始信号的 FFT 后频谱 第五章 数字滤波器的设计 和画出其频率响应 三种滤 波器的性能指标 用窗函数法和双线性变换法设计以下三种数字滤波器,其性能指标如下: fb=1000hz ,fc=1200hz ,最大衰减 As=100db ,最小衰减Ap=1db ; fs=4800hz,fb=5000hz, 最大衰减 As=100db ,最小衰减Ap=1db ; fb1=1200hz, fb2=3000hz , fc1=1000hz, fc2=3200hz,最大衰减 As=100db ,最小衰减 Ap=1db ; 通过以上的 性能指标设计出 FIR 与 IIR 两大种不同的数字滤波器。 FIR 滤波器的性能比较 FIR:Finite Impulse response,有限冲击响应 IIR:Infinite Impulse response,无限冲击响应 IIR与 FIR 滤波器的性能比较如下图 所示 : IIR DF FIR DF ( 1)相位一般是非线性的 ( 1)相位可以做到严格线性 ( 2)不一定稳定 ( 2)一定是稳定的 ( 3)不能用 FFT 作快速卷积 ( 3)信号通过系统可采用快速卷积 ( 4)一定是递归结构 ( 4)主要是 非递归结构,也可含递归环节 ( 5)对频率分量的选择性好(零极点可同时起作用) ( 5)选择性差 ( 6)相同性能下阶次较低 ( 6)相同性能下阶次高 ( 7)有噪声反馈,噪声大 ( 7)噪声小 ( 8)运算误差大,有可能出现极限环振荡 ( 8)运算误差小,不会出现极限环振荡 ( 9) 设计有封闭形式的公式,一 ( 9)没有封闭形式的设计公式,须靠经验与反复调试 次完成 ( 10)对计算手段的要求较低 ( 10)一般需用计算机计算 ( 11)主要用于设计分段常数的标准低通、高通、带通、带阻和全通滤波器 ( 11)还可设计正交变换器、微分器、线性预测器、回波抵消器、均衡器、线性调频器等各种网络,适用范围广 IIR与 FIR 两种滤波器性能比较图 从上面 表格 简单比较我们可以看到 IIR 与 FIR 滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。 例如,从使用要求上来看,在对相位要求不敏感的场合,如语言通讯等,选用 IIR 较为合适,这 样可以充分发挥其经济高效的特点,而对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高,如果有条件,采用 FIR 滤波器较好,当然,在实际应用中应考虑经济上的要求以及计算工具的条件等多方面的因素。 整体来看, IIR 滤波器达到同样效果阶数少,延迟小,但是有稳定性问题,非线性相位; FIR 滤波器没有稳定性问题,线性相位,但阶数多,延迟大。 而不论是 IIR 滤波器还是 FIR 滤波器的设计都包括三个步骤: (1) 按照实际任务的要求,确定滤波器的性能指标。 (2) 用一个因果、稳定的离散线性时不变系统的系统函 数逼近性能要求。 根据系统的不同的要求可以考虑用 IIR 系统函数或 FIR系统函数去逼近。 (3) 利用有限精度算法实现系统函数,包括结构选择、字长选择等。 设计 FIR 滤波器 低通滤波器设计 程序设计如下: fp=1000。 fs=1200。 As=120。 Fs=22050。 %确定技术指标 wp=2*pi*fp/Fs。 ws=2*pi*fs/Fs。 %求归一化频率 wo=wswp。 %求过渡带 beta=*()。 %求凯泽窗函数参数 N=ceil((As8)/)。 %由过渡带决定 N的值 wc=(wp+ws)/2/pi。 b=fir1(N,wc,kaiser(N+1,beta))。 [Hw,w]=freqz(b,1)。 figure(1)。 plot(w*Fs/2/pi,20*log10(abs(Hw)))。 %绘制 频率响应曲线 grid。 title(39。 FIR 低通滤波器 39。 )。 输出仿真结果: 图 高通滤波器设计 程序如下: fp=5000。 fs=4800。 Fs=22050。 As=135。 %确定技术指标 wp=2*pi*fp/Fs。 ws=2*pi*fs/Fs。 %求归一化频率 wo=wpws。 %求过渡带 beta=*()。 %求凯泽窗函数参数 N=ceil((As8)/)。 %由过渡带决定 N 的值 wc=(wp+ws)/2/pi。 b=fir1(N,wc,39。 high39。 ,kaiser(N+1,beta))。 [Hw,w]=freqz(b,1)。 figure(1)。 plot(w*Fs/2/pi,20*log10(abs(Hw)))。 grid。 title(39。 FIR 高通滤波器的幅频特性 39。 )。 输出仿真结果如下: 图 带通滤波器的设计 程序如下: fb1=1000。 fc1=1200。 fb2=3000。 fc2=3200。 %确定技术指标 rs=120。 Fs=22050。 wp1=2*pi*fc1/Fs。 ws1=2*pi*fb1/Fs。 %求归一化频率 wp2=2*pi*fb2/Fs。 ws2=2*pi*fc2/Fs。 wo1=wp1ws1。 wo2=ws2wp2。 wo=max(wo1,wo2)。 %求过渡带 beta=*()。 %求凯泽窗函数参数 N=ceil((rs8)/)。 %由过渡带决定 N的值 wn1=(fb1+fc1)/Fs。 wn2=(fb2+fc2)/Fs。 wn=[wn1,wn2]。 b=fir1(N,wn,39。 band39。 ,kaiser(N+1,beta))。 [Hw,w]=freqz(b,1,512,Fs)。 figure(1)。 plot(w,20*log10(abs(Hw)))。 %绘制频率响应曲线 grid。 title(39。 FIR 带通滤波器 39。 )。 仿真结果如下: 图 设计 IIR 滤波器 低通滤波器的设计 程序设计如下: fp=1000。 fs=1200。 Fs=22050。 %确定技术指标 Ap=1。 As=10。 wp=2*pi*fp/Fs。 %归一化,求得数字边缘频率 ws=2*pi*fs/Fs。 Ts=1/Fs。 wap=2/Ts*tan(wp/2)。 %将数字指标转换成模拟指标 was=2/Ts*tan(ws/2)。 [N,wc]=buttord(wap,was,Ap,As,39。 s39。 )。 %选择滤波器的最小阶数 [z,p,k]=buttap(N)。 %创建 butterworth 模拟滤波器 [Bap,Aap]=zp2tf(z,p,k)。 [b,a]=lp2lp(Bap,Aap,wc)。 [bz,az]=bilinear(b,a,Fs)。 %用双线性变换法实现模拟滤波器到数字滤波器的转换 [H,w]=freqz(bz,az)。 figure(1)。 plot(w*Fs/(2*pi),20*log10(abs(H)))。 %绘制频率响应曲线 grid。 axis([0,3000,20,2])。 xlabel(39。 频率/ Hz39。 )。 ylabel(39。 幅度 /dB39。 )。 title(39。 巴特沃兹低通滤波器 39。 )。 仿真结果如下: 图 巴特沃兹低通滤波器的幅频特性 高通滤波器设计 程序设计 如下: fp=5000。 fs=4800。 Fs=22050。 %确定技术指标 Ap=1。 As=10。 wp=2*pi*fp/Fs。 %归一化,求得数字边缘频率 ws=2*pi*fs/Fs。 Ts=1/Fs。 wap=2/Ts*tan(wp/2)。 %将数字指标转换成模拟指标 was=2/Ts*tan(ws/2)。 [N,wc]=buttord(wap,was,Ap,As,39。 s39。 )。 %选择滤波器的最小阶数 [z,p,k]=buttap(N)。 %创建 butterworth 模拟滤波器 [Bap,Aap]=zp2tf(z,p,k)。 [b,a]=lp2hp(Bap,Aap,wc)。 [bz,az]=bilinear(b,a,Fs)。 %用双线性变换法实现模拟滤波器到数字滤波器的转换 [H,w]=freqz(bz,az)。 figure(1)。 plot(w*Fs/(2*pi),20*log10(abs(H)))。 %绘制频率响应曲线 grid。 axis([3000,6000,20,2])。 xlabel(39。 频率/ Hz39。 )。 ylabel(39。 幅度 /dB39。 )。 title(39。 巴特沃兹高通滤波器 39。 ); 仿真结果如下: 图 巴特沃兹高通滤波器的幅频特性 带通滤波器设计 程序设计如下: fp1=1200。 fp2=3000。 fs1=1000。 fs2=3200。 Fs=22050。 %确定技术指标 Ap=1。 As=10。 wp1=2*pi*fp1/Fs。 wp2=2*pi*fp2/Fs。 %归一化,求得数字边缘频率 ws1=2*pi*fs1/Fs。 ws2=2*pi*fs2/Fs。 Ts=1/Fs。 wap1=2/Ts*tan(wp1/2)。 wap2=2/Ts*tan(。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。