DSPRelated.com
Forums

Sub : Help on FSK demodulation

Started by Parthasarathy January 2, 2004
"Bevan Weiss" <kaizen__@NOSPAMhotmail.com> wrote in message news:<xtdLb.5671$9k7.118211@news.xtra.co.nz>...
> > > I can't see why k should be an integer. I accept that it allows for > much > > > easier maths in most situations, but don't see why it should be 2 as > opposed > > > to 2.5 > > > > If k is not an integer, the resulting waveform is not smooth. To see > why, > > take the bit pattern 010101, with f1 for 0 and f2 for 1. If k is not an > > integer the waveform is not smooth, there are abrupt changes. This results > > in lot more power residing in the higher frequency ranges (if u take a > > fourier transform of the waveform). If this signal were to pass thru > > any comm channel, the distortion wud be much higher. > > I thought that k was only to do with the frequency deviation, and that > whether or not the change was smooth was based more on the method used for > modulation and whether it was phase coherant or otherwise. > ie using a Direct Digital Synthesiser (DDS) with phase accumulator as the > frequency modulator would produce a phase coherant FSK signal, no abrupt > amplitude changes would be present, however an abrupt frequency change would > obviously be present at the point the frequency word of the DDS is loaded. > > In the above example it doesn't matter what the new frequency word is loaded > to, there will still be no abrupt amplitude change, the amplitude will > simply change at the newly loaded frequency.
Very true, but you'll have to determine the phase for every bit/symbol transmitted. Now, if u r designing ur own synthesizer, and if u r willing to have this additional complexity in ur logic due to that (for some other benefit ), its fine. Second, is the orthogonality. Non orthogonality is undesirable. Now orthogonality and constant phase is satisfied v. nicely if f1 = k1/T and f2 = k2/T (where k1 and k2 are integers). Now, if k1 and k2 are not exactly integers, but vary a little bit (say delta), i.e say k2 = m.k1 + delta, the signals r not v. orthogonal. For the same delta, larger the values of k1 and k2 the lesser the non-orthogonality. Jerry, I dont think I ever said there are two oscillators running. As u say, I have a v. high freq clock. I use some n samples per bit/symbol transmitted. Then send the samples to a DAC. And I'm sure u'll get a v. smooth waveform (i.e at no point the derivative becomes infinity) if k1 and k2 are integers, and for a given phase. ganesh
ganesh wrote:

   ...
> > Very true, but you'll have to determine the phase for every > bit/symbol transmitted. Now, if u r designing ur own synthesizer, and > if u r willing to have this additional complexity > in ur logic due to that (for some other benefit ), its fine.
I don't understand. Say you generate your carrier by indexing through a table of 2^n sines with a phase accumulator of n bits. Then the frequency is determined by the output rate (a conatant) and the increment to the phase accumulator. The "complexity" you speak of is simply retaining the value of the phase accumulator from one output to the next. Since that's needed even for a steady frequency, it's no added complexity at all.
> Second, is the orthogonality. Non orthogonality is undesirable. > Now orthogonality and constant phase is satisfied v. nicely > if f1 = k1/T and f2 = k2/T (where k1 and k2 are integers). > > Now, if k1 and k2 are not exactly integers, but vary a little bit (say delta), > i.e say k2 = m.k1 + delta, the signals r not v. orthogonal. For the same > delta, larger the values of k1 and k2 the lesser the non-orthogonality.
But k1 and k2 must be integers in any digital system when one looks deeply enough. It's not necessary that f1 = k1/T and f2 = k2/T, but only that f1 = k1/nT and f2 = k2/nT, where n can be very large.
> > Jerry, I dont think I ever said there are two oscillators running. As u say, > I have a v. high freq clock. I use some n samples per bit/symbol transmitted. > Then send the samples to a DAC. And I'm sure u'll get a v. smooth waveform > (i.e at no point the derivative becomes infinity) if k1 and k2 are integers, > and for a given phase.
So we see it pretty much the same way, then? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry Avins wrote:

   ...

> But k1 and k2 must be integers in any digital system when one looks > deeply enough. It's not necessary that f1 = k1/T and f2 = k2/T, but only > that f1 = k1/nT and f2 = k2/nT, where n can be very large.
KLONG! It should be "that f1 = k1/(T/n) and f2 = k2/(T/n), where n can be very large." Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Jerry Avins <jya@ieee.org> wrote in message news:<3ffee316$0$6735$61fed72c@news.rcn.com>...
> ganesh wrote: > > ... > > > > Very true, but you'll have to determine the phase for every > > bit/symbol transmitted. Now, if u r designing ur own synthesizer, and > > if u r willing to have this additional complexity > > in ur logic due to that (for some other benefit ), its fine. > > I don't understand. Say you generate your carrier by indexing through a > table of 2^n sines with a phase accumulator of n bits. Then the > frequency is determined by the output rate (a conatant) and the > increment to the phase accumulator. The "complexity" you speak of is > simply retaining the value of the phase accumulator from one output to > the next. Since that's needed even for a steady frequency, it's no added > complexity at all.
hmmm, well, I was thinking of the simplest simplest possible system, where u dont have 2^n tables, but only one table of sines and no phase accumulator. This is possible if u use f1 = k1/T and f2 = k2/T, with k1 and k2 integers. Whether this system actually satisfies ur other requirements, is a different issue. Anyway, with the current levels of integration in a chip, u may argue that 2^n sine tables r no big deal..
> > > Second, is the orthogonality. Non orthogonality is undesirable. > > Now orthogonality and constant phase is satisfied v. nicely > > if f1 = k1/T and f2 = k2/T (where k1 and k2 are integers). > > > > Now, if k1 and k2 are not exactly integers, but vary a little bit (say delta), > > i.e say k2 = m.k1 + delta, the signals r not v. orthogonal. For the same > > delta, larger the values of k1 and k2 the lesser the non-orthogonality. > > But k1 and k2 must be integers in any digital system when one looks > deeply enough. It's not necessary that f1 = k1/T and f2 = k2/T, but only > that f1 = k1/nT and f2 = k2/nT, where n can be very large.
U mean make n large to reduce the probability of error?? Agreed. >
> > Jerry, I dont think I ever said there are two oscillators running. As u say, > > I have a v. high freq clock. I use some n samples per bit/symbol transmitted. > > Then send the samples to a DAC. And I'm sure u'll get a v. smooth waveform > > (i.e at no point the derivative becomes infinity) if k1 and k2 are integers, > > and for a given phase. > > So we see it pretty much the same way, then?
yeah... ganesh