|Subject:||Re: LF: SlowJT9 averaging (in conversion to JT9-1)|
|From:||Markus Vester <[email protected]>|
|Date:||Thu, 22 Nov 2018 16:16:59 +0000 (UTC)|
|Dkim-signature:||v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1542903423; bh=t+qhWoO5Yw5E/GF++Cjt6uitT9/tHCUl3wTfqEJ04ns=; h=Date:From:To:Subject:References:From:Subject; b=Zh0rP4BRSsyvu5ASMYlyxroepzLBKj7RKEFGrmio9hJssUyb2QucgsIlQgeEjME9L6EyZPuTTuQNrvBZnsDnKkQn7bL7cRXib6HrzUOscAe48d26QcWK9CghL1rKauwHij3zIzX+efWYi5abyJ51Zh5rrUa45JlM5oNDAoCLEiyhc8X2km0nuR4QPgtcm4PDivdEbeQe/RG8tzPlxt5fJQXqXoT5deeglj865kv3HRHjHYux5VksCHm2X5qky+/OeRP5IPOTnQgDHkYhAxSakj0oCLWMGqYNMX/uM3c/tzAFH/B6p+UwPI35+zb4TzWglc6Rfc/dqlE8HiKNaubAOQ==|
the way I would go about it is using windowed sinc interpolation. For the 9 / 20 decimation ratio for JT9-2, you would upsample by a factor of 9, but only one in 20 output samples needs to be calculated. Attached is a screenshot from a Mathcad spreadsheet and a table of weighting factors (input samples left to right, output top to bottom). JT9-5 would be analogous with 160 / 27 ratio.
Von: Rik Strobbe <[email protected]>
An: [email protected] <[email protected]>; [email protected] <[email protected]>; [email protected] <[email protected]>
Verschickt: Mi, 21. Nov. 2018 16:52
Betreff: LF: SlowJT9 averaging (in conversion to JT9-1)
For those interested:
in order to get JT9-2, JT9-5 and JT9-10 signals decoded with a JT9 decoder (from the WSJT-X suite), the JT9-2, JT9-5, JT9-10 audio is "speeded up" to JT9-1. During the process the signal is also averaged (otherwise ther would be no S/N improvement).
In the initial versions of SlowJT9 the ratios were integer values: 2 for JT9-2 anf 5 for JT9-5, making averaging very simple.
In SlowJT9 v0.9.10 however the original parameters for JT9-2, JT9-5 and JT9-10 are used, resulting in some non-integer conversion rates: 2.2222 (15360/6912) for JT9-2 and 5.9259 (40960/6912) for JT9-5.
So, how to average with for example each 2.2222 incoming samples are converted to 1 outgoing sample?
Not finding relevant information about this on the web, I did it quite straigh forward:
Assuming I1, I2, I3, I4, ... are the incoming JT9-2 samples and O1, O2, O3, O4, ... are the outgoing JT9(-1) samples
O1 = (I1+I2+0.222*I3)/2.222
O2 = (0.778*I3+I4+0.444*I5)/2.222
O3 = (0.556*I5+I6+0.667*I7)/2.222
O4 = (0.333*I7+I8+0.889*I9)/2.222
and so on.
I am by no means sure that this is the best way to average for non-integer conversion rates (it was just the best I could think of), so any suggestion to do this better is welcome.
73, Rik ON7YD - OR7T
|<Prev in Thread]||Current Thread||[Next in Thread>|