[Top][All Lists]

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

Re: [Discuss-gnuradio] FSK performance as a function of Fd?

From: Joanna Rutkowska
Subject: Re: [Discuss-gnuradio] FSK performance as a function of Fd?
Date: Sun, 16 Dec 2012 23:27:47 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0

On 12/16/12 04:32, Nathan West wrote:
> Hi! - response interleaved. (after some sucking at list management)
> -nw
> On Sat, Dec 15, 2012 at 5:48 PM, Joanna Rutkowska <
> address@hidden> wrote:
>> Hello,
>> I've been trying to understand today how does frequency deviation (Fd)
>> affect the performance of FSK modulation. More specifically how can one
>> express required receiver sensitivity (for a given bitrate and BER) as a
>> function of Fd?
>> I used to think, apparently naively, that the larger the Fd the better
>> (leaving aside spectral efficiency considerations).
> My understanding of FSK is that the most important factor is that the
> frequencies are orthogonal. It helps me to go through the math of creating
> the constellation points.
> The basis functions in FSK are cosines at whatever frequencies your choose,
> let's go with binary FSK.
> b1 = cos(2*pi*f1 * t);
> b2 = cos(2*pi*f2 * t);
> s1 = b1;
> s2 = b2;
> The constellation can be plotted by the zero-lag correlation of the symbols
> with the basis functions.
> symbol1 = [integral(0, bit time, s1.*b1 ), integral(0, bit time, s1.*b2 ) ]
> symbol0 = [integral(0, bit time, s2.*b2 ), integral(0, bit time, s2.*b2 ) ]
> Orthogonal frequencies will be at right angles (obviously), anything else
> will have an angular distance less than 90 degrees, which means they are
> "closer", so probability of bit error is worse.
> Orthogonal is basically equivalent to having an integer number of cycles in
> the bit time.
> So Fd is not so important, but orthogonality is. Somewhat
> counter-intuitive, but try giving the math a shot and playing with it in
> whatever software you use for this kind of stuff (octave, matlab, python,
> whatever).
> Here's something that I threw together in Octave pretty quickly.
> http://pastebin.com/TMMDASST
> Changing f2 to a decimal will cause non-integer number of cycles for the
> 2nd symbol, and you can see the angle change. It might help to make the
> time array something more useful, but hopefully it's good enough to see the
> concept.
>> However, I've found
>> this paper from Atemel:
>> address@hidden
> Copy/paste error, so I'll comment on what I thought of when I read this.
> Granted I've only read a couple of textbooks with discussions on FSK I've
> only seen P(BE) plots and the like focusing on E_b/N_0. The equations they
> give will assume that the symbols are orthogonal.
>> ... which shows that, for a given receiver (and other modulation params)
>> there is a value for Fd that maximizes the performance of the receiver
>> (see Figure 9-2).
>> Unfortunately I was unable to find any more generic discussion on how to
>> choose optimal Fd for a given receiver.
>> I think as long as Fd will cause an integer number of cycles in the bit
> time, you're in business.

Hi Nathan,

Thanks for the detailed answer! I did some more study and my
understating is that what you wrote above applies to (theoretical)
coherent demodulation. AFAIU nearly all practical receivers use
non-coherent demodulation (because it's cheaper, and apparently, has
about 1dB penalty only on sensitivity?). This non-coherent detection is
apparently realized using two bandpass filters centered around the two
frequencies. So, my understanding goes, in any practical realization, it
should be better (not worse at least) to use as large Fd as one can,
because it makes the job of the two filters easier...

But, it's apparently not like this. Here's the link to the Atmel paper I
mentioned before (again, please take a look at Figure 9-2):


Also, please take a look at the datesheet for the IC that is referred in
the paper above:


This is an FSK receiver from Atmel. Even though it apparently supports
only data rates between 1-20 kbps, its supported Fd is within a range of
18kHz-50kHz. This seems to contradict "your" theory above -- why would
Atmel use such a wide bandwith if they could just use no more than 20kHz
for 20kbps?


Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

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