Presentation on theme: "WINMOR…A Sound Card ARQ Mode for Winlink HF Digital Messaging"— Presentation transcript:
1WINMOR…A Sound Card ARQ Mode for Winlink HF Digital Messaging Rick Muething, KN6KB/AAA9WKPowerPoint Presentation available at
2Overview WINMOR Today’s Objectives WINMOR… A work in progress… Follow-on to SCAMPMotivation… Why another sound card mode?Unique requirements for a message oriented protocolRF Footprint and Robustness AgilityModulation schemes investigatedImplementation detailsDSP processing diagramTuning, Modulation, Demodulation, Error recovery methodsScreen captures of the WINMOR “Virtual TNC”WINMOR Movies!Measurements Using the HF channel simulatorPreliminary Comparisons with Pactor 1, 2, and 3Deployment strategyRemaining work to be done
3Today’s Objectives WINMOR Provide you an update on a promising sound card mode targetedat message systems.Give some (within our time limits) of the technical details on howwe 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 itapplies to amateur radio.Get feedback from you on alternate approaches and suggestionsfor implementation and deployment.
4Acronym Cheat Sheet! WINMOR 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 MultiplexingPSK Phase Shift Keying (carrier phase is modulated) BPSK(2), QPSK(4)FSK Frequency Shift Keying (frequency of the carrier is modulated)4FSK FSK using one of 4 tones per symbol (2 bits per symbol)QAM Quadrature Amplitude Modulation (phase and amplitude are modulated)16QAM 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, KB9VAK)ARQ Automatic Retry reQuest (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 TransformTNC Terminal Node Controller (RF Modem)DSP Digital Signal ProcessingHilbert Transform A mathematical transform to generate I and Q
5WINMOR… A work in progress WINMOR = WINlink Message Over RadioAn outgrowth of the work presented on SCAMP at DCC 2004:SCAMP put an ARQ “wrapper” around Barry Sanderson’s RDFT then integratedSCAMP 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 overheadRDFT only changed the RS encoding on it’s 8PSK multi carrierwaveform to achieve a 3:1 range in speed/robustness… not enoughRDFT 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 thelimitations of SCAMP/RDFT and leverage on what was learned.
6MotivationWINMORWinlink has grown over the years and expanded applications…Many RVers and Boaters use it for remote and weatherNow many more adopting it for Emergency Communications:ARES/RACES EmCommMARSUK CadetHumanitarian 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 acceptit’s throughput and robustness limitations.What is needed and much requested is a lower cost “plug and play”alternative to Pactor that approaches P2 and P3 performance.
7Requirements for a Message Oriented Sound card Protocol WINMORRequirements for a Message Oriented Sound card ProtocolAbsolute RequirementsStandard SSB Radio hardwareAutomatic connections (no manual tuning)Error-free transmission/confirmationFast lock for reasonable ARQ cyclesAuto adapt to wide range of HF channelsSupport true binary with compression“Loose” ARQ timing to accommodateOS and sound card latency.All packets tagged with session IDWish ListModest OS and CPU demands200Hz, 500Hz, 2000Hz bandwidthsCompatible with most sound cardsGood bits/sec/Hz ( >.5 target)Efficient Mod/Demod for low latencySelective ARQ and Memory ARQfor throughput & robustnessNear Pactor ARQ efficiency (70%)Effective busy channel detectionWhen you analyze the details and make true apples-to-applescomparisons you quickly realize that P2 & P3 set the bar pretty high!
8RF Footprint and Robustness Agility WINMORRF Footprint and Robustness AgilityComparison of Some Popular Modes in ARQ Environments1Assumptions:70% ARQ efficiency(typical of Pactor)Max RAW data rate(good channel assumed)200 Hz guard band used inbandwidth calculations.(allows automatic connections)Net bits/sec/Hz of BW(After ARQ overhead)Target For WINMOR.5MT63PSK31PCALEPactor 1Pactor 2Pactor 3HF PacketA small RF foot print requires maximizing the net Bits/Sec/Hz BUT….We ALSO must be able to adapt the modulation for more robustnessIn poorer signal conditions. This “robustness agility” is why Pactor 2and 3 perform so well across a wide range of channel conditions.
9Modulation Schemes Investigated WINMORModulation Schemes InvestigatedOne of the wish list items was to offer 3 bandwidth modes to be able to operateIn the various (or future?) bandwidth segments of 200Hz, 500Hz and < 3KHzCurrent FCC regulations (arguably obsolete) require a maximum HF symbolrate 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, carrier spacing = 1 x symbol rateMulti carrier OFDM BPSK, QPSK, 16QAM at carrier spacing = 2 x symbol rateSingle and multiple carrier FSK (2 FSK and 4 FSK) at spacing 1 x symbol rateRecently the development effort has been focused on 62.5 baud BPSK, QPSKand 16QAM and baud 4FSK using 1 (200 Hz), 3 (500Hz) and 15 (2000Hz)Carriers spaced at 2 x symbol rate. These appear to offer high throughputand robustness especially when combined with multi-level FEC coding.
11Implementation Details Frame Leader…Tuning and Frame ID WINMORImplementation Details Frame Leader…Tuning and Frame IDNon reversed phase frame syncFrame ID DBPSK8,4 Ex Hamm Dmin = 4Phase reversing “Two Tone” Leader256 ms BPSK…DataBPSKQPSK16QAM4FSKSoft Decode withdistance thresholdSequential 1024 Point FFTsAlgorithm has good detectionsensitivity and selection@-5dB S/NFrame ID defines:Control/Data FunctionModulation ModeFEC Coding levelNumber of CarriersFrame lengthLeader defines:Required NCO freq (interpolated to .1Hz)Initial Symbol Sync (Envelope matching)Framing (Frame Sync)
12Implementation Details OFDM PSK, QAM DSP Modulation WINMORThe Symbol Data is used to set the Real and ImaginaryFrequency magnitudes for each OFDM Carrier.e.g. Data = 0,1 (QPSK) > FReal24 = 0 FImag24 = 1 (90Deg)(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 SpectrumConvert to WAV filefor Sound Card
13Implementation Details OFDM PSK, QAM DSP Demodulation WINMORUse 123 point Hilbert Transform, NCO and balanced LSB Mixing togenerate I and Q samples with signal re centered on HzPerform 128 point FFT for each symbol using I and Q valuesUse the Real and Imaginary frequency values for each carrierto compute phase and amplitude for each symbol of each carrier.Subtract phase values of prior symbol to get differential PSK symbolFor QAM use dynamic threshold adjustment to track Phasoramplitude ratios in fading channels.Decode Phase and Amplitude symbol to corresponding binary data(BPSK = 1bit, QPSK=2 bits, 8PSK= 3 bits, 16QAM=4 bits)
14Implementation Details FEC, Selective ARQ WINMORWINMOR uses several mechanisms for errorrecovery and redundancy:FEC Data Encoding… Currently used:4,8 Extended Hamming Dmin = 4 (used in ACK and Frame ID)16 Bit CRC for data verificationTwo-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 SequenceNumber (PSN).The ACK independently acknowledges each PSN so onlycarriers with failed PSNs get repeated.(the software manages all the PSN accounting and re-sequencing)
15Implementation Details Memory ARQ, MCA, Dynamic Threshold WINMOR3) Memory ARQ. The analog phase and amplitude of each demodulatedsymbol is saved for summation (phasor averaging) over multipleframes. 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 assignedto multiple Carriers (allows tradeoff of throughput for robustness).Provides an automatic mechanism for frequency redundancy andprotection from interference on some carriers.5) Dynamic threshold adjustment (used on QAM modes) helpscompensate for fading which would render QAM modes poorin fading channels.
16Implementation Details The “Virtual TNC” Concept WINMORIn trying to anticipate how WINMOR might be integrated intoapplications we came up with a “Virtual TNC” concept.This essentially allows an application to integrate the WINMORprotocol by simply treating the WINMOR code as just another TNCand 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, etcThe WINMOR Software DLL can even be made to appear as aphysical TNC by “wrapping” the DLL with code that accesses itthrough a virtual serial port or a TCPIP port.Like a physical TNC WINMOR has a “front panel” with flashinglights. But since operation is automatic with no front panel userinteraction required the WINMOR TNC can be visible or hidden.
17WINMOR “Virtual TNC” Screen Capture: 15 Carrier QPSK QPSK Constellation(heavy fading)Each pixel = 1 symbolConnection StateFrame TypeBytes Received“+” decoded OK“M” recovery after Summation(memory ARQ)2KHz waterfall“-” no decode, poor ID match(not added to summation)“m” no decode, Good ID(added to summation)
19WINMOR Measurement Approach The HF Channel Simulator The way to get true repeatable comparisons!Station 1Computer & SignaLink USB Sound CardWINMOR Virtual TNCStation 2Computer & SignaLink USB Sound CardWINMOR Virtual TNCSC OutSC OutSC InSC InCCIR Channel Options:S/N –5, 0, 5, 10, 15 dBWhite Gaussian NoiseMulti path:Good, Fair, PoorFlat Fading:Moderate, SevereFlutterAudio In Audio OutOregon Hardware/SoftwareHF Channel Simulator(used in both directions)RS232(Channels in red wereUsed in simulations)
20Preliminary Comparisons WINMOR 200 Hz vs. Pactor 1 10dB5dB0dB-5dBTests Run 9/2008 by Rick Muething, KN6KBAverage of 4 channels (WGN, CCIR Multipath Poor, Multipath Good, Moderate Flat Fading)Throughput averaged over 5 minute periodWINMOR has Ex Hamm 4,8 on ACK , RS FEC on Data
21Preliminary Comparisons WINMOR 500 Hz vs. Pactor 1,2 10dB5dB0dB-5dBTests Run 9/2008 by Rick Muething, KN6KBAverage of 4 channels (WGN, CCIR Multipath Poor, Multipath Good, Moderate Flat Fading)Throughput averaged over 5 minute periodWINMOR has Ex Hamm 4,8 FEC on ACK, RS FEC on Data
22Preliminary Comparisons WINMOR 2000 Hz vs. Pactor 2,3 15 Car16QAMWGN &FLT10dB5dB0dB-5dBTests Run 9/2008 by Rick Muething, KN6KBAverage of 4 channels (WGN, CCIR Multipath Poor, Multipath Good, Moderate Flat Fading)15 Car 16QAM points averaged for WGN and Moderate Flat Fading channels onlyThroughput averaged over 5 minute periodWINMOR has Ex Hamm 4,8 FEC on ACK, RS FEC on Data
23WINMOR 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 programsFor full and immediate access to the WL2K system for beta testing.Offer “Wrapper” functions to interface the WINMOR DLL viaa virtual serial port or TCP/IP port.(allows easier access by other existing applications)These slides and preliminary WINMOR spec will be posted on theweb site.No decision to date as to licensing or open source.WINMOR may be released through the Amateur Radio SafetyFoundation Inc. a 501C(3) public charity corporation whichsupports amateur radio emergency communications.Estimated start of beta test (Winlink 2000 system) 3 – 6 months.
24Remaining Work to be Done WINMORInvestigate inner cyclic FEC codes for PSK data modes (1-2 dB gain?)Optimize “gear shifting” algorithm (basic algorithm operational)Integrate Busy Channel Detector (SCAMP ?) and ID (CW, Waterfall?)Investigate crest factor minimization (possible 1-2 dB improvement?)Investigate 15 Car 16QAM mode (2 Kbits/sec) for VHF/UHF applications.Finalize WINMOR documentation and releaseDocument DLL interface and releaseBuild drivers for Paclink MP and RMS and beta test in Winlink.Complete help and statistical logging functions
25SummaryWINMORWINMOR looks promising and the testing to date confirms:Sound card ARQ is possible with a modern CPU and OSwhile making acceptable CPU processing demands.( CPU Loading of < 20% on a 1.5 GHz Celeron/Win XP)2) Throughput and robustness can be adjusted automaticallyto 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 possiblein fair to good channels ( bits/sec/Hz measured)4) Good ARQ efficiency ….70-75%5) Throughput is currently competitive with P2 and P3 andsignificantly better than P1Thank You!