Interpolation before USRP sink

Hello to the list

I am trying to build a simple SSB transmitter using GRC - GR-3.2.2.
I use the 32Khz sampled audio source and bandpass it to reduce bandwidth
to minimum.
In order to match USRP usable interpolation, I have to set an
interpolation by 10 to the bandpass, so that 32K * 10 *
400 = 128MSPS.

I’ve actually managed to get the RF signal out of the USRP, but it isn’t
really satisfactory.
The 10-interpolated spectrum contains my baseband signal’s spectral
replicas spaced by 32kHz, as it always is the
case when interpolate.
My problem is that if I put a lowpass filter between the bandpass and
USRP sink, working at 320kHz, the CPU cannot
keep up and I get uUuUaOaO like raining.

I use an AMD-3X Phenom with 3x2.3GHz cores and Ubuntu 9.04.
Actually I see that 1 of the cores jumps to full 2.3G speed and gets
stuck at 100% usage.

From the theory I understand that we should lowpass after interpolating.
Is there any more efficient way to get rid of the spectral replicas,
working at 320kSPS?

Thanks in advance for any suggestion.

Alberto

Presentaci un amico! Invita i tuoi amici a scoprire i servizi Tiscali:
per ogni amico che attiverà un servizio Tiscali, potrai avere 30 euro di
sconto e lo stesso sconto di 30 euro verrà poi offerto al tuo amico.
Scopri come!
http://abbonati.tiscali.it/presentaci_un_amico/?WT.mc_id=01fw

On Tue, Apr 13, 2010 at 10:52 AM, Alberto T.
[email protected] wrote:

My problem is that if I put a lowpass filter between the bandpass and USRP sink, working at 320kHz, the CPU cannot
keep up and I get uUuUaOaO like raining.

If you use the gr.interp_fir_filter_XXX properly, you should not get
the spectral replicas. Make the taps as:
taps = gr.firdes.low_pass_2(1, 32e3*10, 32e3, 5e3, 80)

Those last three numbers are the bandwidth, transition band, and out
of band attenuation, so use whatever numbers you want. When you use
these taps in the interpolation filter, it should produce a cleanly
interpolated signal for you.

I use an AMD-3X Phenom with 3x2.3GHz cores and Ubuntu 9.04.
Actually I see that 1 of the cores jumps to full 2.3G speed and gets stuck at 100% usage.

That should be a powerful enough processor to run a filter at 320 kHz.
What version of GNU Radio are you running? It almost sounds like
you’re using the single threaded scheduler instead of the thread per
block. Regardless, you can get rid of the second filter if you use the
interpolating filter correctly.

Tom

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs