课程设计(论文)基于MATLAB的语音信号采集和窗函数法滤波.doc
《课程设计(论文)基于MATLAB的语音信号采集和窗函数法滤波.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于MATLAB的语音信号采集和窗函数法滤波.doc(19页珍藏版)》请在三一办公上搜索。
1、目录摘要01 MATLAB程序设计的基本方法 12 数字信号处理的基本理论与方法 22.1 设计理论依据 22.1.1 采样定理22.1.2 采样频率32.1.3 采样位数与采样频率33 利用MATLAB采集语言信号并分析 4 3.1 语音的录入与打开 43.2 时域信号的FFT分析43.3 程序设计源代码54 用MATLAB环境采用窗函数法设计数字滤波器 84.1 数字滤波器的设计过程84.2 利用窗函数法设计线性相位FIR数字滤波器84.2.1 常见窗函数 84.2.2 MATLAB窗函数的实现 104.3 利用hanning窗设计低通滤波器115 根据所设计的低通滤波器对语音信号进行处理
2、并分析 146 心得体会 16参考文献 171 MATLAB程序设计的基本方法MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、
3、金融建模设计与分析等领域。 MATLAB 产品族可以用来进行以下各种工作: 数值分析 数值和符号计算 工程与科学绘图 控制系统的设计与仿真 数字图像处理技术 数字信号处理技术 通讯系统设计与仿真 财务与金融工程 2 数字信号处理的基本理论与方法2.1 设计理论依据 图1 原理示意图2.1.1 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍;采样定理又称奈奎斯特定理:理想低通信道的最高大码元传输速率=2W*log
4、2 N (其中W是理想低通信道的带宽,N是电平强度)2.1.2 采样频率采样频率(也称为采样速度或者采样率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。采样频率的常用的表示符号是 f_s。2.1.3 采样位数与采样频率采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。电脑中的声音文件是用数字0和1来表示的,所以在电脑上录音的本质就是把模拟声音信号转换成数字信号。反之,在播放时则是把
5、数字信号还原成模拟声音信号输出。采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。采样位数和采样频率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。每增加一个采样位数相当于力度范围增加了6dB。采样位数越多则捕捉到的信号越精确。采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。3 利用MATLAB采集语言信号并分析3.1 语音的录入与打开利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其
6、进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。对于波形图与频谱图(包括滤波前后的对比图)都可以用MATLAB画出。我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。y,fs,bits=wavread(Blip,N1 N2),用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。N1 N2表示读取从N1点到N2点的值(若只有一个N的点则表示读取前N点的采样值)。sound(x,fs,bits); 用于对声音的回放。向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。3.2
7、 时域信号的FFT分析函数的一种调用格式为: y=fft(x)其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。且和x相同长度。若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幂次方,函数fft执行高速基2FFT算法;否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为: y=fft(x,N)式中,x,y意义同前,N为正整数。函数执行N点的FFT。若x为向量且长度小于N,则函数将x补零至长度N。若向量x的长度大于N,则函数截短x使之长度为N。若x 为矩阵,按相同方法对x进行处理。经函数fft求得的序列y一
8、般是复序列,通常要求其幅值和相位。MATLAB提供求复数的幅值和相位函数:abs,angle,这些函数一般和FFT同时使用。3.3 程序设计源代码fs=8000;x1=wavread(C:WINDOWSMediaWindows XP 关机.wav);t=(0:length(x1)-1)/8000;figure(1)plot(t,x1)grid on;axis tight;title(原始语音信号);xlabel(时间(s);ylabel(幅度);figure(2)plot(abs(fft(x1,40480);grid on;axis tight;title(原始语音信号FFT频谱)xlabel
9、(Hz);ylabel(幅度);图2 原始语音信号时域波形图3 原始语音信号频谱图4 用MATLAB环境采用窗函数法设计数字滤波器数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。4.1 数字滤波器设计的过程不论是IIR滤波器还
10、是FIR滤波器的设计都包括三步:(1) 按照实际任务的要求,确定滤波器的性能指标。(2) 用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。根据不同的要求可以用IIR系统函数,也可以用FIR系统函数去逼近。(3) 利用有限精度算法实现系统函数,包括结构选择、字长选择等。4.2 利用窗函数法设计线性相位FIR数字滤波器4.2.1常用窗函数(l) 矩形窗 矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。(2) 三角窗三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式,三角窗
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 MATLAB 语音 信号 采集 函数 滤波
链接地址:https://www.31ppt.com/p-4142365.html