%----------------------------------------------------------
% MATLAB FIR语音滤波
%
% Copyright (c) 2011,Edward.xu
% zhbit
%----------------------------------------------------------
clear all;clc;
%语音采样
fs=8000; %取样频率
duration=1; %录音时间
fprintf('Press any key to start %g seconds of recording...\n',duration);
pause;
fprintf('Recording...\n');
data=wavrecord(duration*fs,fs); %duration*fs 是总的采样点数
fprintf('Finished recording.\n');
fprintf('Press any key to play the recording...\n');
pause;
wavplay(data,fs);
%FFT变换
fs=8000;N=1024; %采样频率和数据点数
n=0:N-1;t=n/fs; %时间序列
x=data; %信号
y=fft(x,N); %对信号进行快速Fourier变换
mag=abs(y); %求得Fourier变换后的振幅
f=n*fs/N; %频率序列
subplot(331);
plot(f,mag); %绘出随频率变化的振幅
axis([0,4000,0,5]);
MATLAB语音FIR滤波器处理
最新推荐文章于 2021-12-06 19:45:10 发布
该博客展示了如何使用MATLAB进行FIR滤波器的设计和应用,包括低通、高通和带通滤波器,对语音信号进行处理。通过FFT变换分析滤波前后的频谱特性,并提供了播放滤波结果的功能。
摘要由CSDN通过智能技术生成