Forum: GNU Radio Re: FSK demodulation

3b1bc8ef20e4cb7473a02d4b67c77562?d=identicon&s=25 Marc Miller (Guest)
on 2014-06-20 09:39
(Received via mailing list)
On Thu, Jun 19, 2014 at 12:35 PM, Marcus Müller
<marcus.mueller@ettus.com>
wrote:

> Hi Marc,
>
> > Currently, I am trying to implement correlation receiver using FIR
> filters. I am looking into polyphase filterbank channelizer to implement
> correlation, but currently unable to do so because I currently do not
> know how to assign taps for channelizer.
>
> I should have pointed you at Tom's article on PFB channelizers and
> synthesizers [1].
>

Thanks, nice article! I am going to test it soon.


> people actually trying to implement stuff!
>
ADC in N210 is sampling at 100Msps, so you are saying that I can get
processing gain (better SNR) if I set the USRP sink sample rate higher
than
IMsps i.e usrp_sink.sample_rate(3.125e6) instead of
usrp_sink.sample_rate(1e6) . Right ?

Also I read [1] that if I oversample by 2 then I gain 3dB in SNR, if
oversample by 4 I gain 6dB in SNR and so on, is that TRUE ? If this is
true
I can get a lot of SNR improvement because ADCs are operating at
100Msps.



> >> ... encourage you to read a lot of books [1] and papers on this.
>
>
> > Thanks for the link, nice stuff.
> If you find something interesting, don't hesitate to add a new heading
> like "FSK demodulator technology" and add the references there; I think
> this list is something that could use broader usage :)
>

Sure! I 'll do that.


> discontinuity is somewhat physically impossible[2]. So these modulations
> get the spectrum of a phase-jumping system, smoothed by the spectral
> shape of the pulse shaping.
>
>
Thanks for the detail. Also, I got FSK modulator working using the VCO
:)


Marc
[1]
http://www.dsprelated.com/showmessage/72731/1.php
D17685d174fee4ca258c75cce7bc2202?d=identicon&s=25 Marcus Müller (Guest)
on 2014-06-20 10:16
(Received via mailing list)
Hi Marc,
On 20.06.2014 09:38, Marc Miller wrote:
> ADC in N210 is sampling at 100Msps, so you are saying that I can get
> processing gain (better SNR) if I set the USRP sink sample rate higher
> than IMsps i.e usrp_sink.sample_rate(3.125e6) instead of
> usrp_sink.sample_rate(1e6) . Right ? Also I read [1] that if I
> oversample by 2 then I gain 3dB in SNR, if oversample by 4 I gain 6dB
> in SNR and so on, is that TRUE ? If this is true I can get a lot of
> SNR improvement because ADCs are operating at 100Msps.
As long as your noise stays uncorrelated, and your signal samples do the
opposite, you will have this processing gain; so yes, this is basically
what is done.

So, the limiting factors here
a) the fact that you have but GigE between your host and your USRP,
meaning that you can't do more than
1e9b/s / (16 b/sample) / (2 sample/complex) = 31.25Msample/s over that
link at all, and since the the USRP can only do integer fractions of the
100MHz master rate, this will effectively be 25MS/s [1]; but even more
b) the fact that millions of samples are just *really much data* to
process, and if you can't keep up with the sample rate, then at some
point, UHD will have to drop samples, which will greatly distort your
signal.
> Thanks for the detail. Also, I got FSK modulator working using the VCO :)
Keep this going! The nice thing about GNU Radio is that you can test
your modulator in software only by replacing your USRP sink by your
receiver flow graph, usually adding a throttle[2!] to limit the CPU
usage. Have you tried looking at the spectrum of the signal you
generated, e.g. with the QT GUI waterfall sink [3]? There is BER probes,
so you can test and compare different implementations of your receiver.

I think this is a good point to drop you off to your own
experimentation, and study of the effects coming up. Have fun!

Greetings,
Marcus

[1] You can configure the device to just send 8 bit samples, but that
will limit the SNR because it introduces quantization noise, and is
usually the opposite of what you want to do in a bad-SNR situation
[2] you never use throttle in a flowgraph with hardware, because the
hardware will be there to limit your sample flow. I only mention this
because we see this mistake so often.
[3] Remember to set the Generate Option in the Options Block to QT, if
you use QT sinks.
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.