모스 부호는 2 진, 3 진 또는 5 진입니까?


27

" 코드 : 컴퓨터 하드웨어 및 소프트웨어의 숨겨진 언어 "라는 책을 읽었으며 2 장에서는 다음과 같이 말합니다.

모스 부호는 코드의 구성 요소가 점과 대시의 두 가지로만 구성되므로 이진 (문자 적으로 2 x 2를 의미) 코드라고합니다.

반면에 위키 백과 는 말합니다 :

엄밀히 말하면 다섯 가지 기본 요소가 있기 때문에 이진이 아닙니다 (정식 참조). 그러나 이것이 모스 부호가 이진 부호로 표현 될 수 없다는 것을 의미하지는 않습니다. 추상적 인 의미에서, 이것은 전신 통신 사업자가 메시지를 전송할 때 수행하는 기능입니다 (정식 참조).

그러나 또 다른 Wikipedia 페이지 에는 '이진 코드 목록'에 모스 코드가 포함되어 있습니다.

나는 모스 부호가 실제로 삼항 이라고 생각하기 때문에 매우 혼란 스럽다 . 묵음, 짧은 경고음 또는 긴 경고음의 3 가지 유형의 '가능성'이 있습니다.

모스 코드를 'stirct binary'로 표현하는 것은 불가능합니까?

'이진 이진법'이란 이진 스트림을 생각하면 1010111101010입니다. 어떻게 침묵, 짧은 경고음 및 / 또는 긴 경고음을 표현해야합니까?

내가 생각할 수있는 유일한 방법은 컴퓨터가 구현하는 '단어 크기'입니다. 내가 (그리고 CPU / 코드 해석기) 매번 8 비트를 읽는다는 것을 알고 있다면, Morse Code를 나타낼 수 있습니다. 간단히 1로 짧은 경고음을 내거나 0으로 긴 경고음을 나타낼 수 있으며 침묵은 단어 길이로 암시 적으로 표현됩니다. 내 손 : 단어 크기.

내 생각은 다음과 같습니다. 읽을 비트 수에 대해 처음 3 비트를 예약하고 8 비트 단어로 Morse 코드의 마지막 5 비트를 예약 할 수 있습니다. 00110000과 같이 'A'를 의미합니다. 그리고 나는 여전히 '이진'에 있지만 단어 크기가 삼원이 아닌가 필요합니까? 처음 3 비트는 다음과 같습니다. 다음 5 비트에서 1 비트 만 읽습니다.

이진 대신 삼항을 사용하면 101021110102110222 등과 같은 모스 부호를 표시 할 수 있습니다. 여기서 1은 다음과 같습니다. 222를 사용하면 긴 침묵을 코딩 할 수 있으므로 *-* --- *-와 같은 신호가있는 경우 102100022210과 같이 표시 할 수 있지만 1과 0을 사용하는 경우 직접 사용할 수는 없습니다. 내가 언급 한 것처럼 '고정'단어 크기와 같은 것이지만 이것은 모스 코드를 바이너리로 저장하지 않고 해석하는 것입니다. 피아노와 같은 것을 상상해보십시오. 피아노 버튼 만 있습니다. 누군가를 위해 Morse Code에 메시지를 남기고 버튼을 검은 색으로 칠할 수 있습니다. 분명한 메시지를 남길 수있는 방법이 없습니까? 묵음 (문자와 단어 사이의 묵음)을 넣을 수 있으려면 최소한 하나 이상의 색상이 필요합니다. 이것이 12 세의 의미입니다.

나는 당신이 57-ary 또는 다른 어떤 것에 모스 부호를 나타낼 수 있는지 묻지 않습니다.

이에 대해 저자 (Charles Petzold)에게 이메일을 보냈습니다. 그는 "코드"9 장에서 모스 부호가 이진 코드로 해석 될 수 있음을 증명한다고 말합니다.

내 생각이 잘못 되었습니까? 이 책에서 모스 부호가 이진이라는 사실을 읽고 있습니까? 어떻게 든 논쟁의 여지가 있습니까? 한 위키 백과 페이지에서 모스 부호가 수의로 표시되는 이유는 무엇이며 이진 부호 목록 페이지 에도 나열되어 있습니까?

편집 : 저자에게 이메일을 보냈으며 회신을 받았습니다.

----- 원래의 메시지 -----

보낸 사람 : Koray Tugay [mailto : koray@tugay.biz]

보낸 날짜 : 2015 년 3 월 3 일 화요일 오후 3:16

받는 사람 : cp@charlespetzold.com

제목 : 모스 부호는 실제로 이진입니까?

모스 코드는 이진, 삼항 또는 오수입니까? quinary?

감사합니다, Koray Tugay

보낸 사람 : "Charles Petzold"

받는 사람 : " 'Koray Tugay'"

제목 : RE : Morse Code가 실제로 바이너리입니까? 날짜 : 3

2015 년 3 월 23:04:35 EET

"Code"의 9 장 끝 부분에 Morse Code가 이진 코드로 해석 될 수 있음을 보여줍니다.

----- 원래의 메시지 -----

보낸 사람 : Koray Tugay [mailto : koray@tugay.biz]

보낸 날짜 : 2015 년 3 월 3 일 화요일 오후 3:16

받는 사람 : cp@charlespetzold.com

제목 : 모스 부호는 실제로 이진입니까?

모스 코드는 이진, 삼항 또는 오수입니까? quinary?

감사합니다, Koray Tugay

어쨌든 웹에서 쉽게 찾을 수 있기 때문에 그의 이메일을 숨기고 있지 않습니다.



의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Raphael

실수로 삭제 한 링크를 수정했습니다. 더 이상 잘못된 개정으로 롤백하지 마십시오.
라파엘

1
@WanderingLogic 정확하고 가장 효과적이고 소음이없는 접근 방식은 의견 정리를 위해 질문에 자동으로 플래그를 지정하고 의견을 공개적으로 댓글 경찰을 재생하지 않고 모든 의견을 결합하기 위해 채팅방을 만들려고하지 말고 의견을 깃발로 채팅으로 옮기도록 제안하는 것입니다. 문맥이없는 모든 답변. Raphael이 올바른 링크를 게시했기 때문에 귀하의 링크도 문제를 혼동합니다.
Jason C

1
@ J.-E.Pin 글쎄, 나는 질문에 대답하는 사람들이 그 사실을 알 것이라는 점을 당연한 것으로 여겼기 때문에 공식적인 정의를 제공하지 않았으며, 나는 상황을 설정하기 위해 Wikipedia에 대한 참조를 가지고있었습니다. 위키 백과가 완벽하지는 않더라도 여기서 자주 수행되는 것처럼 정의의 역할을 수행 할 수 있어야합니다. 그것이 실제로는 널리 퍼져있는 문제라는 것을 깨닫는 데 시간이 걸렸습니다. 나는 스스로를 긴밀히 재 작성하는 과정에 있었고, 명백한 정의, 인용문, 참고 문헌 및 주입 동질성에 대한 공식적인 설명을 가지고 있었다. 끝내야합니까?
babou

답변:


19

모스 코드는 세 개의 기호를 인코딩하는 접두사 이진 코드 위에있는 접두사 삼진 코드 (58 문자 인코딩 용)입니다.

수락했을 때 훨씬 짧은 답변 이었습니다 . 그러나 사용자 간의 상당한 오해를 고려하고 OP의 요청에 따라 훨씬 더 긴 답변을 썼습니다. 첫 번째 "요약"섹션은 그 요점을 알려줍니다.

내용

간단히 말해서

"Morse Code 이진, 삼항 또는 오음입니까?" 수용 가능한 답변에 대한 몇 가지 기준을 수정하지 않으면 가능한 답변을 비교할 수 없습니다. 실제로 적절한 기준이 없으면 거의 모든 종류의 구조에 대한 설명을 얻을 수 있습니다. 내가 선택한 기준은 다음과 같습니다.

  • 그것은 두 번째 계층의 도트 / 대시 표시와 함께 Morse 코드의 3 계층 설명을 반영해야합니다.

  • 코드의 이론적 분석을 위해 개발 된 프리젠 테이션 및 수학 도구에 최대한 적합해야합니다.

  • 가능한 한 간단해야합니다.

  • 그것은 모스 부호의 특성을 분명히 드러내야합니다.

이것은 과학적으로 연구 된 코드 이론의 기본 개념을 무시하는 임의의 해킹을 배제하기위한 것이며, 비공식적으로 결론을 내릴 수는 없지만 체계적인 분석의 착각을 통해 일부 호소력을 가질 수 있습니다. 이 사이트는 프로그래밍이 아니라 컴퓨터 과학 에 관한 것 입니다. 기술적 질문에 대답하기 위해 최소한의 확립 된 과학과 수용된 개념을 사용해야합니다.

의 신속한 분석 표준 것을 보여준다 모르스 부호에 사용 된 모든 심볼들은 최종적으로 이진 코딩 이 각 유닛에 대한 신호가 될 수 파크 동일한 길이의 단위 문자열 또는 오프 전송되므로. 이것은 Morse 메시지가 궁극적으로 논리 알파벳 코딩됨을 나타냅니다 .Σ1={0,1}

그러나 그것은 코드의 내부 구조에 대해서는 아무것도 말하지 않습니다. 인코딩 할 정보는 57 문자와 공백을 포함하여 58 기호 (표준에 따름)의 알파벳 문자열입니다. 이것은 알파벳 마지막 심벌은 공간입니다.Σ3={A,B,,Z,0,1,,9,?,=,,×,@,[]}

그러나, 중간 알파벳 표준 지정이 있다는 에 기초 하고 그리고 아마도 다른 기호. 꽤 분명하다Σ2dotdash

  • 해당 문자열 문자열로 부호화한다 및ΣΣ2

  • 문자열 것을 이다은 문자열로 부호화 될 Σ * 1Σ2Σ1

따라서, Σ 3에 대한 선택이 없다면 , 질문은 다음과 같이 이해되어야합니다. " 중간 알파벳 Σ 2 에서 몇 개의 기호를 고려해야 모스 전체의 구조와 성질을 가장 잘 알 수 있습니다. 코드, "또한 세 가지 수준 사이에 두 가지 인코딩을 지정해야합니다.Σ1ΣΣ2

모스 코드가 있다는 사실을 감안할 때 접두사 신호를 디코딩 할 때 배제가 모호성, 우리는 함께 단순히이 필수 속성을 설명 할 수 있다는 호모 모르 픽 (가변 길이) 코드 원 알파벳 { , , }, 2 개 개의 코딩 방식의 C (3) 2 에서 Σ 3 에서 Σ 2로 , C 2 1 에서 Σ 2 에서 Σ 1로Σ2=dotdashsep기음2ΣΣ2기음21Σ2Σ1이는 호 모모 픽 및 프리픽스이고, 따라서 모호하지 않은 코드이고, 따라서 58 심볼의 명확한 프리픽스 인코딩을 이진으로 제공하도록 구성 될 수있다.

따라서 모르스 부호는 알파벳 표현 프리픽스 삼원 코드로 구성되어있다 , , } 자체는 이진 인코딩이 세 문자와 다음 코드 워드 :{ dotdashsep }

dot ,11100010dash 1110sep 00

무엇하는 것은 연속적인 사이 공간으로 알려져 있음을 유의 dot또는 dash실제의 표현에 포함 dot하고 dash이는 일반적으로 소스 심볼의 대상 심볼로 표현 된 코드 워드에 문자열 homomorphisms로 정의 코드들의 이러한 유형에 대한 일반적인 수학적 표현이기 때문에, 방금했던 것처럼

이것은 표준에 제시된 프리젠 테이션의 일부와는 약간 다른데, 이는 구조적 특성을 분석하는 대신 사용자를위한 코드를 직관적으로 지정하는 데 더 중점을두고 있습니다. 그러나 두 경우 모두 인코딩이 동일합니다.

표준의 정확한 타이밍이 없어도 아날로그 신호의 디코더는 여전히 우리가 제안하는 3 진 알파벳으로 변환 할 수 있으므로 3 진 코드에 대한 위의 이해는 여전히 유효합니다.

코드 : 기본 사항

이 답변은 2009 년 10 월 12 일자 표준 ITU-R M.1677-1을 기준으로합니다 (참고로 Jason C에게 감사드립니다). 나는 용어를 사용하여야 dot하고 dash, 대신 dit하고 dah는이 기준에서 사용하는 용어이기 때문에.

모스 코드에 대해 논의하기 전에 코드가 무엇인지에 동의해야합니다. 이 질문에 대한 어려운 토론은 분명히 그것을 요구합니다.

기본적으로 정보를 전송하거나 처리하려면 정보를 표시해야합니다. 코드는 한 표현 시스템에서 다른 표현 시스템으로 정보를 변환하는 시스템 입니다. 이것은 매우 일반적인 정의입니다. 표현 의 개념 과 한 표현 ( 소스 )에서 다른 표현 ( 타겟 ) 으로의 코드 의 개념을 혼동하지 않도록주의해야합니다 .

표현은 가변 전압, 종이의 컬러 도트, 문자열, 문자, 숫자, 0과 1의 이진 문자열 등과 같은 다양한 형태를 취할 수 있습니다. 아날로그와 형식 (또는 논리적 또는 추상) 표현을 구분하는 것이 중요합니다. .

아날로그 / 물리적 표현은 그림, 다양한 전압 레벨, 모양 (문자)입니다.

논리 / 공식 / 추상 표현은 추상 그래프, 기호 문자열 또는 기타 수학 엔티티를 사용하는 수학 표현입니다.

일부 정보는 원래 아날로그 일 수도 있지만, 수학적 수단이나 사람에 의해 정확하게 처리를 정의 할 수 있도록 보통 논리적 인 표현으로 변환합니다.

반대로, 컴퓨터 나 송신기와 같은 물리적 장치를 사용하여 논리적 표현을 처리하려면 논리적 표현에 아날로그 형식을 제공해야합니다.

이 분석의 목적 상, 우리가 고려하는 유일한 아날로그 형식은 표준에 설명 된대로 전송에 사용 된 것입니다. 그러나 첫 번째 단계는이 아날로그 표현을 동일하게 구조화 된 논리적 표현의 직접 구현으로 해석하는 것이며, Morse 코드가 어떤 코드인지 분석 할 수 있습니다. 코드 이론은 논리적 표현 분석에 기반한 수학적 지식 체계입니다.

그러나 우리는 마지막 토론에서 아날로그 / 논리적 전환으로 돌아올 것입니다.

코드 : 정의

논리적 관점은 코드가 소스 알파벳 의 소스 문자열을 대상 알파벳 T 로 변환하는 데 사용된다는 것 입니다. 정보의 표현에 오류에 대한 저항력을 높이거나 (오류 감지 및 수정) 더 작은 표현을 만드는 등의 추가적인 속성을 추가하려는 경우 두 알파벳이 동일하고 일반적으로 이진 인 경우가 종종 있습니다. 리던던시 제거 (무손실 코드 압축) 및 일부 정보의 손실을 신중하게 제어 (손실 압축) 할 수 있습니다.ST

그러나 Morse 코드의 목적은 큰 알파벳의 문자열을 훨씬 작은 알파벳 (실제 이진)을 기반으로하는 문자열로 표현하는 방법을 제공하는 것입니다. 지각과 조작 능력. 이것은 가변 길이 코드 라고 불리는 것에 의해 달성됩니다 .

공식 언어 이론의 용어를 사용하여 정확한 수학적 정의는 다음과 같습니다. T 를 각각 소스 및 대상 알파벳이라고하는 두 개의 유한 세트로 만듭니다. 코드 C : S T는 * 에서 각 심볼 매핑 총 함수 S를 통해 심볼들의 시퀀스를 T , 그리고 확장 C 의 동형을 S *T * 자연적으로 소스 심볼들의 각 시퀀스를 맵핑 일련의 대상 심볼을 확장이라고합니다.STC:STSTCST

C(s)Ts에스

기음에스에스

고유 한 디코딩 가능성과 접두사 속성이 코드 구성으로 닫혀 있음을 쉽게 알 수 있습니다.

동질성이라는 정의 는 코드 워드 사이에 특별한 분리가 없음을 의미합니다 . 접두사 속성과 같은 구조로 모호하지 않게 식별 할 수 있습니다.

실제로 이러한 분리 기호가있는 경우 대상 알파벳에서 문자열을 디코딩해야하기 때문에 대상 알파벳의 일부 여야합니다. 그런 다음 구분 기호를 앞의 코드 단어에 추가하여 가변 길이 코드의 이론적 모델로 되 돌리는 것이 매우 간단합니다. 문맥 상 난이도를 높이려면 (예 : 여러 구분 기호로 인해), 코드가 명백한 것보다 더 복잡하다는 힌트 일뿐입니다. 이것은 위에서 설명한 이론적 모델을 고수해야 할 좋은 이유입니다.

모스 부호

모스 부호는 표준에서 세 가지 수준으로 설명됩니다.

  • 삼 . 57 문자 (27 자, 10 자리, 20 개의 신볼 및 발음)와 문자열을 단어로 자르는 단어 간 간격을 사용하여 자연어 텍스트의 인코딩을 제공합니다. 단어 간 공간은 특수 문자처럼 사용되며 다른 문자와 혼합 될 수 있습니다 SEP.

  • 2. 이러한 문자 모두의 승계로 인코딩 할 dashdot내가주의하여야 간 편지 쓰기 공간을 사용하여 sep별도의 위해, dash그리고 dot다음 글자들에서 문자를 하나의.

  • 1 . 은 dashdot뿐만 아니라, sep정확하게 어떤 수락 유닛의 관점에서 정의 신호 길이 또는 신호 (호출 간격)의 유무로서 부호화되어야한다. 특히, 문자를 인코딩 dash하고 dot인코딩하는 것은 요소 간 공간으로 구분되어야합니다 σ.

이것은 이미 몇 가지 결론을 요구합니다.

아날로그 형식으로 송수신되는 메시지는 길이 단위 (공간 길이 또는 시간 길이) 의 연속으로 , 부록 1, 파트 I, 섹션에 지정된대로 각 단위의 전체 지속 기간 동안 신호가 꺼집니다. 표준의 2 :

2   Spacing and length of the signals
2.1 A dash is equal to three dots.
2.2 The space between the signals forming the same letter is equal to one dot.
2.3 The space between two letters is equal to three dots.
2.4 The space between two words is equal to seven dots.

이 명확하게 논리적으로의 문자열로 이진 표기법으로 표현 될 수있는 비트 스트림으로 알려진에서 아날로그 인코딩입니다 0ANS 1아날로그에 대한 서 떨어져 .

아날로그 표현에 관한 추상적 멀리 문제에 대한 위해, 우리는 따라서 우리가주의해야하는 것이, 모스 부호 메시지를 비트 문자열로 전송하는 것을 고려할 수 01.

따라서 위 표준에서 발췌 한 내용은 다음과 같이 논리적으로 표현할 수 있습니다.

  • 0 A dot는로 표시됩니다 1.
  • 1 . A dash는로 표시됩니다 111.
  • 2. 요소 간 공간 σ은로 표시됩니다 0.
  • 삼 . 문자 간 공간 sep은로 표시됩니다 000.
  • 4. 단어 간 공간 SEP은로 표시됩니다 0000000.

따라서 Morse 코드는 5 개의 코드 단어를 이진으로 사용하여이 5 개의 심볼을 인코딩하는 것으로 볼 수 있습니다. 이것이 시스템을 설명하는 방식이 아니라는 사실을 제외하고는 시스템에 더 많은 것이 있으며 순진하거나 수학적인 관점에서 생각할 수있는 가장 편리한 방법은 아닙니다.

또한이 설명은 코드 이론 전문가가 아닌 일반인을위한 것입니다. 이런 이유로, 그것은 그것을 정당화하는 내부 구조보다 더 보이는 외관을 묘사합니다. 수학적으로 더 구조적이지만 코드의 속성을 강조하기 위해이 설명과 호환되는 다른 설명을 배제 할 이유가 없습니다.

그러나 먼저 코드에 대한 완전한 설명은 즉시 인식 할 수있는 3 가지 수준의 표현과 관련이 있습니다.

  • 삼 . 를 포함하여 문자열로 구성된 텍스트 SEP입니다.
  • 2. 문자열을 dot, dash및 의 문자열로 인코딩 sep합니다.
  • 1 . 이 3 개의 레벨 2 문자열을 symbols이진 문자열로 인코딩 합니다.

우리는 아마도 어떤 기호가 무엇에 인코딩되는지에 대해 논의 할 수 있지만, Morse 코드의 핵심은이 세 가지 수준의 표현을 가지고 있으며, 상단, 상단 및 하단 , 비트 및 하단 dot의 문자 .dash01

이것은 레벨 3에서 레벨 2로, 코드 2에서 레벨 1로 2 개의 코드가 반드시 있어야 함을 의미합니다.

세 가지 수준의 표현 분석

이 3 계층 코딩 시스템에 대한 일관된 분석을 위해서는 먼저 각 레벨에서 어떤 종류의 정보가 관련되어 있는지 분석해야합니다.

  • 1 . 비트 문자열은 정의 및 아날로그 표현의 필요성에 의해 0및 로만 구성됩니다 1.

  • 삼 . 텍스트 수준에는 57 자 및 단어 간 간격을 포함하여 58 개의 알파벳이 필요합니다 SEP. 58 개 모두 궁극적으로 이진 인코딩을 가져야합니다. 그러나 Morse 코드 표준은 이러한 57 + 1 문자를 지정하지만 정보를 인코딩하는 데 사용되는 방법을 지정하지는 않습니다. 그것이 영어와 다른 자연어의 역할입니다. Morse 코드는 다른 시스템에 58 기호의 알파벳을 제공하는데, 여기에 58 이진 코드를 작성할 수 있지만 Morse 코드 자체는 58 이진 코드가 아닙니다.

  • 2. 상기 dotdash수준, 우리 모두의 필요가 순서대로 코드에 57 자이 두 심볼이다, 즉 문자열로 각 코드 워드를 제공 dot하고 dash함께 몇 가지 구분으로, sep하나 개의 문자가 완성 마크, 또 다른 시작. 또한 단어 간 공간을 인코딩하는 수단이 필요합니다 SEP. 우리는 leavel 1에서 직접 제공하려고 시도 할 수 있지만 그렇지 않으면 계층 구조의 코드 구성이 엉망이됩니다.

실제로 표준에 대한 설명은 그렇게하는 것에 대한 비판을받을 수 있습니다. 그러나 저자는 일반 사용자가 자신의 프레젠테이션을 이해하기가 더 쉽다고 생각했을 수도 있습니다. 또한 이러한 종류의 수학적 분석 이전의 모스 부호에 대한 전통적인 설명을 따릅니다.

이를 위해서는 몇 가지 언급이 필요합니다.

  • 레벨 3, 문자 레벨에서 문자 간 공간 sep이 더 이상 의미가 없습니다. 이것은 글자의 두 글자를 종이로 분리하는 공간보다 글자의 우주에서 더 이상 의미가 없기 때문에 이것은 매우 정상입니다. 레벨 2에서 문자를 나타내는 코드 워드를 인식해야하지만, 그게 전부입니다.

  • 마찬가지로 레벨 2에서 요소 간 공간 σ은 더 이상 의미가 없습니다. 그것은 세계에서 아무 의미가 없습니다 dotdash있지만 나타내는 바이너리 코드 워드를 식별하기 위해 레벨 1에서에만 필요합니다 dot, dash. 그러나 레벨 1에서는 비트와 구별 할 수 없습니다 0.

따라서 요소 간 공간 σ은 더 이상 특별한 것이 아닙니다. 의 한 번의 사용입니다 0.

Σ2Σ1

dot10dash1110

Σ2sep0000dotdash00sep0dotdash0

Σ2=dotdashsep기음21:Σ2Σ1

  • dot10

  • dash1110

  • sep00

우리는 코드 워드가 다른 코드 워드의 접두사가 아님을 알게되어 기쁩니다. 따라서 우리는 접두사 코드를 가지고 있으며, 이는 명확하고 해독하기 쉽습니다.

기음2:ΣΣ2

dotdashΣdot dot dash dot에프

에프 dot dot dash dot sep

ΣSEP00000000sep0dotdashSEP0000

SEPΣ2sep00SEPsep sep

Σ={에이,,,,0,1,,9,?,=,,×,@, SEP}기음2:ΣΣ2

  • 에이 dot dash se

  • dash dodot dot sep

  • dash dash dot dot sep

  • 7 dash dash dot dot dot sep
  • SEP sep sep

기음2

기음영형아르 자형에스이자형=기음21기음2

우리는 따라서 결론 수 모르스 부호 접두사 진 3 개 문자 알파벳 {부호화의 조성물로서 이해 될 수 있으며, 용이하게 분석 할 수있다 dot, dash, sep(바이너리 알파벳에}, 및 프리픽스는 58 심볼 알파벳의 인코딩 57 개 문자 한 글자는 3 글자로 된 알파벳입니다.

컴포지션 자체는 58 기호를 이진 표현으로 접두사 인코딩합니다.

이 분석에 대한 비고

구조의 표현이 가장 좋은 구조라는 것을 확립하는 것은 항상 어렵습니다. 그러나 위의 분석은이 답변의 시작 부분에 설정된 기준, 즉 현재 코딩 이론, 단순성 및 코드의 주요 속성에 따라 공식적으로 제시 된 3 계층 정의에의 근접성에 부합하는 것으로 보입니다.

오류 수정 속성을 찾는 데는 아무런 소용이 없습니다. Morse 코드는 단일 비트 오류를 ​​감지하지 못할 수도 있습니다. 단일 비트 오류는 단순히 두 개 dot를 하나로 변경하기 때문 dash입니다. 그러나 로컬 오류 만 발생합니다.

압축과 관련하여, 삼원 인코딩은 허프만 코딩 의 대략적인 종류에서 점과 대시의 수를 대략적으로 줄 이도록 설계되었습니다 . 그러나 구성된 두 코드는 쉽게 밀도가 높아질 수 있습니다.

알파벳의 크기와 관련하여 이진 및 58 기호 알파벳을 선택할 수 없습니다. 중간 알파벳에는 더 많은 기호가 포함될 수 있지만 목적은 무엇입니까?

그러나 일부 사람들은 DET2 단계 에서 공백을 인식하여 알파벳을 4 차로 만든 다음 3 단계에서 직접 사용하여 2 단계에서 자체적으로 인코딩합니다.

DET0000기음21기음영형아르 자형에스이자형

실제로, 그러한 선택은 이진 문자열을 0000모호 하게 만들 거나 SEP또는로 결정할 수 있습니다 sep sep. 애매 모호함은 sep스스로 따라갈 수없는 상황 별 규칙으로 해결되어야 하므로 공식화가 더 복잡해집니다.

아날로그에서 논리로의 전환의 중요성

이 분석은 온 / 오프 신호를 동일한 길이의 단위로 분해하면 이진 문자열의 아날로그 표현을 분명히 나타냅니다. 또한 단위 길이는 위의 분석에 적합하며 우연히 발생하지는 않습니다 (가능하더라도).

그러나 원래 특허 1647을 (너무 커서) 살펴보면 (2 페이지의 맨 위에)와 같은 문장으로 정확하지 않은 것 같습니다.

별개의 숫자 또는 단어 또는 숫자의 문장에서 사용될 때 복합 숫자의 부호는 그러한 구별을 구성하는 문자들을 분리하는데 사용 된 거리보다 문자들 사이의 거리 또는 이격 공간으로 구성된다. 또는 복합 번호.

나중에 손으로 보내거나 귀로받는 사람들도 그처럼 정확하지는 않았습니다. 실제로 그들의 주먹 , 즉 그들의 타이밍은 종종 알아볼 수있었습니다. 이 관점은 특히 모스 부호를 배울 때 간격 길이가 항상 존중되지는 않는다는 사실에 의해 뒷받침됩니다 .

이러한 상황은 코드의 아날로그보기에 짧은 신호 (도트), 중간 신호 (대시) 및 짧은, 중간 및 긴 일시 정지에 해당합니다. 논리적 알파벳으로의 직접 전치는 자연스럽게 5 분의 1 알파벳을 제공하며 , 여기에는 58 개의 기호가 코딩되어야합니다. 물론 이것은 더 이상 모스 부호의 3 계층 표현이 아닙니다.

그러나 이해하기 쉽고 모호함을 피하기 위해이 알파벳은 두 신호 기호 ( dot또는 dash)가 서로를 따라갈 수없고 일시 정지 기호가 서로를 따라갈 수 없다는 제약 조건과 함께 사용해야 합니다. 코드와 그 속성의 분석은 더 복잡 해졌고 그것을 단순화하는 자연스러운 방법은 수행 된 작업을 수행하는 것입니다. 적절한 타이밍을 도입하여 두 코드의 구성으로 바꾸면 위에 주어진 매우 간단한 분석이 가능합니다. 코드가 접두사임을 표시하는 것을 포함합니다).

또한 아날로그 표현에서 정확한 타이밍을 따를 필요는 없습니다. 아날로그 변환의 디코더는 어떤 방법 으로든 짧은, 중간 및 긴 일시 중지를 구분할 수 있기 때문에 이진 경우에 수행 된 작업을 모방해야합니다. 따라서 단기 및 중간 신호 (필요에 따라 일시 정지)는 논리 dot또는 로 인식됩니다 dash. dot또는 의 끝을 표시하는 역할 만하기 때문에 짧은 일시 정지는 잊혀 dash집니다. 중간 일시 중지는으로 인식 sep되고 긴 일시 중지는 두 번 sep연속으로 인식됩니다 . 따라서 아날로그 신호는 3 진 알파벳으로 표시되며, 58 개의 알파벳을 인코딩하기 위해 이전과 같이 사용할 수 있습니다. 타이밍을 엄격하게 준수하지 않아도 초기 분석을 사용할 수 있습니다.

대안 적으로, 신호-일시 정지 변경은이 4 원 알파벳을 3 원으로 바꾸는 데 사용될 수 있으며, 3 개의 지속 시간만을 알파벳의 심볼로 유지하고, 상황 분석을 사용하여 주어진 지속 시간이 신호인지 또는 일시 정지인지를 결정할 수있다. 그러나 이것은 다시 분석하기가 약간 복잡합니다.

이것은 단지 사물을 보는 많은 방법이 있다는 것을 보여 주지만, 반드시 편리하지는 않으며, 코드를 분석하기 위해 개발 된 수학적 도구를 사용하여 쉽게 분석 할 수있는 것은 아닙니다.

특허에 대한 추가 참조 는 인터넷에서 찾을 수 있습니다.

결론

표준의 정확한 타이밍을 감안할 때 좋은 대답은 Morse 코드를 3 개의 기호 접두사 인코딩 (58 문자)을 3 개의 기호 알파벳으로 구성 하고이 세 가지 기호의 이진 접두사 인코딩으로 구성된 것으로 간주하는 것 같습니다.

표준의 정확한 타이밍이 없으면 이진 레벨을 더 이상 고려할 수 없습니다. 그러면 아날로그-논리 디코딩은 자연스럽게 dot및 의 중간 알파벳 레벨에서 발생합니다 dash. 그러나 아날로그-논리적 디코더는 이전 3 개 심볼의 알파벳으로 디코딩하여 분석의 적용 가능성을 보존 할 수 있습니다.



1
의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Raphael

질문 : 3 진 인수에서 알파벳 {0,1}으로 시작합니다. 여기서 4 개의 기호 {dot = 10, dash = 1110, sep1 = 00, sep2 = 000000}을 생성합니다. 이로부터 3 진 코드 단어 세트를 생성합니다. sep2 = sep1 sep1 sep1 을 허용함으로써 . 코드 워드 세트는 기호를 암시 적으로 인코딩에 암시 적으로 연결하기 때문에 선택되었으며, OP는 이진 저장에 대해 묻고 있습니다. 그러나 대신 코드 단어 세트 {rest = 0, on = 1}을 사용하고 "dot = on", "dash = on on on", sep0 = "off", sep1 = "off off off"라고 말할 수없는 이유는 무엇입니까? , sep2 = "off off off off off off"(sept0은 신호 간 휴식입니다)?
Jason C

^이 경우 인수는 3 진법으로 설정된 2 진 코드 단어에 대한 것이지만 여기에 제공된 3 진법과 유사하고 똑같은 강력한 인수를 사용합니다. 즉, 행의 여러 구분 기호에 특별한 의미를 부여 하지만 행의 다른 모든 것에 특별한 의미를 부여 하지 않는 선택 은 3 진 인수의 기본이지만 임의적입니다.
Jason C


28

이 답변은 오래 걸리지 않습니다. 이 사이트는 목록 항목 사이에 많은 간격을 둡니다! 업데이트 : 실제로 꽤 오래 걸리고 있습니다 ...

모스 부호는 "공식적으로"이진, 삼진, 사차, 삼차, 또는 심지어 57 진 (정확하게 계산한다면)이 아닙니다. 문맥이없는 것에 대해 논쟁하는 것은 생산적이지 않습니다. 그것은까지입니다 당신 이되어 그 다섯을 정의하는 응용 프로그램과 사용자의 특정 상황에 대한 인코딩 요구 사항에 따라 . 이를 위해 각 심볼 세트 크기에는 장단점이 있으며, 결정하기 전에 상황에 따라 고려해야합니다.

기초에 대해서는 M.1677 , 국제 모스 코드 표준, 2 장, 정의의 타이밍과 같은 :

2 신호의 간격과 길이
2.1 대시는 3 개의 점과 같습니다.
2.2 같은 문자를 형성하는 신호 사이의 간격은 1 도트와 같습니다.
2.3 두 글자 사이의 간격은 3 개의 점과 같습니다.
2.4 두 단어 사이의 간격은 7 개의 점과 같습니다.

타이밍 만 정의합니다. 예를 들어 대시는 3 개의 점과 같은 것을 의미하지 않으며 단순히 같은 길이입니다. 기본 시간 단위는 점입니다.


이진

원한다면 바이너리를 선택할 수 있습니다. 모스 코드를 "엄격 이진"으로 표현할 수 있습니다. 저자의 접근 방식은 숫자를 "점"과 "대시"에 할당하는 것이 었습니다. 그 접근법은 효과가 없으며 저자가 모스 부호를 제대로 파악하고 있다고 생각하지 않습니다. 그러나 다른 접근 방식이 있습니다. 이진을 선택하면 본질적으로 신호가 단일 도트 길이 타임 슬라이스를 차지하는 각 기호로 높거나 낮은지를 나타냅니다. 이 방법은 인용 한 이진 코드 목록 페이지에 설명 된 방법이기도합니다.

청각 적 모스 부호로의 디코딩에 어려움이 증가함에 따라 다른 이진 코딩도 선택 될 수있다 (예 : Bob Jarvis의 답변 ).

기호 :

  • 낮음, 꺼짐 등 (0)
  • 높음, 켜짐 등 (1)

인코딩 예 :

  • 신호 분리기 : 0
  • 문자 분리기 : 000
  • 단어 구분자 : 0000000
  • 세 점 : 10101
  • 세 개의 대시 : 11101110111
  • "아들"이라는 단어 : 101010001110111011100011101
  • 문구 "는": 10100010101000000010111

장점 :

  • 최소 기호 세트 크기
  • 일반적인 디지털 로직으로 쉽게 관리
  • 가청 모스 부호로 쉽게 해독 (유효성이 없다고 가정); 상태 비 저장 디코딩이며 심볼 타이밍에 대한 정보를 저장할 필요가 없습니다 (모든 심볼의 길이는 동일 함).

단점 :

  • 긴 인코딩.
  • 유효하지 않은 인코딩에 대한 많은 기회.
  • 개별 기호 의미 (0, 1)는 상황에 따라 다릅니다.


세 개 한 벌

이 선택을 통해 문자와 단어 간격을 휴식으로 정의하고 신호 간격이 암시 적으로 적용됩니다 (신호에 더 적합한 점 사이에 도트 길이 휴식 기호를 요구하도록 선택할 수 있음).

기호 :

  • 도트 길이 레스트 (0)
  • 도트 (1)
  • 대쉬 (2)

인코딩 예 :

  • 문자 분리기 : 000
  • 단어 구분자 : 0000000
  • 세 점 : 111
  • 세 개의 대시 : 222
  • "아들"이라는 단어 : 11100022200021
  • 문구 "는": 11000111000000012

장점 :

  • 작은 기호 세트 크기.
  • 신호 분리기가 더 이상 필요하지 않습니다.
  • 이진보다 인코딩 길이가 짧습니다.
  • 일부 유효하지 않은 인코딩을 제거합니다 (예 : 바이너리 선택을 더 이상 사용할 수없는 0110).

단점 :

  • 여전히 긴 인코딩.
  • 유효하지 않은 인코딩, 특히 나머지에 대해서는 여전히 많은 가능성이 있습니다.
  • 신호 사이에 명확한 도트 길이를 설정하지 않으면 상태 비 저장 디코딩 할 수 없습니다 .
  • 신호 분리는 암시이다 당신이 신호 사이에 명시 적 도트 길이 달려 배치하도록 선택하지 않는.
  • 일부 개별 기호 의미 (0)는 상황에 따라 다릅니다.


네개 한 조인 것

기호 :

  • 문자 분리기 (0)
  • 단어 구분 기호 (1)
  • 도트 (2)
  • 대시 (3)

인코딩 예 :

  • 세 점 : 222
  • 세 개의 대시 : 333
  • "아들"이라는 단어 : 2220333032
  • 문구 "는": 220222123

장점 :

  • 인코딩 된 길이가 매우 짧습니다.
  • 유효하지 않은 인코딩 가능성이 줄어 듭니다.
  • 기호는 의미 적으로 정확합니다.
  • 아마도 더 인간이 읽을 수 있습니다.

단점 :

  • 큰 기호 세트 크기.
  • 상태 비 저장으로 디코딩 할 수 없습니다.
  • 신호 분리기는 암시 적입니다.


다섯 개의

Wikipedia의 목록에 대한 직접적인 해석. 이진 0 또는 1의 다양한 유효한 조합에 고유 한 기호가 주어진다는 점을 제외하면 이진 선택과 매우 유사합니다.

기호 :

  • 신호 분리기 (0)
  • 문자 분리기 (1)
  • 단어 구분 기호 (2)
  • 도트 (3)
  • 대쉬 (4)

인코딩 예 :

  • 세 점 : 30303
  • 세 개의 대시 : 40404
  • "아들"이라는 단어 : 303031404041403
  • 문구 "는": 3031303032304

프로 (제 4 기 비교) :

  • 비 상태로 디코딩 할 수 있습니다.
  • 표준의 섹션 2에서 언급 한 다섯 가지 개체를 명확하고 직접적이고 간결하게 나타내는 유일한 심볼 세트 크기 두 글자 ","두 단어 사이의 공백 ".

단점 (4 차에 비해) :

  • 유효하지 않은 인코딩 가능성이 높습니다.
  • 추가 정보를 추가하지 않고 인코딩 길이 증가
  • 하지 각 심볼은 시간에 다른 길이이며,이 협회는 어딘가를 유지해야한다는 점에서 이진 선택으로 디코딩하기 쉽습니다.


57 일 :

완전성을 위해 포함되었습니다.

기호 :

  • 26 글자
  • 10 자리
  • 문장 부호 및 기타 부호 20 개
  • 단어 구분 기호 (공백)

인코딩 예 :

  • "아들"이라는 단어 : son
  • "는"입니다 is a

장점 :

  • 최단 인코딩
  • 인간이 읽을 수있는
  • 잘못된 인코딩은 불가능합니다.

단점 :

  • 가장 큰 심볼 세트
  • 모스 부호로 해독하기 어려움; 각 기호에 대한 모스 부호 출력 순서 표를 유지하고 다양한 경계를 삽입 할 위치를 결정하기 위해 단어 경계와 인접 문자를 감지해야합니다.
  • 새로운 기호를 추가하지 않고 Morse Code 사양을 넘어서 확장 할 수 없습니다 (유효하지 않은 인코딩에 영향을받지 않는 거래).
  • 신호 및 문자 구분 기호는 암시 적입니다.

종료

장치에서 심볼 스트림으로 저장 하려면이를 수행해야하는 경우 M.1677이 메시지 및 전송 종료 시퀀스를 정의한다는 점에 유의해야합니다. 2 부에서 :

5 모든 텔레 그램은 십자 신호 (. –. –.)로 종료되어야한다.
6 전송의 끝은 십자 신호 (. –. –.)와 신호 K (-. –) 를 전송하라는 초대로 표시되어야한다 .
7 작업 종료는 마지막 전보를 전송 한 방송국이 표시해야한다. 올바른 표시는 작업 종료 신호 (.. –. –)입니다.

불행히도, 표준은 문자열 "+ K"를 시퀀스 ( end-of-telegram , invitation-to-transmit ) 와 구별하는 능력에 대해서는 침묵하고 있습니다. 그러나 작업 종료 는 고유합니다. 모스 코드를 저장하는 경우 저장된 시퀀스의 끝을 나타내는 방법을 선택해야합니다.

예를 들어 전체 대화를 저장하고 이진 심볼 세트를 사용하는 경우 작업 종료를 고유 비트 시퀀스 101010111010111로 표시되는 시퀀스 종료 표시기로 간주 할 수 있습니다. 유형을 고려해야합니다. 결정하기 전에 저장 매체에서 제공하는 기능 (예 : 메시지 길이, 접두사 기능) 및 저장중인 데이터 (예 : 메시지 조각, 전체 메시지, 전체 대화). 나는 당신이 자신의 시퀀스 끝 표시기를 정의 할 수 있다고 가정합니다. 어쨌든 이것들은 모두 기본 스토리지의 문제이며 여기에 나열 할 가능성이 너무 많습니다. 선택은 실제로 상황에 맞는 것을 기반으로 당신에게 달려 있습니다.


상태 비 저장으로 디코딩 할 수 없음 : 이 인코딩은 모스 코드로 디코딩하기 위해 일부 상태를 유지해야합니다. 모두 "앞의 기호가 점 / 대시이고 현재 기호가 점 / 대시이면 신호 분리기를 삽입하십시오"가 필요합니다. 단어 구분 기호를 5 쉼표로 줄이고 문자 구분 기호를 1로 줄이면서 모든 기호에 신호 구분 기호를 "치트"하고 자동으로 추가 할 수는 있지만 M.1677 afaict는 연속 단어 구분 기호를 명시 적으로 금지하지 않으므로이 kludge가 손상됩니다.

신호 분리기는 암시 적이다 : 이것은 바로 위의 음표에 관한하지만 더 의미 지향한다. 이 인코딩에는 표기법에 암시 적 신호 구분 기호가 있습니다. 즉, "zzz"는 직관적으로 3 개의 분리 된 z이고, 경계는 인코딩 자체에서 기호를 분리하는 것이 무엇이든지 "피기 백"됩니다. "행에 세 개의 점"이라는 설명을 고려하십시오. 직관적으로 우리는 이것을 세 가지 분리 로 의미 합니다점이 있지만 구분 기호를 암시하지 않으면 대시와 구분할 수 없습니다. 위키 백과 스타일의 이진 및 5 진 (또는 명시 적 신호 분리기 옵션이있는 3 진) 표현 만 여기에서 모든 모호성과 "바로 가기"를 제거하므로 상황에 따라 큰 가치가있을 수 있습니다. 이러한 이유로 수의 선택에 대한 강력한 논증이 있습니다.


TL; DR :

보시다시피, 각각에 장단점이 있으며, 요구 사항에 따라 치료 방법을 결정하는 것은 귀하의 몫 입니다. 정답은 없습니다. 일반적으로 하나가 다른 것보다 더 적합하다고 주장 할 수는 있지만, 이러한 주장은 문맥이 없으면 정답이 없기 때문에 페르 소닉 적 선호로 귀결됩니다.

지금, 내 자신의 의견으로는, 5 분의 1의 선택은 모스 부호 자체에 대해 나에게 가장 "옳은"느낌을주는 표현이다 (원래 나는 4 차를 선호했다). 다음을 모두 제공하는 유일한 선택입니다.

  • 문맥이없는 기호 (자체 기호에는 인접한 기호를 검사하지 않고 그 의미에 대한 모든 정보가 포함됨)
  • M.1667에 정의 된 모든 프리미티브 표현.
  • 구분 (신호, 문자, 단어) (내가 쓴 경우이 중요 표기 또는 기본 인코딩을 암시하지 않는 { dot, dot, dash }, 그 ,의 상당한 쉽게 간과에 있습니다).

그러나 모두에게 강력한 주장이 있습니다. 인코딩과 관련된 주장은 모스 자체의 치료에도 적용됩니다. 100 % 구체적인 답변은 없지만 바에서 친구들과 토론하기에 좋은 주제를 만들 수 있습니다.

. . . –. –



1
의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Raphael

인수에서 상태 비 저장 디코딩을 계속 참조합니다. 코딩 이론에서 상태는 오류 수정 코드 계열 인 컨볼 루션 코드에서는 거의 사용되지 않는 것 같습니다. 모스 부호는 오류를 수정하는 것이므로 이것은 주제를 완전히 벗어난 것입니다. 실제로, 1 비트 오류도 감지 할 수 없으며 오류는 수정할 수 없습니다. 다양한 종류의 임의 코드를 모스 코드의 버전으로 생각하지만 이해하지 못합니다. 왜 제시해야합니까? 상태를 요구하지 않는, 즉 동형 인코딩은 최소 요구 사항 인 것 같습니다. 그리고 당신은 흥미로운 인코딩을 그리워합니다. cc @KorayTugay
babou

@babou Statless 디코딩 인수?
Koray Tugay

@babou 몇 가지 주제를 벗어난 것이 마음에 들지 않습니다. 물론 심볼 세트는 임의적입니다. 그것이 바로이 답변으로 제가 만드는 요점입니다. 이진 접두사 코드 인수 위에 설정된 삼항 단어는 똑같이 임의적입니다. 언뜻보기에는 기본적으로 두 글자 알파벳 (0과 1)으로 설정된 코드 단어를 기반으로 인수를 임의로 선택했습니다. "sep sep sep"에 특별한 의미를 부여하지만 "unit 1"에하지 않는 선택은 임의적이므로 임의의 선택입니다. "대시"는 "도트 도트"라고 쉽게 말할 수 있으며 삼항 이상의 이진을 주장합니다.
Jason C

5

이것에 대한 나의 초기 생각에도 불구하고,이 질문은 상당히 정확한 대답을 인정하는 방식으로 공식화 될 수 있습니다 (모듈로 정의 문제). 답은 3 또는 4, 즉 3 차 또는 4 차로 나타납니다. "2에서 57까지의 모든 것"에 대한 관중의 만족은 누군가가 당신에게 아벨 리아 그룹의 특성화를 요구할 때, 그들이 세트라고 말한다는 점에서만 정확합니다.

모스 코드의 물리적 인코딩을 살펴 보자. 그것은 실제로 B ASK입니다 . 즉, 이진 진폭 시프트 키잉은 메시지를 인코딩하기 위해 두 가지 물리적 (전기 / 광학 등) 진폭 레벨을 말하는 정교한 방법입니다. 따라서 즉각적인 질문은 다음과 같습니다. 이것이 모스 코드가 이진이라는 답이 아닙니다. 글쎄, 그것은 와이어를 통해 전송 된 이진 켜기 / 끄기 신호가 선이나 점에 직접 대응하지 않는다는 점 에서 오히려 정보가 아닌 방식으로 만 이진입니다 . 이 모호한 통신 수준에서 ASCII 코드 (직접적인 명백한 비트 인코딩과 함께)를 전송하여 "Morse"및 / 또는 "binary"라고 할 수도 있습니다. ASCII 대신 Huffman 코드에도 동일하게 적용됩니다.

기음:{0,1}즉, 우리의 코드 워드는 비트 열이어야합니다. 이것은 수반됩니다기음의 값은 코드 워드의 문자열이므로 비트 열의 문자열이지만 궁극적으로는 비트 열로 선형화됩니다.

모스 부호의 충실한 특성이 되려면 이 코드 워드와 종이에 모스 부호를 나타내는 점과 선 사이에 궤적이 있어야한다는 점에서 선과 점의 직접적인 등가물을 포함합니다. 또한 [거의] 독특하게 해독 가능한 코드 여야합니다. 즉, 요소 / 코드 워드 측면에서 [이상적으로] 고유해야합니다. (예를 들어 Berstel 과 같은 일부 저자 는 전화를 걸지 않습니다.코드는 고유하게 해독 할 수없는 경우를 제외하고 Steve Roman 과 같은 다른 용어는 매핑이 코드 인 경우 다른 용어를 사용하지만 고유하게 해독 할 수있는 코드는 UD 코드로 표시됩니다. 여기에서 나는 후자의 용어 일 것이다. 왜 내가 "이상적으로"라고 말했는지 나중에 볼 수 있습니다.)

이후 기음 주사가 아니라 주사 일 필요가 있습니다. 이 정크에 의해 생성 된 문자열이 수정 가능한 것이 아니라면 UD 코드를 얻는 데 필요한 것 이상의 임의의 "정크"를 갖습니다. 예를 들어 정확히 42 도트의 문자열은 내가 본 Morse 코드의 변형과 일치하지 않습니다. 따라서 모스 부호 이진, 삼진, 사차, 삼차 등을 요청할 때, 질문은 최소한의 카디널리티 를 요구해야합니다 위의 두 가지 속성, 즉 : 그것은 거의 UD 코드이며 우리는 종이 기반의 "선"과 "점"사이에 .

건설을 진행하는 두 가지 방법이 있습니다 UD 코드를 얻기 위해 종이로 된 모스 문자의 선-점 표현 사이에 구분 기호가 필요하다는 것을 관찰 한 하향식 또는 ITU 국제 모스 코드에서 시간이 주어진 이후 상향식 -선, 점 및 다양한 일시 중지 길이. 몇 가지 방법이 있기 때문에 후자의 방법을 사용하겠습니다. 그렇지 않으면, 즉 상당히 임의의 시간 길이를 선택할 수 있습니다. 예를 들어, 미국의 모스 부호가 ITU 버전보다 짧은 라인을 사용했습니다.

단위 길이 "on"신호 (1) 및 "off"신호 (0)에서 생성 된 5 개의 기본 코드 워드가있는 ITU 신호 길이 파생 표현으로 시작해 봅시다. just-dot(1), just-line(111), unit-space(0) , letter-space(000) 및 word-space[International Morse에서 7 개의 0을 가정했지만 실제로는 다를 수 있음]. 즉시 및 뒤에 바로 1unit-space나타날 수 있습니다 . 이just-dotjust-line0- just-dotjust-line(쉼표 코드입니다. 나중에 자세히 설명)의 종료는 실제로 필요합니다. 그렇지 않으면 점과 구분되는 선조차 구분할 수 없습니다. 이를 통해 다음과 같은 네 가지 코드 워드를 현저하게 줄일 수 있습니다.

  • dit= just-dot unit-space= 10 및
  • dah= just-line unit-space= 1110.

즉 사차 모스 부호 그래서 : dit, dah, letter-space, word-space. 다음 관측 값은 word-space대략 2 letter-space초, 즉 6 개의 0으로 추정 될 수 있다는 것 입니다. 이것이 어떻게 3 진 코드 워드 세트를 얻는가입니다. 이 추론에 대한 참조로 예를 들어 [1] [2]를 참조하십시오 .

삼항 코드 워드를 선호하는 기술적 이유도 있습니다. ={10,1110,000}고유하게 해독 가능한 코드이며 실제로 접두사 코드입니다. 하나{10,1110,000,07} (또는 단지 6 개의 0을 가진 버전)은 더 이상 고유하게 해독 할 수 없습니다. 010=007=070고유하지 않은 인수 분해가 있습니다. 이것은 이론적으로 문제이지만, 인간 "메트로놈"은 어쨌든 매우 긴 침묵을 측정하는 데 어려움이 있기 때문에 기본적으로 특정 길이보다 긴 침묵은 (인간에 의해) 일종의 것으로 가정됩니다 word-space.

또한 붙어 있으면 0 그 세트에서도 (즉, "Quaryary"뷰를 취함), " 000더 이상 고유 인수 분해를 갖지 않습니다 (자체 코드 단어이기도 함) 더욱이,0 모스 기호의 사전 이미지에 없으므로 추가 할 수있는 것처럼 1420; 실제로 후자를 추가하는 것은 추가하는 것보다 덜 성가신0 코드가 UD 속성을 잃지 않게합니다.

감소 / 추상화 dit, dah, letter-space세 가지 추상적 인 기호 (trits)에 바이너리 코드 워드로는 (원) 모스 부호는 UD 것을 신속하게 표시하는 데 유용하다 이는 letter-space쉼표로 작동 하기 때문에 즉각 확실합니다 . 즉, 3 진 모스 코드는 쉼표 코드입니다. (참고 다른 저자는 쉼표를 제외한 모든 기호는 동일 하나 더 제한적인 의미에서 '쉼표 코드 "의 정의가, 나는 더 넓은 의미로 그것을 사용하고 DH 스미스의"포스트 모던 대수학 "에 주어진 , 이는 단지 코드 워드에 고유 한 종료 기호를 사용하는 것을 의미합니다.) 또한 쉼표 코드 기술은 Morse 코드의 두 가지 수준에서 사용됩니다. just-line와는 just-dot은 "짧은 쉼표"가 종료됩니다 unit-space=0서로 구별되도록 이 구성을 두 개의 서로 다른 ( ditdah) trit으로 추상화하면 모든 모스 부호 문자는 쉼표로 끝납니다.000 세 번째 트 라이트.

또한 가정 trit 접근 계산 엔트로피 사용할 수 dahditletter-spacetrits 같은 "당량"이다 [3] - 동안 그 예- 'E'2 trits 소요 'Y'가 5 trits 걸리는 점에서. 추상 트리트 방식은 각 심볼이 실제 BASK Morse 인코딩으로 한 줄에 실제로 전송되는 데 비용이 많이 드는 경우에 유용하지 않습니다. 후자의 경우, 3 개 (또는 4 개) 심볼의 실제 비트 길이로 내려 가야합니다.이 심볼은 오토 마톤에서 전환으로 간주됩니다. 예를 들어, 문자 'e'는 인코딩하는 데 5 비트가 걸리고 (as dit letter-space) 'y'는 17 비트 (3 dah초, 1 dit, a letter-space) 가 걸립니다 . 이 사고 방식은 Shannon에게돌아 갑니다 (3-4 페이지 참조). 자세한 내용은 찾을 수 있습니다Blahut의 "정보 이론 및 코딩"에서 , 예를 들어 그는 영어로 된 문자 발생의 (무조건적인) 확률을 사용하여 모스 부호에 대한 "소스 출력 문자 당 신호 시간의 평균 9.296 단위"를 계산합니다. (동물 학자에 의한) 약간 다른 설명을 위해 당신은 JP Hailman 's를 볼 수 있습니다 ; 그는 영어 글자에 대해 약간 다른 확률을 가정하기 때문에 다른 평균 (10.2)을 얻지 만, 그렇지 않으면 그의 분석은 개념적으로 동일합니다.

이것을 요약하면 : 모스 부호에 대한 여러 견해를 취할 수 있지만, 일부는 모스 부호에 대해 흥미로운 것을 말하는 데 더 유익합니다. 나는이 모델의 "다섯의"보기와 위해를 사용하는 모든 분석을 잘 모르는 것 같아요 되지 는 발생에 대한 실제 모스에 보유하지 않는 단위 공간을 몇 가지 가정을해야 할 것 4 개 개의 심볼에 환원 할 수 예를 들어, 2 개의 인접 공간을 가질 수 있지만 반드시 3 개의 인접 공간을 가질 수는 없습니다. 삼항보기는 고유 한 해독 가능성에 대한 빠른 분석을 제공합니다. 가장 깊고 유익한 견해는 실제 모스 부호 (| dit| = 2, | dah| = 4, | letter-space| = 3 및 |word-space| = 6 또는 7); 이 저수준에서는 삼항 / 사차 기호를 오토 마톤의 전환으로 간주하는 것이 여전히 통찰력이 있습니다.

위키피디아가 왜 이런 문제에 빠지는 지에 관해서는 .. http://en.wikipedia.org/wiki/Coding_theory 에 대한 주요 기사 는 실제로 내가 읽는 것이 좋습니다. 나는 당신이 언급 한 (Petzold) 책에 대해 정보 이론 전문가가 쓴 것 외에는 말할 수 없습니다. Petzold는 Morse로 코드화 된 메시지가 하나의 문자로만 구성된 경우 이진 코드로되어 있다고 합리적으로 말할 수 있다는 의미에서만 정확합니다. 그래도 단어를 보내려면 문자 구분 기호가 필요합니다. 그렇지 않으면 코드가 UD가 아닌 끔찍한 점이 있습니다.


여기에서 전체 게시물을 수정하는 것이 약간 늦었지만 @babou는 Shannon, Blahut 및 다른 사람들이 다음과 같이 (현재 시간 이후 변경되지 않았다고 가정) ITU 표준을 잘못 해석했음을 분명히 지적합니다. 기술성 : 단위 공간은 동일한 문자의 dits와 dah 사이에 추가 되지만 letter-space문자 사이 에만 추가됩니다. 이 표준에 대한 독서는 상당히 최근의 실무자 책을 기반으로 한 것으로 보입니다 . 따라서 우리는 letter-space각각에 0을 빌려 ditdah문자의 터미널 위치에있을 때 0을 빌려야 합니다 letter-space.={10,1110,00}. 즉, 예를 들어 'e'의 크기는 5가 아닌 4 비트에 불과합니다.


더 이상의 대화를 chat.stackexchange.com/rooms/21638/…으로 이동하십시오.
방황 논리

의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Raphael

-1

원래 모스 부호는 한 장의 종이에 표시하기위한 것이었지만 전신 운영자는 곧 장비 클릭을 "판독"할 수있게되었습니다. 이 버전의 모스 (미국식 또는 "토지"모스)에는 점, 대시 및 긴 대시의 세 가지 "표시"요소가 있습니다.

지난 세기 동안 무선 전송을 통해 국제 모스 (International Morse)를 사용하는 것은 일반적으로 수화기로 (망원 키로) 인코딩되고 수신기에서 생성 된 신호음 패턴을 들음으로써 귀로 디코딩되었습니다. 숙련 된 작업자는 숙련되지 않은 작업자보다 더 잘받을 수 있으며 일부 사람들은 다른 사람들보다 이해하기 쉬운 코드를 생성 할 수 있습니다. 좋은 전송 오퍼레이터는 "좋은 주먹"을 가지고 있다고합니다. 부적절한 운영자를 LID라고합니다. ( "lid"의 기원에 대해-나는 DD, daaahh, dit dit, dah dit dit, dah dit dit 대신 LID를 보내는 미국 모스의 일반적인 오류에서 비롯된 것으로 생각합니다. https://english.stackexchange.com/questions/31818/how-did-the-word-lid-come-to-mean-poor-operator-in-the-context-of-telegraph )

따라서 Morse의 이진 형식으로의 "인코딩"은 목적에 따라 달라 지므로 "좋은 주먹"과 "나쁜 주먹"의 품질이 유지되어야하는지 여부가 결정됩니다. 신호의 각 부분의 위상 또는 지속 시간의 어려움으로 인해 일련의 온 / 오프 스위칭이 클록과 일치하고 "수정"됩니까? 아니면 차후의 검사 나 즐거움을 위해 무작위 또는 혼란스러운 변형을 유지하기에 충분한 속도로 샘플링해야합니까?


1
죄송합니다. 질문에 어떻게 대답합니까?
Koray Tugay
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.