Hi,

First of all, a small note that yesterday I pushed a new version to the gmsk modem for codec2. There is one thing that has been changed: I've put the "bitslip" code back in that was removed when porting the D-STAR version of the modem to codec2.

For reference, the system works like this:
According the specification writen by Peter, the 4800 bps stream of a codec2 voice stream has the following structure:
- 24 bits syncronisation pattern
- 168 bits of voice. (40 ms, 1400 bps, 1/3 FEC).

In my application, what is concidered a valid sync?
- the sync-pattern with no bitslip: i.e. the sync is located in positions 0 up to 23. In this case, up to three biterrors allowed - the sync-pattern with a bitslip of 1: i.e. positions 1 up-to 24 or -1 (last bit of previous frame) to 22. Here, up to one biterrror is allowed - the sync-pattern with a bitslip of 2: i.e. either positions 2 up to 25 or -2 up to 21. Now, no biterrors are allowed.

Of course, this criteria are all pretty much program ad hoc. They are not part of specifications.


If a bitslip is detected, the whole structure is shifted one or two positions to the left or right to correct the syncronisation-error.


The goal of the bitslip system it to be able to correct cases where a stream has been unreachable for a certain time (e.g. somebody drives down in a tunnel) and timing-differences between then clock of the transmittor and the sender has resulted the normal "0-to-1 / 1-to-0" syncronisation system not working.



Now, there is also a second issue I like to discuss with the group:

When listening to the stream generated by the codec2 gmsk modem, I noticed it has a strange "buzzing" noice that you normally do not hear in (say) D-STAR gmsk streams. I've put a 3 second audio-sample online here: http://villazeebries.krbonne.net/files/gmsk_repeat.wav The audio-spectrum of the sample can be found here: http://villazeebries.krbonne.net/files/freq-repeat.png

My feeling is that this is related to the fact that the current version of the codec2-over-VHF specification contains a lot of repetition.

As already mentioned, a codec2-over-VHF frame consists of these parts:
- 24 bits syncronisation
- 56 bits 40ms codec2 frame (40 ms @ 1400 bps)
- 56 bits 40ms codec2 frame (40 ms @ 1400 bps) (repetition on previous frame) - 56 bits 40ms codec2 frame (40 ms @ 1400 bps) (repetition on previous frame)

So, actually, DV part of the frame simply contains three times the same content. (a quick and dirty "1/3 FEC" system :-) )


The problem is that this results in quite some added noise (around 5 db), as seen as the "hair" on the frequency responds graph.



So I did some experimenting to try to reduce this noise.

* test 1 applies interleaving (at octet-level) on the DV frames. This means that the order of the octets is changes.

In a quick experiment, I did this:
- frame 1: order 0 - 1 - 2 - 3 - 4 - 5 - 6
- frame 2: order 6 - 5 - 4 - 3 - 2 - 1 - 0
- frame 3: order 0 - 3 - 6 - 2 - 5 - 1 - 4

Results:
http://villazeebries.krbonne.net/files/gmsk_interleave.wav
http://villazeebries.krbonne.net/files/freq-interleave.png

Already better!


* test 2 applies a randon exor-pattern on top of the DV frames.

Results:
http://villazeebries.krbonne.net/files/gmsk_random.wav
http://villazeebries.krbonne.net/files/freq-random.png

Of course, in a real application, this "random" pattern will be replaced by a "known random" pattern as defined in the specifications, e.g. in a cycle of 25 frames.

This result is even better!

The quick results seams to indicate that this kind of manipulation can help to reduce the noise-level of the signal; and -therefor- the bandwidth.




Now, this was just some quick experiments based on a gut-feeling. I do not have the mathimatical background for this. So perhaps somebody in the group can make a more "scientific" comment on this.

What would be a good approach in this?


BTW. To compair the sound of the three tests:
http://villazeebries.krbonne.net/files/gmsk_patterns.wav


73
Kristoff - ON1ARF
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to