基于MATLAB的音频信号分析和滤波器设计一.引言分析和处理音频信号,首先要对声音信号进行采集。Matlab的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可以直接控制声卡进行数据采集。Windows自带的录音机程序也可驱动声卡采集语音信号,并保存为wav格式文件,供matlab相关函数直接读取,写入或播放。本文以wav格式音频信号作为分析处理的输入数据,用matlab处理音频信号的流程是:先将wav格式音频信号经wavread函数转换成matlab列数组变量,再用matlab强大的运算能力进行数据分析和处理(包括时域分析,频域分析,数字滤波等)。滤波是信号处理中一种基本但十分重要的技术,利用滤波,可以从复杂信号中提取需要的信号,抑制不需要的信号。所谓滤波器,就是对已知激励,可以在时域或频域产生规定响应的网络。要使滤波器能够提取有用信号,要求滤波器对信号噪声有不同的增益,对用用信号尽量无失真放大,而对噪声尽量衰减。数字滤波器的理论和设计方法相当成熟,设计时可选用典型的窗函数,如矩形窗,三角窗,汉宁窗,海明窗,布莱克曼窗,凯塞窗等,他们有严格的设计公式和现成的曲线和图表可供参考。二.实验步骤1.录制一段声音文件,保存为wav文件。2.将wav文件导入matlab中,分析其频谱。3.将原信号加入噪声,分析其频谱。4.设计一个带通滤波器。5.将带噪声的信号通过该滤波器,再分析其频谱,并对比频谱的变化。三.实验经过1.获取音频信号用AbsoluteAudioRecorder软件录制一段音频,保存为wav格式。2.原始信号024681012x104-1-0.8-0.6-0.4-0.200.20.40.60.81原信号05001000150020002500012345673.信号加噪024681012x104-1.5-1-0.500.511.5024681012x10402004006008001000120014004.带通滤波器设计00.10.20.30.40.50.60.70.80.91-2000-100001000NormalizedFrequency(rad/sample)Phase(degrees)00.10.20.30.40.50.60.70.80.91-200-150-100-500NormalizedFrequency(rad/sample)Magnitude(dB)滤波器频域图5.滤波后的信号024681012x104-1.5-1-0.500.511.5滤波后时域图02004006008001000120000.0020.0040.0060.0080.010.0120.014滤波后频谱图