网站大量收购闲置独家精品文档,联系QQ:2885784924

应用m的atlab对语音信号进行频谱分析及滤波.doc

应用m的atlab对语音信号进行频谱分析及滤波.doc

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

探 究 性 学 习 之 二 ?????????????????????? --应用MatLab对语音信号进行频谱分析及滤波   ? ?1.通过课下的自我的学习,加深对书本理论知识的理解,提升自身的实际应用能力; ?2.巩固所学的数字信号处理理论知识,使自身对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解; ?3.培养自我学习的能力和对相关课程的兴趣;   ????? 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出 滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语 音信号;最后,设计一个信号处理系统界面。   1.语音信号的采集 ?? 利用Windows下的录音机,录制一段自己的话音,时间在1?s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,我们很快理 解了采样频率、采样位数等概念。 2.语音信号的频谱分析 ?? 要求学生首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性, 从而加深学生对频谱特性的理解。 程序如下: ? clc;clear;close all; ? fs=22050; %语音信号采样频率为22050 ? x1=wavread(wo.wav); %读取语音信号的数据,赋给变量x1 ? sound(x1,22050); %播放语音信号 ? y1=fft(x1,1024);? %对信号做1024点FFT变换 ? f=fs*(0:511)/1024;figure(1); ? plot(x1)? %做原始语音信号的时域图形 ? title(原始语音信号);xlabel(time n);ylabel(fuzhi n); ? figure(2);freqz(x1) %绘制原始语音信号的频率响应图 ? title(频率响应图) ? figure(3);subplot(2,1,1); ? plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图?? ? title(原始语音信号FFT频谱); ? subplot(2,1,2);plot(f,abs(y1(1:512)));%同一个图??? ? title(原始语音信号频谱) ? xlabel(Hz);ylabel(fuzhi); 波形如下: ? 3. 滤波电路设计 ??? 给出低通滤波器性能指标fb=1000?Hz,fc=1200?Hz,Rs=15 dB,Rp=1?dB。并使语音信号经 过该滤波器。 程序如下: ? clc;clear;close all; ? fs=22050;x1=wavread(wo.wav); ? t=0:1/22050:(size(x1)-1)/22050; ? Au=0.03;d=[Au*cos(2*pi*5000*t)];x2=x1+d; ? wp=0.25*pi;ws=0.3*pi;Rp=1;Rs=15; ? Fs=22050;Ts=1/Fs; ? wp1=2/Ts*tan(wp/2);? %将模拟指标转换成数字指标 ? ws1=2/Ts*tan(ws/2); ? [N,Wn]=buttord(wp1,ws1,Rp,Rs,s);? %选择滤波器的最小阶数 ? [Z,P,K]=buttap(N);? %创建butterworth模拟滤波器 ? [Bap,Aap]=zp2tf(Z,P,K);[b,a]=lp2lp(Bap,Aap,Wn);?? ? [bz,az]=bilinear(b,a,Fs);? %用双线性变换法实现模拟滤波器到数字滤波器的转换 ? [H,W]=freqz(bz,az);? %绘制频率响应曲线 ? figure(1);plot(W*Fs/(2*pi),abs(H));grid ? xlabel(频率/Hz);ylabel(频率响应幅度);title(Butterworth) ? f1=filter(bz,az,x2); ? figure(2);subplot(2,1,1);plot(t,x2); %画出滤波前的时域图 ? title(滤波前的时域波形); ? subplot(2,1,2);plot(t,f1); %画出滤波后的时域图 ? title(滤波后的时域波形); ? sound(f1,22050); %播放滤波后的信号 ? F0=fft(f1,1024);f=fs*(0:511)/1024; ? figure(3) ? y2=fft(x2,1024); ? subp

文档评论(0)

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

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

1亿VIP精品文档

相关文档