octave滤波器设计

在octave中设计滤波器,会提示软件包属于Octave Forge。

百度Octave Forge,进入。在Files->Octave Forge Packages,选择最新Individual Package Releases。里面有大量软件包。这里的部分软件包已经包含在ubuntu源中,其中的滤波器设计在octave-signal中,可以sudo apt-get install octave-signal安装,在ubuntu14.04中,signal版本是1.2.2,比这里要旧。可以下载signal-1.3.2.tar.gz,然后在octave中用命令pkg install 安装(一般安装到home),然后load,就可以用了。使用pkg install -auto 安装则自动load,更方便。如果 sudo octave 启动,则pkg安装到/usr/local/share/octave/packages中。

软件包中实际主要是众多的.m文件组成。例如fir1.m是用来设计滤波器的。从ubuntu源安装的话,位于/usr/share/octave/packages/signal-1.2.2中,浏览fir1.m可以看到用法说明及例子,或在octave中用help fir1查看使用说明。

1, FIR 滤波器设计

## usage: b = fir1(n, w [, type] [, window] [, noscale]) ......

## Examples:
##   freqz(fir1(40,0.3));
##   freqz(fir1(15,[0.2, 0.5], 'stop'));  # note the zero-crossing at 0.1
##   freqz(fir1(15,[0.2, 0.5], 'stop', 'noscale'));

可以直观看到滤波器响应。输入参数是归一化频率。

设计好后,使用Hn=fir1(40,0.3);得到滤波器系数。

firls可以用来设计最优化线性相位FIR滤波器,滤波器几乎可以是任意响应的。一个设计多带通滤波器的例子:

freqz(firls(100,[0 .1,.15 .25,.3 .4,.45 .55,.6 1],[0 0 1 1 0 0 1 1 0 0],[20 1 20 1 20]))

设计了两个通带的带通滤波器。


2, IIR 滤波器设计

    IIR 滤波器包括了 巴特沃思、切比雪夫I, II、椭圆等等。

例如 设计切比雪夫II型低通滤波器

(1) 确定参数   [n,wc]=cheb2ord(0.0002,0.001,1,80)

n =  5
wc =  0.0010000
(2)设计滤波器 [b,a]=cheby2(5,80,0.001)

b =
   7.8431e-07  -2.3529e-06   1.5686e-06   1.5686e-06  -2.3529e-06   7.8431e-07
a =
   1.00000  -4.99721   9.98886  -9.98330   4.98887  -0.99722

(3)查看响应 freqz(b,a)。

这是一个通带很窄的低通滤波器,只有频带的万分之二。freqz缺省显示512频点,可以指定点数如freqz(b,a,32768),显示32768频点。然后放大看,幅度特性在低频有很大波动。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值