Software Defined Radio with HackRF, Lesson 10 - Great Scott Gadgets

Great Scott Gadgets

Software Defined Radio with HackRF, Lesson 10


In order to clearly see my screen during the demonstrations, viewing the video in full screen mode may help. Even better: You can download this video in high resolution (720p). (torrent)

In this Lesson

  • lesson 9 homework review
  • filter frequency response
  • Finite Impulse Response (FIR) filters
  • multiply-accumulate (MAC) operations
  • convolution
  • FIR filter performance
  • HackRF One baseband filter effectiveness
  • low pass filters
  • high pass filters
  • band pass filters


  1. Create a flowgraph like the one in the video or like the screenshot below.

homework flowgraph screenshot

  1. Add two more taps with sliders to the filter in the flowgraph.

  2. Run the flowgraph and adjust the sliders to try to create a low pass filter with the stop band least 20 dB below the pass band and with a filter (pass band) bandwidth close to half the visible bandwidth. Judge the edge of the pass band as the point where the frequency response passes 3 dB below the highest response within the pass band.

  3. Create a flowgraph containing a Low Pass Filter block. (Hint: You can use a flowgraph from a previous lesson.)

  4. Execute the flowgraph or use the Generate function in GNU Radio Companion to generate the Python program output.

  5. Locate the Python program output. (Hint: The filename is listed, without its .py extension, in the Options block in the upper left corner of the flowgraph.)

  6. Use a text editor or file viewer to view the Python program and look for the firdes (FIR design) function within the program.

  7. Under what conditions is the firdes function executed?



  • I used the WX GUI option in GNU Radio Companion. The default has since changed from WX GUI to QT GUI in the Options block. If you are using a newer version of GNU Radio, you’ll need to change it back to WX GUI to follow along with my flowgraph.

Software Defined Radio with HackRF is copyright 2014, 2015 by Michael Ossmann and is released under the CC BY license.