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.
For you, FEC 8/9 would be an example. But this does only work on good signal strenght... I would try to use FEC 3/4 or 4/5 - it does not buffer that much, works realtime and is easy to implement... https://en.wikipedia.org/wiki/Forward_error_correction This is the Viterbi - Version... https://en.wikipedia.org/wiki/Viterbi_decoder Using this in the codec would strenghten it's quality... For example, with a FEC 4/5 & FEC 3/4 chained, using Codec2 1200bit/s as original, you need 2.000 bit/s. (FEC 4/5 1500 bit/s -> FEC 3/4 2000 bit/s) The 800 bit/s overhead are just a 1/3 of the original - meaning you could also use FEC 2/3 instead... But chaining them may allow you to variable the bandwith depending on the signal quality. For this case, a signal-strenght - feedback system is required by a lower level, as this is very depending upon the transmission media (e.g. VoIP/SIP, Radio, etc.) Using folding/Hammond - codes would also work but require much more encoding-decoding power, and instead of Viterbi, it seems impossible to implement in hardware without SMD parts or Microcontrollers. In your case using CRC8 requires much more code and CPU load... Within the Viterbi Forward Error Correction you may reach GSM - near Error detection and correction. If implemented, both radio stations may sync like analog PSTN modems: Beginning with highest error correction level (FEC 1/2) and then reduce the Levels as much as possible. The usage of an Error-Correction in Codec2 may be very useful anyway. Maybe there is a need to implement this as well as a signaizing flag (otherwise, the encoder has to be forced to run all FEC - modes ( The maximum used in DVB is FEC 8/9 (equivalent to your CRC8!) - but for narrowband, maximum FEC 7/8 would be working. I would only implement FEC 2/3, FEC 3/4 and FEC 4/5 for such a purpose... FEC 1/2 seems a bit senseless, as it youst doubles the bandwith. 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. Regards, Netzblockierer Am 14.01.2013 13:52, schrieb Daniel Ankers: > Hi list, > I'd like to hear the effects of only playing back unvoiced frames from > a decoded stream, but can't figure out how to do this from the code. > Can anyone give me any hints on how to do this? > > There is a rationale behind this. I listen to DAB radio in my car, > and twice in the last two weeks the stream has become corrupted > somehow. I *think* that voicing information was being dropped but > unvoiced information was being played. The effect was quite scary to > listen to - it sounded like someone evil in a cheap sci-fi was > talking. However the speech was perfectly intelligible. I'd like to > know if the same is true with Codec2. > > I've got some code hacked together to add a simple CRC8 checksum to > every 48 bits of data. My plan is to use this to send 1200bps Codec2 > data over the FDMDV modem with some error detection/correction, but > this leaves the problem of what to do with uncorrectable errors. The > first thing I'd like to try doing is playing the uncorrected unvoiced > frames and dropping the uncorrected voice frames - my gut feeling is > that this has a chance of still being intelligible even if it's not > very pleasant to listen to. > > Regards, > Dan MD1CLV > > > ------------------------------------------------------------------------------ > 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
