基于matlab的音频信号低通滤波实验
一、实验任务
- 录制语音信号,查看其时域频谱图。
- 加入高频噪声信号,并查看其时域频谱图。
- 设计低通滤波器,将带有高频噪声的语音信号经过低通滤波器,将噪声滤除,查看其输出时域频谱图。
二、仿真软件
matlab2013a
三、实验原理
- 语音信号:这次大作业录制的语音信号是WAV格式,通过audioread()函数读取了语音数字信号的采样频率和数据。数据是两列N行的矩阵,两列表示双通道立体声,我只取第一列进行处理。
- 高频噪声信号:
模拟信号噪声:xn(t)=Acos(2πft),f为噪声频率,设定8kHz。
语音信号的采样频率为fs,周期为T,则:
以语音信号采样频率对模拟噪声采样得xn(nT)=Acos(2πfnT),xn(n)=Acos(2πfn/fs),得数字噪声信号矩阵(n取值范围是1到语音信号长度N)。噪声信号矩阵与语音信号矩阵相加得到加噪信号矩阵。 - 低通滤波器设计:
这次采用IIR巴特沃斯低通滤波器。低通滤波器得技术指标为:通带边界频率fp=3000Hz,阻带边界频率Fs=4000Hz,通带最大衰减1db,阻带最小衰减60db。按照IIR设计出滤波器。因为人声在300Hz到3.4KHz,噪声得频率在8kHz,因此噪声信号被滤除,语音信号稍微缺失一点。
四、实验代码