As mentioned earlier I have been struggling to get JT9-5 working for over a week.
Here is why:
With JT9-2 I noticed that it decoded fine but always gave a DT value of -0.5 or -0.6
This was inherent to the resampling used: As any JT9 transmission JT9-2 starts at 1 seconds after the cycle start, so after resampling at a rate of 20/9 (= 2.222) the transmission will start at 0.45 seconds (1/2.222). This was easily fixed by inserting 6600
"zero's" (= 0.55 seconds at 12kHz sample rate) at the beginning of the audio file sent to the decoder.
So for JT9-5 I did the same, now the resampling rate was 160/27 (= 5.923) and after resampling the transmission would start at 0.16875 seconds (27/160), so now 9975 zero's were inserted to fix the timing error.
But JT95-5 did not work properly: except for an odd case no decodes (but when it decoded it decoded well, even at very low SNR).
After one day of struggling I decided tot make a small app that
- created a JT9-5 signal at any given SNR
- resampled to JT9-5 signal
- decoded the resampled audio file
In the app everything worked fine instantly and even after 10 tems double checking for differences bewteen the code in this app and SlowJT9 I couldn't find any ... until at last I notoced that I didn't implement the timing correction in the test app.
After removing the timing correction in SlowJT9 JT9-5 worked fine.
I did some further testing and noticed that with a timing correction up to about 0.6 seconds (7200 samples) everything works fine, but from then on degrading starts and very rapidly nothing is decoded anymore.
So for now the timing correcting is disabled. Apart from the fact thta for most transmissions negative DT values will show up this does not affect the functionality of SlowJT9.
But I am still puzzled why this happens?
Any idea's?
73, Rik ON7YD - OR7T
|