文档详情

FIR滤波器对语音信号处理.doc

发布:2017-02-12约3.36千字共8页下载文档
文本预览下载声明
摘要 MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波 、傅里叶变换 、时域和频域分析 、声音回放以及各种图的呈现等 , 信号处理是MATLAB 重要应用的领域之一 。 本课程设计介绍了基于Matlab的对语音信号采集、处理及FIR滤波器的设计,并使之实现的过程。理解与掌握课程中的基本概念、基本原理、基本分析方法,用Matlab进行数字信号处理,并阐述了课程设计的具体方法、步骤和内容综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理Matlab 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波 、傅里叶变换 、时域和频域分析 、声音回放以及各种图的呈现等 , 信号处理是 Matlab 重要应用的领域之一 。本文是用 Matlab对含噪的的语音信号同时在时域和频域进行滤波处理和分析。整个设计思路的设计原理示意图如图 1 所示: 1.2 整体实现过程 1.2.1 信号的采样 采样器的作用是把连续信号变为脉冲或数字序列。图中示出了一个连续信号f(t)经采样器采样后变为离散信号的过程 图2 连续信号f(t)经采样器采样后变为离散信号 图中f(t)为被采样的连续信号,S(t)为周期性窄脉冲信号,fs(t)为采样后的离散信号,它用下式来表征:fs(t)=f(t)s(t) 采样信号的频率特性为: 如果|F*(jω)|中各个波形不重复搭接,相互间有一定的距离(频率)即若 即采样定理可叙述如下:如果采样周期满足下列条件,即: 式中ωmax为连续信号f(t)的最高次谐波的角频率。则采样信号f*(t)就可以无失真地再恢复为原连续信号f(t)。需要指出的是,采样定理只是在理论上给出了信号准确复现的条件。 我们可以利用windows自带的录音机录制语音文件,进行数字信号的采集。(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KH z,8位,单声道)或其他软件,将话筒输入计算机的语音输入插口上,启动录音机,录制一段自己的话音。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用进一步理解采样频率、采样位数等概念。图2是基于PC机的语音信号采集过程: 声音 图3 语音采集过程 1.2.2 语音信号的读取 在matlab软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。通过使用wavread函数,理解采样频率、采样位数等概念。 wavread函数调用格式 y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。 [y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。 y=wavread(file,N),读取钱N点的采样值放在向量y中。 y=wavread(file,[N1,N2]),读取从N1到N2点的采样值放在向量y中。 对语音信号“leo.wav”进行采样其程序如下: [y,fs,nbits]=wavread(leo.wav) 结果如下: 可知该语音信号的采样频率fs = 8000Hz ,数据位nbits = 8Bit。 1.2.3 语音信号的频谱分析 首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在Matlab 中可以利用函数fft 对信号行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序如下: [y,fs,nbits]=wavread (leo.wav ); %把语音信号进行加载入Matlab 仿真软件平台中 sound(y,fs,nbits); %回放语音信号 n = length (y) ; %求出语音信号的长度 Y=fft(y,n); %快速傅里叶变换 subplot(2,1,1);plot(y);title(原始信号波形); subplot(2,1,2);plot(abs(Y)); axis([0 18000 -20 50]);title(原始信号频谱) 附录 2 FIR数字滤波器的设计 2.1 FIR滤波器的设计原理 设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数H(z)具有指定的频率特性。数字
显示全部
相似文档