discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] am_rcv.py


From: Eric Hill Matlis
Subject: Re: [Discuss-gnuradio] am_rcv.py
Date: Fri, 3 Nov 2006 11:30:57 -0500 (EST)

Matt-

thanks for getting back. I've attached the code as it currently stands. What parts are out of date? The important parts (formatted slightly to fit on the screen) are:
**************************************************************************
        adc_rate = self.u.adc_rate()                # 64 MS/s
        usrp_decim = 250
        self.u.set_decim_rate(usrp_decim)
        usrp_rate = adc_rate / usrp_decim           # 256 kS/s
        chanfilt_decim = 16
        demod_rate = usrp_rate / chanfilt_decim     # 16 kHz
        audio_decimation = 1
        audio_rate = demod_rate / audio_decimation  # 16 kHz

        chan_filt_coeffs = gr.firdes.low_pass (1,           # gain
                                            usrp_rate,   # sampling rate
                                            9e3,        # passband cutoff
                                            10e3,       # stopband cutoff
                                            gr.firdes.WIN_HANN)
        self.ddc =  \
gr.freq_xlating_fir_filter_ccf(chanfilt_decim,chan_filt_coeffs,0,usrp_rate)

        self.magblock = gr.complex_to_mag()
        audio_coeffs = gr.firdes.low_pass (1.0,            # gain
                                           usrp_rate,      # sampling rate
                                           9e3,
                                           4e3,
                                           gr.firdes.WIN_HANN)
        audio_filter = gr.fir_filter_fff (audio_decimation, audio_coeffs)
*****************************************************************************

any comments? Particularly on the filter coefficients. I'm not sure yet how to select these. My requirements at this stage are to demodulate sidebands with frequencies of up to say 8 kHz riding on a 2 or 3 MHz carrier. (using the LFRX DC-50MHz daughterboard). Currently I don't care about the audio port as a sink; I simply want to display the fft's on the screen. Eventually I may want to capture to file.

thanks!

p.s.- do you have pictures of the enclosure? I just built one using an extruded aluminum case from Box Enclosures, Inc that has very similar dimensions. It's a very handsome box, only I couldn't get the TVRX module to fit; the USRP would only go in one way. If I rotated 90 (which would have allowed the TVRX to fit) then it wouldn't work because the motherboard was about 0.03" too big. There are pics of it at www.nd.edu/~ematlis/z.gnuradio/z.enclosure_pics

************************************
Eric H. Matlis, Ph.D.
Aerospace & Mechanical Engineering Dept.
120 Hessert Center for Aerospace Research
University of Notre Dame
Notre Dame, IN 46556-5684
Phone: (574) 631-6054
Fax:   (574) 631-8355

On Thu, 2 Nov 2006, Matt Ettus wrote:


Have you solved this yet?  Is it possible that you are decimating too much?

The am_rcv code is very old. I would start fresh if I were you.

Matt

Eric Hill Matlis wrote:
I do have 5 kHz sidebands, and this is verified by the location of the
peaks in the first two fft graphs.  It's just the third graph which
showed an aliased signal.  Could the filter taps be incorrect?

eric

On Thu, 26 Oct 2006, Matt Ettus wrote:

Eric Hill Matlis wrote:
Hello-

I am attempting to demodulate an A.M. modulated signal using
am_rcv.py, the USRP, an LFRX daughterboard, and the latest svn
gnuradio distribution. At present the signal is being generated by a
function generator (Stanford Research Systems Model DS345) with a 2
MHz carrier and a 5 kHz modulation. I have some questions about the
demodulation being performed by the am_rcv.py program found in the
examples directory for the usrp.

1) The first graph is labeled as "Pre-Demodulation", yet it is
actually not representative of the original waveform as it has been
downshifted to the offset frequency of 30 kHz (as I recall, there is
an issue with the USRP that requires this 30 kHz offset, but I don't
know the particulars about that, perhaps somebody can explain?).  I
would like to plot the original waveform.  Is there a way of showing
the fft of the original waveform with the carrier at 2 MHz and
sidebands at 1.995 and 2.005 MHz?

We don't need that 30 kHz offset anymore.  To show the original
waveform, just follow the code in usrp_fft.py

2)  While the second "Post Demodulation" graph correctly shows the
sidebands at +/- 5 kHz, the decimation filters are aliasing the
sideband in the "Post Filter" graph to 2.5 kHz.  I have to reduce the
"audio_decimation" from 2 to 1 to prevent this aliasing.  Why would
this be happening?  The original final decimation of 2 produces an
effective sampling rate of 32 kHz, which should be sufficient to
resolve the sideband at 5 kHz.

Sounds odd.  Are you sure you have 5 kHz sidebands?
3) What sets the limits on the axes of these graphs?  Is it possible
to modify them?

The x-axis will match the sample rates.  The Y-axis can be modified by
right-clicking.
I am hopefully going to be using the USRP and gnuradio to demonstrate
a sensor I am developing that produces AM modulated waveforms at the
Division of Fluid Dynamics APS conference in November, so I would like
to fine-tune this application as much as possible.  There will be a
booth for the commercial vendors at the meeting, and it would be cool
if I could use Gnuradio at our display in this conference.
That would be great!

Matt



Attachment: am_rcv_plasma.py
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]