matlab滤波_FIR滤波器的Matlab实现

一、Matlab实现hamming,hanning时域窗函数相乘法。

数字滤波器都是2π归一化的,2π对应fs采样率。这一点和FFT结果是一样。采样时间离散序列,频谱以2π为周期,(也是以Fs为周期)。

% %------------------------------低通滤波器2----------------------------------

fpass=200; %通带

fstop=500; %阻带

Bslope=(fstop-fpass)/Fs*2*pi; %过渡宽度

N0=ceil(3.3*2*pi/Bslope); %滤波波长

N=N0+mod(N0+1,2); %取N为奇数,时延(N-1)/2,仍在采样点处

window = (hamming(N))'; % 海明窗计算

Wn=(fpass+fstop)/2/Fs*2; % 计算截止频率

firfilter_vect=fir1(N-1,Wn,window); % 用fir1函数设计FIR第1类滤波器,M=N-1,为滤器的阶数,也是除了当前点,前面其他需加进的点数

datay=filter(firfilter_vect,1,data); %原始数据data进行滤波,即data与firfilter_vect的卷积。

%======================================================

因为理想滤波器具有很好频率特性,但是因为其时间响应长度无限。所以我们要用一个窗函数来把它截断,hamming窗截断具有通带、阻带波动小的特点。fir1函数实现了理想低通滤波器的时域无限长序列h(t)与汉明窗window相乘,生成一个有限长的序列。即对h(t)的加窗截断。t在离散采样形式可写成h(n),

58c20c6b7865538913f5fae7c70ab168.png

fir1实现:

filter实现:h(N)卷积data。因为把理想低通变成有限长度,这正是FIR(有限长度冲击响应的由来)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值