On Sat, Aug 08, 2009 at 05:02:55PM -0400, Jonathan Coveney wrote:
> My goal is to be able to read a frequency other than the frequency that was
> tuned to draw samples using usrp_rcv_cfile (ie I used 93.3M, and want to be
> able to demodulate 92.5M...I'd try to use lessons learned from wfm_rcv2 but
> that uses set_rx_freq in the pipelines, which obviously I don't have access
> to)
>
> Taking a cue from this
>
http://www.nabble.com/Frequency-Hopping-td20538730.html
> I tried to shift by -.8Mhz
>
> mix_freq = -.8e6
> Cosine = gr.sig_source_f(usrp_rate,gr.GR_COS_WAVE,mix_freq,1,0)
> Sin = gr.sig_source_f(usrp_rate,gr.GR_SIN_WAVE,mix_freq,1,0)
Consider using gr.sig_source_c. It generates a complex sinusoid.
> self.connect(Cosine,(self.expjw,0))
> self.connect(Sin,(self.expjw,1))
>
> self.mixer = gr.multiply_cc()
>
> self.connect (self.u, (self.mixer, 0))
> self.connect (self.expjw, (self.mixer, 1))
>
> self.connect (self.mixer, gr.throttle(gr.sizeof_gr_complex,
> usrp_rate), chan_filt, self.guts, self.volume_control, audio_sink)
>
> I also tried using freq_xlating_fir_filter_ccf (which googling looked like
> it was overkill) to no effect. In both cases I just hear a noisy version of
> 93.3M, I can't get it to focus on something that wasn't the center of the
> frequency that my samples were taken.
gr.freq_xlating_fir_filter_ccf is the easiest way to extract one or
more frequency bands from a wider band input. usrp_wfm_rcv_sca.py
uses it to extract the SCA channel.
If all you want to do is shift a frequency use gr.sig_source_c and a gr.multiply_cc
In virtual all cases you do _not_ want to be using throttle...
Eric