数字信号处理课程设计
---------------------------基于matlab的语音信号滤波处理
                          学院:
班号:
                姓名:
                学号:
目录:
摘要
语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。信号处理是Matlab重要应用的领域之一。
本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。
一.设计内容
  首先采集一段语音信号(.wav格式),时间在几十秒内,运用MATLAB软件,调用函数功能画出它的时域波形和频谱特性。然后设计滤波器对语音信号进行滤波,比较滤波前后的波形和特性。最后,调用sound函数回放信号,感觉滤波前后的声音变化。
二.设计原理
  1.运用快速傅里叶变换短时傅里叶变换matlab程序FFT)对信号进行傅里叶变换,得到频谱特性。
     
2.采用矩形窗设计滤波器
矩形窗的定义:一个N点的矩形窗函数定义为如下
矩形窗的主瓣宽度小(4*pi/N),具有较高的频率分辨率,旁瓣峰值-13dB,过渡带宽为1.8*pi/N,阻带最小衰减-21dB
三.设计过程
1.语音信号的采集
Matlab软件平台下, 利用函数wavread对语音信号《刘若英原来你也在这里.wav》进行采样,
并记住采样频率和采样点数。
运用函数[y,fs,bits]=wavread(D:\信号处理\tada.wav);可以得到:
采样频率:fs = 44100Hz    bits =16  Ts=26s
采样点数 N=Ts*fs    N=26*44100=11.5*105
2.语音信号的频谱分析
首先画出语音信号的时域波形, 然后对语音信号进行频谱分析。 Matlab , 可以利用函数fft对信号进行快速傅里叶变换, 得到信号的频谱特性。
程序如下:
[x1,Fs,bits]=wavread('d:\tada.wav');
sound(y,Fs,bits);
figure(1);
plot(x1);                  %做原始语音信号的时域图形
title('原始语音信号');
xlabel('time n');ylabel('volice n');