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

语音信号处理_new重点解读.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理 语音信号处理 任务要求 选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计FIR和IIR数字滤波器, 并对被噪声污染的语音信号进行滤波, 分析滤波后信号的时域和频域特征,回放语音信号。 语音信号处理总流程 图1 语音信号处理总流程 原始信号采集及频谱分析 语音信号的读入与打开 在MATLAB中,[y,fs,bits]=wavread( E:\dwje.wav );用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。 可以使用sound(y,fs,bits),用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。 语音信号的频频分析 利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。 图2 原始信号时域和频域分析 对语音信号进行FFT变换就是为了得到它的频域的图形,便于从图中观察出信号的幅度等特性,从图中可以看出语音信号的截止频率为5000Hz。 语音信号加噪与频谱分析 在Matlab中人为设计一个固定频率6000Hz的余弦序列噪声干扰信号d=[0.05*cos(2*pi*6000*t)]。然后将噪声与原始语音信号叠加Y=y+d,叠加两信号的维数必须相同,否则无法叠加。对噪音信号进行频谱变换得到其频谱图,从图中可以看出干扰信号,在6000Hz频点处有一高峰,其中5500Hz 正是本设计所要利用的。 图3 叠加后信号时域和频域分析 设计IIR滤波器对加噪语音滤波 利用模拟滤波器设计IIR数字低通滤波器的设计流程如图4所示: 图4 IIR滤波器设计流程 滤波器参数选取 由图3观察可得,通带截止频率Wp=5000Hz,阻带截止频率Ws=5500Hz,一般情况下通带最大衰减Rp=0.1,Rs=40。 图5 IIR低通滤波器 滤波前后波形分析 图6 原始信号与滤波后信号波形比较 图7 原始信号与滤波后信号频谱比较 由图6和图7可以看出滤波前后语音信号的波形和频谱几乎一样,所以该滤波器设计合格。 设计FIR滤波器对加噪语音滤波 利用窗函数设计FIR数字低通滤波器的设计流程如图8所示: 图8 FIR滤波器设计流程 窗函数类型选取 常用的窗函数一共有矩形窗、汉宁窗、海明窗、凯泽窗。这几种窗函数的基本参数比较如表1所示,根据实际阻带最小衰减选择合适的窗函数设计FIR滤波器。 表1 几种窗函数的基本参数比较 最小阻带衰减只由窗形决定,不受N的影响,而过渡带宽则随N的增加而减小。 窗长度N的确定 通过求得的过渡带宽以及matlab所提供的ceil()函数,可以很方便的求得窗口长度N,N=ceil(6.6*pi/Tr_width)。 通过Matlab中设计的函数ideallp()求得理想冲激响应,即hd=ideallp(Wc,N)。H,w]=freqz(h,1,512)。 图9 FIR滤波器 滤波前后语音信号对比分析 滤波前后原始语音信号波形的波形和频谱比较如图10和图11所示,所以该波器设计符合题目要求。 图10 FIR滤波后语音和原语音信号波形比较 图11 FIR滤波后语音和原语音信号频谱比较 附录:(源程序代码) clc; clear; fs=22050,bits=1024; [y,fs,bits]=wavread(E:\dwje.wav); %y:语音数据;fs:采样频率;bits:采样点数 % sound(y,fs,bits); %话音回放 figure(1); %建立 subplot(2,1,1); %对图形窗口进行分割 plot(y); xlabel(time n);ylabel(amplitude);title(原始信号波形); y1=fft(y,1024); %fft就是把时域上的曲线变成频域上的曲线,所以fft变换后横坐标是频率 fx=fs*(0:511)/1024; %将横轴变为频率轴 fy=abs(y1(1:512)); %将纵轴变为频率幅度轴 subplot(2,1,2); plot(fx,fy); xlabel(频率Hz);ylabel(幅度);title(原始信号频谱); t=(0:length(y)-1)/fs; d=[0.05*cos(2*pi*6000*t)]; Y=y+d; % sound(Y,fs,bits); figure(2); subplot(2,1,1); plot(Y); xlabel(time n);ylabel(a

文档评论(0)

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

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

1亿VIP精品文档

相关文档