滤波器的设计(低通、带通、高通)的matalb代码

您所在的位置:网站首页 matlab简单低通滤波器 滤波器的设计(低通、带通、高通)的matalb代码

滤波器的设计(低通、带通、高通)的matalb代码

2023-07-26 21:09| 来源: 网络整理| 查看: 265

这是之前用到的几个简单的滤波器的程序,滤波器的设计比较简单。可以直接使用matlab里的FDA,导出滤波器系数即可。

再就是参考数字信号处理课本里面三种滤波器设计的方法,由过渡带和所选的窗函数推导出滤波器阶数,进一步根据firl和filter函数编写即可。

下面给出三种滤波器的简单代码:

低通:用的hanning窗

function [y]=fir_lpf(x,Fs,fs,fp) %该函数采用hanning窗实现低通滤波 %x为输入信号,fs,为采样频率 %fs,fp分别为阻带截至频率和通带截至频率 %20150615 by boat

%求对应角频率 ws=fs*2*pi/Fs; wp=fp*2*pi/Fs;

%求滤波器的最小阶数 B=ws-wp;   %过渡带宽取二者中较小的 N=ceil(6.2*pi/B);

%计算滤波器系数 wc=(ws+wp)/2; hn=fir1(N-1,wc,hanning(N)); y=filter(hn,1,x);

freqz(hn)

带通:这里用的布拉克曼窗

function [y]=fir_bpf(x,fs,fs2,fp2,fp1,fs1) %该函数采用blackman窗实现带通滤波 %x为输入信号,fs,为采样频率 %fs2,fp2分别为阻带上截至频率和通带上截至频率 %fp1,fs1分别为通带下截止频率和阻带下截至频率 %ps:输入时以上四个滤波参数按从大到小输入即可



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3