基于FPGA的IIR滤波器的实现— MATLAB函数实现

本文详细介绍了如何使用MATLAB的butter、cheby1、cheby2、ellip和yulewalk函数设计IIR滤波器,包括它们的函数形式、参数意义及应用场景,并通过设计实例对比了各函数的性能特点。
摘要由CSDN通过智能技术生成

根据MATLAB提供的多种设计IIR数字滤波器的函数设计滤波器,采用根据原型转换法原理实现的四种IIR设计函数:butter、cheby1、cheby2、ellip、yulewalk

一、采用butter(巴特沃斯函数)设计
butter函数可以直接设计各种形式的数字滤波器,同时也可以设计模拟滤波器。
butter形式:

[b,a]=butter(n,Wn)
[b,a]=butter(n,Wn,'ftype')
[z,p,k]=butter(n,Wn)
[z,p,k]=butter(n,Wn,'ftype')
[A,B,C,D]=butter(n,Wn)
[A,B,C,D]=butter(n,Wn,'ftype')

butter函数可以设计低通、高通、带通、带阻等各种形式的滤波器

[b,a]=buttter(n,Wn)可以设计一个阶数为n、截止频率为Wn的低通滤波器,返回值b、a是系统函数的分子和分母系数。Wn为滤波器的归一化截止频率,取值范围为0-1,1对应采样频率的一半;如果Wn是一个向量[w1,w2],则构成的是阶数为2n的带通滤波器,通带范围是w1-w2。
[b,a]=butter(n,Wn,‘ftype’)可以设计高通、带阻滤波器,根据’ftype’为’high’或’stop’取决是高通还是带阻滤波器,对应的阶数分别为n和2n
[z,p,k]=butter(n,Wn)及[z,p,k]=butter(n,Wn,‘ftype’)可以得到滤波器的零、极点和增益表达式。
[A,B,C,D]=butter(n,Wn)及[A,B,C,D]=butter(n,Wn,‘ftype’)可以得到滤波器的状态空间表达形式,实际设计中很少使用这种形式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_46475176

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值