b y dave collins, ad7jt and george heron, n2apb

31
Using DSP filtering techniques to isolate and process Morse code for both receive and transmit in the Amateur Radio bands … without a PC! by Dave Collins, AD7JT and George Heron, N2APB 16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 1

Upload: lelia

Post on 06-Feb-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Using DSP filtering techniques to isolate and process Morse code for both receive and transmit in the Amateur Radio bands … without a PC!. b y Dave Collins, AD7JT and George Heron, N2APB. Agenda. Session I Introduction Transmit Channel Q & A Session II Receive Channel Results/Conclusions - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: b y Dave Collins, AD7JT and George Heron, N2APB

Using DSP filtering techniques to isolate and process Morse code for both receive and transmit in the

Amateur Radio bands … without a PC!

by Dave Collins, AD7JTand

George Heron, N2APB

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 1

Page 2: b y Dave Collins, AD7JT and George Heron, N2APB

• Session I– Introduction– Transmit Channel– Q & A

• Session II– Receive Channel– Results/Conclusions– Q & A

Agenda

Keyboard Scan Code Processing

ASCII to Morse

LCD Graphic DisplayEEPROM Macro

Playback

Phase Modulator

USB Option Card

Flash Drive

Audio to Transceiver

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 2

Page 3: b y Dave Collins, AD7JT and George Heron, N2APB

• NUE-PSK Modem = Standalone digital mode operation … no PC required!

• Introduced ~ 4 years ago … PSK31, then other modes• Users clamored for CW support, but …• Classic performance problems with “CW Readers”• NUE-PSK Modem has a “leg up”:

– DSP processing– Nice spectral Display

WHY?

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 3

Page 4: b y Dave Collins, AD7JT and George Heron, N2APB

• Modem interfaces to transceiver with modulated, base-band audio signals.

• CW is transmitted and received as SSB signals.

• Transceiver operates in SSB or Digital mode, NOT CW MODE.

• Modulation is done with on-off delivery of an audio tone.

• Received audio is digitized at 8,000 samples per second

• A Goertzel filter reconstructs the On-Off Keying signal.

• Characters are translated to ASCII and displayed

System Configuration

128 x 64GRAPHIC DISPLAY

PS/2 KEYBOARD

Audio Out

PTT

Audio InASCII

toOOK

OOKto

ASCIIGoertzel

Filter

NUE-PSK DIGITAL MODEMdsPIC33FJ128MC706

PGA

SSBXCVR

CWIDEncode

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 4

Page 5: b y Dave Collins, AD7JT and George Heron, N2APB

• Keyboard-to-Morse conversion– Simple speed (wpm) control– “Perfect” DIT-DAH and SPACE

timing• Tone generation with existing

PSK modulator • Goertzel filter to detect the tone• Morse-to-ASCII conversion

– Automatic speed detection & tracking– Automatic DIT-DAH weighting adjustments– Manual tweaking to accommodate imperfect “fists”

• Tuning algorithm and indication– Tune with AFC (simplifies tuning and tracks drifters)– Bandwidth control

128 x 64GRAPHIC DISPLAY

PS/2 KEYBOARD

Audio Out

PTT

Audio InASCII

toOOK

OOKto

ASCIIGoertzel

Filter

NUE-PSK DIGITAL MODEMdsPIC33FJ128MC706

PGA

SSBXCVR

CWIDEncode

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 5

Page 6: b y Dave Collins, AD7JT and George Heron, N2APB

MARK --------

SPACE ----

• MARK = Key down, SPACE = Key up• Tcw is the basic unit of timing for CW

• Inter-word SPACE = 7 x Tcw (minimum)

DASH DOTDOT DASH

- - - - 3 - - - - Tcw

- 1 - Tcw

Length -------- - 1 - Tcw

- 1 - Tcw

- - - - 3 - - - - Tcw

- 1 - Tcw

- 1 - Tcw

- - - - 3 - - - - Tcw

INTER-CHARACTERSPACEINTER-ELEMENT SPACESC

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 6

Page 7: b y Dave Collins, AD7JT and George Heron, N2APB

• Words Per Minute (wpm) calculations– Standard word = “PARIS ”– Contains exactly 50 Tcw including the ending Inter-word

SPACE– Therefore, wpm = 1200 / Tcw where Tcw is expressed in

milliseconds

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 7

Page 8: b y Dave Collins, AD7JT and George Heron, N2APB

Transmit Channel

Keyboard Scan Code Processing

ASCII to Morse

LCD Graphic DisplayEEPROM Macro

Playback

Phase Modulator

USB Option Card Flash Drive

Audio to Transceiver

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 8

Page 9: b y Dave Collins, AD7JT and George Heron, N2APB

• Standard PS/2 keyboard interface• Forced Caps Lock mode• Upper-case letters for normal text• Lower-case letters for prosigns• Hot-keys for entering

<My Call> and <Their Call>• Support for Serial Numbers

Keyboard Scan Code Processing

ASCII to Morse

LCD Graphic DisplayEEPROM Macro

Playback

Phase Modulator

USB Option Card

Flash Drive

Audio to Transceiver

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 9

Page 10: b y Dave Collins, AD7JT and George Heron, N2APB

Keyboard Scan Code Processing

ASCII to Morse

LCD Graphic DisplayEEPROM Macro

Playback

Phase Modulator

USB Option Card

Flash Drive

Audio to Transceiver

• Seven, separate CW macros• Up to 255 Characters each• Tags for <TXON>, <MYCALL>, <THEIRCALL>, <TXOFF>, and

<SERIALNO>• Flexible save, restore, and edit functions

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 10

Page 11: b y Dave Collins, AD7JT and George Heron, N2APB

• Four lines of text are displayed with line-scrolling.• Operator controls wpm (Tune) and side tone (Ctrl-Tune).• Displayed characters are over lined until transmitted.• Text is transmitted only as full words.• Prosigns are displayed as lower-case letters.

Keyboard Scan Code Processing

ASCII to Morse

LCD Graphic DisplayEEPROM Macro

Playback

Phase Modulator

USB Option Card

Flash Drive

Audio to Transceiver

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 11

Page 12: b y Dave Collins, AD7JT and George Heron, N2APB

• ASCII to Morse Look Up Table• Each element followed by 1 Tcw SPACE

• Uses PSK CWID feature• 8,000 output samples per second

Keyboard Scan Code Processing

ASCII to Morse

LCD Graphic DisplayEEPROM Macro

Playback

Phase Modulator

USB Option Card

Flash Drive

Audio to Transceiver

10 01 10 01 11 00 00 00DASH

DOT

DASH

DOT

2TCW

END

0x43:

C

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 12

Page 13: b y Dave Collins, AD7JT and George Heron, N2APB

Questions?

Keyboard Scan Code Processing

ASCII to Morse

LCD Graphic DisplayEEPROM Macro

Playback

Phase Modulator

USB Option Card Flash Drive

Audio to Transceiver

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 13

Page 14: b y Dave Collins, AD7JT and George Heron, N2APB
Page 15: b y Dave Collins, AD7JT and George Heron, N2APB

• Receive Channel• Results/Conclusions• Q & A

Session II

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 15

Page 16: b y Dave Collins, AD7JT and George Heron, N2APB

Receive Channel

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 16

Page 17: b y Dave Collins, AD7JT and George Heron, N2APB

g_coef = 2 * cos(2 * PI * center_frequency / 8000). . . . . . . . . . . . . . . . . .

g_sample = (((double) f_samp)/32768.0);q0 = g_coef*q1 - q2 + g_sample;

q2 = q1;

q1 = q0;

if(++g_sample_count >= cw_n){

g_sample_count = 0;

cw_n = cw_bwa[cw_bwa_index];

g_current = q1*q1 + q2*q2 - q1*q2*g_coef;q2 = 0;

q1 = 0;

. . . . . . . . . . . . . . . . . .

g_coeff

-1

q1

q2

q0g_sample

• Specialized DFT algorithm• Used for DTMF decoding• Very simple to implement• Very fast to execute

• f_sample is the raw, digitized input signal• g_coef determines the pass band center

frequency• The band pass is the sampling frequency (8000)

divided by the block length (cw_n)• g_current is the filter output

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 17

Page 18: b y Dave Collins, AD7JT and George Heron, N2APB

• Threshold defines MARK/SPACE “fence”• Normally calculated as average

between recognized MARKs and SPACEs• Operator can override the calculations

• Operator can select between 100 Hz and 1000 Hz in eight steps

• Narrower the pass band, the longer the Goertzel calculation takes

Level (Threshold) Bandwidth

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 18

Page 19: b y Dave Collins, AD7JT and George Heron, N2APB

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

Block Length (cw_n)

Bandwidth (Hz)

Time/Block(ms)

8 1000 1.00

10 800 1.25

16 500 2.00

20 400 2.50

32 250 4.00

40 200 5.00

50 160 1.25

64 125 8.00

80 100 10.00

• Block length (cw_n) must be an integral factor of the sampling rate

• The modem’s bandwidth is bound by the transceiver’s bandwidth

• Tcw should be at least 4 times the Time per Block

• Therefore:Maximum wpm = 1200 / ( 4 x Time/Block) [ 300 – 30 wpm ]

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 19

Page 20: b y Dave Collins, AD7JT and George Heron, N2APB

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

g_coef = 2 * cos(2 * PI * center_frequency / 8000)

g_coef = 1.600102

g_coef = 1.614280

Acquire(End)

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 20

Page 21: b y Dave Collins, AD7JT and George Heron, N2APB

• CW modulates time – not waveforms• MARK and SPACE lengths are averaged• Fences are calculated• MARKs are grouped

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 21

Page 22: b y Dave Collins, AD7JT and George Heron, N2APB

• MARKs only come in two flavors• Tcw = (MARK average) / 2

• Duplicate MARK lengths are limited• The DIT-DAH fence is the average MARK length

plus the average mean deviation

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 22

Page 23: b y Dave Collins, AD7JT and George Heron, N2APB

• SPACEs come in three flavors• Any SPACE ends a MARK• When a SPACE length exceeds the character

fence, the MARK group is processed• When a SPACE duration exceeds the word fence,

a space code is inserted in the text.

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 23

Page 24: b y Dave Collins, AD7JT and George Heron, N2APB

• The MARK Tcw is the basis for SPACE fences

• Character SPACE lengths are averaged• Character fence = 2 x inter- element average• Word fence = 2.5 x character fence

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 24

Page 25: b y Dave Collins, AD7JT and George Heron, N2APB

• Operator can override SPACE fence calculations• Can vary Tcw multipliers by tenths

• Will lock until Enter is pressed• Receive continues during tweaking

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 25

Page 26: b y Dave Collins, AD7JT and George Heron, N2APB

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

Index Factor ‘C’ Value

0 1 1 1

1 2 2 4

2 4 1 4

3 8 2 16

4 16 0 0

5 32 0 0

6 64 0 0

7 128 0 0

00000000001111111111222222222230123456789012345678901234567890*ETIANMSURWDKGOHVF*L*PJBXCYZQ**

•Sum of products for ‘C’ = 25•This works for 1, 2, 3, and 4 Morse elements•Mark groups with 5, 6, 7, and 8 Morse elements are translated with brute-force•Prosigns are translated to two, lower-case letters•Group overflow generates a ‘#’

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 26

Page 27: b y Dave Collins, AD7JT and George Heron, N2APB

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

Questions?

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 27

Page 28: b y Dave Collins, AD7JT and George Heron, N2APB

• Goertzel filter outperforms expectations• Tuning at the modem is a must• Word SPACE multiple most useful tweak• Zkew least useful tweak• A good aid for CW contesting• Using it to check your “fist” can be humbling

Conclusions

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 28

Page 29: b y Dave Collins, AD7JT and George Heron, N2APB

• Keyboard-less configuration … Paddle input to built-in keyer:

• ORed with keyboard and macro input• ORed with Goertzel filter output

• Display-less configuration (Morse audio)• Logging to flash drive in a standard format• Incorporate modem functions in SDR Cube … in progress!• More?

Future Project Candidates

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 29

The ultimate“Portable Digital

Station”(The original

“Portable PSK” vision from 2001)

Page 30: b y Dave Collins, AD7JT and George Heron, N2APB

Summary

Keyboard Scan Code Processing

ASCII to Morse

LCD Graphic DisplayEEPROM Macro

Playback

Phase Modulator

USB Option Card

Flash Drive

Audio to Transceiver

Audio from Transceiver

PGA and ADC

Goertzel Filter

Mark Grouping

Morse to ASCII

LCD Graphic Display

USB Option Card

Flash Drive

AGC Level Tune Bandpass Character WordFence TweakingGoertzel Tweaking

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 30

Transmit Receive

Page 31: b y Dave Collins, AD7JT and George Heron, N2APB

Thank you!

16-SEP-2011 2011 TAPR-ARRL Digital Communications Conference 31

George Heron, N2APB2419 Feather Mae CtForest Hill, MD 21050

[email protected]

Dave Collins, AD7JT22111 N San Ramon DriveSun City West, AZ 85375

[email protected]