하다마드 코드
Hadamard code![]() | 이 기사의 리드 섹션은 기사의 길이에 비해 너무 길 수도 있다. (2020년 5월) |
하다마드 코드 | |
---|---|
이름을 따서 명명됨 | 자크 하다마르 |
분류 | |
유형 | 선형 블록 코드 |
블록 길이 | |
메시지 길이 | |
등급 | |
거리 | |
알파벳 크기 | |
표기법 | - }} -code |
증강 하드마드 코드 | |
---|---|
이름을 따서 명명됨 | 자크 하다마르 |
분류 | |
유형 | 선형 블록 코드 |
블록 길이 | |
메시지 길이 | |
등급 | |
거리 | |
알파벳 크기 | |
표기법 | + , k- 2 }} -code |
하다마드 코드는 자크 하다마드의 이름을 딴 오류 수정 코드로, 매우 시끄럽거나 신뢰할 수 없는 채널을 통해 메시지를 전송할 때 오류 감지 및 수정에 사용된다. 1971년, 이 코드는 NASA의 우주 탐사선 마리너 9호로부터 화성의 사진을 지구로 다시 전송하기 위해 사용되었다.[1] 하다마드 코드는 독특한 수학적 특성 때문에 엔지니어들이 사용할 뿐만 아니라 코딩 이론, 수학, 이론 컴퓨터 과학에서도 치열하게 연구되고 있다. 하다마드 코드는 미국의 수학자 조셉 레너드 월시를 인정받아 월시 코드, 월시 계열,[2] 월시-하다마드 코드라는[3] 이름으로도 알려져 있다.
하다마드 코드는 이진 알파벳에 걸쳐 길이 의 선형 코드의 예다. 불행히도 이 용어는 일부 참조에서 길이 k= 을 가정하는 반면 다른 참조에서는 길이를 k= + 이라고 하기 때문에 다소 모호하다 이 글에서 첫 번째 경우는 하다마드 코드라고 하고, 두 번째 경우는 증강 하다마드 코드라고 한다.
하다마드 코드는 0이 아닌 각 코드 워드의 해밍 중량이 정확히 - 1 라는 점에서 독특하며 이는 코드의 거리 또한 - 임을 의미한다 블록 코드의 표준 코딩 이론 표기법에서, 하다마드 코드는[ , 2 - 1이다.}} -코드, 즉 이진 알파벳에 대한 선형 코드로서 블록 길이 2 메시지 길이(또는 치수) 최소 거리 / 2 2k 블록 길이는 메시지 길이에 비해 매우 크지만, 다른 한편으로는 극도로 시끄러운 상황에서도 오류를 수정할 수 있다.
증강된 하다마드 코드는 Hadamard 코드의 약간 개선된 버전으로 [ + ,2 - ,22 -code로서 인 거리를 1로 유지하면서 약간 더 높은 비율을 가지고 있어 실용적으로 선호되고 있다 의사소통 이론에서 이것은 간단히 하다마드 코드라고 불리며 이진 알파벳에 대한 리드-뮬러 코드의 첫 번째 순서와 같다.[4]
보통 하다마드 코드는 실베스터가 하다마드 매트릭스를 구축한 것을 기본으로 하지만, 반드시 실베스터 타입이 아닌 임의의 하다마드 매트릭스로 구축한 코드를 가리키는 데에도 "하다마드 코드'라는 용어가 사용된다. 일반적으로 그러한 코드는 선형적이지 않다. 그러한 암호는 1959년 라즈 찬드라 보세와 샤라드찬드라 샨카르 슈리칸데에 의해 처음 만들어졌다.[5] n이 Hadamard 행렬의 크기인 경우, 코드에는 파라미터 /2 ) 2}}개가 있는데 이는 2n 코드 워드의 블록 길이 n과 최소 거리 n/2를 갖는 불필요한 선형의 이진 코드라는 뜻이다. 아래에 기술된 구성 및 디코딩 방식은 일반 n에 적용되지만, 선형성의 특성과 리드-멀러 코드로 식별하는 것은 n이 2의 검정력이어야 하며, 하다마드 매트릭스는 실베스터의 방법에 의해 구성된 매트릭스와 동일해야 한다.
하다마드 코드는 로컬로 해독 가능한 코드로, 수신된 단어의 극히 일부분만 보면서도 원본 메시지의 일부를 높은 확률로 복구할 수 있는 방법을 제공한다. 이것은 계산 복잡성 이론과 특히 확률적으로 확인할 수 있는 증명 설계에 응용을 야기한다. 하다마드 코드의 상대적 거리가 1/2이기 때문에, 보통은 1/4 정도의 오차로부터 회복되기를 바랄 뿐이다. 그러나 목록 디코딩을 사용하면 수신된 워드의 비트 중 -bits {\2}}-\보다 적은 수의 가능한 후보 메시지의 짧은 목록을 계산할 수 있다.
코드분할다중접속(CDMA) 통신에서 하다마드 코드는 월시 코드(Walsh Code)라고 하며, 개별 통신 채널을 정의하는 데 사용된다. CDMA 문서에서는 코드 단어를 "코드"라고 부르는 것이 보통이다. 각 사용자는 다른 코드 워드 또는 "코드"를 사용하여 신호를 수정한다. 월시 코드 워드는 수학적으로 직교하기 때문에, 월시 인코딩 신호는 CDMA 지원 이동 단말기에 무작위 노이즈로 나타난다. 단자는 수신 신호를 인코딩하는 데 사용되는 것과 동일한 코드 워드를 사용하지 않는 한 말이다.[6]
역사
Hadamard code는 문헌에서 이 코드에 가장 일반적으로 사용되는 이름이다. 그러나 현대용에서는 이러한 오류 수정 코드를 월시-하다마드 코드라고 한다.
여기에는 다음과 같은 이유가 있다.
자크 하다마드는 직접 코드를 발명한 것은 아니지만, 1940년대에 최초의 오류 수정 코드인 해밍 코드가 개발되기 훨씬 전인 1893년경에 하다마드 행렬을 정의했다.
하다마드 코드는 하다마드 매트릭스에 기초하고 있으며, 여기서 사용할 수 있는 다양한 하다마드 매트릭스가 많지만, 일반적으로는 실베스터의 하다마드 매트릭스 구축만이 하다마드 코드의 암호어를 얻기 위해 사용된다.
James Joseph Sylvester는 1867년에 Hadamard 행렬의 건설을 개발했는데, 이것은 실제로 Hadamard 행렬에 대한 Hadamard의 작업을 능가한다. 따라서 하다마드 코드라는 명칭은 논란이 되고 있으며 때로는 미국의 수학자 조셉 레너드 월시를 기리며 월시 코드라고 불리기도 한다.
1971년 Mariner 9 임무 동안 사진 전송 오류를 수정하기 위해 증강된 Hadamard 코드가 사용되었다. 이 임무 동안 사용된 데이터 단어는 64개의 그레이스케일 값을 나타내는 6비트 길이였습니다.
당시 송신기 정렬 품질의 한계 때문에(도플러 추적 루프 문제로 인해) 최대 유용 데이터 길이는 약 30비트였다. 반복 코드를 사용하는 대신, [32, 6, 16] Hadamard 코드가 사용되었다.
단어당 최대 7비트 오류는 이 방법을 사용하여 수정할 수 있다. 5반복 코드에 비해 이 하다마드 코드의 속성을 교정하는 오류는 훨씬 낫지만 그 속도는 비교가 안 된다. 효율적인 디코딩 알고리즘은 이 코드를 사용하기로 결정하는데 중요한 요소였다.
사용된 회로는 "그린 머신"이라고 불렸다. 디코딩 속도를 3배 높일 수 있는 빠른 푸리에 변환을 채용했다. 1990년대 이후 우주 프로그램에 의한 이 코드의 사용은 거의 중단되었고, NASA 딥 스페이스 네트워크는 26m 이상의 접시에 대해 이 오류 수정 계획을 지원하지 않는다.
시공
모든 Hadamard 코드는 Hadamard 매트릭스에 기반을 두고 있지만, 그 구조는 다른 과학 분야, 작가, 그리고 용도에 따라 미묘한 방식으로 다르다. 데이터 전송에 코드를 사용하는 엔지니어들과 코드의 극단적 특성을 분석하는 코딩 이론가들은 일반적으로 코드의 속도가 수학적으로 약간 덜 우아해지는 것을 의미하더라도 가능한 한 높기를 원한다.
반면에 이론 컴퓨터 과학에서 Hadamard 코드의 많은 적용의 경우 최적 속도를 달성하는 것이 그리 중요하지 않으며, 따라서 보다 우아하게 분석할 수 있기 때문에 Hadamard 코드의 단순한 구성이 선호된다.
내부 제품을 이용한 시공
길이 의 이진 메시지 \}이() 주어졌을 때, Hadamard 코드는 메시지를 코드 워드 ( x) 로 인코딩한다인코딩 함수를 사용하여 { →{ . 함수는 다음과 같이 정의된 내부 제품 x, x y} {,1, x를 사용한다
그런 다음 의 Hadamard 인코딩을 이(가) 있는 모든 내부 제품의 시퀀스로 정의한다
위에서 언급한 바와 같이, 증강된 하다마드 코드는 그 자체가 다소 낭비적이기 때문에 실제로 사용되고 있다. , y 의 첫 번째 비트가 0이고 = 이면 내부 제품에는 1 에 대한 정보가 전혀 포함되어 있지 않기 때문에 코드 워드의 위치에서만 x x를 완전히 디코딩할 수 없기 때문이다. 한편, 코드 가 y = 1 의 위치로 제한되었을 때 x x을(를) 완전히 디코딩할 수 있다 따라서 이러한 위치로 Hadamard 코드를 제한하는 것이 타당하며, 이는 의 증강된 Hadamard 인코딩을 발생시킨다.
제너레이터 매트릭스를 이용한 시공
Hadamard 코드는 선형 코드로서 모든 선형 코드는 제너레이터 매트릭스 에 의해 생성될 수 있다 ( )= G holds for all , where the message is viewed as a row vector and the vector-matrix product is understood in the vector space over the finite field . In particular, an equivalent way to write t 코드에 대한 내부 제품 정의는 k}인 모든 문자열 y displaystyle 로 구성된 열을 사용하는 제너레이터 매트릭스를 사용하여 발생한다.
여기서 , 는 사전순으로 i i -th 이진 벡터다. 예를 들어 치수 = 의 Hadamard 코드에 대한 제너레이터 매트릭스는 다음과 같다.
행렬 은는) a ( ) 2 -매트릭스이며 선형 연산자 : %, k→ k {\textk
증강된 Hadamard 코드의 제너레이터 매트릭스는 매트릭스 를 첫 번째 항목이 하나인 열로 제한하여 얻는다. 예를 들어 치수 = 의 증강 Hadamard 코드에 대한 제너레이터 매트릭스는 다음과 같다.
그런 다음 :{ →{ - to1\}^{2는 pHad( ) = x′ {\{\로 선형 매핑된 것이다. G
일반 의 경우 증강 Hadamard 코드의 제너레이터 매트릭스는 길이 - 2 및 치수 - 의 확장 해밍 코드에 대한 패리티 검사 매트릭스다 따라서 Hadamard 코드를 정의하는 다른 방법은 패리티 체크 매트릭스 측면에서 볼 수 있다. 즉, Hadamard 코드의 패리티 체크 매트릭스는 해밍 코드의 제너레이터 매트릭스와 동일하다.
일반 Hadamard 매트릭스를 이용한 시공
Hadamard 코드는 n-by-n Hadamard 매트릭스 H에서 얻는다. 특히 코드의 2n 코드 워드는 H 행과 -H 행이다. {0,1} 알파벳을 통해 코드를 얻으려면 매핑 -1 ↦ 1, 1 ↦ 0 또는 동등하게 x ↦(1 - x)/2가 매트릭스 요소에 적용된다. 코드의 최소 거리가 n/2인 것은 Hadamard 행렬의 정의 속성(즉, 행이 상호 직교라는 것)에서 비롯된다. 이것은 Hadamard 행렬의 두 개의 뚜렷한 행이 정확히 n/2 위치에서 다르다는 것을 의미하며, 행의 부정이 직교성에 영향을 미치지 않기 때문에 행이 일치하는 경우를 제외하고 n/2 위치에서도 H의 행이 -H의 어떤 행과 다르다는 것을 의미한다.
= - 와 함께 위의 증강된 Hadamard 코드를 얻으려면 선택한 Hadamard 매트릭스 H가 Sylvester 유형이어야 하며, 이는 ()= 의 메시지 길이를 발생시킨다
거리
코드의 거리는 두 개의 구별되는 코드 단어 사이의 최소 해밍 거리, 즉 두 개의 구별되는 코드 단어가 다른 위치의 최소 수입니다. 월시-하다마드 코드는 선형 코드이므로 거리는 모든 비 0 코드 단어 중 최소 해밍 중량과 동일하다. 월시-하다마드 코드의 모든 비제로 코드 워드는 다음 인수에 의해 정확히 - 2의 해밍 중량을 가진다.
k \{을(를) 0이 아닌 메시지로 두십시오. 그러면 다음 값은 코드 워드에서 1과 동일한 위치의 비율과 정확히 동일하다.
후자의 값이 정확히 / 1/이라는 사실을 난수 서브섬 원리라고 한다. 사실인지 확인하려면 일반성의 손실 없이 = 1 을(를) 가정하십시오 Then, when conditioned on the values of , the event is equivalent to for some depending on and , = b 이 발생할 확률은 / 2 {\이므로 실제로 Hadamard 코드의 0이 아닌 모든 코드 워드는 상대 해밍 1/ 2 /을 가지고 있으며 따라서 상대적 는 1{\ 1/이다
증강된 하다마드 코드의 상대적 도 / 2 이지만 , 1 가 아우스트맨의 코드 워드이기 때문에 더 이상 0이 아닌 모든 코드 워드의 중량이 1/ 1/인 속성은 없다.테드 하다마드 코드. 벡터 = - 인코딩은 - )= - 1 이기 때문이다. x 가 0이 아니고 벡터 - 1 이 아닐 때마다 임의의 서브섬 원리가 다시 적용되며 () {\}의 상대중량이 된다은 (는) 정확히 / 2 1 입니다
국소 해독성
국지적으로 해독 가능한 코드는 수신된 단어의 작은 부분만 보고 원본 메시지를 높은 확률로 복구할 수 있는 코드다.
된 워드의 q {\displaystyle 비트를 확인하여 메시지 인 i 를 복구할 수 있는 경우 코드는 displaystyle -query 로컬로 해독할 수 있다 More formally, a code, , is -locally decodable, if there exists a probabilistic decoder, 와 같은 (참고: , ) 는 벡터 와 사이의 해밍 거리를 나타낸다
, implies that
Theorem 1: The Walsh–Hadamard code is -locally decodable for all .
Lemma 1: 모든 코드 워드의 , C + = + = c + j }에 c displaystystyle 서 c , c 는 각각 i 와 에서 c에 있는 비트를 나타낸다
보조정리증서1
C( )= = ( ,…, - 1) 는 x}에 해당하는 C 의 코드 워드가 된다
Let be the generator matrix of .
정의상 = g 이로부터 + = x + = ⋅ ( g + g ) = x ( + . 대체에 의해 i+ c = x + j= c + = c + j .
정리증서1길
정리 1을 증명하기 위해 우리는 해독 알고리즘을 구성하고 그것의 정확성을 증명할 것이다.
알고리즘.
입력: 수신 단어 =( …, y - 1)
,…, n :
- ,…- 을(를) 무작위로 균일하게 선택한다.
- Pick such that , where is the -th standard basis vector and is the bitwise xor of and 스타일 .
- + y_
출력: 메시지 =( ,…, x )
정확성 증명
모든 메시지의 경우, 및 y {\이(가) \ 비트의 c= C와 , x i displaystyty 는 +(1 2의 확률로 디코딩할 수 있다. ) 1}:{.
보조정리 방법 1, + c = c = + = x i= = x i = x i k_{k_{}. Since and are picked uniformly, the probability that is at most . Similarly, the probability that 조합 바인딩에 의해 j 또는 의 해당 비트와 일치하지 않을 확률은 최대 만약 dism. 는 에 해당하며 이어 보조정리 1이 적용되므로 의 적절한 값이 계산된다. Therefore, the probability is decoded properly is at least . Therefore, and for to be positive, .
따라서 월시-하다마드 코드는(, - 1}{ 로컬로 0 1 4 0\에 대해 해독할 수 있다
최적성
k ≤ 7의 경우 선형 Hadamard 코드는 최소 거리의 관점에서 최적으로 입증되었다.[7]
참고 항목
- Zadoff-Chu 시퀀스 — 월시-하다마드 코드보다 개선
참조
- ^ Malek, Massoud (2006). "Hadarmark Codes". Coding Theory (PDF). Archived from the original (PDF) on 2020-01-09.
- ^ Amadei, M.; Manzoli, Umberto; Merani, Maria Luisa (2002-11-17). "On the assignment of Walsh and quasi-orthogonal codes in a multicarrier DS-CDMA system with multiple classes of users". Global Telecommunications Conference, 2002. GLOBECOM'02. IEEE. Vol. 1. IEEE. pp. 841–845. doi:10.1109/GLOCOM.2002.1188196. ISBN 0-7803-7632-3.
- ^ Arora, Sanjeev; Barak, Boaz (2009). "Section 19.2.2". Computational Complexity: A Modern Approach. Cambridge University Press. ISBN 978-0-521-42426-4.
- ^ Guruswami, Venkatesan (2009). List decoding of binary codes (PDF). p. 3.
- ^ Bose, Raj Chandra; Shrikhande, Sharadchandra Shankar (June 1959). "A note on a result in the theory of code construction". Information and Control. 2 (2): 183–194. CiteSeerX 10.1.1.154.2879. doi:10.1016/S0019-9958(59)90376-6.
- ^ Langton, Charan (2002). "CDMA Tutorial: Intuitive Guide to Principles of Communications" (PDF). Complex to Real. Archived (PDF) from the original on 2011-07-20. Retrieved 2017-11-10.
- ^ Jaffe, David B.; Bouyukliev, Iliya. "Optimal binary linear codes of dimension at most seven". Archived from the original on 2007-08-08. Retrieved 2007-08-21.
추가 읽기
- Rudra, Atri. "Hamming code and Hamming bound" (PDF). Lecture notes.
- Rudolph, Dietmar; Rudolph, Matthias (2011-04-12). "46.4. Hadamard– oder Walsh–Codes". Modulationsverfahren (PDF) (in German). Cottbus, Germany: Brandenburg University of Technology (BTU). p. 214. Archived (PDF) from the original on 2021-06-16. Retrieved 2021-06-14. (xiv+일반 페이지)