基于MATLAB的语音信号的时、频域分析课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要

用MATLAB对于语音信号进行分析和处理,采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。本次设计介绍了基于MATLAB的对语音信号的采集,处理及滤波器的设计,并使之实现的过程。

关键词:MATLAB;语音信号;滤波器;加噪;除噪

目录

摘要 (1)

1 设计原理 (2)

1.1 理论原理 (2)

1.1.1采样频率 (2)

1.1.2采样位数 (2)

1.1.3采样定理 (3)

1.1.4时域信号的FFT分析 (3)

1.1.5数字信号的滤波器原理和方法 (3)

1.1.6 各种不同类型滤波器的性能比较 (4)

1.1.7离散傅立叶变换 (5)

2 信号采集及读取 (5)

3 构造受干扰信号并对其进行FFT频谱分析 (6)

4 数字滤波器设计 (10)

4.1 用窗函数法设计IIR带通滤波器 (10)

4.2 用窗函数法设计FIR低通滤波器 (12)

5信号处理 (14)

5.1 IIR带通滤波 (14)

5.2 FIR低通滤波 (16)

6心得体会 (18)

7 参考文献: (18)

1设计原理

1.1 理论原理

1.1.1 采样频率

也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

1.1.2采样位数

即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。

1.1.3采样定理

在进行模拟/数字信号的转换过程中,当采样频率fs.max 大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。

1.1.4时域信号的FFT分析

信号的频谱分析就是计算信号的傅立叶变换。连续信号与系统的傅立叶分析显然不便于用计算机进行计算,使其应用受到限制。而FFT是一种时域和频域均离散化的变换,适合数值运算,成为用计算机分析离散信号和系统的有力工具。对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。

1.1.5数字信号的滤波器原理和方法

利用有限脉冲响应(FIR)设计滤波器。有限脉冲响应滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。用N表示FIR滤波器单位脉冲响应h(n)的长度,其系统函数H(z)为

∑-=-

=

1

) (

)

(

N

n

n

z n

h

z

H··················(1.2)

H(z)是z-1的N-1次多项式,它在z平面上有N-1个零点,在原点z=0处有一个N-1重极点。因此,H(z)永远稳定。稳定和线性相位是FIR滤波器最突出的优点。

1.1.6 各种不同类型滤波器的性能比较

巴特沃斯滤波器具有单调下降的幅频特性;切比雪夫滤波器的幅频特性在通带或阻带有波纹特性,可以提高选择性;贝塞尔滤波器通带内有较好的线性相位特性;椭圆滤波器的选择性相对前三种是最好的,但通带和阻带内均呈现等波纹幅频特性,线性特性的非线性稍重。

IIR数字滤波器最大的优点是给定一组指标时,它的阶数要比相同组的FIR滤波器低得多。IIR数字滤波器的设计方法是利用模拟滤波器成熟的理论及设计图进行的,因而保留了一些典型模拟滤波器优良的幅度特性。但设计中只考虑了幅度特性,没考虑相位特性,所设计的滤波器一般是某种确定的非线性相位特性。为了得到线性相位特性,对IIR滤波器必须另外增加相位校正网络。FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。稳定和线性相位是FIR滤波器最突出的优点。

1.1.7离散傅立叶变换

2 信号采集及读取

用录音工具录一段自己的声音,转化为wav格式的文件,然后保存到MATLAB的文件夹下的work文件夹中。在MATLAB 软件平台下,利用wavread函数对语音信号进行采样,记住采样频率和采样点数。

Wavread函数调用格式:

y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。

[y,fs,nbits]=wavread(‘1.wav’);把语音信号进行载MATLAB仿真软件平台中,采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。

sound(y,fs,nbits);回放语音信号

N=length(y);求出语音信号的长度

Y=fft(y,N);傅立叶变换

调用函数y为被变换的时域系列向量,N是DFT变换区间长度,当N大于y的长度时,fft函数自动在y后面补零,函数返回y 的N点DFT变换结果向量Y。当N小于y的长度时,fft函数计算y的前面N个元素构成的N点DFT,忽略y后面的元素。首先画出

语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中利用fft对新号进行快速傅立叶变换,得到信号的频谱特性。

subplot(2,1,1);plot(y);title(‘原始信号波形’);

subplot(2,1,2);plot(abs(Y));title(‘原始信号频谱’);

程序如下:

[y,fs,nbits]=wavread('1.wav');

sound(y,fs,nbits);

N=length(y);

Y=fft(y,N);

subplot(2,1,1);

plot(y);

title('原始信号波形');xlabel('时间');ylabel('幅度');

subplot(2,1,2);

plot(abs(Y));

title('原始信号频谱');xlabel('时间');ylabel('幅度');

程序结果如下图:

相关文档
最新文档