LINUX.ORG.RU
ФорумTalks

Пара вопросов про азбуку морзе


1

1

В википедии сказано, что

Недостатки неэкономичность, на передачу одного знака кода требуется в среднем 9,5 элементарных посылок; малая пригодность для буквопечатающего приема; низкая скорость телеграфирования.

Так что же мешало, даже в те времена, сделать такую клавиатуру, которая будет транслировать, скажем, определенную букву в последовательность азбуки морзе?

Низкая скорость приема. Клавиатуры такие были, но надежнее оказалось обучить радистов.

abraziv_whiskey ★★★★★
()

На ней нельзя было набрать п3вет в7

iBliss
()

Были. Сделаны были на основе фортепьяно. :)

zloy_buratino
()

Потому что недостатки - от универсальности. Нужен только один канал, осуществляющий передачу бинарных (0/1) данных. Этим каналом может быть ЧТО УГОДНО, и аппаратура сойдет любая. Сколь угодно примитивное радио, фонари, зеркала, стены, трубы/батареи, дым, поднятое над головой ведро. Предположу, что спец-клавиатуры, с точки зрения тех же военных, превратили бы универсальных радистов в привязанных к хрупкому девайсу кабинетных неженок (как калькуляторы отбивают способность к бойкому устному счёту). А на войне нужны были суровые мужики, которые при необходимости и без ключа, ручным замыканием контактов, передавали бы сообщения.

Smacker ★★★★★
()

Да есть такие. Нас в начале 90-х, кроме обязательной работы на ключе, учили на ДКМ-1 («датчик кода Морзе»). Он электромеханический и страшно дубовый. Так как длина буквенных посылок разная, клавиатура тупо блокировалась на время передачи очередной посылки — невозможно работать в постоянном ритме, как на обычной клавиатуре. Так что на ключе (даже простом, не говоря уж об электронном) передача может получиться даже быстрее.

alegz ★★★★★
()
Ответ на: комментарий от Smacker

>Этим каналом может быть ЧТО УГОДНО, и аппаратура сойдет любая.

Дело говоришь! Предполагаю, что в детстве перестукивался по трубе с соседской девченкой секретным шифром? =)

WerNA ★★★★★
()
Ответ на: комментарий от DNA_Seq

Бинарная. Там 2 варианта: есть сигнал и нет сигнала.

За единицу времени принимается длительность одной точки. Длительность тире равна трём точкам. Пауза между элементами одного знака — одна точка, между знаками в слове — 3 точки, между словами — 7 точек.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от Cargo

Чем? Но явно не тем, что азбука Морзе на самом деле не бинарная, т.к. она бинарная, просто способ кодирования отличается от современных кодировок (можно даже сказать, что проходит в 2 этапа).

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от post-factum

А точка, в свою очередь — это единица («есть сигнал»/«перо прижато к бумаге»), тире — три единицы подряд, пауза — один/несколько нулей подряд, в зависимости от того, между чем пауза.

Ttt ☆☆☆☆☆
()
Ответ на: комментарий от DNA_Seq

Я говорил не про азбуку, а про КАНАЛ ПЕРЕДАЧИ ДАННЫХ. Для азбуки морзе нужно два уровня сигнала _в канале_ - есть(1) и нет(2), поверх этого применяется простое широтно-импульсное кодирование, где есть импульс(1) долгий - тире, импульс(1) краткий - точка, импульс (0) краткий - разделитель между тире/точкой, импульс (0) долгий - разделитель между пакетами импульсов.

Smacker ★★★★★
()
Ответ на: комментарий от WerNA

Почти. На даче с соседом через несколько дворов пробовали делать оптический канал. Сейчас я разве что иногда по батарее стучу непечатно, когда наверху топочут.

Smacker ★★★★★
()
Ответ на: комментарий от post-factum

Не надо тёплое и мягкое путать. Если я передаю текст (положим, в ASCII) по последовательному нуль-модемному кабелю, то кабель становится восьмибитным сразу, поскольку «радист» различает восьмибитные символы в потоке данных?

Smacker ★★★★★
()
Ответ на: комментарий от DNA_Seq

> Я тебя огорчу - азбука морзе не бинарная а троичная

Алфавит от среды передачи данных не отличаем?

geekless ★★
()
Ответ на: комментарий от post-factum

Фак мой мозг. Есть канал. Понимаешь? Среда передачи данных. А есть уровень кодирования данных. Так вот для передачи чего-либо с помощью азбуки морзе нужен такой канал, где есть всего два уровня сигнала, 0 и 1. Потом применяется ШИМ, и посылается всё, что угодно. Возьмем, к примеру, код Бодо. Ему нужна среда из пяти параллельных двоичных каналов. Семафорная азбука - для неё нужен один канал, но с широким диапазоном значений. И т.д.

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

Да, забыл пояснить, что для передачи по коду Бодо радист оперирует клавиатурой с кучей кнопок, а сигнальщик - двумя флажками.

Smacker ★★★★★
()
Ответ на: комментарий от post-factum

Ещё раз повторяю: данные передаются по двоичному каналу с помощью широтно-импульсное кодирование. То есть кодирование сигнала комбинацией импульсов уровня(1) и уровня(0) различной длины.

Перед тем, как дальше упорствовать, сделай, пожалуйста, две вещи:
(1) Ответь на мой вопрос про нуль-модемный кабель и текст;
(2) Подумай, как морзе может передаваться стуком по трубе, где для передачи данных есть или «стук по трубе» или «тишина».

Smacker ★★★★★
()
Ответ на: комментарий от post-factum

> А теперь подумай, как без введения отдельного разделительного символа осуществлять приём.

Сколько тебе материально различных признаков надо для передачи кода морзе? Ровно два: пикает - не пикает, светится - не светится, поднят флажок - опущен флажок.

Еще разъяснения нужны?

geekless ★★
()
Ответ на: комментарий от Smacker

Кодирование сигнала - это преобразование символов кода в представление на физическом, т.е. канальном уровне, и отношение к каналу самое, что ни на есть прямое.

ky-san
()
Ответ на: комментарий от ky-san

Так. Хорошо. Какие три уровня есть в канале передачи данных?

PolarFox ★★★★★
()
Ответ на: комментарий от ky-san

Время — это часть канала передачи данных? Вот производители модемов-то удивятся.

geekless ★★
()
Ответ на: комментарий от ky-san

Если бы «время» было бы требованием к _каналу_, то для морзе потребовался бы совмещённый провод-хронометр. Я против особого выделения времени, поскольку _любая_ передача данных имеет длительность, т.е. «время» автоматически включено в процесс. В данном случае - время есть в головах радистов, например. К каналу это отношения не имеет - если бы они как-то ещё передавали данные, время бы никуда не делось.

Smacker ★★★★★
()
Ответ на: комментарий от ky-san

Если уж на то пошло, то лучше пренебречь вариантом, когда время идёт рывками. Тогда, поскольку в коде морзе имеет значение только относительная длительность импульсов, он будет везде читаем. Просто где-то «единичный» импульс будет короче, где-то длиннее. Это, на самом деле, везде в мире и происходит, когда идёт передача вручную на неавтоматизированном ключе. Там ширина импульсов зависит от самого радиста, и наблюдается т.н. «почерк».

Smacker ★★★★★
()

Время имеет непосредственное отношение к сигналу, например, в понятии «объём сигнала». Без введение разделителя декодирование буде невозможно.

post-factum ★★★★★
()
Ответ на: комментарий от alegz

> Ну да, «ямбический» или как его там...

Ямбический — это немного иное.
Обычный электронный ключ - один рычаг и два контакта. Рычаг влево — точки, рычаг вправо — тире. Удержание рычага приводит к периодической посылке точек, или тире.
Ямбический режим отличается тем, что там два рычага и один контакт (можно два — зависит от схемы). Соответственно меняется техника работы на ключе. Нажатие одного рычага приводит к передаче точек, нажатие второго — тире, а совместное нажатие рычагов приводит к вставке тире (одиночного, или периодического) в посылку точек и наоборот.
Для примера:
рычаг точки однократно — одна точка
рычаг точки удержание — последовательность точек, пока не отпустишь.
держим точку, жмём однократно тире, получаем .....-......
держим точку, жмём и держим тире, получаем .......-.-.-.-.-
держим точку, жмём и держим тире, отпускаем точку .....-.-.-.-------
и т.д.
для зеркальности — аналогично.

Соответственно ямбический ключ требует своей техника работы и другой постановки кисти. За счёт того, что при передаче нужно совершать меньше действий, меньше устаёт кисть и возможна более высокая скорость по сравнения и с электронным однорычажным ключом, и тем более ручным.

Lumi ★★★★★
()
Ответ на: комментарий от Ttt

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

Lumi ★★★★★
()
Ответ на: комментарий от Smacker

Когда говорят о cw, то имеется в виду именно шим-представление, поскольку его можно натянуть на любую среду передачи данных и это будет всё-равно cw.

Подумай, как морзе может передаваться стуком по трубе, где для передачи данных есть или «стук по трубе» или «тишина».


Инверсным способом, где стук будет именно разделителем.
Можно точно также передавать с помощью двух кранов с водой за счёт изменения давления и силы струи в одном при манипуляциях со вторым. При этом за счёт введения понятия порог это тоже можно свести к двоичной среде передачи.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Неправда. Стуком передают всё тем же образом, только тире заменяют двумя стуками. Поскольку стук имеет константную длительность, получается передача вида (SOS ... --- ... ):
10101 000 11011011 000 10101 0000000
где 1 - стук, а 0 - квант тишины, аналогичной длины.
Я этот пример привёл для того, чтобы показать, что в «трубном морзе» именно два базовых типа сигнала, как по уровням, так и по длительности. То есть ничем троичным и не пахнет.

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

> Неправда.

1. Это не принципиальный вопрос, а лишь особенность реализации.
2. Это никак не объясняет недопонимания некоторых людей, что азбука морзе это не канальный уровень, а выше.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Конечно, азбука морзе - не канальный уровень, а уровень ШИМ-кодирования символов. Речь изначально шла о том, что для работы с этой азбукой, технически, нужен самый наипростейший канал передачи данных, с двумя уровнями сигнала, в этом и есть её главный профит. А потом пошла фигня о том, что мол азбука морзе «троичная» и всё такое.

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

> Речь изначально шла о том, что для работы с этой азбукой, технически, нужен самый наипростейший канал передачи данных, с двумя уровнями сигнала, в этом и есть её главный профит.

За счёт модуляции можно практически всё уложить в наипростейший канал с двумя уровнями. Профит не только (и не столько) в этом, а больше в том, что изначально cw предназначалась (да и сейчас ничего не изменилось) на слуховой приём с использованием селективных свойств уха, способного работать с сигналом в условиях «под шумом» и особенностей человеческого мозга, анализирующего поток на уровне образов, в данном случае по напевам.
Остальной профит несущественен, поскольку при машинном приёме это «ад и погибель» в плане удобства и реализации.

А потом пошла фигня о том, что мол азбука морзе «троичная» и всё такое.


Ну, куда же деваться-то... У меня и для тебя плохие известия, поскольку ты ошибочно предполагаешь, что представление определяется канальным уровнем.

20 лет назад, ещё школьником, на бейсике бк-0011 я написал для UA3RKW программу приёма морзянки. Канальний уровень обрабатывался аппаратно с помощью полосового фильтра и компаратора и на выходе выдавал ttl уровни. Дальше было всё просто. Так вот, четыре состояния (короткий +5В, длинный +5В, короткий 0В и длинный 0В прекрасно описываются в минимальной форме именно в троичной системе счисления. До троичной системы я тогда додумался сам, так уж получилось.

Неплохо бы тебе подумать, почему именно так, а то ты похож на человека, утверждающего, что любая запись любого числа является двоичной, поскольку есть всего два состояния — карандаш прижат к бумаге и карандаш поднят над бумагой.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

>Неплохо бы тебе подумать, почему именно так, а то ты похож на человека, утверждающего, что любая запись любого числа является двоичной, поскольку есть всего два состояния — карандаш прижат к бумаге и карандаш поднят над бумагой.

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

Если я в чём-то и неправ, так это в том, что главное преимущество морзянки усматривал в простоте реализации передачи данных технически — в то время как профит следует усматривать в простоте приёма на слух.

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

короткий +5В, длинный +5В, короткий 0В и длинный 0В прекрасно описываются в минимальной форме именно в троичной системе счисления


Это как? У трита может быть 3 значения - 0, 1 и 2. Я вижу четыре значения сигнала. И знаю о существовании ещё одного - 7-ми кратной паузы между словами, который, впрочем, можно считать как (1)+2*(3).

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

> Я не говорил, что код морзе является двоичным.

Я тебя в этом и не обвиняю.
Просто не надо называть бредом то, что его представление троичное.
Правда человеческому мозгу это пофиг, он всё-равно напев воспринимает, а не точки с тире считает. :)

Я говорил, что каналу достаточно быть двоичным - и при этом не нужно никаких особенных хитростей.


Разрядность передаваемого кода и разрядность канала вообще никак не связаны в условиях последовательной передачи данных. Это ещё и к вопросу о восьмибитном кабеле.

Это как? У трита может быть 3 значения - 0, 1 и 2. Я вижу четыре значения сигнала.


Всё оказалось гораздо сложнее... :( А вроде такие умные слова про шим писал. Для представления троичного числа на двоичной спд, как раз и нужны именно 4 состояния. Никакого обмана, обычная ловкость рук, понимаешь... Букву А (троичное 12) переводим в двоичное /-\_/---\___ — посчитай сам уровни и длительности.

И знаю о существовании ещё одного - 7-ми кратной паузы между словами, который, впрочем, можно считать как (1)+2*(3).


Это вопрос интерпретации. :)
То есть запись 12 211 можно ещё понимать как 120211 (хотя по идее это даёт только шестикратную паузу, что легко исправимо при машинной передаче, и легко игнорируется при приёме и интерпретации, а также за счёт дополнительного условия и одного флага в алгоритме обработки нет никаких трудностей и в визуальном представлении). Хотя если переводить нолик в шим как паузу, равную точке, получится ровно 7.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

> Никакого обмана, обычная ловкость рук, понимаешь...

Нет, не понимаю.
Один троичный разряд может иметь три значения - 0, 1 и 2.
Чтобы записать 0, 1 или 2 в двоичной системе, нам нужно два двоичных разряда. Но у двух двоичных разрядов четыре возможных состояния: 00, 01, 10, 11. Сопоставление один-к-одному покрывает из них три, а четвёртый остаётся неописанным, в трите нет под него данных. Если я «работаю» декодером, то на каком основании мне выпускать «в линию» чётвертое состояние?

Я погуглил «троичную» запись кода морзе. Предлагается иметь три значения в трите: пауза, тире и точка. А долгую паузу записывать двумя паузами подряд. То есть на долгую паузу уйдёт два трита. То есть одного трита «на всё» недостаточно.

Далее,

описываются в минимальной форме


Я не вполне понимаю, относительно чего идет минимизация. С моей точки зрения, если минимизировать запись по параметру ёмкости разряда, то минимумом будет двоичная запись. Если минимизировать по количеству знаков на смысловую единицу кода (которых пять - 1*(1) для точки, 3*(1) для тире, 1*(0) для паузы между элементами символа, 3*(0) для паузы между символами и 7*(0) для паузы между словами), то нужна пятеричная система счисления.

Smacker ★★★★★
()
Ответ на: комментарий от Lumi

А, вот где собака нарыла:
В троичной записи кодируются сразу _сочетания_:
0 - 2х(0)
1 - 1х(1) 1х(0)
2 - 3х(1) 1х(0)
Но всё равно, на паузу между словами придётся тратить отдельный символ.

Smacker ★★★★★
()
Ответ на: комментарий от Smacker

> Нет, не понимаю.

Ты воспринимаешь всё слишком буквально и ошибочно. :)
Ты вроде бы про шим упоминаешь, но потом пишешь такое, будто никогда об этом и не слыхал.
Посчитай количество состояний в моём примере с буквой A. Тебе нужны два высоких уровня разной длительности: точка и тире, и два низких уровня разной длительности — пауза между высокими уровнями внутри одного символа и пауза между символами этой азбуки. Так что придётся выпускать все 4 состояния.

Я погуглил «троичную» запись кода морзе. Предлагается иметь три значения в трите: пауза, тире и точка.


Теперь разбираемся, что именно представляет каждый элемент трита *после* шим. Что именно ты там нагуглил, я не знаю, возможно и правда какой-нибудь бред.

Точка /-\_ (up,1tick,down,1tick)
Тире /---\_ (up,3tick,down,1tick)
Пауза (между буквами) __ (2tick in down)

В таком виде «а б » будет в виде: троичное 12021110, после шим:
/-\_/---\___/---\_/-\_/-\_/-\___

А долгую паузу записывать двумя паузами подряд. То есть на долгую паузу уйдёт два трита. То есть одного трита «на всё» недостаточно.


Пауза между словами это вопрос интерпретации, в алфавит её можно не включать. Да, можно просто вставить нулик в троичной записи, или два нулика. Нафига два нулика заменять на 4 и переходить к четверичной системе? При нажатии " " на передающей стороне просто формируется дополнительная пауза. А при приёме слишком длинная пауза фиксируется и отслеживается одним флагом и одним условием.

Я не вполне понимаю, относительно чего идет минимизация.


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

С моей точки зрения, если минимизировать запись по параметру ёмкости разряда, то минимумом будет двоичная запись.


При этом у тебя будут очень длинные слова.

Если минимизировать по количеству знаков на смысловую единицу кода (которых пять - 1*(1) для точки, 3*(1) для тире, 1*(0) для паузы между элементами символа, 3*(0) для паузы между символами и 7*(0) для паузы между словами), то нужна пятеричная система счисления.


При этом у тебя разрастается основание.

А истина как всегда где-то рядом. Ровно посередине. Потому что минимизация осуществляется по конечному представлению текста в рамках основания счисления. С одной стороны нам нужно уменьшать длину слова, а с другой стороны сохранять систему счисления как можно меньшей.

Lumi ★★★★★
()
Ответ на: комментарий от Smacker

> А, вот где собака нарыла:

Как-то я слишком долго тебе отвечал, ты уже во всём сам разобрался. :)

Но всё равно, на паузу между словами придётся тратить отдельный символ.


А давай ещё в русском алфавите введём отдельную букву — паузу между словами. 34-я буква алфавита будет. Или две подряд идущие «с» заменим на 35 букву, которую будем писать «s»? А ничего, что в азбуке Морзе регистра нет? Давай ещё какую-нить хрень придумаем, чтобы «А» и «а» различались?

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

> А давай ещё в русском алфавите введём отдельную букву — паузу между словами.

Во-первых, в стандарте на морзянку есть 7-и тиковая пауза. В предложенно выше варианте придётся ставить три нулевых трита.
Во-вторых, это как пробел между словами. Чтобы писать русским алфавитом осмысленно пробел нужен или нет? Можно, конечно, и без пробела.

Почему бы не cделать четверичную запись тогда?
0 - 2x(0)
1 - 1x(1) 1x(0)
2 - 3x(1) 1x(0)
3 - 6x(0)

Smacker ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.