I'm modifying fm_tx4 so that I can use wav files instead of dat files as a source, and output a file instead of sound.
I'm having issues with sample rate. I've attached the code, but here is the modified pipeline code, which is used to create the FM modulated signal from the wavfile This code works if I set mult to <= 9 (meaning in fmtx = blks2.nbfm_tx (audio_rate, if_rate, max_dev=5e3, tau=75e-6) that the if_rate has to be an integer multiple of 44.1KHz less than 9*44.1KHz). This is really vexing! If the multiple is 10 or higher, I get the error below. I need the sample rate to be higher that way I can have lots of disparate signals. It's confusing because if audio_rate is 32KHz, then if_rate can be set arbitrarily large. I can't do that, though, because the sample rate of a wav file is 44.1KHz. Your help is appreciated class pipeline(gr.hier_block2): def __init__(self, filename, lo_freq, mult): gr.hier_block2.__init__(self, "pipeline", gr.io_signature(0, 0, 0), # Input signature gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature src = gr.wavfile_source(filename,True) audio_rate=src.sample_rate() if_rate = mult * audio_rate fmtx = blks2.nbfm_tx (audio_rate, if_rate, max_dev=5e3, tau=75e-6) # Local oscillator lo = gr.sig_source_c (if_rate, # sample rate gr.GR_SIN_WAVE, # waveform type lo_freq, #frequency 1.0, # amplitude 0) # DC Offset mixer = gr.multiply_cc () self.connect (src, gr.multiply_const_ff(10), fmtx, (mixer, 0)) self.connect (lo, (mixer, 1)) self.connect (mixer, self) gr_remez: insufficient extremals -- cannot continue Traceback (most recent call last): File "./file_fm_mod_multi.py", line 156, in <module> main () File "./file_fm_mod_multi.py", line 152, in main app = stdgui2.stdapp(fm_tx_block, "Multichannel FM Tx", nstatus=1) File "/usr/local/lib/python2.5/site-packages/gnuradio/wxgui/stdgui2.py", line 36, in __init__ wx.App.__init__ (self, redirect=False) File "/opt/local/lib/python2.5/site-packages/wx-2.8-mac-unicode/wx/_core.py", line 7935, in __init__ self._BootstrapApp() File "/opt/local/lib/python2.5/site-packages/wx-2.8-mac-unicode/wx/_core.py", line 7509, in _BootstrapApp return _core_.PyApp__BootstrapApp(*args, **kwargs) File "/usr/local/lib/python2.5/site-packages/gnuradio/wxgui/stdgui2.py", line 39, in OnInit frame = stdframe (self.top_block_maker, self.title, self._nstatus) File "/usr/local/lib/python2.5/site-packages/gnuradio/wxgui/stdgui2.py", line 60, in __init__ self.panel = stdpanel (self, self, top_block_maker) File "/usr/local/lib/python2.5/site-packages/gnuradio/wxgui/stdgui2.py", line 81, in __init__ self.top_block = top_block_maker (frame, self, vbox, sys.argv) File "./file_fm_mod_multi.py", line 140, in __init__ options.sample_multiple) File "./file_fm_mod_multi.py", line 63, in __init__ fmtx = blks2.nbfm_tx (audio_rate, if_rate, max_dev=5e3, tau=75e-6) File "/usr/local/lib/python2.5/site-packages/gnuradio/blks2impl/nbfm_tx.py", line 69, in __init__ 40) # stopband atten dB File "/usr/local/lib/python2.5/site-packages/gnuradio/optfir.py", line 53, in low_pass taps = gr.remez (n + nextra_taps, fo, ao, w, "bandpass") File "/usr/local/lib/python2.5/site-packages/gnuradio/gr/gnuradio_swig_py_general.py", line 352, in remez return _gnuradio_swig_py_general.remez(*args, **kwargs) RuntimeError: gr_remez: insufficient extremals -- cannot continue
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio