DSPRelated.com
Forums

4FSK blind Demodulation

Started by mani.rahnama October 14, 2015
Dear all,

I am working on a four-FSK blind demodulator, and there are some problems,

I can't resolve very well.

The first one pertains to the Frequency Offset Of the received Signal.
The algorithm which is implemented uses energy per tone to decide which
symbol is transmitted. Timing offset is calculated the same way, by
finding 
the sample offset (within the symbol) that yields maximum energy on the
selected tone.
However Frequency offset in the four-fsk received signal makes this
demodulation
method full of flaws. I need a way by which I can remove the frequency
offset.
Please note that mean(InstantFreq) does not work well. The signals I am
working on have some 0 , 1, 2 , 3 patterns with unequal probability of
occurrence.


The second problem relates to unknown frequency of the tones.
The baud-rate is known to us, but in some 4fsk signals we have no idea
of what the frequency of the tones might be.
As h-index in the so called signals in NOT equal to 1,  tones can't be
seen
in the STFT or estimated spectrum of the received signal.


Do you have any recommendations to tackle with these problems?
May I know if you can share with me any document or C-files on blind
demodulation of M-FSK (M>2) signals ?

Sincerely Yours,



---------------------------------------
Posted through http://www.DSPRelated.com
mani.rahnama <109450@DSPRelated> wrote:

>I am working on a four-FSK blind demodulator, and there are some problems, >I can't resolve very well.
Not sure what you mean by "blind", maybe this means you have no good knowledge of parameters such as frequency offset etc.
>The first one pertains to the Frequency Offset Of the received Signal. >The algorithm which is implemented uses energy per tone to decide which >symbol is transmitted. Timing offset is calculated the same way, by >finding the sample offset (within the symbol) that yields maximum energy >on the selected tone.
Both the above should work. But a lot depends on when you are making these estimates relative to the signal design. Ideally, timing can be estimated during a fixed known sequence such as a header or preamble. (But maybe not having this available is what is meant by "blind".)
>However Frequency offset in the four-fsk received signal makes this >demodulation method full of flaws. I need a way by which I can remove >the frequency offset.
How large is the maximum frequency offset (in parts per million -- PPM)?
>Please note that mean(InstantFreq) does not work well. The signals I am >working on have some 0 , 1, 2 , 3 patterns with unequal probability of >occurrence.
Okay
>The second problem relates to unknown frequency of the tones. >The baud-rate is known to us, but in some 4fsk signals we have no idea >of what the frequency of the tones might be.
You are saying the modulation depth is not known.
>As h-index in the so called signals in NOT equal to 1, tones can't be >seen in the STFT or estimated spectrum of the received signal.
>Do you have any recommendations to tackle with these problems?
Well I would tackle them one at a time. First create a demodulator that works on 2-FSK with no timing offset or frequency offset. Then use it for 4-MSK, with known modulation depth. Then add timing offset, get that to work, and finally add frequency offset. When that is okay, try the unknown mosultion depths. To do the above you need a good model of the signal to use in simulations -- at the outset, just use modeled signals, not ones recovered from the hardware, until more things are working. It could be (just guessing) that you're trying to deal with too many unknowns at once. Try dealing with them one at a time. Good luck Steve