1 简介 结合数字滤波器的理论基础和设计方法,在MATLAB程序语言环境下,设计出有限长单位脉冲响应(FIR)数字滤波器,同时利用GUI界面设计FIR数字滤波器人机交互平台,该系统平台界面直观、
1 简介
结合数字滤波器的理论基础和设计方法,在MATLAB程序语言环境下,设计出有限长单位脉冲响应(FIR)数字滤波器,同时利用GUI界面设计FIR数字滤波器人机交互平台,该系统平台界面直观、操作简单且功能齐全,可实现对加噪语音信号的去噪滤波功能.平台主要包括语音信号、加噪信号、FIR数字滤波器设计和去噪信号四个模块,用户可根据读入的语音信号及噪声信号特点调整滤波器技术指标,实现滤波器的优化设计,最终达到FIR数字滤波器对语音信号的去噪处理效果.
2 部分代码
clear all;clc;
[filename,filepath]=uigetfile('.wav','Open wav file');
[y,fs]=audioread([filepath,filename]); %从电脑文件夹选择wav音频文件
b=menu('请选择选项','原始信号采样后时域图和频谱图','FIR滤波器','IIR滤波器','退出');
while(b~=4)
if b==1
temp=menu('请选择选项','播放原始语音','原始语音时域图','原始语音做FFT变换后频谱图','返回');
if temp==1
%播放语音
sound(y);
elseif temp==2
%画出原始语音时域图
figure(11)
plot(y);
xlabel('时间(ms)');
ylabel('幅值');
title('原始语音时域图');
elseif temp==3
%画出原始语音做FFT变换后频谱图
Y1=fft(y);
Y=abs(Y1);
figure(12)
plot(Y);
xlabel('频率');
ylabel('幅值');
title('原始语音做FFT变换后频谱图');
else
end
e
else
end
end
b=menu('请选择选项','原始信号采样后时域图和频谱图','FIR滤波器','IIR滤波器','退出');
end
3 仿真结果
4 参考文献
[1]凌生强, 廖柏林, 丁亮,等. 基于Matlab的FIR带通滤波器设计及DSP实现[J]. 现代电子技术, 2012, 35(9):4.