⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firlowf.m

📁 输入自己事先录制好的语音信号
💻 M
字号:
%用fir1函数设计低通滤波器
 clf;
[y,fs,bits]=wavread('C:\MATLAB701\work\test',65535);  %将文件读进来

spectrum=fft(y,n1);                %对采样点进行fft变换
n2=length(spectrum);             %计算fft变换后向量的长度
t2=0:n2-1;   
subplot(2,2,1);
spreal=abs(spectrum)   ;        %计算fft变换后序列的实部
spimag=angle(spectrum)  ;         %计算fft变换后序列的虚部
plot(t2,spreal)                  
xlabel('k')                     %把x轴定义为w
title('原信号幅度')                   %标明此图形画的是幅度
subplot(2,2,2)
plot(t2,spimag)  ;  
xlabel('k')                     %把x轴定义为虚部
title('原信号相位')                   %把x轴定义为虚部
%设计低通滤波器
wp=1000/(fs/2);              %计算通带的频率
ws=1200/(fs/2);              %计算阻带的频率
b=fir1(90,(wp+ws)/2);      %取滤波器的阶数为90,可以改变
%freqz(b,1)                %画出滤波器的幅度相应和相位响应
y=fftfilt(b,y);            %用低通滤波器对抽样信号进行滤波
n=length(y);
xx=0:n-1;
yreal=abs(y);
yimag=angle(y);
subplot(2,2,3);
plot(xx,yreal)
xlabel('n')
ylabel('幅度');
title('经过低通滤波器后信号幅度')
subplot(2,2,4)
plot(xx,yimag);
xlabel('n');
ylabel('相位');
title('经过低通滤波器后信号相位')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -