# Filter design

**URL:** <https://www.ruby-forum.com/t/filter-design/231139>\
**Category:** GNU Radio\
**Created:** [July 23, 2014, 2:02pm UTC](https://www.ruby-forum.com/t/filter-design/231139 "2014-07-23T14:02:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [July 23, 2014, 2:02pm UTC](https://www.ruby-forum.com/t/filter-design/231139/1 "2014-07-23T14:02:42Z")

</div>

Hello,

GNURadio offers three different interfaces to design filters from Python  
code: gnuradio.filter.firdes.xxx, gnuradio.filter.firdes.xxx\_2, and  
gnuradio.filter.optfir.xxx.

The three interfaces use different parameters to specify the filter  
properties, but the only obvious difference is that the optfir is coded  
in python and thus not available to be used elsewhere.

Which one is recommended to use? Can anyone suggest a reference that  
explains how the filter taps are computed?

In my data analysis code I usually use Butterworth filters. If there is  
any analogy, how do those map to the filters designed with the above  
tools?

Thanks. Best,  
Daniele

---

<div class="post-metadata">

**Author:** ![Daniele\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/74df32/32.png) [@Daniele\_N](https://www.ruby-forum.com/u/Daniele_N)\
**Post date:** [July 23, 2014, 2:31pm UTC](https://www.ruby-forum.com/t/filter-design/231139/2 "2014-07-23T14:31:02Z")

</div>

On 23/07/2014 14:01, Daniele N. wrote:

> Which one is recommended to use? Can anyone suggest a reference that  
> explains how the filter taps are computed?
> 
> In my data analysis code I usually use Butterworth filters. If there is  
> any analogy, how do those map to the filters designed with the above tools?

Partially answering my own questions:

[http://gnuradio.squarespace.com/examples/2010/9/12/basic-filtering.html](http://gnuradio.squarespace.com/examples/2010/9/12/basic-filtering.html)

Cheers,  
Daniele

---

<div class="post-metadata">

**Author:** ![Daniele\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/74df32/32.png) [@Daniele\_N](https://www.ruby-forum.com/u/Daniele_N)\
**Post date:** [July 23, 2014, 3:48pm UTC](https://www.ruby-forum.com/t/filter-design/231139/3 "2014-07-23T15:48:12Z")

</div>

On Wed, Jul 23, 2014 at 8:29 AM, Daniele N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> > 
> 
> Cheers,  
> Daniele

There’s also the manual page on filtering in GR:

> **[GNU Radio Manual and C++ API Reference: Filter Signal Processing Blocks](https://www.gnuradio.org/doc/doxygen/page_filter.html)**

Tom
