WINMORA Sound Card ARQ Mode for Winlink HF

  • Slides: 25
Download presentation
WINMOR…A Sound Card ARQ Mode for Winlink HF Digital Messaging Rick Muething, KN 6

WINMOR…A Sound Card ARQ Mode for Winlink HF Digital Messaging Rick Muething, KN 6 KB/AAA 9 WK Power. Point Presentation available at www. winlink. org

Overview • • • Today’s Objectives WINMOR… A work in progress… Follow-on to SCAMP

Overview • • • Today’s Objectives WINMOR… A work in progress… Follow-on to SCAMP Motivation… Why another sound card mode? Unique requirements for a message oriented protocol RF Footprint and Robustness Agility Modulation schemes investigated Implementation details – DSP processing diagram – Tuning, Modulation, Demodulation, Error recovery methods – Screen captures of the WINMOR “Virtual TNC” – WINMOR Movies! Measurements Using the HF channel simulator Preliminary Comparisons with Pactor 1, 2, and 3 Deployment strategy Remaining work to be done

Today’s Objectives Provide you an update on a promising sound card mode targeted at

Today’s Objectives Provide you an update on a promising sound card mode targeted at message systems. Give some (within our time limits) of the technical details on how we are approaching this. Show some preliminary test results and “apples-to-apples” comparisons with the defacto standard Pactor. Encourage others to learn about and get competent in DSP as it applies to amateur radio. Get feedback from you on alternate approaches and suggestions for implementation and deployment.

Acronym Cheat Sheet! CCIR Consultative Committee on International Radio (now The ITU-R) WGN White

Acronym Cheat Sheet! CCIR Consultative Committee on International Radio (now The ITU-R) WGN White Gaussian Noise (a simple HF channel model) MPG CCIR Multipath Good (a standard moderate HF channel model) MPP CCIR Multipath Poor (a standard poor HF channel model) OFDM Orthogonal Frequency Division Multiplexing PSK Phase Shift Keying (carrier phase is modulated) BPSK(2), QPSK(4) FSK Frequency Shift Keying (frequency of the carrier is modulated) 4 FSK using one of 4 tones per symbol (2 bits per symbol) QAM Quadrature Amplitude Modulation (phase and amplitude are modulated) 16 QAM Phase and Amplitude modulation with 16 states (4 bits per symbol) FEC Forward Error Correcting (use of error correcting codes) MCA Multiple Carrier Assignment (same data to multiple carriers) RDFT Redundant Digital File Transfer (mode by Barry Sanderson, KB 9 VAK) ARQ Automatic Retry re. Quest (mechanism to eliminate errors) FFT Fast Fourier Transform (digital method of a discrete Fourier Transform) IFFT Inverse Fourier Transform ( Frequency to Time transform) NCO Numerically Controlled Oscillator (done in software) I, Q The “In phase” and “Quadrature” channels of the Fourier Transform TNC Terminal Node Controller (RF Modem) DSP Digital Signal Processing Hilbert Transform A mathematical transform to generate I and Q

WINMOR… A work in progress WINMOR = WINlink Message Over Radio An outgrowth of

WINMOR… A work in progress WINMOR = WINlink Message Over Radio An outgrowth of the work presented on SCAMP at DCC 2004: SCAMP put an ARQ “wrapper” around Barry Sanderson’s RDFT then integrated SCAMP into a Client and Server for access to the Winlink message system. SCAMP proved it COULD be done and it worked in GOOD channels but… Barry’s batch oriented DLLs were slow and required frame pipelining… Increasing complexity and overhead RDFT only changed the RS encoding on it’s 8 PSK multi carrier waveform to achieve a 3: 1 range in speed/robustness… not enough RDFT was inefficient in Partial Frame recovery (no Memory ARQ) RDFT was a 2. 4 KHz mode…limited to narrow HF sub bands. SCAMP’s Simple multi-tone ACK/NAK did not carry Session ID info …increasing chances of fatal cross session contamination. WINMOR is an ARQ mode generated from the ground up to address the limitations of SCAMP/RDFT and leverage on what was learned.

Motivation Winlink has grown over the years and expanded applications… Many RVers and Boaters

Motivation Winlink has grown over the years and expanded applications… Many RVers and Boaters use it for remote E-mail and weather Now many more adopting it for Emergency Communications: ARES/RACES Em. Comm MARS UK Cadet Humanitarian Missions (IHS, Red Cross, Salvation Army etc) Emergency applications dictate special requirements: Station Cost is an issue: Limited budgets and resources… Seldom used (often equipment sits idle unless drills, training, or actual emergency) Consistency across multiple stations…. Training issues. VHF is used but HF is needed to bridge out of affected areas. Many with limited budgets get by with Pactor 1 and accept it’s throughput and robustness limitations. What is needed and much requested is a lower cost “plug and play” alternative to Pactor that approaches P 2 and P 3 performance.

Requirements for a Message Oriented Sound card Protocol Absolute Requirements Standard SSB Radio hardware

Requirements for a Message Oriented Sound card Protocol Absolute Requirements Standard SSB Radio hardware Automatic connections (no manual tuning) Error-free transmission/confirmation Fast lock for reasonable ARQ cycles Auto adapt to wide range of HF channels Support true binary with compression “Loose” ARQ timing to accommodate OS and sound card latency. All packets tagged with session ID Wish List Modest OS and CPU demands 200 Hz, 500 Hz, 2000 Hz bandwidths Compatible with most sound cards Good bits/sec/Hz ( >. 5 target) Efficient Mod/Demod for low latency Selective ARQ and Memory ARQ for throughput & robustness Near Pactor ARQ efficiency (70%) Effective busy channel detection When you analyze the details and make true apples-to-apples comparisons you quickly realize that P 2 & P 3 set the bar pretty high!

RF Footprint and Robustness Agility 1 Assumptions: 1) 70% ARQ efficiency (typical of Pactor)

RF Footprint and Robustness Agility 1 Assumptions: 1) 70% ARQ efficiency (typical of Pactor) 2) Max RAW data rate (good channel assumed) 3) 200 Hz guard band used in bandwidth calculations. (allows automatic connections) Target For WINMOR . 5 Pactor 3 Pactor 2 Pactor 1 HF Packet PCALE PSK 31 0 MT 63 (After ARQ overhead) Net bits/sec/Hz of BW Comparison of Some Popular Modes in ARQ Environments A small RF foot print requires maximizing the net Bits/Sec/Hz BUT…. We ALSO must be able to adapt the modulation for more robustness In poorer signal conditions. This “robustness agility” is why Pactor 2 and 3 perform so well across a wide range of channel conditions.

Modulation Schemes Investigated One of the wish list items was to offer 3 bandwidth

Modulation Schemes Investigated One of the wish list items was to offer 3 bandwidth modes to be able to operate In the various (or future? ) bandwidth segments of 200 Hz, 500 Hz and < 3 KHz Current FCC regulations (arguably obsolete) require a maximum HF symbol rate of 300 symbols / sec. This eliminates high symbol rate adaptive schemes. Improved multipath operation is obtained with lower symbol rates (< 100 Hz) The following modes were investigate in the early development phases: Multi carrier OFDM BPSK, QPSK @ carrier spacing = 1 x symbol rate Multi carrier OFDM BPSK, QPSK, 16 QAM at carrier spacing = 2 x symbol rate Single and multiple carrier FSK (2 FSK and 4 FSK) at spacing 1 x symbol rate Recently the development effort has been focused on 62. 5 baud BPSK, QPSK and 16 QAM and 31. 25 baud 4 FSK using 1 (200 Hz), 3 (500 Hz) and 15 (2000 Hz) Carriers spaced at 2 x symbol rate. These appear to offer high throughput and robustness especially when combined with multi-level FEC coding.

Implementation Details WINMOR DSP Processing Diagram

Implementation Details WINMOR DSP Processing Diagram

Implementation Details Frame Leader…Tuning and Frame ID Non reversed phase frame sync Phase reversing

Implementation Details Frame Leader…Tuning and Frame ID Non reversed phase frame sync Phase reversing “Two Tone” Leader 256 ms BPSK Frame ID DBPSK 8, 4 Ex Hamm Dmin = 4 …Data Sequential 1024 Point FFTs Algorithm has good detection sensitivity and selection @-5 d. B S/N Leader defines: Required NCO freq (interpolated to. 1 Hz) Initial Symbol Sync (Envelope matching) Framing (Frame Sync) Soft Decode with distance threshold BPSK QPSK 16 QAM 4 FSK Frame ID defines: Control/Data Function Modulation Mode FEC Coding level Number of Carriers Frame length

Implementation Details OFDM PSK, QAM DSP Modulation The Symbol Data is used to set

Implementation Details OFDM PSK, QAM DSP Modulation The Symbol Data is used to set the Real and Imaginary Frequency magnitudes for each OFDM Carrier. e. g. Data = 0, 1 (QPSK) > FReal 24 = 0 FImag 24 = 1 (90 Deg) (repeat for each carrier) 128 Point Inverse FFT (one IFFT per symbol) Time sample values for all carriers generated simultaneously! Shape Envelope (raised cosine) to bound Spectrum Convert to WAV file for Sound Card

Implementation Details OFDM PSK, QAM DSP Demodulation Use 123 point Hilbert Transform, NCO and

Implementation Details OFDM PSK, QAM DSP Demodulation Use 123 point Hilbert Transform, NCO and balanced LSB Mixing to generate I and Q samples with signal re centered on 1250. 0 Hz Perform 128 point FFT for each symbol using I and Q values Use the Real and Imaginary frequency values for each carrier to compute phase and amplitude for each symbol of each carrier. Subtract phase values of prior symbol to get differential PSK symbol For QAM use dynamic threshold adjustment to track Phasor amplitude ratios in fading channels. Decode Phase and Amplitude symbol to corresponding binary data (BPSK = 1 bit, QPSK=2 bits, 8 PSK= 3 bits, 16 QAM=4 bits)

Implementation Details FEC, Selective ARQ WINMOR uses several mechanisms for error recovery and redundancy:

Implementation Details FEC, Selective ARQ WINMOR uses several mechanisms for error recovery and redundancy: 1) FEC Data Encoding… Currently used: 4, 8 Extended Hamming Dmin = 4 (used in ACK and Frame ID) 16 Bit CRC for data verification Two-level Reed-Solomon (RS) FEC for data: First level Weak FEC e. g. RS 140, 116 (corrects 12 errors) Second level Strong FEC e. g. RS 254, 116 ( corrects 69 errors) 2) Selective ARQ. Each carrier’s data contains a Packet Sequence Number (PSN). The ACK independently acknowledges each PSN so only carriers with failed PSNs get repeated. (the software manages all the PSN accounting and re-sequencing)

Implementation Details Memory ARQ, MCA, Dynamic Threshold 3) Memory ARQ. The analog phase and

Implementation Details Memory ARQ, MCA, Dynamic Threshold 3) Memory ARQ. The analog phase and amplitude of each demodulated symbol is saved for summation (phasor averaging) over multiple frames. Summation is cleared and restarted if max count reached. Reed-Solomon FEC error decoding done after summation. 4) Multiple Carrier Assignment (MCA). The same PSN can be assigned to multiple Carriers (allows tradeoff of throughput for robustness). Provides an automatic mechanism for frequency redundancy and protection from interference on some carriers. 5) Dynamic threshold adjustment (used on QAM modes) helps compensate for fading which would render QAM modes poor in fading channels.

Implementation Details The “Virtual TNC” Concept In trying to anticipate how WINMOR might be

Implementation Details The “Virtual TNC” Concept In trying to anticipate how WINMOR might be integrated into applications we came up with a “Virtual TNC” concept. This essentially allows an application to integrate the WINMOR protocol by simply treating the WINMOR code as just another TNC and writing a driver for that TNC…. A “Virtual TNC” Like all TNCs there are some (<10) parameters to set up: call sign, timing info, sound card, keying mechanism, etc The WINMOR Software DLL can even be made to appear as a physical TNC by “wrapping” the DLL with code that accesses it through a virtual serial port or a TCPIP port. Like a physical TNC WINMOR has a “front panel” with flashing lights. But since operation is automatic with no front panel user interaction required the WINMOR TNC can be visible or hidden.

WINMOR “Virtual TNC” Screen Capture: 15 Carrier QPSK Connection State Frame Type Bytes Received

WINMOR “Virtual TNC” Screen Capture: 15 Carrier QPSK Connection State Frame Type Bytes Received “+” “M” recovery after Summation (memory ARQ) “m” no decode, Good ID (added to summation) QPSK Constellation (heavy fading) Each pixel = 1 symbol decoded OK 2 KHz waterfall “-” no decode, poor ID match (not added to summation)

WINMOR “Virtual TNC” Screen Capture: 3 Carrier 16 QAM Receive Level Tuning Offset ”+”

WINMOR “Virtual TNC” Screen Capture: 3 Carrier 16 QAM Receive Level Tuning Offset ”+” 3 Carriers decoded OK 16 QAM Circular Constellation (White Gaussian Noise @ 5 d. B) Each pixel = 1 symbol Relative decode Quality 1 KHz waterfall

Measurement Approach The HF Channel Simulator The way to get true repeatable comparisons! Station

Measurement Approach The HF Channel Simulator The way to get true repeatable comparisons! Station 1 Station 2 Computer & Signa. Link USB Sound Card WINMOR Virtual TNC SC Out SC In CCIR Channel Options: Audio In Audio Out Oregon Hardware/Software HF Channel Simulator (used in both directions) RS 232 S/N – 5, 0, 5, 10, 15 d. B White Gaussian Noise Multi path: Good, Fair, Poor Flat Fading: Moderate, Severe Flutter (Channels in red were Used in simulations)

Preliminary Comparisons WINMOR 200 Hz vs. Pactor 1 10 d. B 5 d. B

Preliminary Comparisons WINMOR 200 Hz vs. Pactor 1 10 d. B 5 d. B 0 d. B -5 d. B Tests Run 9/2008 by Rick Muething, KN 6 KB Average of 4 channels (WGN, CCIR Multipath Poor, Multipath Good, Moderate Flat Fading) Throughput averaged over 5 minute period WINMOR has Ex Hamm 4, 8 on ACK , RS FEC on Data

Preliminary Comparisons WINMOR 500 Hz vs. Pactor 1, 2 10 d. B 5 d.

Preliminary Comparisons WINMOR 500 Hz vs. Pactor 1, 2 10 d. B 5 d. B 0 d. B -5 d. B Tests Run 9/2008 by Rick Muething, KN 6 KB Average of 4 channels (WGN, CCIR Multipath Poor, Multipath Good, Moderate Flat Fading) Throughput averaged over 5 minute period WINMOR has Ex Hamm 4, 8 FEC on ACK, RS FEC on Data

Preliminary Comparisons WINMOR 2000 Hz vs. Pactor 2, 3 15 Car 16 QAM WGN

Preliminary Comparisons WINMOR 2000 Hz vs. Pactor 2, 3 15 Car 16 QAM WGN & FLT 10 d. B 5 d. B 0 d. B -5 d. B Tests Run 9/2008 by Rick Muething, KN 6 KB Average of 4 channels (WGN, CCIR Multipath Poor, Multipath Good, Moderate Flat Fading) 15 Car 16 QAM points averaged for WGN and Moderate Flat Fading channels only Throughput averaged over 5 minute period WINMOR has Ex Hamm 4, 8 FEC on ACK, RS FEC on Data

WINMOR Deployment Strategy Produce the final Virtual TNC as a DLL (Graphics display is

WINMOR Deployment Strategy Produce the final Virtual TNC as a DLL (Graphics display is optional) Integrate the DLL into the Paclink MP client and RMS Server programs For full and immediate access to the WL 2 K system for beta testing. Offer “Wrapper” functions to interface the WINMOR DLL via a virtual serial port or TCP/IP port. (allows easier access by other existing applications) These slides and preliminary WINMOR spec will be posted on the www. winlink. org web site. No decision to date as to licensing or open source. WINMOR may be released through the Amateur Radio Safety Foundation Inc. a 501 C(3) public charity corporation which supports amateur radio emergency communications. Estimated start of beta test (Winlink 2000 system) 3 – 6 months.

Remaining Work to be Done Investigate inner cyclic FEC codes for PSK data modes

Remaining Work to be Done Investigate inner cyclic FEC codes for PSK data modes (1 -2 d. B gain? ) Optimize “gear shifting” algorithm (basic algorithm operational) Integrate Busy Channel Detector (SCAMP ? ) and ID (CW, Waterfall? ) Investigate crest factor minimization (possible 1 -2 d. B improvement? ) Investigate 15 Car 16 QAM mode (2 Kbits/sec) for VHF/UHF applications. Finalize WINMOR documentation and release Document DLL interface and release Build drivers for Paclink MP and RMS and beta test in Winlink. Complete help and statistical logging functions

Summary WINMOR looks promising and the testing to date confirms: 1) Sound card ARQ

Summary WINMOR looks promising and the testing to date confirms: 1) Sound card ARQ is possible with a modern CPU and OS while making acceptable CPU processing demands. ( CPU Loading of < 20% on a 1. 5 GHz Celeron/Win XP) 2) Throughput and robustness can be adjusted automatically to cover a wide range of bandwidth needs and channel conditions. (10: 1 bandwidth range, 57: 1 throughput range) 3) ARQ throughput in excess of. 5 bits/sec/Hz is possible in fair to good channels (. 68 -. 82 bits/sec/Hz measured) 4) Good ARQ efficiency …. 70 -75% 5) Throughput is currently competitive with P 2 and P 3 and significantly better than P 1 Thank You!