Monday, June 21, 2021

NBFM Tx Block High quad rate results in filter error

Hi all,

Could someone share why a high quadrature rate in the NBFM Transmit
Block results in a "Runtime Error: insufficient extremals"? I dont get
it. In my example, I wanted to NBFM modulate some audio. I resampled the
audio to 80kHz from 48kHz. These are the parameters in the NBFM Transmit
Block:
1. Audio Rate: int(80e3)
2. Quadrature Rate: int(8e6)
3. Tau: 75e-6
4. Max Deviation: 5e3
5. Preemphasis High Corner Freq: -1.0

When I run the flowgraph, I get the following error:
```
gr::log :ERROR: pm_remez - insufficient extremals -- cannot continue
Traceback (most recent call last):
File "/home/solomonbstoner/learn_tx_hackrf.py", line 183, in <module>
main()
File "/home/solomonbstoner/learn_tx_hackrf.py", line 161, in main
tb = top_block_cls()
File "/home/ladmin/learn_tx_hackrf.py", line 98, in init
self.analog_nbfm_tx_0 = analog.nbfm_tx(
File
"/usr/local/lib/python3/dist-packages/gnuradio/analog/nbfm_tx.py", line
52, in init
interp_taps = filter.optfir.low_pass(interp_factor, # gain
File "/usr/local/lib/python3/dist-packages/gnuradio/filter/optfir.py",
line 45, in low_pass
taps = filter.pm_remez (n + nextra_taps, fo, ao, w, "bandpass")
RuntimeError: insufficient extremals -- cannot continue
```

But when I change the Quadrature Rate to a lower value, int(80e3), the
flowgraph runs. Why? What does quad rate have to do with "extremals",
whatever that is?

Thanks
Cheers,
Sol

No comments:

Post a Comment