本资源提供使用MATLAB进行音频信号处理的代码,重点在于通过傅里叶变换计算频谱与功率谱密度,并演示如何利用低通和高通滤波器来过滤音频输入信号。
在MATLAB环境中完成了一项任务分配给AgamKashyap(IMT2018004),涉及信号与系统的频谱及功率谱密度的分析。采样频率设定为44100Hz,使用disp(Fs)命令可以查看该值。
观察音频信号在时域内的表现,可以看到它是一个离散且非周期性的信号;因此最适合采用DTFT(离散时间傅里叶变换)进行分析。然而由于实际应用中需要处理有限的数据范围,故而采用了DFT,并通过快速傅立叶变换得到了其频域表示。
为了对音频信号实施滤波操作,使用了MATLAB内置的butter()函数来创建一个4kHz截止频率的低通滤波器。同样地,在进行高通滤波时也应用了相同的原理和方法,但这次是针对高于4kHz部分的设计。
对于每一个处理过的音频文件(分别为X_LOW.wav与X_Hi.wav),通过逆傅立叶变换得到了它们在频域后的结果,并且利用MATLAB的impz()函数来确定信号经过滤波器后产生的脉冲响应。结果显示,无论是低通还是高通的情况,所得到的理想滤波器的脉冲响应都呈现为正弦形状。