Hi I've been experimenting with using the FSK modem to send IP traffic over the air, using a program that creates a TUN device which modulates packets sent to it and sends the resulting IQ stream to other programs. There's also a demodulation part in it, which is where my question comes in;
In fsk_demod_core() in 2FSK mode, sd_bits are computed from the difference in received power in the 0 and 1 frequency bins. I've been reading Sklar's Digital Communications Fundamentals lately, and what is most often used are log likelyhood ratios (LLRs) which derive from the ratio between the received powers. Does anyone know why the current implementation uses a subtraction instead of a division? Some results from my current tests using rpitx and an RTL-SDR RX: 144.700 MHz, 64 kbps 2FSK -> packets detectable 300m away 144.700 MHz, 256 bps 2FSK -> packets detectable 1500m away For the 256 bps test me and a friend were driving around with my car, with the transmitter being on my balcony. The car has a Diamond VHF/UHF monopole and the balcony has a 5/8 monopole. This test also made use of soft bits in the decoder, after I changed fsk_demod_core() to output power ratios instead of differences. The unique word is located in a maximum likelyhood fashion, and the packet length is error corrected in a "majority of three" kind of way. Its one's complement is also transmitted, for checking. Here are decoded packet lengths and accompanying EbN0 estimates, when sending 0-byte pings (28 B IP packet size), starting at just over 1500 meters from the transmitter and ending up just outside my apartment: length= 3, EbN0=5.17 length= 28, EbN0=4.67 length= 28, EbN0=3.29 length= 28, EbN0=2.09 length= 28, EbN0=4.87 length= 28, EbN0=4.65 length= 28, EbN0=4.36 length= 28, EbN0=3.68 length= 28, EbN0=1.36 length= 28, EbN0=0.43 length=1038, EbN0=7.89 length= 28, EbN0=5.13 length= 28, EbN0=1.14 length= 28, EbN0=11.28 length= 28, EbN0=6.21 length= 28, EbN0=17.00 length= 28, EbN0=10.75 length= 28, EbN0=9.12 length= 28, EbN0=8.45 length= 483, EbN0=3.62 length= 28, EbN0=8.22 length= 28, EbN0=5.39 length= 28, EbN0=0.29 length= 128, EbN0=5.99 [snip] length= 28, EbN0=12.93 length= 28, EbN0=25.47 length= 28, EbN0=26.93 /Tomas _______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
