Here are the SNR improvements for the single files by W1VD and K3SIW. A
positive delta of 1 dB means that the SNR is 1 dB higher when using
iqnorm in the pipeline.
|
W1VD |
K3SIW |
day |
delta SNR |
delta SNR |
26 |
0.26 |
2.94 |
27 |
0.57 |
0.84 |
1 |
1.00 |
2.41 |
2 |
0.06 |
0.01 |
3 |
-0.62 |
0.98 |
4 |
1.31 |
-2.1 |
5 |
-3.19 |
1.08 |
6 |
1.30 |
6.38 |
7 |
-0.13 |
2.98 |
8 |
2.90 |
5.00 |
10 |
2.44 |
-0.12 |
11 |
6.02 |
-3.23 |
12 |
0.45 |
0.25 |
13 |
1.40 |
2.93 |
More later...
73, Stefan
Am 16.03.2018 14:35, schrieb DK7FC:
Paul,
AMAZING!
That was quickly! Many thanks.
I quickly run it through the file by W1VD, the 08.wav file. It improves
the SNR from 4.67 dB to 7.57 dB, i.e. we gained 2.9 dB!
More later.
73, Stefan
Am 16.03.2018 14:21, schrieb Paul Nicholson:
Here's an awk script to normalise the I/Q signal to the
RMS amplitude.
#!/usr/bin/awk -f
BEGIN{
idx = 0;
sum_square = 0
}
{
stamp[idx] = $1
ival[idx] = $2
qval[idx] = $3
sum_square += $2*$2 + $3*$3
idx++
if( idx == 300)
{
rms = sqrt( sum_square/idx)
for( i = 0; i < idx; i++)
printf( "%s %.5e %.5e\n", stamp[i], ival[i]/rms, qval[i]/rms)
idx = 0;
sum_square = 0
}
}
Make sure the 'shebang' line is the first line of the script.
Save it in a file, say, iqnorm.
Make the file executable with: chmod +x iqnorm
Then pipe the raw ASCII signal through it, so that instead of
vtwavex 26.wav | vtraw -oa | ebnaut -dp16K21A ...
you run
vtwavex 26.wav | vtraw -oa | ./iqnorm | ebnaut -dp16K21A ...
I've run it on my recordings (sample rate 1Hz) of the 5char
transmissions and every single one has improved Eb/N0.
Not yet tried it on the W1VD, K3SIW files.
The '300' means 300 samples, so that's 300 * 0.45723950 ~= 137 seconds
for the W1VD files, or 231.5 seconds for K3SIW.
--
Paul Nicholson
--
|
|