QRQ CW - Remote Rig Operations using a Raspberry PI & Gstreamer - with QSK RX audio between letters

brief demo showing an experimental setup using REMOTE RIG AUDIO over IP via Gstreamer SERVER::CLIENT scripts...and Gstreamer CW bandpass filter scripts...with a RASPBERRY PI 2b as the hardware/software/soundcard interface between the REMOTE OP and the RIG(K3S)

QRQ CW KEYBOARD = AD5DZ's RECRI KEYER CW KEYER apps
https://github.com/recri/keyer
https://youtu.be/l8wKVnA4oGc


METHOD OF REMOTE TRANSMIT = AFCW MODE via direct tone injection into the RIG's LINE INPUT...
1. the tones must be VERY "pure" virtually ZERO harmonic audio energy above and below the intended PITCH to be sent
2. to activate the RIG's VOX CIRCUIT ahead of the CW TONE so that no first bits of CW ELEMENTS get chopped off by the RIG's VOX circuit...which takes some time before it activates after hearing a tone...etc... a high pitched tone @ 5555 hz is sent first at as low of a volume as possible -22 db...NOTE the rig's transmit circuit has an internal BRICK WALL Low Pass Filter that will not let anything above 4khz get transmitted...so none of this 5555 hz actually gets transmitted...but the 5555 hz tone does a GREAT job of getting the internal VOX CIRCUIT to activate the PTT before the CW tone arrives 18 ms later...
3. AFCW mode must not activate the RIG's ALC circuit..otherwise the cw note will have some distortion on it...so the incoming line input volume must be at least 1 db below the threshold that activates the internal ALC circuit to knock down the volume of the incoming audio etc...in this case, on this rig...is about -12 db for the CW TONE that does NOT activate the RIG's internal ALC circuit
4. the RIG's own internal VOX HOLD, DELAY is set to its minimum for getting the most QSK AUDIO between letters...on this rig, the minimum internal PTT HOLD time is 10 ms...it won't go lower than that... if more PTT VOX HOLD DELAY time is needed to keep the PTT activated...this is done by adjusting the AD5DZ PTT APP

unique to this video example is using 3 new Gstreamer scripts
1. the receive script includes 2 LV2 Plugin filters...Low Pass Filter & a Band Reject filter to knock out the RIG's TRANSMIT AUDIO MONITOR's pass-through of the PTT 5555 hz tone...this script also includes a LADSPA plugin - AGC/Limiter - set to -20 db threshold and -6 db maximum output
**************************************************************
gst-launch-1.0 rtpbin latency=35 name=b rtp-profile=avpf do-retransmission=true udpsrc port=5000 caps="application/x-rtp,media=(string)audio,clock-rate=(int)48000,sprop-stereo=(string)0,encoding-name=L24,payload=(int)96" ! b.recv_rtp_sink_0 b. ! rtpL24depay ! audioconvert ! calf-sourceforge-net-plugins-Filter mode=2 freq=3230 res=1 ! calf-sourceforge-net-plugins-Filter mode=11 freq=5611.74 res=20 ! audioconvert ! "audio/x-raw,format=F32LE,rate=48000,channels=1" ! audioconvert ! ladspa-la-loudmax64-so-ldmx-mono inter-sample-peaks=true threshold=-20 output=-6 ! jackaudiosink buffer-time=35000 udpsrc port=5002 ! b.recv_rtcp_sink_0 b.send_rtcp_src_0 ! udpsink host="192.168.1.130" port=5001 sync=false async=false

2. the CW BANDPASS FILTER script to virtual eliminate all CW ELEMENT EDGE NOISE HARMONICS above and below 680 hz
***************************************************************
gst-launch-1.0 jackaudiosrc ! "audio/x-raw,channels=1,rate=48000,format=F32LE" ! audioconvert ! audiowsincband mode=band-pass lower-frequency=580 upper-frequency=780 length=700 window=hamming ! audioconvert ! audioamplify amplification=1 ! jackaudiosink buffer-time=10000

3. the PTT TONE 5555 hz filter..no harmonic energy gets below
4khz, the tone must have no key click energy contained in it..etc...
******************************************************************
gst-launch-1.0 jackaudiosrc ! "audio/x-raw,channels=1,rate=48000,format=F32LE" ! audioconvert ! audiowsincband mode=band-pass lower-frequency=4444 upper-frequency=6666 length=700 window=hamming ! audioconvert ! audioamplify amplification=1 ! jackaudiosink buffer-time=10000

Views: 82

Comment by Chuck aa0hw on January 13, 2020 at 3:04pm

Here is a TESTING SETUP demo...where the AFCW MODE - PTT VOX activation circuit

is "dialed in" using the AD5DZ PTT APP's CW DELAY setting

this video shows a TESTING SETUP to be able to measure the timing of the RIG's vox transmit circuit and how long it takes to activate...then adjusting the AD5DZ CW KEYER appS so that the RIG's PTT can activate and turn on AHEAD of the arriving CW NOTE(using AFCW MODE)...so that no dit chopping occurs from the rig's vox PTT circuit taking too long to get the RIG ready to TRANSMIT

HARDWARE
*************
ELECRAFT K3S
RASPBERRY PI 2b
USB CABLE from the PI to the RIG's USB PORT
ROUTER, NETWORK SWITCHES
REMOTE OP''s LAPTOP

SOFTWARE
************
AD5DZ recri keyer
JACK AUDIO CONNECTION KIT
GSTREAMER
ZITA-Njbridge

ad5dz cw keyer appS
https://youtu.be/l8wKVnA4oGc

Comment by Chuck aa0hw on January 13, 2020 at 4:46pm

Here is a TESTING SETUP demo...where the AFCW MODE - PTT VOX activation circuit

is "dialed in" using the AD5DZ PTT APP's HANGTIME setting

this video is a follow up to the first video - https://youtu.be/aURYobMbmO0 this video demo'S adjusting the AD5DZ VOX PTT HANGTIME to achieve QSK RECEIVE AUDIO between LETTERs or between WORDs when sending from the AD5DZ cw keyboard at a QRQ speed of 60 wpm

Comment by Chuck aa0hw on January 14, 2020 at 3:46pm

Here is a demo of the AD5DZ::RASPBERRY PI::RIG INTERFACE using the AD5DZ CW KEYBOARD to send QRQ CW from the REMOTE OP's location on their remote laptop

this video is a follow up to the first 2 videos - https://youtu.be/aURYobMbmO0
https://youtu.be/gR79zR5vcT8

this video demoZ setting up the AD5DZ apps up for sending QRQ CW using the AD5DZ CW Keyboard.. ssh -X is used to get the PI's AD5DZ CW KEYBOARD showing up on the remote OP's desktop so they can type on it...as if they were typing on the PI itself...in near zero delay

AD5DZ CW KEYER APPs
https://youtu.be/l8wKVnA4oGc

Comment

You need to be a member of QRQcw to add comments!

Join QRQcw

© 2024   Created by Chuck aa0hw.   Powered by

Badges  |  Report an Issue  |  Terms of Service