Протокол зв’язку JT65

Коммуникационный протокол JT65 Joe Taylor, K1JT

Целевое значение. JT65 является цифровым протоколом, предназначенным для любительской радиосвязи с использованием очень слабых сигналов. Он был разработан для повышения эффективности радиосвязи Земля — Луна — Земля (EME) на УКВ диапазонах и соответствует установленным стандартам и процедурам для таких QSO. JT65 включает возможность коррекции ошибок, что делает его устойчивым и работоспособным даже при сигналах настолько слабых, что их нельзя услышать. Этот документ обобщает технические спецификации на JT65 и содержит дополнительную информацию по обоснованию и философии дизайна этого протокола. Кроме того, здесь представлены некоторые детали реализации JT65 в компьютерной программе, называемой WSJT, а также результаты измерений полученной чувствительности и интенсивности ошибок. Искровой передатчик более 80 лет назад воспроизвел незатухающие электромагнитные колебания. С тех пор практически автоматически международный код Морзе с ключеванием включено-выключено был выбран в качестве режима модуляции для любительской работы со слабыми сигналами. Морзе — удобный, гибкий и легко кодируемый и декодируемый человеком вид работы. Реализация ключевания вкл-выкл тривиальна и необходимая полоса сигнала минимальна. Выбор был очень легким. Однако легко показать, что ни кодирование, ни модуляция CW не являются оптимальными. Когда на счету каждый дБ соотношения сигнал/шум, как при любительских MS и EME радиосвязях, возникает желание исследовать и другие варианты. Персональные компьютеры, оборудованные звуковыми картами, предоставляют прекрасную возможность поэкспериментировать с большим диапазоном возможностей. Программа WSJT (1,2,3) («Weak Signal communications, by K1JT») является результатом моих усилий по введению более эффективных систем кодирования и модуляции в любительскую слабосигнальную радиосвязь. За короткое время своего существования эта программа стала хорошо известной почти всем VHF/UHF операторам, работающим со слабыми сигналами, и постоянно используется многими из них. На VHF диапазонах подавляющее большинство MS QSO и, пожалуй, половина всех EME QSO в настоящее время проводится с помощью WSJT.

Метод реализации. Современные цифровые системы связи базируются на математической теории информации. Эта область в основном была создана двумя классическими работами 1948 года, в которых Клод Шеннон доказал, что информация может быть передана по зашумленному каналу с произвольно низкой интенсивностью ошибок при заданной пропускной способности, которые зависят только от ширины канала и соотношения сигнал/шум (SNR). Достижение низкой интенсивности ошибок при плохом соотношении сигнал/шум требует математического кодирования информации пользователя в такую форму, которая является компактной и в то же время содержит аккуратно структурированную избыточность. Компактность необходима для минимизации энергии, излучаемой передатчиком и максимизации объема информации, передаваемой в единицу времени; избыточность необходима для обеспечения целостности сообщения в условиях шумного и нестабильного канала передачи данных. Чтобы быть переданным по радио, кодированное сообщение должно быть «посажено» на несущую частоту использованием некоторого вида модуляции. Возможности почти безграничны: информация может быть передана с помощью изменения амплитуды, частоты или фазы несущей, или комбинацией и того, и другого. Широко используемые схемы цифровой модуляции включают ключевание вкл-выкл (частный случай амплитудной модуляции), ключевание сдвигом фазы и ключевание сдвигом частоты. Протокол JT65 использует 65-тоновую FSK с постоянной амплитудой колебаний и без фазовых скачков. Такой тип модуляции более эффективен, чем амплитудное ключевание, особенно в комбинации с оптимальной схемой кодирования. Кроме того, он более устойчив при нестабильности частоты, чем ключевание изменением фазы.

Порядок проведения QSO. Любительское радио — это деятельность ради развлечения, и для многих людей развлечение включает проведение QSO со всеми континентами, всеми штатами и с максимально возможным количеством стран DXCC. Достичь таких целей особенно сложно, проводя EME-радиосвязи — и, тем самым, для многих радиолюбителей это наиболее интересно и захватывающе. Чтобы сделать игру такой, чтобы каждый мог ее понимать и играть в нее, необходимо согласовать некоторые базовые основные правила.

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

  1. CQ HC8N
  2. K1JT
  3. K1JT 599
  4. 599 TU
  5. 73 HC8N

В этом типе QSO K1JT никогда не передает позывной станции, с которой работает, т.к. сама ситуация делает это излишним, и так все ясно. Сигнал может быть не «S9″ в обоих приемниках, но это никого не заботит, т.к. прем уверенный. После того, как такой обмен информацией состоялся, обе станции заносят это QSO в свои аппаратные журналы и в дальнейшем обмениваются QSL-карточками в подтверждение проведения этой радиосвязи.

В мире VHF/UHF, и особенно при работе через Луну, сигналы часто очень слабы и обмен информацией даже между опытными операторами далек от безошибочного. Вследствие этого принят более строгий стандарт, который определяет минимальный обмен для правильного QSO. Общепринятые правила утверждают, что допустимое QSO требует, чтобы каждый корреспондент принял полностью оба позывных, рапорт или некоторую дополнительную информацию и явное подтверждение, что корреспондентом принята вся эта информация. Этот принцип применяется и хорошо работает для всех типов «слабосигнальных» QSO, как через тропо, так и MS, EME или другие типы прохождения, и для всех типов аппаратуры и видов модуляции.

Точно следуя этому принципу, минимальное EME QSO здравомыслящих EME-операторов проводится в соответствии со следующей последовательностью:

  1. CQ SV1BTR…
  2. SV1BTR K1JT…
  3. K1JT SV1BTR OOO…
  4. RO…
  5. RRR…
  6. 73…

Для QSO по скеду при заранее назначенных частоте и времени, передача #1, естественно, не нужна. Многоточие (…) обозначает повторение сообщений, некоторая форма повторения почти всегда применяется при EME QSO для повышения шансов успеха. Компонент сообщения «ООО» — это условное обозначение минимального рапорта. Он имеет общепринятое значение следующего содержания: «ваши сигналы разборчивы по крайней мере некоторое время, и я принял оба наши позывные». Таким же образом, условное сообщение «RO» передает одновременно рапорт и подтверждение приема. Оно означает, что «я принял оба позывных и рапорт для меня, а для Вас рапорт «О»». Когда K1JT принял подтверждение «RRR», переданное SV1BTR, QSO завершено; но т.к. SV1BTR еще об этом не знает, традиционно передают «73» или другую информацию о завершении QSO, обозначающую «QSO закончено».

Кодовые радиосообщения были широко распространены со времен искровых радиопередатчиков и проводной телеграфии; известные Q-коды — еще один широко известный тип таких сообщений. Они являются простой формой того, что в теории коммуникаций называется «исходное кодирование» сообщения. Выбор «ООО…» (повторяющейся последовательности трех интервалов с включенной несущей, разделенных короткими пробелами, с более длинным пробелом после каждого третьего интервала) в качестве сигнала, означающего положительный рапорт, был сделан осведомленными и опытными CW-операторами, которые знали, что при очень слабых сигналах «тире» легче принимать, чем «точки».

Принцип проведения связи. Рисунок 1 представляет блок-схему современной цифровой системы связи. Для максимальной эффективности при плохом соотношении сигнал/шум сообщение пользователя подвергается исходному кодированию в компактную форму, имеющую минимальную избыточность. Затем оно дополняется математически определенной избыточной информацией, которая позволяет полностью восстановить сообщение, даже если часть его впоследствии будет искажена шумами или выпадениями сигнала. Этот процесс известен как «прямое исправление ошибок» или FEC. Закодированное сообщение, включающее информацию для коррекции ошибок, модулирует несущую. Полученный радиосигнал проходит по радиоканалу, который его ослабляет, возможно на 250 дБ и более для трассы EME, а также вносит шумы и амплитудные, частотные и фазовые изменения «модуляция при распространении сигнала». После приема сигнал демодулируется и декодируется и результат предоставляется пользователю.

За исключением части, связанной с коррекцией ошибок, блок-схема рисунка 1 представляет традиционную любительскую CW-связь, как и современную цифровую. В терминах CW EME QSO, обозначенного выше, исходное кодирование преобразует сообщение «SV1BTR, здесь K1JT, я принял оба наши позывные» в компактную форму «SV1BTR K1JT OOO». Чтобы обеспечить некоторую возможность коррекции ошибок и увеличить шансы приема сообщения CW-оператор повторяет кодированное сообщение много раз в течение периода, отведенного на его передачу. Для дальнейшего увеличения шансов приема сообщения он может форматировать повторения таким образом, чтобы передавать первые 75% времени передачи только позывные, а остальные 25% повторять «ООО». Он предполагает, что принимающий оператор знает об этих соглашениях и слушает соответствующим образом. Все эти формы исходного кодирования помогают больше знать о характеристиках слабого сигнала и обеспечивать более легкий его прием. При особо плохих условиях опытный оператор пытается установить соответствие между тем, что он слышит, и теми компонентами сообщений, которые он ожидает услышать. Если соответствие установлено, прием сообщения может считаться выполненным.

Сообщение пользователя  →→ Исходное кодирование  →→ FEC кодирование  →→ Модуляция
W W w
Канал передачи
Сообщение пользователю  ←← Исходное декодирование  ←← FEC декодирование  ←← Демодуляция

Рис. 1. — Блок схема информационных потоков в системе цифровой связи.

Исходное кодирование JT65. JT65 использует в точности ту же технологию, начиная с приведения передаваемого сообщения в компактный и рациональный вид. Как написано в руководстве пользователя WSJT 4.7 (4), стандартные сообщения JT65 типа 1 состоят из двух позывных, квадрата QTH-локатора и необязательного рапорта -улучшенная форма сообщений 2 и 3 в приведенном выше модельном QSO между SV1BTR и K1JT. Исходный кодировщик знает правила, по которым составляются обычные радиолюбительские позывные, и использует эту информацию для минимизации требуемого количества бит информации. Любительский позывной состоит из префикса (один или два символа, по крайней мере один из которых — буква, далее идет цифра) и суффикса (от одной до трех букв). В соответствии с этими правилами количество возможных позывных равно 37х36х10х27х27х27, или что-то около 262 миллионов. (Числа 27 и 37 возникают из-за того, в первой и последних трех позициях символы могут отсутствовать, или быть буквой, или в 1-й позиции — цифрой). Поскольку число 2 в 28-й степени больше, чем 268 миллионов, 28 бит достаточны для однозначного кодирования любого стандартного позывного. Аналогично, количество 4-хсимвольных больших квадратов QRA-локатора равно 180х180=32400, что меньше, чем 2 в 15 степени, т.е. 32768; так что локатор требует 15 бит в сообщении. Эти важные идеи эффективного исходного кодирования EME-сообщений предложили в 1996 году Clark и Karn (6). Любое сообщение типа 1 может быть закодировано 28+28+15 = 71 битом, плюс еще один для рапорта. Для сравнения, передача сообщения «SV1BTR K1JT OOO» кодом Морзе требует 170 бит (если бит определяет интервал нажатия длиной в точку) даже без передачи квадрата локатора. Сообщение JT65 гораздо компактнее, чем CW-сообщение, хотя передает значительно больше информации. На самом деле протокол JT65 кодирует рапорт другим способом, а 72-й бит используется для обозначения, что сообщение содержит произвольный текст вместо позывных и локатора. При 43-символьном алфавите максимальная длина текстового сообщения составляет 13 символов (максимальное целое, меньшее 71log2/log43). При этом ограничении объема JT65 может передать в сообщении что угодно.

Как показано выше, около 6 миллионов возможных 28-битовых значений не используется для позывных. Некоторые из этих значений отведены для специальных элементов сообщения, таких как «CQ» и «QRZ». За «CQ» может идти 3 цифры, показывающие частоту для ответа. (Если K1JT передает на стандартной вызывной частоте, скажем, 144.120, и дает «CQ 113 K1JT FN20″, значит он будет слушать и отвечать на частоте 144.113). Численный рапорт о силе сигнала вида «-NN» или «R-NN» может передаваться в сообщении вместо локатора. Число NN должно быть от 01 до 30. Если требуется, к одному из позывных может быть добавлен префикс страны или суффикс портативной станции (7), например, ZA/PA2CHR или G4ABC/P. Если используется эта возможность, то дополнительная информация передается вместо обозначения локатора. Некоторые остальные детали кодирования передаваемого сообщения могут быть найдены в приложении А, а список «добавочных» префиксов и суффиксов приведен в приложении В.

Прямое исправление ошибок. После сжатия в 72 бита сообщение JT65 дополняется 306-ю однозначно определяемыми битами для коррекции ошибок. Коэффициент кодирования FEC, таким образом, равен r = 72/378 = 0.19; соответственно, можно сказать, что каждое сообщение передается с коэффициентом избыточности 378/72=5.25. Однако, с хорошим кодом коррекции ошибок получаемая эффективность и чувствительность намного больше, чем те, которые можно достичь простым пятикратным повторением сообщения. Высокий уровень избыточности обеспечивает очень хороший прием сообщений JT65 в условиях QSB. Сообщения, принимаемые программным обеспечением по крайней мере 10-15 секунд за период передачи [минутный] полностью дешифруются. Причину этого достаточно мистического «усиления кодированием» понять несложно. С 72 битами общее число возможных сообщений пользователя составляет 2 в 72-й степени, что чуть больше 4.7х10^21 . Число возможных комбинаций 378 бит значительно больше, более 6х10^311 . При однозначном соответствии между 72-битовыми сообщениями пользователя и 378-битовыми «кодовыми словами», или уникальными последовательностями 378 бит, понятно, что очень маленькая часть этих возможных последовательностей используется в коде. Последовательности выбираются такими, чтобы «отличаться друг от друга, насколько это возможно» в строго математическом смысле. Существует большое разнообразие эффективных способов кодирования для коррекции ошибок, сформулированных математически. Среди наиболее известных — коды Рида-Соломона, используемые для получения очень низкой интенсивности ошибок при считывании информации в современных CD-ROM дисководах и винчестерах. Для JT65 я выбрал код Рида-Соломона RS(63,12), который кодирует 72-битовое сообщение пользователя в 63 шестибитовых «канальных символов» для передачи. Каждое кодовое слово при этом кодировании отличается от каждого другого по крайней мере в 52-х местах — вот почему этот код такой мощный. Даже при очень плохом соотношении сигнал/шум маловероятно перепутать друг с другом различные последовательности.

Message #1:   G3LTF DL9KR JO40
Packed message,   6-bit symbols: 61 37 30 28 9 27 61 58 26 3 49 16
Channel symbols,   including FEC:
14 16   9 18   4 60 41 18 22 63 43 5 30 13 15 9 25 35 50 21 0
36 17 42 33 35 39 22 25 39 46 3 47 39 55 23 61 25 58 47 16 38
39 17   2 36   4 56     5 16 15 55 18 41 7 26 51 17 18 49 10 13 24
Message #2: G3LTE DL9KR JO40
Packed message,   6-bit symbols: 61 37 30 28 5 27 61 58 26 3 49 16
Channel symbols,   including FEC:
20 34 19   5 36   6 30 15 22 20 3 62 57 59 19 56 17 35 2 9 41
10 23 24 41 35 39 60 48 33 34 49 54 53 55 23 24 59 7 9 39 51
23 17   2 12 49   6 46     7 61 49 18 41 50 16 40 8 45 55 45 7 24
Message #3: G3LTF DL9KR JO41
Packed message,   6-bit symbols: 61 37 30 28 9 27 61 58 26 3 49 17
Channel symbols,   including FEC:
47 27 46 50 58 26 38 24 22   3 14 54 10 58 36 23 63 35 41 56 53
62 11 49 14 35 39 60 40 44 15 45 7 44 55 23 12 49 39 11 18 36
26 17   2   8 60 44 37   5 48 44 18 41 32 63 4 49 55 57 37 13 25

Рис. 2. — Показаны три сообщения ІТ65 в представлении пользователя; в 72-битовой упакованной форме, представленной в виде 12-ти 6-битовых значений символов; и в виде закодированных БЕС последовательностей 63-х 6-битовых «канальных» символов. «Канальные» символы готовы к передаче с помощью 64-тоновой FSK, где каждому значению символа соответствует отдельный тон. В качестве примера последовательности кода для трех почти одинаковых сообщений показаны на рисунке 2. Строки, обозначенные «packed message», показывают исходно закодированные 72-битовые сообщения пользователя в виде последовательности двенадцати 6-битовых символов. Если читать их слева направо, то видно, что значение пятого символа меняется с 9 на 5 при смене последней буквы первого позывного с F на E. Последний символ исходного кода меняется с 16 на 17 при смене локатора с JO40 на JO41. Во всем остальном все три упакованных сообщения одинаковы. С другой стороны, три закодированных последовательности «канальных» символов выглядят совершенно отличающимися друг от друга, настолько разными, что практически нет шансов, что, если они вообще декодируются, их искаженные шумами версии будут перепутаны при декодировании. Полное и точное сообщение пользователя принимается с большой вероятностью, даже если соотношение сигнал/шум «нажатия ключа» от 2 до 6 дБ в полосе 2.7 Гц (или от -28 до -24 дБ в полосе 2500 Гц, условной полосе, используемой в WSJT для обозначения уровня сигнала). Это утверждение может быть уточнено с помощью измерений интенсивности ошибок при передаче, как функции соотношения сигнал/шум, и эти измерения обобщены для JT65 в приложении С.

Перестановки и коды Грея. После кодирования порядок символов JT65 переставляется с помощью записи их построчно в матрицу 7х9 и затем считывания их по столбцам. Когда я в первый раз изучал FEC при разработке JT65, я ошибочно считал, что шифрование порядка следования символов даст большую устойчивость системе при выпадениях сигнала. Фактически это не так, но так как это действие безобидное, процедура осталась неизменной для совместимости вида сигналов JT65 в последующих версиях программы. Переставленные символы преобразуются из двоичного вида в коды Грея, что делает JT65 несколько более устойчивым к нестабильности частоты.

Короткие сообщения. Подобно режиму CW, JT65 использует специальный формат сигналов, чтобы передавать часто используемые сообщения наиболее эффективным и надежным способом. Выше определены три таких сообщения. Они точно соответствуют передачам 4, 5 и 6 в модели CW QSO между SV1BTR и K1JT, передавая сообщения «RO», «RRR» и «73». Вместо использования ключевания несущей частоты в соответствии с шаблоном типа ти-та-ти, та-та-та, и т.п., JT65 передает «RO» с помощью двух чередующихся тонов с определенными частотами и скоростью ключевания. Сигналы такой формы легко узнаются и отличаются от других, в том числе от «нормальных» сигналов JT65. На самом деле многие пользователи отмечали, что короткие сообщения JT65 быстро распознаются (декодируются) даже человеком-оператором с использованием зрения или слуха, так же как и компьютером.

Синхронизация и модуляция. JT65 использует минутные последовательности прием/передача и требует точной синхронизации времени и частоты между приемником и передатчиком. Обычное радиолюбительское оборудование не может обеспечить выполнения этой задачи с достаточной точностью в открытом контуре, так что сигнал JT65 должен содержать собственную информацию о синхронизации. Поэтому в сигнале в промежутки между информационными битами вставлен псевдослучайный «вектор синхронизации». Он позволяет точно определить относительные ошибки по времени и частоте, таким образом устанавливая точную структуру, в которой может работать декодер сигнала. Кроме того, он позволяет усреднять успешно принятые сигналы, так что декодирование становится возможным, даже если сигналы настолько слабы, что не поддаются декодировке по отдельности. Синхронизирующая часть сигнала настолько важна, что (за исключением коротких сообщений) половина времени каждой передачи отводится для нее. Передача JT65 разделена на 126 смежных интервалов времени, каждый длительностью 0.372 сек (4096 выборок при 11025 выборках в секунду). Внутри каждого интервала форма сигнала — это синусоида с постоянной амплитудой на одной из 65-ти предопределенных частот, смена частоты между интервалами выполняется без изменения фазы. Передача штатно начинается по времени 1 = 1 сек после начала иТС-минуты и заканчивается при 1 = 47.8 сек. Синхронизирующий тон имеет частоту 1270.5 Гц и выдается в каждом интервале, имеющем значение «1» в псевдослучайной последовательности, приведенной вверху на рисунке 3. Эта последовательность имеет то замечательное математическое свойство, что ее нормализованная автокорреляционная функция падает с 1 почти до 0 для всех ненулевых интервалов запаздывания. Как следствие, получается прекрасный вектор синхронизации. Закодированная информация пользователя передается в течение 63-х интервалов, не используемых для передачи синхронизирующего тона. Каждый «канальный символ» генерирует тон на частоте 1270.5 + 2.6917(К+2)ш Гц, где N — целочисленное значение символа, 0 < N < 63, а ш принимает значения 1, 2 или 4 для разновидностей режима 1Т65 А, В и С. Рапорт «ООО» передается с помощью перестановки (реверсирования) позиций, в которых передаются сигнал синхронизации и собственно данные в псевдослучайной последовательности. Поскольку обычные сообщения зависят от точной синхронизации, их передача может быть начата только по началу UTC-минуты.  Для коротких сообщений не требуется точной синхронизации по времени, так что их передача может быть начата в любое время в течение периода работы на передачу. Теперь должно быть понятно, что ІТ65 не передает сообщения буква за буквой, как это делается кодом Морзе. Вместо этого все сообщение целиком преобразуется в уникальную строчку из 72 бит, а затем в последовательность из 63-х 6-битовых символов. Эти символы передаются по радиоканалу, некоторые доходят целыми, остальные искажаются шумами. Если достаточное количество символов принято правильно (в вероятностном смысле), все 72-битовое сжатое сообщение восстанавливается в точности. Декодированная цепочка бит преобразовывается обратно в понимаемое человеком сообщение, которое было передано. Схема кодирования и FEC гарантируют, что сообщения никогда не декодируются в виде фрагментов. Компоненты сообщений не могут быть перепутаны с другими компонентами и позывные никогда не отображаются с недостающими или неправильными буквами/цифрами. Для букв O или R в позывном нет шансов быть перепутанными с рапортом или подтверждением, для фрагментов позывного типа N8CQ или локатора типа EM73 нет шансов быть неправильно расшифрованными. Если Вашего партнера по скеду не видно, и вместо него в его позиции сообщения Вас зовет другая станция, Вы никогда не сделаете ошибочное заключение, что скед идет, как планировалось.

Прием и демодуляция. В программе WSJT принятый JTóS-сигнал преобразуется и анализируется с использованием последовательности хорошо известных DSP способов. Процесс начинается со звукового сигнала с полосой примерно 0-3 кГц, оцифрованного с номинальной скоростью 11025 выборок в секунду. Цифровой сигнал пропускается через ФНЧ и частота выборки понижается в два раза. С помощью дискретного преобразования Фурье сдвигаемых блоков по 2048 выборок вычисляется спектр мощности и проверяется на наличие шаблона псевдослучайной синхронизирующей последовательности. Обнаружение и выделение синхронизирующей структуры определяет необходимые величины отклонений частоты и времени, которые могут включать как сдвиг Доплера и задержку распространения сигнала на трассе EME, так и ошибки установки частоты и времени. Точность синхронизации составляет около 1.5 Гц по частоте и 0.03 секунды по времени. Как только получена синхронизация, программа заново измеряет частоту синхронизирующего тона в разных группах тональных интервалов и по результатам измерений подбирает сглаживающую кривую, таким образом обеспечивая отслеживание и компенсацию небольшого дрейфа частоты. Когерентное отслеживание фазы между символами не требуется.

Имея информацию о точной синхронизации, программа вычисляет 64-точечный спектр для каждого из 63 «канальных символов». Эти спектры имеют разрешение 2.7m Гц (например, 5.4 Гц для подрежима JT65B, для которого m= 2) и для очень слабых сигналов они практически имеют тот же вид, что и спектр шумов. Большинство отдельных тонов, передающих данные, не выделяются из шума. Тем не менее, при усреднении в каждом интервале одна точка, показывающая частоту полезного сигнала, будет иметь увеличенную амплитуду по сравнению с остальными. Используя известные статистические свойства случайного Гауссова шума, WSJT вычисляет вероятность того, что был передан символ с одним из возможных значений. Эта вероятностная информация, основанная на вычисленных спектрах синхронизированных символов, и есть базовая принятая информация. После удаления кодов Грея и перестановки символов эти вероятности передаются декодеру.

Декодер Рида-Соломона. Даже слабенький код коррекции ошибок, такой как RS(63,12), очень трудно «инвертировать» или декодировать эффективно (с малыми затратами). Основная проблема вот в чем: дан измеренный спектр для каждого из 63-х «канальных символов», спрашивается, содержится ли в нем уникальная 72-битовая последовательность, которая может быть достоверно распознана как сообщение пользователя? В принципе, можно закодировать все 2^72   возможных сообщений пользователя и сравнить результаты с принятыми спектрами на предмет поиска совпадения. Однако, такой метод практически неприменим: простые оценки показывают, что на современном 3-гигагерцовом компьютере с неограниченным объемом памяти и очень эффективной программой декодирование таким способом одного принятого сообщения займет 200 миллионов лет. Коды Рида — Соломона важны с экономической точки зрения, потому что для их декодирования существуют хорошо разработанные математические алгоритмы. Алгоритмы различаются по сложности и по тому, насколько они приближаются к идеальной чувствительности только что описанного метода «в лоб». С версии 4.5 WSJT использует алгоритм, который представляет сегодняшние достижения в декодировании кодов Рида-Соломона. Он базируется на исследовательском документе, авторами которого являются Ralf Koetter и Alexander Vardy (8), и использует лицензионный компьютерный код их фирмы CodeVector Technologies. Имея на входе вероятностную информацию о значениях принятых символов, этот декодер дает четкий результат для каждой анализируемой передачи. С очень высокой надежностью он возвращает или 72 бита переданного сообщения или признак, означающий «результата нет». Для декодеров WSJT были аккуратно измерены интенсивности ошибок как функции уровня сигнала. Итоговые результаты приведены в приложении C. Коротко говоря, K-V декодер показывает резкий переход с «почти все декодировано» в «почти все не декодировано», когда соотношение сигнал/шум ухудшается примерно с -23 до -25 дБ по шкале WSJT (для JT65B). Результаты показывают также, что с «чистыми» данными (аддитивные Гауссовы шумы и, возможно, фединг, но без помех от других сигналов), ложные декодирования алгоритма K-V для RS(63,12) настолько редки, что трудно «поймать» даже один такой случай.

Декодер «глубокого поиска». Что делать, если K-V декодер не дал результата? Можно ли еще что-нибудь предпринять? Жизнь слишком коротка, чтобы искать совпадения с каждым из 2^72   возможных сообщений пользователя, но количество сообщений, передаваемых в реальных EME QSO, на самом деле гораздо меньше, чем 2^72 , а тех сообщений, которые мы больше всего ждем, еще меньше. Если наиболее правдоподобные и ожидаемые сообщения будут проверены первыми — более-менее тем же манером, что и при приеме очень слабого CW сигнала — и алгоритм поиска будет использовать «тайм-аут», если за какое-то приемлемое время он не нашел совпадений, то метод «в лоб», описанный выше, может быть применен на практике. В WSJT процедура, которую я называю алгоритм «глубокого поиска», как раз и пытается это сделать. «Глубокий поиск» начинается со списка правдоподобных позывных и локаторов. Такие списки давно ведутся большинством EME-операторов как по памяти, так и в бумажном виде. Они могут здорово помочь, когда пытаешься определить, чье слабое CQ ты слышишь, или кто отвечает на твое CQ, или зовет в конце твоего QSO. В декодере «глубокого поиска» WSJT каждый элемент этого списка комбинируется с «CQ» и с позывным пользователя WSJT, таким образом составляются проверяемые гипотетические сообщения. Если в списке Nc позывных, то генерируется примерно 2Nc сообщений, они кодируются и «канальные символы» проверяются на хорошее совпадение с наблюдаемыми спектрами. Вы можете задать список предпочтительных позывных как угодно. С WSJT поставляется файл примера, содержащий позывные около пятисот станций мира, известных своей активной работой с DX на УКВ диапазонах. «Продвинутые» пользователи JT65 ведут свои собственные файлы, добавляя и удаляя позывные по своему усмотрению. В сущности, Ваша база данных с позывными определяет набор фильтров совпадений, созданный для Вашей станции и настроенный на оптимум чувствительности для подмножества сообщений, которые Вы ожидаете принять. «Глубокий поиск» нечувствителен к сообщениям с позывными, которых нет в базе данных, или к произвольному обычному тексту, или к чему-то кроме «CQ» или Вашего позывного в первом поле сообщения. Такие сообщения будут декодироваться только с известной чувствительностью K-V алгоритма. Тем не менее, для любого сообщения из описанного выше подмножества декодер «глубокого поиска» обеспечивает примерно на 4 дБ большую чувствительность с той же низкой интенсивностью ошибок. Должно быть очевидно, что эти лишние 4 дБ эквивалентны широко известному так называемому «усилению засчет скеда», которое дополнительно получает CW оператор, когда принимает заранее известный позывной или проводит заранее запланированное QSO.

Декодирование коротких сообщений. В дополнение к поиску синхронизирующего тона, модулированного известной псевдослучайной последовательностью, WSJT ищет чередующиеся тона, имеющие модуляцию коротких сообщений JT65. Частоты измеряются и сравниваются с частотой синхронизирующего тона предыдущей передачи, затем проверяется, что модуляция соответствует оговоренному меандру. Если частоты и модуляция подходят, и если амплитуда превышает заданный порог, констатируется получение короткого сообщения. Ввиду жестких допусков на частоту и распределение интервалов времени, может быть установлен низкий (по амплитуде) порог детектирования при сохранении очень низкой интенсивности ошибок (ложных детектирований). В приложении С вместе с данными для K-V алгоритма и декодера «глубокого поиска» представлены кривые измеренной чувствительности и для коротких сообщений.

Участие оператора и целостность сообщений. QSO, проводимые с использованием любого режима WSJT, включая JT65, требуют активного участия оператора на всех стадиях проведения QSO. В условиях несущих, QRM, QRN и других эффектов, таких как искажения сигнала из-за прихода по разным путям распространения, участие оператора необходимо для избежания ошибок при интерпретации того, что выдает программа. Многие операторы убедились, что они легко достигают необходимого уровня мастерства, проведя первые несколько JT65-связей. Радиосвязи, проведенные WSJT, документируются автоматически. Если успешно проведено JT65 QSO, операторы знают, что обмен всей необходимой информацией выполнен.

История работы в эфире. Первая работающая версия JT65 была сделана в ноябре 2003 г. Первоначальные ее тесты в эфире с N3FZ быстро подтвердили мои ожидания, что JT65 станет мощным новым оружием в арсенале VHF/UHF DX-мэнов. Практические выгоды использования кодов коррекции ошибок в слабосигнальной любительской радиосвязи были очевидны. NASA всегда при передаче фотоснимков из дальнего космоса на Землю использует компактное исходное кодирование и мощный FEC. При связи с аппаратами в дальнем космосе каждый лишний дБ чувствительности помогает сэкономить миллионы долларов, которые иначе пришлось бы потратить на увеличение размеров антенн и передаваемой мощности. Протокол JT65 претерпел очень небольшие изменения с момента первых тестовых QSO. За это время декодеры были сильно доработаны, обеспечив значительное улучшение характеристик при работе в эфире. Пользователи не стеснялись сообщать об обнаруженных ошибках в программе и предлагали улучшения интерфейса пользователя, и WSJT сильно выиграла от этого. Появилась значительная по численности новая группа энтузиастов EME, привлеченная тем фактом, что JT65 EME QSO можно проводить на более простом оборудовании, чем при использовании традиционных методов. Сотни EME QSO были проведены на двух метрах станциями, использующими 150 Ватт мощности и одиночные Yagi, а QSO с «биг ганами» были проведены с мощностью 5 Ватт. Даже EME QSO на 50 МГц, долгое время считавшиеся очень трудными, стали обычным делом.

Ссылки на дополнительную информацию:

(1) См. домашнюю страницу WSJT: http ://pul sar.princeton. edu/~j oe/K 1JT.

(2) J. Taylor, K1JT, «WSJT: New Software for VHF Meteor-Scatter Communication,» QST December 2001, pp. 36-41.

(3) J. Taylor, K1JT, «JT44: New Digital Mode for Weak Signals,» QST June 2002, pp. 81-82

(4) Руководство пользователя WSJT 4.7 можно взять здесь: http://pulsar.princeton.edu/~joe/K1JT/WSJT_User_470.pdf.

(5) Shannon, C. E., «A Mathematical Theory of Communication,» Bell System Tech. J.,27, pp. 379-423 and 623-656, 1948.

(6) Clark, T. W3IWI, and Karn, P., KA9Q, «EME 2000: Applying Modern Communications Technologies to Weak Signal Amateur Operations,» Proc. Central States VHF Society, 1996.

(7) Префиксы и суффиксы позывных учитывались немного разными способами в версиях WSJT 4.9.2 и более ранних.

(8) Koetter, R., and Vardy, A., «Soft-Decision Algebraic Decoding of Reed Solomon Codes,» in Proceedings of the IEEE International Symposium on Information Theory, p. 61, 2000.

Перевод RA3DUT.

Оригинал статьи есть в файловом архиве http://www.vhfdx.ru/index.php?option=com_remository&func=fileinfo&filecatid=55


Вернуться к оглавлению…