Am 14.01.2013 22:20, schrieb Daniel Ankers: > On 14 January 2013 20:01, Netzblockierer > <[email protected] > <mailto:[email protected]>> wrote: > > Hi, > > Using CRC does requre more buffering and resources... > You may work pretty well using the standard Forward Error > Correction as > used in DVB - Standards. > > > CRC is far from ideal, and I'm only using it because I could > understand it and find code for it quicker. I guessed this to be so... > If I could have found some code for FEC 6/7 (which I think is what > would be needed to fit in a 1400bps FDMDV channel) then I would have > used that. If I learn enough before anyone else does it, then I'll > write it, but I think other people are likely to beat me to it. Well. The Viterbi - FEC is quite XOR of all previous bits, meaning FEC 6/7 that the 7th. bit is a XOR of the bits (1; 2; ...; 6) If a single bit has changed, it can be corrected (single-bit-error-correction). A secondary error may be detected, but not corrected. In this way, you have an abequate error correction as in computing, while ECC-RAM is an 8/9 - parity code... But this is out-of-topic... > > Using Cyclic Redundancy Check is not recommended upon streaming or > voice-transmission. It only checks already recieved data, (That's why > you only use SHA-512 and MD-5 in packet-transmitting/exchanging > networks) which would result in a higher decoding latency as well as > buffer size for decoding. > > > I'm in the middle of hacking the code in fdmdv.c to give an indication > of the quality of the received symbols as well as the symbols themselves.
So it's purpose is primary to check the signal quality, isn't it? Maybe this could be coded into a seperate function, that allows stations to analyse the signal quality. E.g. a station may send out a predefined signal (a ''hello world''; it's original decoded and encoded form is known to all stations!) and the other radio reports what it has recieved. (e.g. missing bits 128-1024 of the message) Doing this on a very high frequency of short transmission bursts from both stations, this may allow an automatic adjustment for bandwith between two stationary radios. Otherwise, this signal metering function has to be done more often, (see GSM and other cellular networks such as CDMA) or in case of data transmissions, the recieving station may have to call for increasing/decreasing of signal power... However, this seems to be part of a transmission protocol, not a codec. A codec is designed to carry the encoded payload safely and decodeable. Normally, low-level protocols are used for these works, such as adjusting the connection bandwith, and frequency-management (unlike uplink and downlink frequencies in DSL). > This means that if the CRC check fails, we can flip the bits most > likely to be incorrect and see if it passes. So for a transmission, e.g. data via Codec2/FDMDV it seems very useful. Maybe this core function can become part of such a signal analysis function. A static implementation of such a CRC8 - frames remembers me to the so called ''Golden Frames'' of VP8 https://en.wikipedia.org/wiki/VP8 So using a variable, yet easy to decode FEC (propably Viterbi) mechanism inside the codec would be fine - maybe two of them in a row. It could be done as an XOR function in hardware and software with just a very few lines (maybe 20 in C) But for me it seems as if you have some kind of idea for a ''narrowband communication protocol'' (like the TDMA - multiplexed GSM protocol). Or at least you want a way to find out the advantages as well as weaknesses of Codec2 and/or radio equipment setup? > > Thanks for the insights, > Dan MD1CLV You're welcome, Netzblockierer > > > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. SALE $99.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122412 > > > _______________________________________________ > Freetel-codec2 mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412
_______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
