php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 457|回复: 0

MATLAB:低通滤波器

[复制链接]

3138

主题

3148

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7946
贡献
0
注册时间
2021-4-14
最后登录
2024-11-21
在线时间
763 小时
QQ
发表于 2022-8-27 19:18:04 | 显示全部楼层 |阅读模式
[mw_shl_code=applescript,true]%带通滤波器
%系统采样频率
fs=1200
%原始信号
N=400;   
n=0:N-1;t=n/fs;  
fl=100
fh=400
y=sin(2*pi*fl*t)+sin(2*pi*fh*t);
%显示原始信号
subplot(321)
plot(t,y)
title('输入信号');xlabel('t/s');ylabel('幅度');
%对原始信号频谱分析
sfft=fft(y);  
subplot(322);
plot((1:length(sfft)/2)*fs/length(sfft),2*abs(sfft(1:length(sfft)/2))/length(sfft));
title('信号频谱');xlabel('频率/Hz');ylabel('幅度');  
%设计低通滤波器
K = 2;         
f1=60;f2=350  
w1=2*pi*f1;w2=2*pi*f2;   
Wo=sqrt(w1*w2);  
Bw=w2-w1;   
[z,p,k] = buttap(K);  
[b,a] = zp2tf(z,p,k);
[b,a] = lp2bp(b,a,Wo,Bw);  
[b1,a1] = bilinear(b,a,fs);
[H,W] = freqz(b1,a1,N,fs);  
subplot(323)
plot(W,abs(H));
title('带通滤波器');
grid on;
%滤波
y1=filter(b1,a1,y);
%显示滤波后的波形及频谱
subplot(324);  
plot(t,y1);                        
title('输出信号');xlabel('t/s');ylabel('幅度');   
y2=fft(y1);  
subplot(325);  
plot((1:length(y2)/2)*fs/length(y2),2*abs(y2(1:length(y2)/2))/length(y2));  
title('带通滤波后频谱');xlabel('频率/Hz');ylabel('幅度');  

[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-11-22 01:22 , Processed in 0.770884 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表