g0orx / linhpsdr

Linux HPSDR
GNU General Public License v3.0
74 stars 45 forks source link

Multiple wspr decodes separated by 12 Hz #19

Open LarryJ2056 opened 6 years ago

LarryJ2056 commented 6 years ago

Setup: Ubuntu 18.04 WSJTx v1.9.1 r8747. linHPSDR beta bulld date 2018-09-29. locally compiled. WSDP= v1.17 100d=Protocol 2v11.6 Audio is fed internally via the linHPSDR config page to module-null-sink rx0 via this entry in /etc/pulse/default.pa _load-module module-null-sink sink_name=rx0 sinkproperties=device.description=rx0

Problem: When a signal is encountered that causes the WSJTx lower left db meter to read 0 or above, I frequently get multiple wsjtx decodes. The frequencies decoded are separated by 12 (occasionally 11 or 13) Hz. As an extreme example see blow. Usually there are only two or three decodes bearing the same call, timestamp, and maidenhead locator.

1356 -25 1.8 7.040050 0 CM87WI 30 1178 1356 -22 1.6 7.040061 0 CM87WI 30 1178 1356 -15 1.7 7.040073 0 CM87WI 30 1178 1356 13 1.8 7.040085 0 CM87WI 30 1178 1356 -16 1.9 7.040096 -1 CM87WI 30 1178 1356 -20 1.9 7.040108 -1 CM87WI 30 1178

I've tried various audio levels into WJSTx. Sometimes, a particular combination of PACTL seems to fix the problem but if I wait, the multiple decode problem always returns. Neither changing AGC levels or AF Gain levels on the 100d via linhpsdr helps nor does IF filter band width affect the issue. Routing audio through a PulsaAudio sink such as "load-module module-null-sink sink_name=rx0 sink_properties=device.description=rx0" doesn't make a difference, I guess it shouldn't since the default input is also pulse audio.

It takes a strong clear transmission before this problem shows up. I'm at a loss to explain this and have tried every thing I could think of. Several mentions of multiple decodes in the WSPR Forums but there the side bands were ac (50/60 Hz) or believed to be the result of an over driven transmitter. If anyone wants tests made, please contact me at larry@foxgulch.com. Also I'd like to hear from someone else that experiences this. Thanks Larry W0AY

Edit: Sept 24, 2018 Connecting the 100D headphone jack output directly to the same PC front panel Mike Input using the WSJTx in which the multiple decodes were observed, almost eliminates the multiple decodes. WSJTx is the same, RX 100D is the same. Different is the scheme of multiple virtual audio cables via pulse audio, namely the "load-module module-null-sink sink_name=rx0 sink_properties=device.description=rx0" which is loaded in via the pulse audio config file /etc/pulse/default.pa. Finally, I've seen the dB column reading six (from AJ6CY) but still no multiple decodes. This level would always cause multiple decodes previously using the "virtual audio cable" scheme.

Edit Sept 27 2018 Observed and decoded KJ6WSM at a WSJTx indicated dB level of +18. This with direct stereo audio cable between headphone jack and mike input on pc, still no multiple decodes were observed on this strong and clear signal. This with all Pulseaudio "Volume Control" pavucontrol speaker icons set to "mute" (greyed out). Still thinking the problem lies with the pulse audio sink feature.

Edit Sept 30 2018 Using a completely different setup consisting of my Laptop and Hermes/ Apache labs 10E still show the same occasional multiple decodes separated by 11 or 12 or 13 Hz. What's common? Ubuntu 18.04 and the null sink scheme provided by pulse audio.

radi8 commented 6 years ago

Hello Larry, I get the multiple decodes also and am using a Hermes-Lite 2 barefoot. Sorry I did not take good note of the problem except to confirm that it only happens on strong signals and that I am using pulse audio loopbacks. I can set up Alsa loopbacks and will try this for you soon but will be unavailable for a few days so sorry can't do it right now.

73, Graeme ZL2APV

g0orx commented 5 years ago

I have tried several times to reproduce this but have not been able to. I am currently running on 14.074 and have several signals that WSJT-X shows as > 0dB with the strongest currently at +10dB. This is running using RX0 Null sink as the audio connection between linHPSDR and WSJT-X. I have the AF gain in the receiver set to about 15% with AGC disabled and no NR or NB set. In pavucontrol I have the levels set to 0bB. The WSJT-X meter is typically showing about 30dB when signals are being received.

I am currently running Ubuntu 18.04 with my 8000DLE running protocol 2.

I will keep trying to reproduce this to see if I can work out what is causing the multiple decodes.

-- John g0orx/n6lyt

g0orx commented 5 years ago

Is it possible to get a screen shot of linHPSDR and WSJT-X showing the multiple decodes? Possibly something like the attached screen shot.

wsjtx

-- John g0orx/n6lyt

LarryJ2056 commented 5 years ago

John and all,

It should be interesting to hear from Graeme in NZ.   I continue to have the problem.  Here's some more info from testing this morning:

Larry W0AY

My Settings after reboot:

1.  Linux Kernel (from  lj@lian2 ~ $ uname -a) Linux lian2 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux on  Linux Mint Sara 18.  (Have tried Ubuntu 18.04 with the same results) Radio = Apache labs 10 (Tapr board in ALabs case)

  1. WSJTx Audio = rx0.monitor (null sink named rx0),  Mono,  set to 7.038 600 40M WSPR Start HZ set to 900 (to move 200Hz band to center of WSJTx water fall)

  2. linHPSDR reports connected to Hermes Portocol 2,  V 10.4.  In configure>RX-0> Audio : Local Audio is checked and Remove Audio is checked.  USB 2.7 K filter no NR NB ANF or AGC. AF Gain set to 1st notch. linHPSDR compiled from github.

  3. In pauvcontrol, Playback : linHPSDR:RX-0 set to 100% [0db                    Recording:  QtPulseAudio:2149  QtmPulseStream-2149  set to Monitor of rx0                                with level set to 110% 0dB.  All others muted.

                   Output Devices: all muted except rx0 which is set to 100% 0dB                    Input Devices:  Monitor of rx0 set to 0dB.  All others muted.

5.  WSJTx signal level showing under 20% but multiple decodes happened almost immediately.  Extreme examples excerpted below:   1720  -25   0.4    7.040029    0   NU6O          CN70     30   1046 1720  -17   0.5    7.040041    0   NU6O          CN70     30   1046 1720   12   0.5    7.040052    0   NU6O          CN70     30   1046 1720  -19   0.3    7.040064    0   NU6O          CN70     30   1046 1720  -24   0.6    7.040076    0   NU6O          CN70     30   1046

1722  -29   0.2    7.039991    0   VE7ENP        DN09     37    447 1722    8   0.1    7.040015   -1   VE7ENP        DN09     37    447 1722  -23   0.1    7.040026   -1   VE7ENP        DN09     37    447 1722  -30   0.1    7.040038    0   VE7ENP

1722  -25   0.5    7.040167    0   KK6ZIZ        CM88     23   1104 1722    4   0.6    7.040178    0   KK6ZIZ        CM88     23   1104

6.  Last night I ran this setup (same pc, radio and same antenna as now) but with headphone connected to pc mike-in (levels adjusted appropriately).   Ran all night with signal quality peaks to +14 dB.  I couldn't find a single multiple decode.

Larry

LarryJ2056 commented 5 years ago

PC has two monitors attached.  Sceen shot is of left monitor.  Right monitor had pavucontrol running in it.

screenshot for john

radi8 commented 5 years ago

Right now there is nothing strong enough to get a multiple decode on. I will try tonight and also I am sure that other stations got a multiple decode on me but will have to check further. Your decode printouts Larry, look the same as mine with sometimes 2 or 3 decodes. ++ Graeme

LarryJ2056 commented 5 years ago

Comment revised: See below.

radi8 commented 5 years ago

Have been working on this all day. Here is a decode of my TX

2018-10-10 01:42 ZL2APV 14.097055 +2 0 RF70bw 5 VK2DDS QF57ta 2127 282
2018-10-10 01:42 ZL2APV 14.097141 -26 0 RF70bw 5 VU3KAZ MK82tu 11459 276
2018-10-10 01:42 ZL2APV 14.097152 -28 0 RF70bw 5 VU3KAZ MK82tu 11459 276
2018-10-10 01:42 ZL2APV 14.097170 -23 0 RF70bw 5 RU0LL PN53xt 10141 331

This is an 11 Hz shift but the interesting thing is that I am using Quisk rather than linHPSDR here. I am using a pulse audio loopback but generally the signals have been too weak to get the multiple decodes so I will try 40 M at around 07:00 where they should peak and then I can try both Quisk and linHPSDR to see if it occurrs on both eliminating the radio software and implicating pulse. Watch this space - you may like to see if you can spot me on 40.

73, Graeme ZL2APV screenshot from 2018-10-10 15-38-48

radi8 commented 5 years ago

I have been trying so hard to reproduce the problem but can't. The one thing I have changed since I last had the problem is to alter my pulse audio config file to make 48,000 the default sample rate instead of 44,100 to avoid resampling. This may be a factor and below is a clip from my /etc/pulse/daemon.conf file rlimit-nice = 31 rlimit-rtprio = 9 ; rlimit-rttime = 200000

default-sample-format = s16le default-sample-rate = 48000 ; alternate-sample-rate = 48000 ; default-sample-channels = 2 ; default-channel-map = front-left,front-right

It may be worth changing this Larry, particularly if you use your computer for SDR work rather than music. Avoiding resampling allowed me to run my sdr over wifi at 48,000 which it would not do before without dropouts every few seconds. I believe you are going to do a thin client John and as I want to be able to operate over my local lan with wifi I will be forever grateful. Another issue I have is RF feeding back into my computer and if I run more than 5 watts crashes linHPSDR and I need to change the sample rate to some other value to bring it to life. This also could be a factor. My hardware is a Hermes-Lite 2 which is not quite supported but is recognized and runs well on this brilliantly promising radio and yes I am mindful that it is beta. 73, Graeme ZL2APV

LarryJ2056 commented 5 years ago

Here's the previous screen snap but with 48000 sampling rate. I neglected to set the sampling rate to WSJTx s requirements after i wiped the PC and reinstalled so I am reposting. Oddly, sampling rate didn't seem to make any difference. On the left is a direct connected 100d linHPSDR instance to the PC's mike input feeding an instance of WSJTx. On the right is the same but fed through pulse audio's null sink. So the sampling rate isn't important but neither is linHPSDR as Graeme showed with Quisk. I think I am posting in the wrong forum. I should be over where Joe Taylor hangs out. To fix the problem looks like a code change in WSJTx or an external SED/AWK routine cron triggered every two minutes to sort the duplicates and only upload the strongest. I'm pretty sure of this because I finally saw a duplicate decode on the left which depicts the direct wired stereo cable feed to the mike input of the PC. This only happened one time in hundreds to decodes but that was enough to cement my thinking that I need to look else where for a resolution. Thanks everyone for their help.

leftright48k