Designing Filter Taps: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
Line 23: Line 23:




The first couple of filter taps are displayed in a list






* variables can be more than just a scalar, they can be a python data object
* variables can be more than just a scalar, they can be a python data object

Revision as of 15:35, 11 January 2022

This tutorial will demonstrate how to create a list of filter taps and apply them within a low pass filtering block. This tutorial makes use of the flowgraph developed in the previous tutorial, Low Pass Filter Example.

Designing the Filter Taps

Begin with the flowgraph from Low Pass Filter Example, but replace the Low Pass Filter with the Frequency Xlating Filter and drag in the Low-Pass Filter Taps block:


FlowgraphFrequencyXlatingFilterStart.png


The Low-Pass Filter Taps block will design a set of filter taps that can be applied to filtering blocks. Filter taps may also be referred to as weights or coefficients. The response and performance of the filter is dependent on the parameters entered by the user. Double-click the Low-Pass Filter Taps block to open the properties. Edit the properties:

  • Id: lowPassFilterTaps
  • Cutoff Freq (Hz): samp_rate/4
  • Transition Width (Hz): samp_rate/8

LowPassFilterTapsProperties.png

The Low-Pass Filter Taps block saves the filter taps as a tuple. A tuple is a data type in Python that is like a list or array but is more flexible in that it can contain data of all different types. Tuples are represented by python by parenthesis, (item1, item2, item3). You can get more information on Python tuples here.

Double-click the Frequency Xlating FIR Filter block to edit the properties. Enter lowPassFilterTaps for Taps and leave all of the other parameters the same. Hovering over the lowPassFilterTaps variable will display information about the filter taps:

LowPassFilterTapsTuple.png


The first couple of filter taps are displayed in a list


  • variables can be more than just a scalar, they can be a python data object