# Can Morse Code be encoded using "silence" for dots and dashes?

Morse code dots and dashes are often displayed as a sound, or light that is on for a short or long period of time.

What if the only way to communicate was by knocking.... (or similar encoding) that can only encode using extended (or short) durations of silence.

Is it acceptable to use morse code in this way (where short or long durations of silence are the dots and dashes)?

• Old morse code (railway code) used more dots, might be a good starting point.
– user11108
Sep 16 '14 at 18:37

i used to be a ham radio person (like more than 40 years ago) and still know Morse code. it's like learning to ride a bicycle; you don't forget. between the elements ("dits" and "dahs") of a single character, the space of silence is supposed to be the same as the ON time of a single "dit". call that a single unit of time. so a string of dits would be at exactly twice the frequency as a stream of dahs. but the space of silence between characters is supposed to be three units, the same length as a dah.

so, if you encode only the onsets of each element, whether it's a did or dah, you can't tell the difference between a lot of dahs in a row in the same character (like zero or "0") or the same number of dits in separate letters (like five adjacent "E" in sequence). from just the onsets of the beeps, a single "0" (which is "dah-da-dah-dah-dah") sounds the same as "EEEEE" (which is "dit-dit-dit-dit-dit" at the same rate). nor could you hear the difference from "EENE" ("dit-dit-dah-dit-dit" at the same relative onset times).

if you make the space between letters long enough that there can be no confusion between separated characters and the closer elements within a character, you can figure it out from just knocking. but, given the element and character spacing set forth by the format of Morse Code, you cannot tell "0" from "EEEEE" from "EENE" with just knocks.

• So what I'm asking is... what if dit is defined as "knock, and wait 1 second" , and dah is defined as "knock and wait 2 seconds", and this is agreed upon on both sides. Or are you saying that a different encoding (onset only) is what is needed in this case? Apr 26 '14 at 5:03
• again, there needs to be a difference in spacing between elements and characters. when you hear the onset and end of each element, you can know the difference between a long element (a dah) with a short space (like a single "0" character) and a short element (a dit) with a long space (like five "E" letters together). with only the onsets, you cannot tell the difference. Apr 26 '14 at 5:27

If you encode only onsets in Morse Code, you can't tell an ending dot from an ending dash at the end any letter, word or phrase followed by a pause.

What you can do, instead of Morse Code, is to use some sort of MFM or RLL (run-length limited) encoding with a starting sync header, similar to encoding represented by the magnetic transitions on an HDD. Those time encodings have a controlled number of "gaps" which are a deterministic part of the encoding.

• hot is right. and that last element of a character was something i was not addressing in my answer (which is not fully correct, because of this issue that paw brings up). so, even if you do increase the spacing between characters so that there is no confusion between short characters and elements within a character, as i suggested above, that is still not sufficient to discern the difference between "9" and "0" with just the onsets (or knocks). Apr 26 '14 at 17:44

You could do a lossless transformation of Morse Code to Knock-Knock:

dit   <-->  knock,pause,pause
dah   <-->  knock,knock,pause
space <-->  pause,pause,pause

e.g., SOS -- knock,pause,pause, knock,pause,pause, knock,pause,pause,
pause,pause,pause,
knock,knock,pause, knock,knock,pause, knock,knock,pause,
pause,pause,pause,
knock,pause,pause, knock,pause,pause, knock(,pause,pause),
stop.


Not very efficient (12 knocks to transmit SOS) but better than

a <--> knock, pause
z <--> 26 knocks, pause


which takes 19+15+19=53 knocks to transmit SOS.

Of course you can. You can do anything you want to the signal as long as there was a way to transform it back.