Varicode
Tartalomjegyzék
A varicode jelentősége
A varicode egy olyan kódtábla, amely a morzekódhoz hasonlóan a leggyakoribb alfanumerikus jeleknek adja a legrövidebb kódot. Azonban egy lényeges változás, hogy amíg a morze a ti, tá és semmi szimbólumokat tartalmazza, addig a varicode a szóközt és a karaktervéget is ebbe a kétállapotú rendszerbe kódolja. Ezáltal bináris adatfolyamban továbbíthatóvá válik.
Különbség a varicode és például a csomagrádiónál alkalmazott 8 bites információátvitel között
- karakterenként szinkronizálódik, azaz egy megfigyelő a frekvencia vételéne elkezdésétől számítva maximum egyetlen betűvel később már veszi az információt. Ellenpélda: csomagrádió, ahol ha a HDLC keretet elejétől fogva nem vette a vevő, akkor a karakterre nem volt képes rászinkronozni a bitfolyamban.
- a gyakoribb betűknek rövidebb kódja van.
- a leggyakoribb betű nem az "e", hanem a szóköz. Ezért a szóköz kapta az "1"-es 1 bites kódot.
- a kódok szeparálására a kettő darab bináris 0 ("00") került alkalmazásra.
Szigorú vagy megengedő varicode
Erre hivatalos elnevezést nem látva, a szócikk írója találta ki a nevet. A PSK31 a szigorú varicode táblát használja, amely lényeges tulajdonsága, hogy a bináris szimbólum utolsó bitjének is "1"-esnek kell lennie, és a szimbólumban két 1-es közötti területen maximum egyetlen "0" érték található. Ezáltal minden betű önálló adáskor is felismerhető.
A megengedő varicode ezzel szemben nem feltétlenül végződik 0-ára. Azonban ennél szabály, hogy az átvitt információ csak folyamatosan adható, az utolsó karakter pedig el lesz dobva. Utolsó karakternek a szóköz "100" gépi hozzáfűzése ideális választás.
Varicode táblák
A PSK31 a "szigorú" táblát használja. Jelmagyarázat:
- nX = nagy X, összes nagybetűt így jelöljük a táblázatban.
- SP = szóköz, LF = újsor, CR = kocsivissza. A többi funkciót lásd az ASCII kódtáblában.
betű | Megengedő | Szigorú | hosszak | |
---|---|---|---|---|
0. | SP | 1 | 1 | 1/1 bit |
1. | e | 10 | 11 | 2/2 bit |
2. | t | 11 | 101 | 2/3 bit +1 (+25%) |
3. | o | 101 | 111 | 3/3 bit |
4. | a | 110 | 1011 | 3/4 bit +1 (+20%) |
5. | i | 111 | 1101 | 3/4 bit +1 (+20%) |
6. | n | 1010 | 1111 | 4/4 bit |
7. | r | 1011 | 10101 | 4/5 bit +1 (+17%) |
8. | s | 1101 | 10111 | 4/5 bit +1 (+17%) |
9. | l | 1110 | 11011 | 4/5 bit +1 (+17%) |
10. | LF | 1111 | 11101 | 4/5 bit +1 (+17%) |
11. | CR | 10101 | 11111 | 5/5 bit |
12. | h | 10110 | 101011 | 5/6 bit +1 (+14%) |
13. | d | 10111 | 101101 | 5/6 bit +1 (+14%) |
14. | c | 11010 | 101111 | 5/6 bit +1 (+14%) |
15. | - | 11011 | 110101 | 5/6 bit +1 (+14%) |
16. | u | 11101 | 110111 | 5/6 bit +1 (+14%) |
17. | m | 11110 | 111011 | 5/6 bit +1 (+14%) |
18. | f | 11111 | 111101 | 5/6 bit +1 (+14%) |
19. | p | 101010 | 111111 | 6/6 bit |
20. | = | 101011 | 1010101 | 6/7 bit +1 (+12%) |
21. | . | 101101 | 1010111 | 6/7 bit +1 (+12%) |
22. | g | 101110 | 1011011 | 6/7 bit +1 (+12%) |
23. | y | 101111 | 1011101 | 6/7 bit +1 (+12%) |
24. | b | 110101 | 1011111 | 6/7 bit +1 (+12%) |
25. | w | 110110 | 1101011 | 6/7 bit +1 (+12%) |
26. | nT | 110111 | 1101101 | 6/7 bit +1 (+12%) |
27. | nS | 111010 | 1101111 | 6/7 bit +1 (+12%) |
28. | , | 111011 | 1110101 | 6/7 bit +1 (+12%) |
29. | nE | 111101 | 1110111 | 6/7 bit +1 (+12%) |
30. | v | 111110 | 1111011 | 6/7 bit +1 (+12%) |
31. | nA | 111111 | 1111101 | 6/7 bit +1 (+12%) |
32. | nI | 1010101 | 1111111 | 7/7 bit |
33. | nO | 1010110 | 10101011 | 7/8 bit +1 (+11%) |
34. | nC | 1010111 | 10101101 | 7/8 bit +1 (+11%) |
35. | nR | 1011010 | 10101111 | 7/8 bit +1 (+11%) |
36. | nD | 1011011 | 10110101 | 7/8 bit +1 (+11%) |
37. | 0 | 1011101 | 10110111 | 7/8 bit +1 (+11%) |
38. | nM | 1011110 | 10111011 | 7/8 bit +1 (+11%) |
39. | 1 | 1011111 | 10111101 | 7/8 bit +1 (+11%) |
40. | k | 1101010 | 10111111 | 7/8 bit +1 (+11%) |
41. | nP | 1101011 | 11010101 | 7/8 bit +1 (+11%) |
42. | nL | 1101101 | 11010111 | 7/8 bit +1 (+11%) |
43. | nF | 1101110 | 11011011 | 7/8 bit +1 (+11%) |
44. | nN | 1101111 | 11011101 | 7/8 bit +1 (+11%) |
45. | x | 1110101 | 11011111 | 7/8 bit +1 (+11%) |
46. | nB | 1110110 | 11101011 | 7/8 bit +1 (+11%) |
47. | 2 | 1110111 | 11101101 | 7/8 bit +1 (+11%) |
48. | TAB | 1111010 | 11101111 | 7/8 bit +1 (+11%) |
49. | : | 1111011 | 11110101 | 7/8 bit +1 (+11%) |
50. | ) | 1111101 | 11110111 | 7/8 bit +1 (+11%) |
51. | ( | 1111110 | 11111011 | 7/8 bit +1 (+11%) |
52. | nG | 1111111 | 11111101 | 7/8 bit +1 (+11%) |
53. | 3 | 10101010 | 11111111 | 8/8 bit |
54. | nH | 10101011 | 101010101 | 8/9 bit +1 (+10%) |
55. | nU | 10101101 | 101010111 | 8/9 bit +1 (+10%) |
56. | 5 | 10101110 | 101011011 | 8/9 bit +1 (+10%) |
57. | nW | 10101111 | 101011101 | 8/9 bit +1 (+10%) |
58. | " | 10110101 | 101011111 | 8/9 bit +1 (+10%) |
59. | 6 | 10110110 | 101101011 | 8/9 bit +1 (+10%) |
60. | _ | 10110111 | 101101101 | 8/9 bit +1 (+10%) |
61. | * | 10111010 | 101101111 | 8/9 bit +1 (+10%) |
62. | nX | 10111011 | 101110101 | 8/9 bit +1 (+10%) |
63. | 4 | 10111101 | 101110111 | 8/9 bit +1 (+10%) |
64. | nY | 10111110 | 101111011 | 8/9 bit +1 (+10%) |
65. | nK | 10111111 | 101111101 | 8/9 bit +1 (+10%) |
66. | ' | 11010101 | 101111111 | 8/9 bit +1 (+10%) |
67. | 8 | 11010110 | 110101011 | 8/9 bit +1 (+10%) |
68. | 7 | 11010111 | 110101101 | 8/9 bit +1 (+10%) |
69. | / | 11011010 | 110101111 | 8/9 bit +1 (+10%) |
70. | nV | 11011011 | 110110101 | 8/9 bit +1 (+10%) |
71. | 9 | 11011101 | 110110111 | 8/9 bit +1 (+10%) |
72. | | | 11011110 | 110111011 | 8/9 bit +1 (+10%) |
73. | ; | 11011111 | 110111101 | 8/9 bit +1 (+10%) |
74. | q | 11101010 | 110111111 | 8/9 bit +1 (+10%) |
75. | z | 11101011 | 111010101 | 8/9 bit +1 (+10%) |
76. | > | 11101101 | 111010111 | 8/9 bit +1 (+10%) |
77. | $ | 11101110 | 111011011 | 8/9 bit +1 (+10%) |
78. | nQ | 11101111 | 111011101 | 8/9 bit +1 (+10%) |
79. | + | 11110101 | 111011111 | 8/9 bit +1 (+10%) |
80. | j | 11110110 | 111101011 | 8/9 bit +1 (+10%) |
81. | < | 11110111 | 111101101 | 8/9 bit +1 (+10%) |
82. | \ | 11111010 | 111101111 | 8/9 bit +1 (+10%) |
83. | # | 11111011 | 111110101 | 8/9 bit +1 (+10%) |
84. | [ | 11111101 | 111110111 | 8/9 bit +1 (+10%) |
85. | ] | 11111110 | 111111011 | 8/9 bit +1 (+10%) |
86. | nJ | 11111111 | 111111101 | 8/9 bit +1 (+10%) |
87. | ! | 101010101 | 111111111 | 9/9 bit |
88. | NUL | 101010110 | 1010101011 | 9/10 bit +1 (+ 9%) |
89. | nZ | 101010111 | 1010101101 | 9/10 bit +1 (+ 9%) |
90. | ? | 101011010 | 1010101111 | 9/10 bit +1 (+ 9%) |
91. | { | 101011011 | 1010110101 | 9/10 bit +1 (+ 9%) |
92. | } | 101011101 | 1010110111 | 9/10 bit +1 (+ 9%) |
93. | & | 101011110 | 1010111011 | 9/10 bit +1 (+ 9%) |
94. | @ | 101011111 | 1010111101 | 9/10 bit +1 (+ 9%) |
95. | ^ | 101101010 | 1010111111 | 9/10 bit +1 (+ 9%) |
96. | % | 101101011 | 1011010101 | 9/10 bit +1 (+ 9%) |
97. | ~ | 101101101 | 1011010111 | 9/10 bit +1 (+ 9%) |
98. | SOH | 101101110 | 1011011011 | 9/10 bit +1 (+ 9%) |
99. | FF | 101101111 | 1011011101 | 9/10 bit +1 (+ 9%) |
100. | ` | 101110101 | 1011011111 | 9/10 bit +1 (+ 9%) |
101. | EOT | 101110110 | 1011101011 | 9/10 bit +1 (+ 9%) |
102. | STX | 101110111 | 1011101101 | 9/10 bit +1 (+ 9%) |
103. | ACK | 101111010 | 1011101111 | 9/10 bit +1 (+ 9%) |
104. | DC1 | 101111011 | 1011110101 | 9/10 bit +1 (+ 9%) |
105. | DLE | 101111101 | 1011110111 | 9/10 bit +1 (+ 9%) |
106. | RS | 101111110 | 1011111011 | 9/10 bit +1 (+ 9%) |
107. | BEL | 101111111 | 1011111101 | 9/10 bit +1 (+ 9%) |
108. | BS | 110101010 | 1011111111 | 9/10 bit +1 (+ 9%) |
109. | ESC | 110101011 | 1101010101 | 9/10 bit +1 (+ 9%) |
110. | ETB | 110101101 | 1101010111 | 9/10 bit +1 (+ 9%) |
111. | DC4 | 110101110 | 1101011011 | 9/10 bit +1 (+ 9%) |
112. | FS | 110101111 | 1101011101 | 9/10 bit +1 (+ 9%) |
113. | ENQ | 110110101 | 1101011111 | 9/10 bit +1 (+ 9%) |
114. | NAK | 110110110 | 1101101011 | 9/10 bit +1 (+ 9%) |
115. | SYN | 110110111 | 1101101101 | 9/10 bit +1 (+ 9%) |
116. | VT | 110111010 | 1101101111 | 9/10 bit +1 (+ 9%) |
117. | SO | 110111011 | 1101110101 | 9/10 bit +1 (+ 9%) |
118. | ETX | 110111101 | 1101110111 | 9/10 bit +1 (+ 9%) |
119. | CAN | 110111110 | 1101111011 | 9/10 bit +1 (+ 9%) |
120. | EM | 110111111 | 1101111101 | 9/10 bit +1 (+ 9%) |
121. | US | 111010101 | 1101111111 | 9/10 bit +1 (+ 9%) |
122. | SI | 111010110 | 1110101011 | 9/10 bit +1 (+ 9%) |
123. | DC2 | 111010111 | 1110101101 | 9/10 bit +1 (+ 9%) |
124. | DC3 | 111011010 | 1110101111 | 9/10 bit +1 (+ 9%) |
125. | DEL | 111011011 | 1110110101 | 9/10 bit +1 (+ 9%) |
126. | SUB | 111011101 | 1110110111 | 9/10 bit +1 (+ 9%) |
127. | GS | 111011110 | 1110111011 | 9/10 bit +1 (+ 9%) |
Összegzés
A varicode jó, a szigorú varicode nyitja is és zárja is a karaktert, míg a megengedő az új karakter nyitásával egyidejűleg zárja a régi karaktert. Azonban igen jelentősen (10-15 %-kkal) rövidebbé teszi azt a bitfolyamot, amelyben az üzenetünket továbbítani tudjuk.