Hi Marc,

demod:
both can be implemented in GNU Radio. Correlation of course is more
computationally intensive; I haven't thought about 4-FSK so far, but I
guess for quadrature demodulation, you'd need multiple branches to
distinguish the possible symbols. There are other approaches (e.g. polar
discrimination by calculating the phase difference between two samples
etc. There's an exciting new polyphase filterbank channelizer
implementation, also, which you could abuse to do FSK, too).

Generally, if you are synchronized, you might even just estimate the
frequency of a symbol. In the easiest case, this might break down to an
abs(FFT_4) (which, by the way, is mathematically *very* similar to
correlating with known frequencies).

But since you asked about low-SNR situations: Employ a lot of
oversampling, if possible. Processing gain when correlating/averaging
should be proportional to oversampling factor. Oversampling, giving you
more bandwidth, would also be beneficial if you used a filterbank
approach, since it reduces the need for frequency synchronization in a
practical system, if your FSK shift is sufficiently larger than your
frequency offset.

All in all, the question which demodulator architecture to use is an
academic/research one and not related to the implementation in GNU Radio
modulation. This is a highly interesting field and I can but encourage
you to read a lot of books [1] and papers on this.

modulation:

Assuming you don't want phase jumps between symbols, why not just use
the VCO block to generate frequencies out of your input values?

Greetings,
Marcus

[1] a nice list:
http://gnuradio.org/redmine/projects/gnuradio/wiki/SuggestedReading

On 18.06.2014 13:17, Marc Miller wrote:
> Hi, I am new to gnuradio, I want to develop 4FSK system. transmitter and
> receiver. Is there any existing 4FSK transceiver system in gnuradio ? Also,
> which one of the following two is the best/optimum 4FSK demodulator for low
> SNR?
>
> a. Quadrature demodulation
> b. Correlator demdulation (autocorrelate tones-->energy detect->pick
> largest)
>
> Which one of the above can be implemented in gnuradio ?
>
>
> Marc
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to