Sample Rate Change: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
Line 54: Line 54:




The ''Interpolating FIR Filter'' will increase the sampling rate from 32 kHz to 128 kHz. Make a note of this by editing the ''Comment'' field under the ''Advanced'' tab:
The ''Interpolating FIR Filter'' will increase the sampling rate from 32 kHz to 128 kHz, a factor of 4 due to the ''interpolation_rate'' variable. Make a note of this by editing the ''Comment'' field under the ''Advanced'' tab:


[[File:AddCommentToBlock.png|500px]]
[[File:AddCommentToBlock.png|500px]]

Revision as of 22:12, 12 January 2022

Template:TutorialNavigation

This tutorial describes how to implement sample rate change within GNU Radio.

The previous tutorial, Designing Filter Taps, demonstrates how to design filter taps and use them in signal processing blocks. Please complete the Designing Filter Taps tutorial before completing this one.

Interpolation

Interpolation is the process of increasing the sampling rate and thus the available bandwidth. This example will demonstrate how to increase the sampling rate using the Interpolating FIR Filter block.

Start by adding the following blocks to the flowgraph and connect them:

  1. Two Variable blocks
  2. Low-Pass Filter Taps
  3. QT GUI Range
  4. Signal Source
  5. Interpolating FIR Filter
  6. Throttle
  7. QT Frequency GUI Sink

InterpolationFlowgraphStart.png


Edit the first of the two new variable blocks:

  • Id: interpolation_rate
  • Value: 4

Edit the second of the two new variable blocks:

  • Id: samp_rate_interpolated
  • Value: samp_rate*interpolation_rate"

Edit the properties of the Low-Pass Filter Taps block:

  • Id: lowPassTaps
  • Sample Rate (Hz): samp_rate_interpolated
  • Cutoff Freq (Hz): samp_rate_interpolated/(interpolation_rate*2)
  • Transition Width (Hz): samp_rate_interpolated/(interpolation_rate*4)

EditLowPassTapsProperties.png


Edit the properties of the QT GUI Range block:

  • Id: frequency
  • Default Value: 0
  • Start: -samp_rate/2
  • Stop: samp_rate/2

Edit the property of the Signal Source:

  • Frequency: frequency

Edit the properties of the Interpolating FIR Filter block:

  • Interpolation: interpolation_rate
  • Taps: lowPassTaps

InterpolatingFIRFilterProperties.png


The Interpolating FIR Filter will increase the sampling rate from 32 kHz to 128 kHz, a factor of 4 due to the interpolation_rate variable. Make a note of this by editing the Comment field under the Advanced tab:

AddCommentToBlock.png


The comment is then displayed as a visual reminder in GRC:

SampleRateBlockComment.png

Decimation

Rational Rate Resampling

Arbitrary Rate Resampling

  • updating sample rate variable