java的滤波器效果图_FIR滤波器的设计和实现求大神来帮我?写完程序,得到图三的效果图,滤波前后的时域频域图形...

MATLAB信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。本文的FIR低通滤波器设计及主要的滤波程序如下:fs=8000;%采样频率Fs=8000Hzshuru(1:256)=sin((0:255)/fs*2...

MATLAB信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。本文的FIR低通滤波器设计及主要的滤波程序如下: fs=8000; %采样频率Fs=8000Hz

shuru(1:256)=sin((0:255)/fs*2*pi*500)+sin((0:255)/fs*2*pi*1000)+ sin((0:255)/fs*2*pi*2500); %产生长度为256的输入信号,包含500Hz、1000Hz和2500Hz的正弦波 xishu=fir1(16,1500/8000*2); %用Hamming窗得到16阶的滤波器系数

shuchu=conv(shuru,xishu); %用卷积指令conv对输入信号进行滤波 t=(0:255)/fs;

w=8000*(0:127)/256;

shuru1=fft(shuru,256); %把输入信号进行256点fft变换,用于后续画信号频谱图 shuchu1=fft(shuchu,256); %把输出信号也进行256点fft变换

subplot(2,2,1) %画出输入信号的时域图 plot(t,shuru);grid on;title('输入信号时域图');

以上是滤波器的设计以及滤波过程主要程序,画图程序简略。 程序执行结果得到的输入输出信号的时域频域图如图3所示:

图3 Matlab编程实现滤波前后的时域频域图形

程序从新整理了下 和上面一样的,下面为图

fs=8000; %采样频率Fs=8000Hz

shuru(1:256)=sin((0:255)/fs*2*pi*500)+sin((0:255)/fs*2*pi*1000)+sin((0:255)/fs*2*pi*2500);

%产生长度为256的输入信号,包含500Hz、1000Hz和2500Hz的正弦波

xishu=fir1(16,1500/8000*2); %用Hamming窗得到16阶的滤波器系数

shuchu=conv(shuru,xishu); %用卷积指令conv对输入信号进行滤波

t=(0:255)/fs;

w=8000*(0:127)/256;

shuru1=fft(shuru,256); %把输入信号进行256点fft变换,用于后续画信号频谱图

shuchu1=fft(shuchu,256); %把输出信号也进行256点fft变换

subplot(2,2,1) %画出输入信号的时域图

plot(t,shuru);grid on;title('输入信号时域图');

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值