And it looks like by setting the throttling rate equal to the adc_rate/decimation rate, I sample the file at the same rate the samples were written,a nd everything works perfectly. If anyone has anything to say, though, I do appreciate it.
ON THAT FRONT, though, two things remain: a) would it be useful for me to implement a basic, clean no gui that can take a file as a source? It's odd that it doesn't exist as is... b) Is there a way to shift the baseband of these samples? Given that originally there was filtering done in the USRP and TVRX to get the 6MHz bandwidth I'm using (including a heterdyne to cancel out the baseband), I'm not sure how I can go about shifting the center of the samples I have, but I'm sure it's possible. Thanks again -Jonathan 2009/8/7 Jonathan Coveney <[email protected]> > It looks like I needed to change the decimation rate. Since cfile uses 16, > I tried 16 on the side of the demodulator (instead of 200, which is the > default), and it worked. Is this how it should be? One thing that does > happen is that it KILLS my computer's processing, which I assume the > throttle should help? I did this > > self.connect (self.u, gr.throttle(gr.sizeof_gr_complex, 64000000), > chan_filt, self.guts, self.volume_control, audio_sink) > > But while it works, it still is a bit sluggish, and a bit off. Any advice? > > Sorry for the spam, it's always nice to have realizations... > > > 2009/8/7 Jonathan Coveney <[email protected]> > >> Oops, it's attached now >> >> 2009/8/7 Jonathan Coveney <[email protected]> >> >> So, the program will run, but instead of hearing anything, I just get oX >>> over and over again. >>> http://gnuradio.org/trac/wiki/UsrpFAQ/Gen#OUuainoutput >>> It doesn't look like a normal error, and doing a search, I haven't seen >>> it before. >>> >>> ./filesource_fmmod.py >>> >>> gr_fir_ccf: using SSE >>> >>> gr_fir_fff: using SSE >>> oXoXoXoXoXoXoXoXoXoXoXoXoXoX ad infinitum >>> >>> Anyone know what's up? I'll keep taking a look (and try adding a >>> throttle, for example). One possibility is that I had to manually set >>> adc_rate, so I set it to 64000000 (since it should grab a value of 64MS/s >>> from the usrp, at least according to the comment..and smaller values don't >>> seem to work, so I don't know) >>> >>> I've attached the changes I made... to make it easy to traverse, I simply >>> commented out existing code with a ## >>> >>> The code is usrp_wfm_rcv_nogui.py, modified to try and get a file source. >>> If you have any idea what that error means, or maybe where the code goes >>> wrong, your input would be appreciated (incidentally, what does the third >>> value in gr.file_source modify? the boolean) >>> >>> And a final question, when reading from a source obviously you don't have >>> to tune...but your samples were made over a given bandwidth, no? In my case, >>> I'm using the TVRX, so about 6MHz. if I want to do FM demodulation, do I >>> have to do it over the baseband? Or can I still "tune"? Is it just a matter >>> of shifting the baseband mathematically/ >>> >>> Thanks >>> >>> PS if I can get this all working easily, would it be instructive to >>> include a basic nogui example that runs based on a file? It seems decidedly >>> nontrivial. >>> >>> >>> 2009/8/7 Johnathan Corgan <[email protected]> >>> >>> On Fri, Aug 7, 2009 at 12:49, Jonathan Coveney<[email protected]> >>>> wrote: >>>> >>>> > I can't find one. The _cfile.py files will save samples to a file of >>>> my >>>> > specification, but I am trying to test using said samples, and not >>>> > succeeding. If it does not exist, I tried this: >>>> > >>>> > #self.u = usrp.source_c() # usrp is data >>>> source >>>> > self.u = gr.file_source(gr.sizeof_gr_complex, "data.dat", >>>> False) >>>> > >>>> > but there are a lot of things that I'm not sure how to manipulate, >>>> such as >>>> > the various rates that are usually drawn off the USRP, but in this >>>> case >>>> > don't necessarily apply because the samples are coming from a file? >>>> Maybe >>>> > they should just be set artificially to sort of trick the computer >>>> into >>>> > thinking that the samples ARe coming from a USRP? >>>> >>>> You're on the right track--continue to use gr.file_source. You'll >>>> need to comment out all the lines that try to set frequency, gain, >>>> etc. You can put them in a Python 'if' block and either run all the >>>> commands for the USRP, or just create the file source. >>>> >>>> The data is pulled from the file as fast as the computer can read the >>>> disk. If you want to play it back at a certain rate in wall clock >>>> time, you can insert a gr.throttle(itemsize, sample_rate) block in the >>>> pipeline. >>>> >>>> Johnathan >>>> >>> >>> >> >
_______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
