Skip to content

Commit

Permalink
gr-analog : improve the filter quality of wfm_tx block
Browse files Browse the repository at this point in the history
The resulting filter has much more stop band attenuation.
This filter will reduce the interpolation replicas.

Plus, the filter complexity is less (approx 2 times less coefficients).

The benefits can be seen on the example fm_tx.grc:
- the sprectrum adajacent channels are cleaner
- the output fm signal in time is smoother.

Signed-off-by: Adrien Michel <adriengit@users.noreply.github.com>
  • Loading branch information
adriengit committed Dec 1, 2024
1 parent 898baca commit 7b13a19
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions gr-analog/python/analog/wfm_tx.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,10 @@ def __init__(self, audio_rate, quad_rate, tau=75e-6, max_dev=75e3, fh=-1.0):

if do_interp:
interp_factor = quad_rate // audio_rate
interp_taps = filter.optfir.low_pass(interp_factor, # gain
quad_rate, # Fs
16000, # passband cutoff
18000, # stopband cutoff
0.1, # passband ripple dB
40) # stopband atten dB

interp_taps = filter.firdes.low_pass(interp_factor, # gain
quad_rate, # Fs
19000, # cutoff_freq
4000) # transition_width
print("len(interp_taps) =", len(interp_taps))
self.interpolator = filter.interp_fir_filter_fff(
interp_factor, interp_taps)
Expand Down

0 comments on commit 7b13a19

Please sign in to comment.