PSK31: новый вид радиотелетайпа со старой философией (PSK и QPSK)

in PSK
Обновлено: 23 Июнь 2014
Просмотров: 4122

ЖУРНАЛ "РАДИОКЛУБ"  Image   ОСНОВЫ И ПРАКТИКА ЛЮБИТЕЛЬСКОЙ РАДИОСВЯЗИ Image  

G3PLX - PSK31

Peter Martinez, G3PLX (ноябрь 1998 г.)
перевод с английского - Андрей Отрощенко, RA3DOA

статья "родоначальника PSK31" об основах PSK31 и принципах работы

G3PLX - PSK31

Автор активно работал на RTTY начиная с 60-х годов прошлого века и участвовал во внедрении AMTOR в радиолюбительскую практику в конце 70-х. Этот вид связи улучшил надежность коротковолнового канала связи и послужил основанием для дальнейших достижений, которые развили радиолюбительство в части передачи данных, обработки сообщений и компьютерной связи. В то же самое время все остальное радиолюбительство, при проведении связей в эфире, основано на двусторонних контактах между операторами.

Таким образом, в настоящее время, образовался ничем не заполненный разрыв между энтузиастами передачи данных и поклонниками двусторонних непосредственных контактов, до сих пор использующих традиционный вид связи - RTTY, хотя и основанный на использовании компьютеров, а не радиотелетайпов.

В этой статье обсуждаются особенности "живого" контакта в эфире и описывается режим PSK31, разработанный мной специально для проведения "живых" QSO. Этот вид связи основан на использовании дешевых плат DSP и может стать еще более дешевым по мере освоения радиолюбителями работы со звуковыми PC-картами.

ЧТО НУЖНО ДЛЯ НЕПОСРЕДСТВЕННОГО ОБЩЕНИЯ?

Я уверен, что именно процедура исправления ошибок, используемая в модемных режимах передачи данных, делает эти режимы непригодными для живого общения. Можно выделить несколько факторов. Первый связан с тем, что система коррекции ошибок привносит временную задержку в канал связи. В случае работы на AMTOR или PACTOR имеется фиксированный цикл в 450 мсек или 1.25 сек или даже еще больше, на который обязательно будет задержано каждое нажатие на клавиатуре (если при передачи возникнут ошибки, задержка будет еще больше). При использовании систем FEC (упреждающая коррекция ошибок) задержка также неизбежна, так как передаваемая информация "размазана" во времени. При проведении двусторонней связи задержка удваивается. Мне кажется, что именно эта задержка во времени делает двустороннюю связь, с коррекцией ошибок, не пригодной для радиолюбительского общения.

Вообще, именно "человеческий фактор" играет основную роль. Вторая причина связана с законом, по которому достоверность передаваемой информации меняется в зависимости от качества канала связи. В аналоговых видах связи (например, CW или SSB) этот закон имеет линейный характер. Операторы знают об этом и подсознательно постоянно учитывают при проведении связи: при худших условиях связи, меняется скорость произнесения слов и интонации голоса. Даже тема беседы может меняться в зависимости от условий прохождения в эфире. При проведении цифровой связи зависимость между количеством ошибок на экране и отношением сигнал/шум не такая гладкая. Современные режимы с коррекцией ошибок особенно чувствительны к соотношению сигнал/шум - пока это соотношение достаточно велико передача практически лишена ошибок и совершенно прекращается, как только соотношение сигнал/шум падает ниже некоторого порогового значения. Эта особенность традиционных цифровых видов связи очень сильно мешает равномерному течению беседы.

Третья причина - особенность общения: при использовании режимов с коррекцией ошибок вы можете работать только с одной станцией в каждый момент времени. Это неизбежно приводит к сужению круга "беседующих" и создает тенденцию к ограничению контактов только с ближайшими друзьями.

Все эти причины заставили меня предположить, что для осуществления непосредственных контактов нужна система передачи данных, НЕ основанная на коррекции ошибок. Устойчивая популярность RTTY подтверждает это предположение: задержка передачи минимальна (150 мсек), течение беседы непрерывно, количество ошибок терпимо. За разговором легко наблюдать и к нему легко присоединиться!

Как можно улучшить RTTY?

Как же с помощью модемных технологий недоступных в 60-х годах улучшить традиционный RTTY? Для начала, так как мы говорим о непосредственном общении, отметим, что нет нужды обсуждать любые системы, передающие текст быстрее, чем его может набирать на клавиатуре человек. Во вторых, так как современные трансиверы гораздо стабильнее, чем трансиверы 60-х годов, мы можем использовать гораздо более узкую полосу частот. В третьих, цифровые процессоры обладают гораздо большей производительностью, чем механика традиционных телетайпных аппаратов. Терпимая к дрейфу частоты частотная манипуляция и пятибитовая кодировка со стартовым и стоповым битами являются следствием ограниченности технологии, существовавшей 30 лет назад. Сейчас можно все сделать гораздо лучше.

Варикодный алфавит PSK31.

Метод, который я применил для того, чтобы улучшить традиционную старт-стоповую кодировку (не вводя задержек, связанных с дополнительными процессами коррекции ошибок и синхронизации) основан на другой традиционной кодировке - коде Морзе. Код Морзе весьма эффективен в смысле средней длительности символа, так как в нем для наиболее часто встречающихся символов используются самые короткие кодировки. Вдобавок код Морзе можно назвать самосинхронизирующимя: нам не надо ничего дополнительного для того, чтобы узнать где кончается один символ и начинается другой. Это значит, что код Морзе не страдает от "эффекта каскадирования ошибок", который возникает, когда стартовый или стоповый биты искажаются во время приема. Дело в том, что кодировка, используемая для обозначения интервала между символами, не может встретиться внутри символа ни при каких условиях.

Кодировка, которую я предлагаю, является логическим развитием кода Морзе. Если в коде Морзе используются элементы, имеющие длину либо 1, либо 3 бита (точки и тире соответственно), то в предлагаемой кодировке длина может быть произвольной. Промежуток между символами можно уменьшить до двух бит. Если условиться, что нажатию ключа соответствует бит "1", а отпусканию - бит "0", то самый короткий код, это просто бит "1". Следующий - "11", затем "101", "1011", "1101", "1111", но не "1001", так как два нуля подряд означают промежуток между символами. Вооружившись карандашом и бумагой нетрудно за несколько минут получить необходимое количество кодировок. Полный набор кодировок для 128 символов ASCII укладывается в кодировки длиной до 10 бит.

Я проанализировал большое количество текстов на английском языке с целью выяснить частоту повторения отдельных букв. Результат приведен в приложении и я назвал его Варикодным алфавитом. Для англоязычных текстов средняя длина символа (учитывая промежуток между буквами "00") составляет 6.5 бит на один символ. Имитирую случайно возникающие при приеме ошибки и подсчитывая число "поврежденных" символов я убедился, что Варикод на 50% лучше, чем старт-стоповая кодировка. Это означает, что свойство самосинхронизации работает хорошо.

Наиболее коротким кодом в азбуке Морзе является код буквы "E", а в врикодном алфавите наиболее короткий код отдан пробелу. Если передавать нечего, то передается сплошная цепочка нулей. На рис. 1 приведено сравнение оного и того же слова в ASCII, RTTY, Морзе и Варикоде.

PSK31 - G3PLX - 1

Рис.1

Модуляция и демодуляция PSK31

Для передачи Варикода с разумной скоростью около 50 слов в минуту нужно обеспечить скорость потока битов около 32 бит/сек. Я выбрал 31.25 бит/сек, так как эта скорость может быть легко получена из стандартной скорости семплирования звуковых карт, равной 8000 замеров в секунду. Теоретически для передачи такого потока достаточна полоса частот в 31.25 Гц. Необходимой для этого стабильностью частоты обладают практически все современные КВ-трансиверы.

Выбранный тип модуляции был (насколько я знаю) впервые использован на коротковолновых диапазонах радиолюбителем SP9VRC. Вместо того, чтобы использовать сдвиг частоты (ухудшается ширина спектра излучения) или включение - выключение частоты (ухудшается средняя излучаемая мощность) элементы кодировки передаются с помощью изменения фазы излучаемого сигнала на противоположную. Такой тип модуляции эквивалентен переключению проводов фидера антенны. Эффективность передачи возрастает, так как мы сравниваем положительный сигнал перед изменением фазы с отрицательным сигналом после изменения фазы, а не наличие сигнала (во время "точки") с его отсутствием (во время "паузы"). Но если переключать фазу с такой скоростью (31.25 раз в секунду), то будут генерироваться мощные щелчки, которые придется отфильтровывать.

Если сигнал передатчика, излучающего непрерывную серию точек кода Морзе, пропустить через фильтр, имеющий минимальную необходимую полосу частот, то получится амплитудно-модулированный сигнал с глубиной модуляции 100%. Огибающая этого сигнала будет иметь вид синусоиды, а период этой синусоиды будет равен периоду следования точек. Спектр такого сигнала состоит из центральной несущей и двух боковых полос с амплитудой на 6 dB меньше. Отфильтрованный подобным образом сигнал, фаза которого меняется с тем же периодом на 180 градусов, а амплитуда постоянна, состоит из тех же боковых полос, но без центральной несущей. Это значит, что переход от классической морзянки к фазовой модуляции с поворотом фазы на 180 градусов дает тот же выигрыш, что и переход от АМ-модуляции к DSB-модуляции. Такой вид модуляции принято называть "двоичная манипуляция сдвигом фазы" (Binary Phase-Shift Keying - BPSK). На рисунке Рис. 2 показана огибающая сигнала BPSK и детально показан поворот фазы на 180 градусов.

PSK31 - G3PLX - 2

Рис.2

Чтобы сформировать простейший сигнал BPSK можно преобразовать поток данных в уровни +/- 1 Вольт, пропустить через фильтр нижних частот и подать на балансный модулятор, на другой вход которого подать несущую частоту. Если посылать сигнал, постоянно меняющий, на 180 градусов, фазу, то это будет выглядеть как поступающая на балансный модулятор синусоида с размахом 1 Вольт. С выхода модулятора мы получим чистый двухтоновый сигнал. Практически используется стандартный SSB-трансивер, а модуляция осуществляется еще на звуковой частоте, или производится эквивалентное преобразование в микросхеме DSP. Можно передавать уровень "0" непрерывной несущей, а уровень "1" - переворотом фазы этой несущей, но я делаю это иначе по причинам, которые вскоре станут понятны в дальнейшем.

Есть много способов демодуляции BPSK, но все они начинаются с фильтрации сигнала полосовым фильтром. Для той скорости, которую мы выбрали для PSK31, этот фильтр может теоретически иметь полосу 31.25 Гц. Но "прямоугольный" фильтр с такой полосой будет не только дорого стоить в смысле денег, он будет еще вносить очень большую задержку. А мы договорились по возможности избегать задержек! На практике фильтр может иметь двойную ширину полосы пропускания 62.5 Гц (по уровню -50 dB). Задержка у такого фильтра может составлять 64 мсек (длительность двух битов).

Сама демодуляция может быть произведена любым из стандартных методов демодуляции DSB-сигнала, но есть другой способ. Сигнал задерживается на длительность одного бита и сравнивается с незадержанным сигналом на фазовом компараторе. Выход компаратора отрицателен, когда фазы сравниваемых сигналов отличаются на 180 градусов, и положителен, когда фазы совпадают.

Хотя мы можем извлечь информацию из демодулированного сигнала измеряя длительности "точек и тире" точно так же, как мы это делаем ухом при приеме морзянки, в тяжелых (зашумленных) каналах связи, извлечению информации можно было бы помочь, если бы мы знали, когда ее ожидать. Данные легко передавать строго выдерживая необходимые длительности, поэтому вполне можно предсказать, когда надо производить замеры выхода демодулятора. Этот процесс обычно называют синхронным приемом, хотя иногда его неправильно называют когерентным приемом. Для того, чтобы синхронизовать приемник и передатчик, мы можем использовать тот факт, что сигнал BPSK имеет амплитудно - модулированный компонент. Хотя модуляция изменяется в зависимости от передаваемой информации, в ней всегда есть чистый тон, соответствующий скорости передачи битов. Его можно выделить с помощью узкополосного фильтра, цепочки ФАПЧ или их DSP-эквивалента, и подать на демодулятор для управления замерами значений выходного сигнала демодулятора. На Рис. 3 показаны блок-схемы типичных модулятора и демодулятора BPSK.

PSK31 - G3PLX - 3

Рис.3

Чтобы синхронизация работала устойчиво, не должно быть слишком длинных промежутков между поворотами фазы на 180 градусов. Абсолютно стабильная несущая не имеет модуляции, и мы не сможем предсказать, когда произойдет поворот фазы. К счастью, Варикод - это как раз то, что нам нужно при условии, что нулю будет соответствовать поворот фазы на 180 градусов, а единице - стабильная несущая. В этом случае во время отсутствия передаваемой информации идет поток сплошных нулей, а значит - постоянных поворотов фазы с частотой 31.25 Гц. Во время передачи информации все равно периодически будет происходить поворот фазы, так как между символами должно быть два нуля подряд. Среднее количество поворотов фазы составит 2 на каждые 6.5 бит, в худшем случае перерыв между поворотами составит 10 бит. Если обеспечить выполнение условия, что передача всегда начинается с посылки непрерывного ряда нулей (отсутствие информации), то синхронизация будет достигаться очень быстро. Если же еще заствить трансивер в конце передачи достаточно долго посылать в эфир немодулированную несущую, то можно будет автоматически включать декодирование на принимающей стороне по достаточно длинной последовательности непрерывных поворотов фазы, а выключать по достаточно долгому их отсутствию. Это позволит убрать с экрана "мусор", возникающий в промежутках между передачами из-за шумов эфира.

Как начать работу на PSK31

До сих пор мы занимались философией и теорией, но как выйти в эфир этим видом излучения? В настоящее время начать работать на PSK31 можно, приобретя набор DSP (Digital Signal Processing - цифровая обработка сигналов). Обычно это печатная плата с последовательным портом для подключения к компьютеру. На рынок такие платы выпускаются производителями DSP-процессоров по низкой цене для того, чтобы инженеры и студенты познакомились с программированием DSP. (В России такие платы так и не успели получить широкое распространение, в связи с массовой установкой в компьютеры звуковых плат. прим. ua1aco) Многие радиолюбители начали писать программное обеспечение для этих плат. Эти программы позволяют работать не только на RTTY но и SSTV, пакетом, через спутники, а также проводить различные эксперименты по цифровой обработке голоса. У этих плат обычно есть также аналоговые и цифровые вход и выход. Конструкторская работа обычно ограничена распайкой кабелей, созданием блока питания и экранированной коробки для платы. Программное обеспечения для этих DSP-плат обычно бесплатно. Точно также бесплатно соответствующее программное обеспечения для PC-компьютеров. Все эти программы легче всего получить через интернет. Безусловно, можно создать аппаратный модем PSK31, но я не знаю пока ни одного человека, который бы занимался этим. Наиболее многообещающим направлением является создание программ, использующих в качестве аппаратной части обычные звуковые PC-карты. (Время показало, что это направление было предсказано G3PLX правильно. прим. ua1aco)

Работа на PSK31

На PSK31 одинаково легко наблюдать за работой других, давать общий вызов, беседовать с одним корреспондентом или участвовать в работе "круглого стола". Но очень узкая полоса излучения (приема) и хороший прием слабых сигналов означают, что вам придется освоить несколько новых приемов работы. Обычно ручкой трансивера производят только грубую настройку на принимаемый сигнал. Точная подстройка приема производится изменением звуковой рабочей частоты. Для облегчения настройки на частоту корреспондента с точностью до нескольких герц используется индикатор фазового сдвига. При передаче, так как огибающая сигнала (в отличие от сигнала FSK) модулирована по амплитуде, приходится следить за линейностью передающего тракта. К счастью правильную настройку довольно легко осуществить потому, что излучение передатчика в отсутствие полезной информации представляет из себя обычный двухтоновый сигнал. Наихудшие побочные продукты излучения обычно находятся в +/- 45 Гц от частоты настройки и не должны превышать уровня -36 dB относительно несущей.

Во второй части этой статьи будет рассказано, как можно сделать шаг назад и ввести коррекцию ошибок, а также включить в Варикод символы национальных алфавитов.

Приложение: Варикодный алфавит.

ASCIIВарикодASCIIВарикодASCIIВарикодASCIIВарикод
00 1010101011 пробел 1 @ 1010111101 ` 1011011111
01 1011011011 ! 111111111 A 1111101 a 1011
02 1011101101 " 101011111 B 11101011 b 1011111
03 1101110111 # 111110101 C 10101101 c 101111
04 1011101011 $ 111011011 D 10110101 d 101101
05 1101011111 % 1011010101 E 1110111 e 11
06 1011101111 & 1010111011 F 11011011 f 111101
07 1011111101 ' 101111111 G 11111101 g 1011011
08 1011111111 ( 11111011 H 101010101 h 101011
09 11101111 ) 11110111 I 1111111 i 1101
0A (LF) 11101 * 101101111 J 111111101 j 111101011
0B 1101101111 + 111011111 K 101111101 k 10111111
0C 1011011101 , 1110101 L 11010111 l 11011
0D (CR) 11111 - 110101 M 10111011 m 111011
0E 1101110101 . 1010111 N 11011101 n 1111
0F 1110101011 / 110101111 O 10101011 o 111
10 1011110111 0 10110111 P 11010101 p 111111
11 1011110101 1 10111101 Q 111011101 q 110111111
12 1110101101 2 11101101 R 10101111 r 10101
13 1110101111 3 11111111 S 1101111 s 10111
14 1101011011 4 101110111 T 1101101 t 101
15 1101101011 5 101011011 U 101010111 u 110111
16 1101101101 6 101101011 V 110110101 v 1111011
17 1101010111 7 110101101 W 101011101 w 1101011
18 1101111011 8 110101011 X 101110101 x 11011111
19 1101111101 9 110110111 Y 101111011 y 1011101
1A 1110110111 : 11110101 Z 1010101101 z 111010101
1B 1101010101 ; 110111101 [ 111110111 { 1010110111
1C 1101011101 < 111101101 \ 111101111 | 110111011
1D 1110111011 = 1010101 ] 111111011 } 1010110101
1E 1011111011 > 111010111 ^ 1010111111 ~ 1011010111
1F 1101111111 ? 1010101111 _ 101101101 7F 1110110101

Коды передаются, начиная с левого бита. При передаче нуля фаза поворачивается на 180 градусов, а при передаче единицы фаза не меняется. Между символами вставляется минимум два нуля. В некоторых реализациях коды ниже 32 могут не обрабатываться.

Часть 2

В первой части обсуждались требования к клавиатурно-экранной коммуникационной системе, подходящей для непосредственного общения в эфире. В качестве кандидата в современные эквиваленты RTTY в ней была предложена узкополосная PSK31. Этот режим используется на КВ небольшой, но быстро растущей группой энтузиастов уже около несколько лет. В этой части статьи я опишу два последних усовершенствования для PSK31.

Иной взгляд на коррекцию ошибок.

После того, как PSK31 стала работать с модуляцией BPSK и варикодным алфавитом, многие люди стали убеждать меня, что надо добавить коррекцию ощибок, так как это, по их мнению, улучшит PSK31 еще больше. Я сопротивлялся этому по причинам, изложенным в части 1, а именно: задержки в передаче, неравномерный ход траффика и невозможность наблюдения за разговором двух корреспондентов делают коррекцию ошибок неприемлемой для непосредственных контактов. Есть и еще одна причина. Все системы коррекции ошибок добавляют избыточные биты данных. Для того, чтобы сохранить скорость передачи полезной информации, я должен буду удвоить поток битов. Но для BPSK это означает удвоение занимаемой полосы частот, следовательно ухудшение на 3 dB соотношения сигнал/шум, следовательно увеличится количество ошибок. Система коррекции должна будет замедлять скорость только для того, чтобы сохранить прежнюю надежность связи. Выигрыш от применения системы коррекции становится не очевидным! Интересно отметить, что в случае FSK, где занимаемая полоса частот и так велика, битовый поток можно удвоить без увеличения занимаемой полосы частот. Поэтому коррекция ошибок будет давать реальный выигрыш. Компьютерное моделирование показывает, что при высоком отношении сигнал/шум коррекция ошибок делает редкие ошибки в BPSK еще более редкими (очень редкими!), но в реальном эфире при невысоких соотношениях сигнал/шум, гораздо эффективнее медленно передавать необработанные данные по каналу с максимально узкой полосой частот. При этом мы получаем выигрыш и в смысле числа одновременно работающих на 1 КГц станций и не мешающих друг другу.

Тем не менее, было высказано предположение, что коррекция ошибок может оказаться полезной в случае импульсных помех, которые было трудно симитировать на стенде. Поэтому решил попробовать проверить это в некоторых сравнительных тестах. Мне показалось, что технология FEC (Forward Error Correction) может все-таки подойти при условии, что задержка будет не слишком велика.

Я понимал, что сравнивать две системы с различными полосами занимаемых частот, будет трудно. Влияние соседних каналов будет разным, разным будет и влияние многолучевого приема. Однако есть способ увеличить пропускную способность канала BPSK не увеличивая занимаемую им полосу. Добавив на передающей стороне вторую несущую BPSK, сдвинутую по фазе на 90 градусов, а на приемной - второй демодулятор, мы может сделать тот же трюк, который используется для передачи двух цветоразностных сигналов в телевизионных системах PAL или NTSC. Это можно назвать квадратурной манипуляцией обращением полярности, но все называют это четырехуровневой манипуляцией сдвигом фазы или QPSK (Quaternary Phase-Shift Keying).

Платой за это будет уменьшение соотношения сигнал/шум на 3 dB, так как мощность передатчика придется делить между двумя каналами. Это такая же плата, как при удвоении полосы занимаемых частот, поэтому мы не выиграли и не проиграли. Поэтому QPSK идеально подходит для моего планируемого сравнительного эксперимента: влияние соседних каналов, отношение сигнал/шум и устойчивость к многолучевому приему (замирания сигнала) одинаковы в обоих случаях.

В следующем разделе я буду рассматривать QPSK-сигнал не как два отдельных канала бинарной (двоичной) информации, а как один канал, фаза которого может принимать значение 0, 90, 180 или 270 градусов. Кстати, способ синхронизации предложенный для BPSK, годится и в этом случае, так как сигнал QPSK также модулирован по амплитуде с частотой, равной скорости потока битов.

QPSK и конволюционное кодирование.

Имеется море литературы, посвященной коррекции ошибок в информации, разбитой на блоки постоянной длины (например, такие, как коды ASCII) путем передачи этой информации в виде более длинных блоков, но я не видел ни одной статьи, посвященной коррекции ошибок информации, состоящей из блоков переменной длины, например Варикода. Тем не менее, способ уменьшить количество ошибок в такой информации существует. Применение этого способа при передаче информации по радиоканалу тем более естественно, что возникающие ошибки так же не имеют блоковой структуры. Эти методы называются конволюционными кодами. Одна из самых простых реализаций удваивает поток битов данных, и поэтому является естественным выбором для применения в QPSK.

Конволюционный кодировщик генерирует одно из четырех возможных значений сдвига фазы не на основе одного очередного бита, а на основании значений нескольких последовательных битов. Это эквивалентно тому, что каждый бит как бы "размыт" во времени, "перемешан" с несколькими предыдущими и последующими битами. Чем больше это "размытие", тем выше способность кодировки исключить влияние всплесков шума. Но слишком большое "размытие" приведет к большой задержке в передаче. Я выбрал величину "размытия" равной 5 битам. Таблица, определяющая фазовый сдвиг в сигнале в зависимости от значений пяти последовательных битов, приведена в приложении. Закон, по которому была создана эта таблица, здесь обсуждаться не будет.

В приемнике используется устройство под названием декодер Витерби. Это не столько декодер, сколько целое семейство кодировщиков, "играющих" в игру под названием "Угадай-ка". Каждый делает свое, отличное от других, предположение о том, какими могут быть последние 5 бит. Из 5 бит можно составить 32 комбинации, поэтому в игре принимают участие 32 кодировщика. На каждом шаге кодировщиками предсказывается значение сдвига фазы. Реальное значение сдвига фазы сравнивается с каждым из предсказанных. По результатам сравнения каждому кодировщику выставляется оценка по 10-балльной шкале. 16 худших кодировщиков выбывают из "соревнования", а 16 лучших "проходят в следующий тур" вместе со своей оценкой. Каждый выживший кодировщик превращается в два новых, один из которых предполагает, что следующий бит равен "0", а другой - "1". Оба предсказывают свой сдвиг фазы. Результат сравнивается с новым принятым сдвигом фазы. Всем выставляется оценка (из 10 баллов) и опять худшие 16 отмирают, а лучшие 16 выживают и переходят в следующий тур. И так далее ...

Этот процесс немного похож на эволюционную теорию Дарвина. В конце концов все "наследники" кодировщиков, ранее сделавших правильные предположения, окажутся среди выживших и будут иметь одни и те же "гены предков". Поэтому нам достаточно вести запись "семейного дерева (последовательность предположенных битов) каждого выжившего кодировщика, а затем отследить по этому дереву переданный поток битов. Но для этого придется подождать минимум 5 битов, т.е. до тех пор, пока все выжившие кодировщики не будут иметь одну и ту же "пра- пра- прабабушку" (ту, что сделала предположение 5 битов назад). Именно потому, что вся система основана на накопительном принципе, декодер Витерби всегда дает наиболее точное предположение даже в том случае, когда принятая информация искажена. Хотя, для того, чтобы результат прояснился придется подождать более 5 битов. Другими словами декодер Витерби корректирует ошибки.

Чем дольше мы ждем, тем более точен декодер. Я выбрал задержку декодера равной четырем временам "размазывания", т.е. задержка равна 20 бит. Полная задержка составляет, таким образом, 25 бит (800 мсек), а полная задержка в двустороннем контакте равна 1.6 сек. Думая, что это близко к пределу, который можно допустить для нормального непосредственного контакта.

QPSK в эфире.

Радиолюбители, работающие PSK31 считают, что QPSK может давать заметное улучшение свзи, но иногда его применение не дает никакого эффекта. При тестировании белым шумом QPSK оказывается даже хуже, чем BPSK. Но в реальных условиях при наличии замираний и помех, применение QPSK дает уменьшение количества ошибок до пяти раз. Но за все надо платить: появляется заметная задержка, ужесточаются в два раза требования по точности настройки (точность не хуже 4 Гц). Очень важно, чтобы обе стороны использовали одну и ту же боковую полосу (для BPSK это не важно!).

Расширение алфавита

У нас в Англии на клавиатуре над цифрой 3 изображен значок фунта-стерлингов. Многие из вас возможно заметили, что передать этот значок, например через Интернет, не так просто. Происходит это потому, что в Интернете используется ASCII-набор символов (128 символов), а символ фунта-стерлингов в этот набор не входит. Он входит только в ANSI-набор, в котором есть еще 128 символов (расширенный ASCII). До сих пор PSK31 считалось подобным Интернету. Это создает не большие неудобства в Англии, но в других странах ситуация гораздо хуже, так как в их национальных алфавитах гораздо больше символов, не входящих в стандартный набор ASCII. Так как Windows использует набор ANSI-символов, а большинство программ написано для WINDOWS, я недавно расширил алфавит PSK31 в версии для WINDOWS.

Очень легко добавить в Варикод еще 128 символов и сохранить совместимость со старыми программами в части, касающейся первых 128 символов. В старых версиях декодировщиков, если группа бит между двумя соседними сочетаниями бит "00" оказывалась длиннее, чем 10 бит, она отбрасывалась. Теперь (в расширенном алфавите) я разрешил передатчику передавать группы бит без "00" длиннее, чем 10 бит. Для того, чтобы закодировать еще 128 символов, придется использовать оставшиеся 10-битовые сочетания, все 11-битовые, и несколько 12-битовых. В этой части алфавита подборка по принципу "чаще встречается - короче по длине" не производилась. Я просто раположил добавочные 128 символов в порядке их кодов. Коду 128 соответствует 1110111101, а коду 255 соответствует 101101011011. Большая часть этих символов не будет никогда использована. Передавать же двоичные файлы с помощью Варикода вообще плохо - длина файлов при такой передаче будет больше исходной!

Итог

В этой статье я постарался выделить некоторые характеристики современных видов передачи данных на КВ, которые привели к вымиранию "непосредственного общения" операторов на иных видах связи, в то время как традиционное RTTY до сих пор весьма популярно. На основании особенностей непосредственного общения в эфире был предложен новый вариант RTTY-режима, основанный на использовании современных технологий DSP и использующий преимущества высокой стабильности частоты современных КВ-трансиверов. Занимаемая полоса частот намного меньше, чем в любом другом телеграфном режиме. На рисунке Рис.4 показан спектр сигнала PSK31, а на рисунке Рис.5 - его сравнение со спектром стандартного сигнала FSK.

PSK31 - G3PLX - 4

Рис.4 Красный - излучается последовательность единиц (несущая). Зеленый - излучается последовательность нулей (постоянные повороты фазы). Синий - излучается поток информации.

PSK31 - G3PLX - 5

Рис.5 Красный - излучается поток информации на PSK31. Синий - излучается поток информации на FSK [Amtor/Pactor] (сдвиг 200 Гц, скорость 100 бод).

К моменту написания статьи (ноябрь 1998 г.) имелось программное обеспечение для работы PSK31 для следующих чипсетов: Texas TMS320C50DSK (написано G0TJZ), Analog Devices ADSP21061 "SHARC" kit (написано DL6IAK) и Motorola DSP56002EVM (написано мной). Для звуковых карт DL9RDZ написал программу, работающую под операционной системой LINUX, а я собираюсь написать программу , работающую под WINDOWS. (Что и случилось (программа PSK31SBW) и дало мощный толчок к активности радиолюбителей в рижиме PSK-31. прим. ua1aco) Имеющиеся в продаже многорежимные контроллеры (две модели) уже модернизированы и работают с PSK31.

В двух приложениях содержится достаточно информации по PSK31 для тех, кто хочет попробовать свои силы в этом режиме. С имеющимся программным обеспечением, а также последними новостями и достижениями можно ознакомиться на сайте http://aintel.bi.ehu.es/psk31.html (на английском языке)

Приложение: Коволюционный код. В левой колонке содержатся все 32 комбинации из пяти варикодных бит (левый излучается первым. В правой колонке приведен соответствующий фазовый сдвиг несущей. 0 означает отсутствие фазового сдвига, 1 - сдвиг на +90 градусов, 2 - сдвиг на 180 градусов (изменение полярности), 3 - сдвиг на -90 градусов. Постоянный сдвиг фазы на 90 градусов эквивалентен сдвигу частоты.

5 бит Варикодасдвиг5 бит Варикодасдвиг5 бит Варикодасдвиг5 бит Варикодасдвиг
00000 2 01000 0 10000 1 11000 3
00001 1 01001 3 10001 2 11001 0
00010 3 01010 1 10010 0 11010 2
00011 0 01011 2 10011 3 11011 1
00100 3 01100 1 10100 0 11100 2
00101 0 01101 2 10101 3 11101 1
00110 2 01110 0 10110 1 11110 3
00111 1 01111 3 10111 2 11111 0

Например, символ "пробел" - бит "1", перед которым (и после которого) передаются нулевые биты, соответствует последовательной обработке пяти групп 00000, 00001, 00010, 00100, 01000, 10000, 00000. Это означает, что будет передана следующая QPSK последовательность .., 2, 1, 3, 3, 0, 1, 2, ..

Замечание: непрерывная передача нулевых битов (режим передачи без передачи информации) приводит к непрерывном изменении фазы на 180 градусов, т.е. в этом случае сигнал эквивалентен BPSK.

ПРИМЕЧАНИЕ UA1ACO:
Огромное спасибо Андрею (RA3DOA) за прекрасный перевод этой полезной статьи Peter Martinez, G3PLX. Конечно время идет и ничто не стоит на месте. С момента опубликования этой статьи появились новые виды цифровых связей (например MT-63), а также "воскресли" давно забытые (Field Hell). Даже от самого PSK31 "отпочковались" его разновидности. Тем не менее, на мой взгляд, учитывая удивительные возможности (в том числе еще и скрытые) режима PSK31, ему открыты все пути для завоевания сердец и душ радиолюбителей! 73!

СОДЕРЖАНИЕ раздела журнала РАДИОКЛУБ