Форум радиолюбителей ДВ

форум Радиолюбительского ДВ портала => Технический раздел => Тема начата: GM от 03 Декабрь 2017, 19:47:28

Название: Декодер кода Морзе на микроконтроллере
Отправлено: GM от 03 Декабрь 2017, 19:47:28
Коллеги,

Предлагаю испытать программу для микроконтроллера ATtiny861A, позволяющую принимать и декодировать код Морзе.

Входной сигнал подается на 9 ножку (РВ6), декодированный сигнал выдается на 20 ножку микросхемы в виде последовательного кода rs-232 на скорости 230400 бод. МК работает от внешнего кварца 16 МГц.

В ходе приёма элементов знака программа автоматически настраивается на любую скорость передачи кода Морзе от 10 до 500 знаков в минуту.

Хотя номинал частоты кварца для декодера и не принципиален, но поскольку в данном МК нет последовательного канала, канал реализован программно, используя временные задержки.
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: GM от 03 Декабрь 2017, 20:40:53
1) Пример декодированного текста, принятого терминальной программой RealTerm

2) Вот что подается на вход МК от кодогенератора - желтый луч, и выход генератора 1 кГц - голубой луч.

3) То же, что и п.2 - более крупным масштабом по времени.

Как говорилось ранее, можно генерить сразу синус в диапазоне 136 кГц. Частота выборки fS=2000 кГц.
Название: К вопросу о некоторых знаках морзянки
Отправлено: GM от 07 Декабрь 2017, 18:53:12
Вопросы к специалистам и практикам.

1) Используется ли на практике знак # (номер) [  _ . . _ . ]?

2) Был введен знак @ (at commercial) [ .  _ _  . _ . ]. Кто-нибудь его применяет или это экзотика?

3) Каков печатный символ знака "раздел"  [  _ . .  . _  ]? В интернете есть разночтения.

4) Как на практике различают латинский и русский (национальный) алфавиты при проведении связи. Или их не смешивают?

5) Между элементами знака пауза равна длительности "точки". Между знаками - три "точки". А вот пауза между словами составляет либо пять либо семь "точек", как правильно? В интернете есть разночтения.
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: Р6ЛДД от 07 Декабрь 2017, 21:28:29
Как на практике различают латинский и русский (национальный) алфавиты при проведении связи. Или их не смешивают?
Я пишу все латинскими. Привычка со времен обучения. Если тренировочный русский, или смысловой - на русском. QSO открытым текстом в основном не ведут. Q-коды. Да и по смыслу мозги перестраиваются сами. Да и не помню, что -бы предавали  " имя, мое имя". My name - короче.
Каков печатный символ знака "раздел"  [  _ . .  . _  ]? В интернете есть разночтения.
-...-  рааз-де-ли-те-каа


п.с. Не претендуя на истину.:)
Немного оффтопа.
п.п.с. наверное коды для русских букв Ш, Щ писались с учетом сложности написания буквы?
п.п.п.с. Интересно, существует ли китайский национальный код морзе с их немерянным количеством иероглифов?:)
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: Sergej от 08 Декабрь 2017, 00:49:33
1) Используется ли на практике знак # (номер) [  _ . . _ . ]?

Не используется, хотя код решетки какой-то другой, вы указали знак дроби (слитно DN).

Еще есть нестандартные словосочетания, которые любят "для понту" слитно передавать, например:
VA , аналог  S K - конец связи.

Cлитная передача AR, AS, SN - это тоже радиолюбительский код: "конец передачи", "подожди" и  "принял, понял".

Знак "собаку" - редко передают, кто работает открытым текстом и передает адрес почты.

Какой символ знаку раздела дать - может быть перевод строки, по логике и смыслу? (если имеется в виду при конвертации в ASCII символы) А обычно - это знак равно.

Алфавиты не различают, кто как выучил по бумажке азбуку русскими или латинскими буквами.

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

Паузу между словами - кто как может так и передает,  нормальные телеграфисты поймут друг друга, это не проф. тлг связь.
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: GM от 09 Декабрь 2017, 20:53:38
"мое имя". My name - короче
Не короче, а столько же :-).

Поисследовал знак раздела в сети. Здесь http://www.rlocman.ru/shem/schematics.html?di=43041 знак раздела представлен так [ -...- . ]. Однако, когда добрался до первоисточника знак раздела представлен как у вас -...-] (Е.Григорьев Словесные выражения кода морзе, Радио-1977-12-46)

наверное коды для русских букв Ш, Щ писались с учетом сложности написания буквы?
Мне кажется, код Щ эквивалентен коду Q, или вы меня подкалываете :-)?
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: GM от 09 Декабрь 2017, 21:27:06
Sergej, у вас есть нормальная проверенная годами и практикой таблица кода Морзе для латинского алфавита и для русского алфавита?

Я написал программу декодирования, но она может быть основана на частично непроверенных кодах. Также и с паузами. Микроконтроллеру нужно указать, когда передаются буквы одного слова, и когда одно слово следует отделить от другого слова.
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: Sergej от 10 Декабрь 2017, 19:04:23
Таблица алфавита, т.е. для обычных 26 букв (латиница) и для кириллицы - она одна, можно в любом справочнике глянуть. Только в кириллице еще добавлены буквы Ч,Ш,Э,Ю,Я,Ъ.
В остальном - полностью соответствует и наверно понятно, что к примеру Ж=V, Щ=Q, Ы=Y, Ь=Х(икс).
В "вике" вроде бы правильно всё указано.

Паузу подберите экспериментально, ну как будет лучше выглядеть принятый текст по смыслу. Наверно можно словить в эфире или найти записи работы служебных станций группами - там пауза должна быть выбрана как по всем общепринятым нормам, кажется равная 7 точкам.
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: rn3aus от 10 Декабрь 2017, 21:12:08

Паузу подберите экспериментально, ну как будет лучше выглядеть принятый текст по смыслу. Наверно можно словить в эфире или найти записи работы служебных станций группами - там пауза должна быть выбрана как по всем общепринятым нормам, кажется равная 7 точкам.
Пауза между буквами 3 точки, словами 5 точек, между предложениями 7 точек. Это по стандарту, на практике не всегда это выдерживается.
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: GM от 11 Декабрь 2017, 17:54:13
Пауза между буквами 3 точки, словами 5 точек, между предложениями 7 точек. Это по стандарту

Что за стандарт, где можно посмотреть? Вообще-то, я так и сделал в программе. На картинке по-другому, поскольку кодер Морзе у меня самопальный, там просто в буфер набита известная всем фраза, содержащая все буквы английского алфавита, а кодер пропускает пробелы. Подобная фраза есть и на русском. Но как программа может различить язык передачи? Пока не знаю, как это реализовать.

Вот пример. Передаётся текст. "Somebody pinched it. And what I say is: them as pinched it done her in. В чащах юга жил-был цитрус да но фальшивый экземпляр..." Как декодировать правильно?
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: rn3aus от 11 Декабрь 2017, 20:14:50
Пауза между буквами 3 точки, словами 5 точек, между предложениями 7 точек. Это по стандарту

Что за стандарт, где можно посмотреть? Вообще-то, я так и сделал в программе. На картинке по-другому, поскольку кодер Морзе у меня самопальный, там просто в буфер набита известная всем фраза, содержащая все буквы английского алфавита, а кодер пропускает пробелы. Подобная фраза есть и на русском. Но как программа может различить язык передачи? Пока не знаю, как это реализовать.

Вот пример. Передаётся текст. "Somebody pinched it. And what I say is: them as pinched it done her in. В чащах юга жил-был цитрус да но фальшивый экземпляр..." Как декодировать правильно?
Стандарт из армии наверное - так учат на курсах радиотелеграфистов.
Язык, думаю, не надо переключать автоматически. Печатать латинскими буквами, а те символы, что не имеют латинского аналога (Ш, Ч, Ю, Я) - на русском.  И все заглавными буквами.
Название: Re: Декодер кода Морзе на микроконтроллере
Отправлено: Sergej от 12 Декабрь 2017, 13:33:20
Если есть желание - можно сделать переключение РУС/ЛАТ клавишей, а по умолчанию пусть латиницей выдает.
Можно пойти дальше, скажем анализировать выражения, такие как Q-код и прочие любительские стандартные коды (как BK, AS, SK, DE, GM, GN, GE, CUL, CUAGN и прочее) и их всегда латиницей выводить, даже при вкл РУС.