Varicode is a self-synchronizing code for use in PSK31. It supports all ASCII characters, but the characters used most frequently in English have shorter codes. The space between characters is indicated by a 00 sequence, an implementation of Fibonacci coding. Originally created for speeding up real-time keyboard-to-keyboard exchanges over low bandwidth links, Varicode is freely available.[1][2][3]
Limitations
Varicode provides somewhat weaker compression in languages other than English that use same characters as in English.
Beginning with the single-bit code "1", valid varicode values may be formed by prefixing a "1" or "10" to a shorter code. Thus, the number of codes of length n is equal to the Fibonacci numberFn. Varicode uses the 88 values of lengths up to 9 bits, and 40 of the 55 codes of length 10.
As transmitted, the codes are two bits longer due to the trailing delimiter 00.
ASCII characters by varicode length
Bits
Codes
Characters
1
1
SP
2
1
e
3
2
o t
4
3
a i n
5
5
LF CR l r s
6
8
- c d f h m p u
7
13
, . = A E I S T b g v w y
8
21
HT ( ) 0 1 2 3 : B C D F G L M N O P R k x
9
34
! " # $ ' * + / 4 5 6 7 8 9 ; < > H J K Q U V W X Y [ \ ] _ j q z |
10
40
NUL SOH STX ETX EOT ENQ ACK BEL BS VT FF SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EOM SUB ESC FS GS RS US % & ? @ Z ^ ` { } ~ DEL
References
^Steven L Karty, N5SK. "PSK31 Spec". ARRL Website. Retrieved 18 Dec 2010.{{cite web}}: CS1 maint: numeric names: authors list (link)
You must be logged in to post a comment.