Hi David, Thanks for pointing me at the Octave code. I'll have to do some reading as I'm pretty sure my implementation is buggy. Regarding, the 700 bit/s mode, I do hope there will be no major change in the library version, as we have to use the distribution packaging, on stable.
Thanks, Adrian On 10/6/17, David Rowe <da...@rowetel.com> wrote: > Hi Adrian, > > There is Octave and C code for the mFSK modem we have developed in > codec2-dev, that we have tested against the ideal FSK performance > curves. Not sure I'd call it matched filter, but take a look at the code. > > It's important to check your modem implementation against theory at a > couple of points on the BER versus Eb/No curves. Very easy for bugs to > creep in. > > I'm currently working on improved quality Codec 2 at 700 bit/s, but it's > a slow process with no release date in mind. > > - David > > > On 06/10/17 10:32, Adrian Musceac wrote: >> Hi David, >> >> Thanks very much for the tips! Would you suggest that the matched >> filter approach is better for 4FSK as well? I am using it for 2FSK and >> it works well, it's just that being lazy I wanted to avoid too much >> complexity in the code for the 4FSK variant. >> >> Regarding PSK: I have several things to try and real world tests will >> show which one is more practical. Right now for PSK I am using Codec2 >> at 1400 bits as what I find a good compromise between quality and >> bitrate. This gives me just enough space for synchronization bits and >> other protocol data (which may span on multiple frames). I am >> considering moving down to 700 bits per second and I wanted to ask you >> if you think you will be making major changes to it's quality in the >> near future. This would give me 3 additional dB to play with, but at >> this point I don't think we can afford to have more than 1% errors per >> frame, as each bit carries a lot of information. >> >> I tried rate 1/2 convolutional encoding with real world tests and it >> seems to give an additional 2 dB of space. The advantage is that frame >> sizes are short, so we don't have large gaps when errors occur. On top >> of that, Viterbi soft symbol decoding and trellis to 8PSK add to the >> computational cost, which I have a low budget for. >> >> Best regards, >> Adrian >> >> On 10/6/17, David Rowe <da...@rowetel.com> wrote: >>> Hi Adrian, >>> >>> It's very important to avoid using an analog FM demodulator with FSK - >>> it's the reason C4FM/DMR are such a poor performers: >>> >>> http://www.rowetel.com/?p=3799 >>> http://www.rowetel.com/?p=4279 >>> >>> At 1% BER, Eb/Nos reqd are roughly: >>> >>> 2FSK 9dB >>> 4FSK 6dB >>> PSK 4dB >>> >>> The PSK results are for coherent demodulation, which is hard to do >>> without overhead (e.g. pilot symbols or a unique word). I suspect >>> non-coherent PSK is worse than FSK, so not worth doing unless you are >>> really concerned about bandwidth. >>> >>> The FSK results are for non-coherent demodulators which are really >>> simple to implement and get real-world results right on ideal. >>> >>> Convolutional codes are a bit old hat - we're getting gd results on HF >>> with short-ish LDPC codes. >>> >>> But best to sort out your uncoded demodulator performance first. >>> >>> Cheers, >>> >>> David >>> >>> On 05/10/17 20:05, Adrian Musceac wrote: >>>> Hi David, >>>> >>>> Thanks for the answer! I have just simulated a 2FSK modem on AWGN >>>> channel, but this time without using FM demodulation. It performs just >>>> like you said, ~2 dB worse than QPSK (at 5% frames dropped). This >>>> means that the FM demodulator I used for 2400A must be introducing >>>> some symbol errors. >>>> >>>> What I can't figure out is the 10 dB difference to analog FM. My >>>> experimental results (test in urban environment, with distances >>>> between 500 meters and 1 km between sender and receiver) show ~6 dB >>>> between QPSK and analog FM (with 2.5 kHz deviation) and no more than 4 >>>> dB between 4FSK and FM. Could the non-coherent demodulation explain >>>> this? >>>> I know I can obtain up to 6 dB SNR improvement by going to Codec2 700 >>>> bits/sec and using Viterbi soft symbol decoding, but I'd like to get >>>> the optimal results before. Would convolutional encoding in 2400A be >>>> worth considering? >>>> >>>> Thanks, >>>> Adrian >>>> >>>> ------------------------------------------------------------------------------ >>>> Check out the vibrant tech community on one of the world's most >>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >>>> _______________________________________________ >>>> Freetel-codec2 mailing list >>>> Freetel-codec2@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >>>> >>> >>> ------------------------------------------------------------------------------ >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >>> _______________________________________________ >>> Freetel-codec2 mailing list >>> Freetel-codec2@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >>> >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> Freetel-codec2 mailing list >> Freetel-codec2@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >> > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Freetel-codec2 mailing list > Freetel-codec2@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2