상수 가중치 코드
Constant-weight code부호화 이론에서, m-of-n 코드라고도 불리는 상수 가중치 코드는 모든 부호들이 동일한 해밍 가중치를 공유하는 오류 감지 및 수정 코드다. 원핫코드와 밸런스코드는 널리 사용되는 두 종류의 상수중량코드다.
그 이론은 (t-designs 및 Steiner 시스템과 같은) 설계의 그것과 밀접하게 연결되어 있다. 이산 수학의 이 분야에 관한 대부분의 작업은 이진 상수 가중치 코드와 관련이 있다.
이진 상수 가중치 코드는 GSM 네트워크에서 주파수 홉을 포함한 여러 가지 응용 프로그램을 가지고 있다.[1] 대부분의 바코드는 흑백 줄무늬를 구분하는 밝기 임계값을 자동으로 설정하기 위해 이진 상수 가중치 코드를 사용한다. 대부분의 라인 코드는 상수 가중치 코드 또는 거의 일정한 가중치 쌍 격차 코드를 사용한다. 오류 보정 코드로 사용할 뿐만 아니라, 코드 워드 사이의 넓은 공간을 지연 무감각 회로와 같은 비동기 회로 설계에도 사용할 수 있다.
버거 코드와 같이 일정한 무게의 코드는 모든 단방향 오류를 감지할 수 있다.
A(n, d, w)
일정한 가중치 코드에 관한 중심적인 문제는 다음과 같다: n{\ 해밍 d{\및 w{\을(를) 가진 이진 상수 가중치 코드의 최대 코드 수는 이 번호는 ) A()} 입니다
몇몇 사소한 관찰을 제외하고는, 이러한 수치를 단도직입적으로 계산하는 것은 일반적으로 불가능하다. 상한은 제1차 존슨 경계와 제2차 존슨 경계와 같은 몇 가지 중요한 이론에 의해 주어지며,[2] 더 나은 상한을 다른 방법으로 찾을 수 있는 경우도 있다. 하한은 이산 수학의 다양한 방법을 사용하거나 컴퓨터 검색을 통해 특정 코드를 표시함으로써 가장 자주 발견된다. 그러한 기록 갱신 코드의 큰 표가 1990년에 발행되었고,[3] 더 긴 코드(단, GSM 애플리케이션과 관련된 및 의 값만 해당)에 대한 확장이 2006년에 발행되었다.[1]
1-of-N
일정한 체중 코드의 특별한 경우로는 로그 N 비트를 비트의 코드 워드로 인코딩하는 1-of-N 코드가 있다. 1대 2 코드는 01과 10이라는 코드 단어를 사용하여 비트 '0'과 '1'을 인코딩한다. 4분의 1 코드는 2비트 00, 01, 01, 10, 11을 인코딩하기 위해 0001, 0010, 0100, 1000이라는 단어를 사용할 수 있다. 이중 레일 인코딩과 지연 무감각 회로에 사용되는 체인 링크가 그 예다. 이러한 코드의 경우 = = = 1 스타일 n= ~2,~w=A( w) {\ A
1-hot 코드의 보다 주목할 만한 사용으로는 biphase 마크 코드 2대 1 코드 사용, 펄스 위치 변조는 1-of-n 코드 사용, 주소 디코더 등이 있다.
균형코드
코딩 이론에서 균형 코드는 각 코드 워드가 0과 1비트의 동일한 수를 포함하는 바이너리 전달 오류 수정 코드다. 균형잡힌 코드는 도널드 크누스에 의해 도입되었다;[5] 그것들은 코드 워드에 있는 코드의 위치가 다른 코드 워드에 있는 코드의 하위 집합이 결코 아니라는 특성을 가진 코드의 하위 집합 코드는 코드 워드에 있는 코드의 하위 집합이다. 정렬되지 않은 모든 코드와 마찬가지로, 균형 잡힌 코드는 인코딩된 메시지에서 모든 단방향 오류를 탐지하는 데 적합하다. 균형잡힌 코드는 특히 효율적인 디코딩을 가능하게 하며, 이는 병렬로 수행될 수 있다.[5][6][7]
밸런스 웨이트 코드의 대표적인 용도는 biphase 마크 코드 2개, 6b/8b 인코딩은 8개 코드 4개를 사용하며, Hadamard 코드는 - }의 - 1 코드 0개, 6개 코드 3개 등이다.
MIPI C-PHY에 사용되는 3와이어 레인 인코딩은 3와이어 코드의 일반화로 간주될 수 있다. 각 와이어는 3와이어 신호를 전송하며, 3와이어 중 1개는 낮은 신호를 전송하고, 1개는 중간을 전송하고, 1개는 높은 신호를 전송한다.[8]
m-of-n 코드
m-of-n 코드는 코드 워드 길이가 n비트인 분리 가능한 오류 감지 코드인데, 여기서 각 코드 워드는 정확히 "one"의 m 인스턴스를 포함한다. 단일 비트 오류로 인해 코드 워드는 m + 1 또는 m - 1 "원"을 갖게 된다. m-of-n 코드의 예로는 미국 우정국에서 사용하는 5개 코드의 2개 코드가 있다.
가장 간단한 구현은 원본 데이터에 m을 포함할 때까지 일련의 데이터를 추가한 다음 0을 추가하여 길이 n의 코드를 만드는 것이다.
예:
원본 3 데이터 비트 | 추가된 비트 |
---|---|
000 | 111 |
001 | 110 |
010 | 110 |
011 | 100 |
100 | 110 |
101 | 100 |
110 | 100 |
111 | 000 |
위에서 이미 언급된 1-hot 및 균형-weight 코드 이외의 보다 주목할 만한 일정 가중치 코드 사용으로는 코드 39, 2-Quinary 코드 10진 코드 7의 2-9 코드 사용, 2-5 코드 등이 있다.
참조
- ^ a b D. H. 스미스, L. A. 휴즈와 S. 퍼킨스(2006년). "28보다 큰 길이의 상수 중량 코드 새 표" 전자 결합학 저널 13.
- ^ F. J. MacWilliams와 N. J. A. Sloane(1979년)의 526–527페이지를 참조하십시오. 오류 수정 코드의 이론. 암스테르담: 노스홀랜드.
- ^ A. E. B. 브루워, 제임스 B. Shearer, N. J. A. Sloane, Warren D. 스미스(1990). "A New Table of Constant Weight Code". IEEE의 정보이론 36.
- ^ W.J. Bainbridge; A. Bardsley; R.W. McGuffin. "System-on-Chip Design using Self-timed Networks-on-Chip".
- ^ a b D.E. Knuth (January 1986). "Efficient balanced codes" (PDF). IEEE Transactions on Information Theory. 32 (1): 51–53. doi:10.1109/TIT.1986.1057136.[영구적 데드링크]
- ^ Sulaiman Al-Bassam; Bella Bose (March 1990). "On Balanced Codes". IEEE Transactions on Information Theory. 36 (2): 406–408. doi:10.1109/18.52490.
- ^ K. Schouhamer Immink and J. Weber (2010). "Very efficient balanced codes". IEEE Journal on Selected Areas in Communications. 28: 188–192. doi:10.1109/jsac.2010.100207. Retrieved 2018-02-12.
- ^ "MIPI C-PHY / DPHY 하위 시스템 - 트레이드오프, 과제 및 채택 검증"(거울)
외부 링크
- 앤드리 브루워가 관리하는 A(n , d,)에 대한 하한 표(Neil Sloane 및 E. M. Rains의 이전 표 업데이트)
- 에릭 애그렐이 관리하는 , d, w) A(에 대한 상한 표