语音虑波器语音虑波器.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语音虑波器语音虑波器

三:课程设计的步骤 1.语音信号的采集: 利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道),录制一段自己的话音“信号”, 时间控制在1秒左右,然后将音频文件保存“xh.wav” (2)在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。 2..语音信号的频谱分析 ①首先画出语音信号的时域波形 z1=wavread(C:\WINDOWS\system32\123.wav); plot(z1); ②对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性 z1=wavread(C:\WINDOWS\system32\123.wav); y1=z1(1:8192); Y1=fft(y1); n=0:8191; plot(n,Y1) 3. 设计数字滤波器和对信号滤波 (1)窗函数设计低通滤波器 程序设计如下: clear;close all [z1,fs,bits]=wavread(C:\WINDOWS\system32\123.wav) y1=z1(1:8192); Y1=fft(y1); fp=1000;fc=1200;As=100;Ap=1;Fs=8000; wc=2*pi*fc/Fs; wp=2*pi*fp/Fs; wdel=wc-wp; beta=0.112*(As-8.7); N=ceil((As-8)/2.285/wdel); wn= kaiser(N+1,beta); ws=(wp+wc)/2/pi; b=fir1(N,ws,wn); figure(1); freqz(b,1); x=fftfilt(b,z1); X=fft(x,8192); figure(2); subplot(2,2,1);plot(abs(Y1));axis([0,1000,0,1.0]); title(滤波前信号频谱); subplot(2,2,2);plot(abs(X));axis([0,1000,0,1.0]); title(滤波后信号频谱); subplot(2,2,3);plot(z1); title(滤波前信号波形); subplot(2,2,4);plot(x); title(滤波前信号波形); sound(x,fs,bits); (3)窗函数设计带通滤波器 程序设计如下: clear;close all [z1,fs,bits]=wavread(C:\WINDOWS\system32\123.wav) y1=z1(1:8192); Y1=fft(y1); fp1=1200 ;fp2=3000 ;fc1=1000 ;fc2=3200 ;As=100 ;Ap=1 ;Fs=8000 ; wp1=2*pi*fp1/Fs; wc1=2*pi*fc1/Fs; wp2=2*pi*fp2/Fs; wc2=2*pi*fc2/Fs; wdel=wp1-wc1; beta=0.112*(As-8.7); N=ceil((As-8)/2.285/wdel); ws =[(wp1+wc1)/2/pi,(wp2+wc2)/2/pi]; wn= kaiser(N+1,beta); b=fir1(N,ws,wn); figure(1); freqz(b,1) x=fftfilt(b,z1); X=fft(x,8192); figure(2); subplot(2,2,1);plot(abs(Y1));axis([0,1000,0,1.0]); title(滤波前信号频谱); subplot(2,2,2);plot(abs(X));axis([0,2000,0,0.0003]); title(滤波后信号频谱) subplot(2,2,3);plot(z1); title(滤波前信号波形); subplot(2,2,4);plot(x); title(滤波前信号波形); sound(x,fs,bits); (4)双线性变换法设计低通滤波器 ①选用butter 程序设计如下: clear;close all [z1,fs,bits]=wavread(C:\WINDOWS\system32\123.wav) y1=z1(1:8192); Y1=fft(y1); fp=1000;fc=1200;As=100;Ap=1;Fs=8000; wc=2*fc/Fs; wp=2*fp/Fs; [N,ws]=buttord(wc,wp,Ap,As); [b,a]=butter(N,ws); figure(1); freqz(b,a,512,Fs); x=filter(b,a

文档评论(0)

skewguj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档