[Top][All Lists]

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

Re: [Discuss-gnuradio] python/digital examples and UHD

From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] python/digital examples and UHD
Date: Mon, 6 Dec 2010 12:43:22 -0500

On Tue, Nov 30, 2010 at 4:05 AM, Moritz Fischer
<address@hidden> wrote:
> Hash: SHA1
> On 11/29/2010 03:47 PM, Tom Rondeau wrote:
> Thanks for your reply Tom,
>>> Have you used the version 2 digital code, yet (benchmark_tx2,
>>> benchmark_rx2, usrp_receive_path2, etc.)? One of the things I did was
>>> include better resampling so that you can get any bit rate you want.
>>> You still have to go through the process of selecting the USRP's
>>> sample rate that's closest to your desired rate, and then the
>>> resampling takes care of the rest.
> Well in fact that's what I was looking at. I called this the
> 'automagical' frequency selection in my last mail ;-)
> It appears to me you do this by trying all the tuples of (bitrate,
> samples_per_symbol,...) and select the one fitting 'best'.
> So please don't throw stones at me for asking this question, but from my
> understanding the required
> desired_samplerate = bitrate x samples_per_symbol / bits_per_symbol (1)

Yep: (bits/sec) x (samps/sym) / (bits/sym) = samps/sec

>>> What I do with the UHD driver is ask for a sample rate. It will then
>>> set its sample rate to whatever the closest rate it can do. You can
>>> the read back the actual sample rate of the USRP with get_samp_rate().
>>> I then use this value to determine the difference between my desired
>>> sample rate and the actual sample rate, which I then plug into the
>>> arbitrary resampler.
> So what you suggest is basically:
> 1. set_samp_rate(desired_samplerate) as in (1)
> 2. tmp = get_samp_rate()
> 3. and then resample in gnuradio according to tmp / desired_samplerate
> or did I get something wrong?

Nope, that's what I've done. Works great.

Eventually, it'd be great to put the arbitrary resampler into the
USRP. It should be easy to fit this into the N210's FPGA. But for just
use the pfb_arb_resampler_ccf block. You'll need to build a set of
filter taps for it, which you can find out how to do this in


> Please don't get me wrong because I ask a lot of questions :-)
> I don't ask you guys to do any of my work (like a thesis or the likes).
> Just in my opinion having the examples working is really important,
> because that's where new people start to look at when trying to figure
> out how stuff works.
> And nothing is more frustrating than not even managing to get the
> examples running.
> Best regards and happy hacking,
> Moritz
> Version: GnuPG v1.4.11 (GNU/Linux)
> mDKrYyqIdFbLDv0+aC62gTn0g+OVpa11yP585pZcF9tZ5A9ZwIqSEpo6iEPXH883
> q6+A3GmogTAqtaydf7seG3PkdV/HXZcAkBRtd0QgjMykKbIOG2hlDTJZsv8Ru0Iz
> /dOa6ERrxHQSrYY1DLW/e5dMrwBp8SMGdIT3RlwpuKvQyZmA9xj8rcqxNyvfHuNf
> 3KT5AFCQQbKrmGXiwb9z+09rFTHWga4hdLbfkX+L4ANz/j2eUDxomLgSVcx1vOEb
> 0Qqn1MJu2vBRceIdyiAItl3gnocWZ62EQMnvIcoDY9F7Mi9sBCWVV18CWVwPv2SU
> P+4o5wRvpV5b7nVn6U0Yi47w0/Wfz5UsYbiGMc/scrpSa0wHuYv7BXsjlOOANrmd
> RAYz0Xvk6aIq4P4RuuqeIx1AWfw0tLcQaO7BAAvanZqf6qf+HqP+oMmCQZgWzlhL
> hgDuL/7YdpUN66c8xSXivCfFZpf/FOkoKMhF1N7BQ1EM349BrgbPdL3VO0I/jEs/
> f7nsMML7FkhJdOF5IH/1QgEl+fGGMNvEmqBqfm3w/pYtUkwX4KDnc6GrHimYrk72
> QnFuv2ZWURnyNsvp7pYnH27Bu7ssyYa6DZP+Iu047Ev7iK0oMuqaQaWxDibSSL4c
> vMqE5g//R0SsNBcTtiZe
> =x5g+

reply via email to

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