KR100380788B1 - 복호장치 및 복호방법 - Google Patents

복호장치 및 복호방법 Download PDF

Info

Publication number
KR100380788B1
KR100380788B1 KR10-2001-0015685A KR20010015685A KR100380788B1 KR 100380788 B1 KR100380788 B1 KR 100380788B1 KR 20010015685 A KR20010015685 A KR 20010015685A KR 100380788 B1 KR100380788 B1 KR 100380788B1
Authority
KR
South Korea
Prior art keywords
output
decoding
mask
read
unit
Prior art date
Application number
KR10-2001-0015685A
Other languages
English (en)
Other versions
KR20010100847A (ko
Inventor
다케다다이스케
무카이마나부
Original Assignee
가부시끼가이샤 도시바
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20010100847A publication Critical patent/KR20010100847A/ko
Application granted granted Critical
Publication of KR100380788B1 publication Critical patent/KR100380788B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/136Reed-Muller [RM] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 마스크 심볼을 이용한 리드ㆍ멀러부호의 복호화에 관한 것으로, 연산량 및 하드웨어의 규모를 저감하기 위한 것이다.
이를 위해 본 발명은, 부호로부터 마스크 패턴을 떼어낸 것에 관하여 다수결 판정을 행하고, 복호한 것을 리드ㆍ멀러부호화하며, 이것과 수신한 부호신호와의 유클리드 거리를 구하는 동작을 모든 마스크 패턴에 대해 행하고, 유클리드 거리가 최소로 되는 마스크 패턴을 구하도록 되어 있다.

Description

복호장치 및 복호방법 {Decoding Apparatus and Decoding Method}
본 발명은 리드ㆍ멀러 복호장치(Reed-Muller 復號裝置) 및 복호방법에 관한 것이다.
오류정정부호의 일종으로 리드ㆍ멀러부호가 알려져 있다. 통상적인 리드ㆍ멀러부호는 6비트의 신호계열을 32비트의 부호계열로 변환하는 리드ㆍ멀러부호(32, 6)이다. 리드ㆍ멀러부호에 있어서는 n=2m[n은 부호길이, m은 자연수(n=32라 하면, m은 5)]이라 하면, 부호어간(符號語)간의 최소 유클리드 거리가 2m-r(r은 부호의 次數)인 것이 알려져 있다. 일반적으로, 오류정정부호에서는 부호어간의 최소 유클리드 거리가 클수록 특성이 좋다(오류에 강하다). 그러나, 그 만큼 전송 레이트가 떨어진다. 그래서, 전송 레이트를 그다지 떨어뜨리지 않고 특성을 좋게 하기 위해, 종래의 리드ㆍ멀러부호에 마스크 심볼을 더하여 최소 유클리드 거리를 크게 취하는 방식이 제안되어 있다(3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Multiplexing and Channel Coding (FDD) (release 1999) 3G TS 25.212 V3.3.0 (2000-06)). 이 부호는 6비트의 신호계열에 4비트의 마스크 심볼을 더한 합계 10비트의 신호계열을 32비트의 부호계열로 변환하는 리드ㆍ멀러(32, 10)부호라 불리운다.
리드ㆍ멀러부호의 복호장치는 단순한 다수결 회로로 실현할 수 있다는 것이알려져 있다(일본국 특개평 9-74359호 공보). 그러나, 리드ㆍ멀러(32, 6)부호에 대한 다수결 회로는 비교적 용이하게 실현할 수 있지만, 리드ㆍ멀러(32, 10)부호에 있어서는 다수결 판정시에 계산해야만 하는 체크 섬의 산출이 곤란하다.
그래서, 다수결 판정을 사용하지 않는 복호의 일례로서, 상관치(相關値) 계산에 의한 최우복호(最尤復號)도 고안되어 있다(Harmonization Impact on TFCI and New Optimal Coding for extended TFCI with almost no Complexity Increase (rev 1))TGSR#6(99)970). 그러나, 이 방법은 수신계열에 대해 모든 부호어의 상관을 취하기 때문에, 본래 연산량이 많고, 하드웨어의 규모도 꽤 큰 것이 되어, 리드ㆍ멀러(32, 10)부호에 대해서는 실현이 곤란하다.
이와 같이, 근년 제안된 마스크 심볼을 포함한 리드ㆍ멀러부호는 오류에 대해 강하지만, 복호장치를 실현하는 것이 곤란하였다.
본 발명의 목적은, 마스크 심볼을 이용한 리드ㆍ멀러부호의 복호장치, 복호방법에 있어서, 연산량, 하드웨어의 규모를 저감하는 것에 있다.
도 1은 본 발명에 의한 복호장치의 제1실시형태의 구성을 나타낸 블록도,
도 2는 제1실시형태의 동작을 나타낸 플로우 차트,
도 3은 도 1의 체크 섬 산출부, 다수결 판정부의 변형례를 나타낸 도면,
도 4는 본 발명에 의한 복호장치의 제2실시형태의 구성을 나타낸 블록도,
도 5는 제2실시형태의 동작을 나타낸 플로우 차트,
도 6은 본 발명에 의한 복호장치의 제3실시형태의 구성을 나타낸 블록도,
도 7은 제3실시형태의 동작을 나타낸 플로우 차트,
도 8은 도 6의 체크 섬 산출부, 다수결 판정부의 변형례를 나타낸 도면,
도 9는 본 발명에 의한 복호장치의 제4실시형태의 구성을 나타낸 블록도,
도 10은 제4실시형태의 동작을 나타낸 플로우 차트이다.
<도면 참조부호의 설명>
10 --- 경판정부 12 --- 메모리
14, 22 --- 배타적 논리합부 16 --- 체크 섬 산출부
18, 24 --- 다수결 판정부 20 --- 직교부호 승산부
26 --- 리드ㆍ멀러부호화부 28 --- 유클리드 거리 산출부
30 --- 최소거리 검출부
상기한 과제를 해결하여 목적을 달성하기 위해, 본 발명은 이하에 나타낸 수단을 이용하고 있다.
(1) 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호장치는, 부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와의 배타적 논리합을 취하는 연산부(14)와, 상기 연산부의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제1복호부(16, 18), 상기 제1복호부의 출력과 직교부호와의 승산결과와, 상기 연산부의 출력과의 배타적 논리합을 취하고, 배타적 논리합을 다수결 판정하며, 상기 제2부분의 나머지 부분을 복호하는 제2복호부(24), 상기 제1, 제2복호부에 의해 복호된 상기 제2부분의 전부와, 상기 제1부분을 리드ㆍ멀러부호화하는 리드ㆍ멀러부호화부(26), 부호화에 사용될 가능성이 있는 복수의 마스크 심볼을 상기 연산부(14)에 공급한 때의 상기 리드ㆍ멀러부호화부(26)의 출력과, 상기 연산부에 공급되는 리드ㆍ멀러부호와의 유클리드 거리의 최소치를 검출하는 최소거리 검출부(30)를 구비하고, 유클리드 거리의 최소치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호한다.
(2) 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호방법은, 부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와의 배타적 논리합을 취하는 제1스텝과, 상기 제1스텝의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제2스텝, 상기 제2스텝의 출력과 직교부호와의 승산결과와, 상기 제1스텝의 출력과의 배타적 논리합을 취하고, 배타적 논리합을 다수결 판정하며, 상기 제2부분의 나머지 부분을 복호하는 제3스텝, 상기 제2, 제3스텝에 의해 복호된 상기 제2부분의 전부와, 상기 제1부분을 리드ㆍ멀러부호화하는 제4스텝, 상기제1스텝으로부터 제4스텝까지를 부호화에 사용될 가능성이 있는 복수의 마스크 심볼에 대해 실행한 때의 상기 제4스텝의 출력과, 상기 제1스텝에서 사용되는 리드ㆍ멀러부호와의 유클리드 거리의 최소치를 검출하는 제5스텝을 구비하고,
유클리드 거리의 최소치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호한다.
(3) 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호장치는, 부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와의 배타적 논리합을 취하는 제1연산부(14)와, 상기 제1연산부의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분을 복호하는 복호부(16, 18), 상기 복호부의 출력과 직교부호와의 승산결과의 각 비트성분의 제1누적가산과, 그 승산결과의 각 비트성분의 반전성분의 제2누적가산을 구하고, 그 제1, 제2누적가산결과의 유클리드 거리의 보다 작은 것을 구하는 제2연산부(54), 부호화에 사용될 가능성이 있는 복수의 마스크 심볼을 상기 제1연산부(14)에 공급한 때의 상기 제2연산부(54)의 출력의 최소치를 검출하는 최소거리 검출부(30)를 구비하고, 누적가산의 최소치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호한다.
(4) 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호방법은, 부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와의 배타적 논리합을 취하는 제1스텝과, 상기 제1스텝의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분을 복호하는 제2스텝, 상기 제2스텝의 출력과 직교부호와의 승산결과의 각 비트성분의 제1누적가산과, 그 승산결과의 각 비트성분의 반전성분의 제2누적가산을 구하고, 그 제1, 제2누적가산결과의 유클리드 거리의 보다 작은 것을 구하는 제3스텝, 상기 제1스텝으로부터 제3스텝까지를 부호화에 사용될 가능성이 있는 복수의 마스크 심볼에 대해 실행한 때의 상기 제3스텝의 출력의 최소치를 검출하는 제4스텝을 구비하고, 누적가산의 최소치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호한다.
(5) 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호장치에 있어서,
부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와를 승산하는 연산부(60)와,
상기 연산부의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제1복호부(16, 18),
상기 제1복호부의 출력과 직교부호와의 승산결과와, 상기 연산부의 출력과의 승산결과를 다수결 판정하고, 상기 제2부분의 나머지 부분을 복호하는 제2복호부(24),
상기 제1, 제2복호부에 의해 복호된 상기 제2부분의 전부와, 상기 제1부분을리드ㆍ멀러부호화하는 리드ㆍ멀러부호화부(26),
부호화에 사용될 가능성이 있는 복수의 마스크 심볼을 상기 연산부(14)에 공급한 때의 상기 리드ㆍ멀러부호화부(26)의 출력과, 상기 연산부에 공급되는 리드ㆍ멀러부호와의 상관의 최대치를 검출하는 최대치 검출부(66)를 구비하고,
상관의 최대치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호장치.
(6) 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호방법은, 부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와를 승산하는 제1스텝과, 상기 제1스텝의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제2스텝, 상기 제2스텝의 출력과 직교부호와의 승산결과와, 상기 제1스텝의 출력과의 승산결과를 다수결 판정하고, 상기 제2부분의 나머지 부분을 복호하는 제3스텝, 상기 제2, 제3스텝에 의해 복호된 상기 제2부분의 전부와, 상기 제1부분을 리드ㆍ멀러부호화하는 제4스텝, 상기 제1스텝으로부터 제4스텝까지를 부호화에 사용될 가능성이 있는 복수의 마스크 심볼에 대해 실행한 때의 상기 제4스텝의 출력과, 상기 제1스텝에서 사용되는 리드ㆍ멀러부호와의 상관의 최대치를 검출하는 제5스텝을 구비하고, 상관의 최대치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호한다.
(7) 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호장치는, 부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와를 승산하는 제1연산부(60)와, 상기 제1연산부의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 복호부(16, 18), 상기 복호부의 출력과 직교부호와의 승산결과의 각 비트성분의 제1누적가산과, 그 승산결과의 각 비트성분의 반전성분의 제2누적가산을 구하고, 그 제1, 제2누적가산의 보다 큰 것을 구하는 제2연산부(78), 부호화에 사용될 가능성이 있는 복수의 마스크 심볼을 상기 제1연산부(60)에 공급한 때의 상기 제2연산부(78)의 출력의 최대치를 검출하는 최대치 검출부(66)를 구비하고, 누적가산의 최대치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호한다.
(8) 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호방법은, 부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와를 승산하는 제1스텝과, 상기 제1스텝의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제2스텝, 상기 제2스텝의 출력과 직교부호와의 승산결과의 각 비트성분의 제1누적가산과, 그 승산결과의 각 비트성분의 반전성분의 제2누적가산을 구하고, 그 제1, 제2누적가산의 보다 큰 것을 구하는 제3스텝, 상기 제1스텝으로부터 제3스텝까지를 부호화에 사용될 가능성이 있는 복수의 마스크 심볼에 대해 실행한 때의 상기 제3스텝의 최대치를 검출하는 제4스텝을 구비하고, 누적가산의 최대치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호한다.
본 발명에 의하면, 마스크 심볼을 이용한 리드ㆍ멀러부호로부터 마스크 심볼을 떼어 낸 것을 다수결 판정에 의해 리드ㆍ멀러복호하고, 그 복호결과에 마스크 심볼을 더한 것을 리드ㆍ멀러부호화하며, 이 부호화 출력과 본래의 부호와의 유클리드 거리, 또는 상관을 구하는 처리를 마스크 심볼의 수 만큼 반복하고, 최소의 거리 또는 최대의 상관에 대응하는 마스크 심볼을 구하여, 이 마스크 심볼로부터 정보신호를 복호한다.
이 때문에, 다수결 판정시에 계산해야만 하는 체크 섬은 마스크 심볼을 이용하지 않는 리드ㆍ멀러부호를 복호하는 경우에 비해 늘어나는 일이 없다. 이 때문에, 연산량, 하드웨어의 규모를 저감할 수 있는 복호장치를 제공할 수 있다.
<발명의 실시형태>
이하, 도면을 참조하여 본 발명에 의한 복호장치의 실시형태를 설명한다.
(제1실시형태)
도 1은 본 발명의 제1실시형태에 관한 리드ㆍ멀러(32, 10)부호의 복호장치의 구성을 나타낸 도면이다.
우선, 본 복호장치에 입력되는 리드ㆍ멀러부호에 대해 설명한다. 리드ㆍ멀러(32, 10)부호에서는, 마스크 심볼은 4비트의 정보계열에 의해 선택되기 때문에 패턴(마스크 패턴)은 전부 24=16 패턴이다.
이하의 설명에서는, 다음과 같이 정의한다.
"^"는 배타적 논리합을 나타낸다. 2개의 벡터 A와 B에 대해, 식 "A^B"는 각각의 벡터 성분의 배타적 논리합을 나타낸다.
벡터 A에 대해 m(A)는 벡터의 각 성분에 대해 0을 +1로, 1을 -1로 변경한 것이다.
부호화되는 10비트의 정보계열을 d0, d1, d2, d3, d4, d5, d6, d7, d8, d9라 한다. 각 비트 dn은 0 혹은 1이다.
부호화에 사용되는 직교부호계열을 C0, C1, C2, C3, C4, C5라 한다. 각 계열 Cn은 32비트의 계열이고, 그 32개의 요소는 0 혹은 1이다. 한편, C0은 모두 1의 계열이다.
마찬가지로, 부호화에 사용되는 마스크 심볼계열을 M1, M2, M3, M4라 한다. 각 계열 Mn은 32비트의 계열이다. 마스크 심볼계열과 정보계열의 배타적 논리합인 마스크 패턴 d6M1^d7M2^d8M3^d9M4는 24=16 패턴이다.
직교부호계열 C0~C5와, 마스크 심볼계열 M1~M4의 일례를 표 1에 나타냈다.
(이하 여백)
부호화 장치는 상기 정보계열 d를 직교부호계열 C0~C5와 마스크 심볼계열 M1~M4에 기초하여 부호화하여, 다음과 같은 32비트 부호화 비트계열 s를 출력한다. 여기에서, 정보계열의 각 비트에 승산되는 직교부호계열, 마스크 심볼계열은 미리 결정되어 있다.
s=d0C0^d1C1^d2C2^d3C3^d4C4^d5C5^d6M1^d7M2^d8M3^d9M4(1)
여기에서, (1)식은 변조되어 m(s)로서 송신된다. 본 실시형태에서는 이 신호m(s)에 전송로나 잡음에 의한 오류가 더해진 신호가 도 1의 복호장치에 입력되어, 경판정부(10; 硬判定部)에 의해 경판정된다.
경판정부(10)란, 0 및 1에 대응한 수치 +1, -1이 잡음 등에 의해 이것 이외의 0.2, 1.8, -1.2 등의 값이 된 경우, 그것을 본래의 수치, 결국 0 혹은 1로서 재현하는 것이다. 그 결과, (1)식에 오류계열 e(0 혹은 1)가 더해진(배타적 논리합) 신호가 경판정부(10)의 출력으로 된다.
메모리(12)는 표 1의 직교부호계열 C0~C5와 마스크 심볼계열 M1~M4, 더욱이 표 1에는 나타내지 않은 16개의 마스크 패턴 d6M1^d7M2^d8M3^d9M4를 격납한다. i는 비트위치를 나타낸다.
경판정부(10)의 출력은 메모리(12)로부터 독출된 마스크 패턴의 하나와 배타적 논리합부(14)에 의해 배타적 논리합으로 계산된다.
배타적 논리합부(14)의 출력은 체크 섬 산출부(16)에 공급되어, 배타적 논리합의 체크 섬이 계산된다. 체크 섬은 d0~d9까지의 10비트의 정보계열 중, d1~d5의 5비트에 대해 각각 16개 계산된다.
이 합계 80개의 체크 섬 산출부(16)의 출력은 다수결 판정부(18)에 의해 다수결 판정되고, 직교부호계열 C0~C5에 대응하는 정보계열 d1'~d5'이 복호된다. 구체적으로는, 체크 섬의 출력에 관해서 0의 수가 많다면 0으로 판정하고, 1의 수가 많다면 1로 판정한다.
이 5비트의 정보계열에 대해, 직교부호 승산부(20)에 의해 대응하는 직교부호가 승산된다.
배타적 논리합부(14)의 출력과 직교부호 승산부(20)의 출력에 대해서 배타적 논리합부(22)에 의해 배타적 논리합이 취해진다. 배타적 논리합부(22)의 출력을 다수결 판정부(24)에서 판정함으로써, d0'이 복호된다. 구체적으로는, 배타적 논리합부(22)의 출력에서 0의 수가 많다면 정보계열의 각 비트를 0으로 판정하고, 1의 수가 많다면 1로 판정한다. 다수결 판정부(24)에 의해 정보계열의 비트 d0'이 확정된 때, 이 확정에 사용된 마스크 패턴으로부터 정보계열의 비트 d6'~d9'을 알 수 있다.
이상의 조작을 통해, 배타적 논리합부(14)에 의해, 복호장치에 입력된 리드ㆍ멀러부호와, 마스크 패턴과 정보계열과의 배타적 논리합과의 배타적 논리합을 구함으로써, 리드ㆍ멀러부호로부터 마스크 패턴을 떼어 낼 수 있다. 이 마스크 패턴을 떼어 낸 리드ㆍ멀러부호를 다수결 판정하고, 더욱이 승산부(20)에서 직교부호와 승산함으로써, 정보계열의 각 비트 d0'~d9'이 특정된다. 이 정보계열을 리드ㆍ멀러부호화부(26)에 의해 다시 리드ㆍ멀러부호화한다. 리드ㆍ멀러부호화부(26)의 출력은 유클리드 거리 산출부(28)에 공급되어, 경판정부(10)로부터 출력된 수신계열과의 유클리드 거리가 산출된다.
상기 처리를 16가지의 모든 마스크 패턴에 대해 행하고, 최소거리 검출부(30)에 의해 최소의 유클리드 거리를 검출한다. 최소 거리가 검출된 때의 d0'~d9'이 올바른 것으로 간주되고, 복호가 완료된다.
도 2는 제1실시형태의 플로우 차트이다.
스텝 S10에서, 경판정부(10)가 부호화 신호를 경판정한다. 여기에서, 본 복호장치에 입력되는 부호화 비트계열은 (1)식에 나타낸 부호화 장치로부터 변조되어 출력된 m(s) 그 자체는 아니고, 당해 신호에 전송로나 잡음에 의한 오류가 더해진 신호이다. 그것을 경판정한 결과는 (2)식으로 된다(e는 0 혹은 1의 오류계열이다).
d0C0^d1C1^d2C2^d3C3^d4C4^d5C5^d6M1^d7M2^d8M3^d9M4^e (2)
경판정이란, 0 및 1에 대응한 수치 +1, -1이 잡음 등에 의해 이것 이외의 0.2, 1.8, -1.2 등의 값이 된 경우, 그것을 본래의 수치, 결국 0 혹은 1로서 재현하는 것이다.
스텝 S12에서, 마스크 패턴이 1개 지정되고, 스텝 S14에서, 이 지정된 1개의 마스크 패턴이 메모리(12)로부터 독출되며, 스텝 S16에서, 배타적 논리합부(14)가 경판정부(10)의 출력부호화 비트계열과 마스크 패턴과의 배타적 논리합을 계산한다.
메모리(12)는 표 1의 직교부호계열 C0~C5와 마스크 심볼계열 M1~M4, 더욱이 표 1에는 나타내지 않은 마스크 패턴 d6M1^d7M2^d8M3^d9M4를 격납한다. i는 비트위치를 나타낸다.
메모리(12)로부터 독출된 마스크 패턴을 M'=d6'M1^d7'M2^d8'M3^d9'M4라 한다면, 배타적 논리합부(14)로부터 출력되는 배타적 논리합은 다음과 같이 된다.
d0C0^d1C1^d2C2^d3C3^d4C4^d5C5^(d6^d6')M1^(d7^d7')M2^(d8^d8')M3^(d9^d9')M4^e (3)
스텝 S18에서, 체크 섬 산출부(16)가 배타적 논리합부(14)의 출력[(3)식]의 체크 섬을 계산한다. 체크 섬은 d0~d9까지의 10비트의 정보계열 중, d1~d5의 5비트에 대해 각각 다음과 같은 16개가 계산된다.
d1의 체크 섬
d1' = r0X r30
d1' = r1X r2
d1' = r3X r4
d1' = r5X r6
d1' = r7X r8
d1' = r9X r10
d1' = r11X r12
d1' = r13X r14
d1' = r15X r31
d1' = r16X r17
d1' = r18X r19
d1' = r20X r21
d1' = r22X r23
d1' = r24X r25
d1' = r26X r27
d1' = r28X r29
d2의 체크 섬
d2' = r0X r2
d2' = r1X r30
d2' = r3X r5
d2' = r4X r6
d2' = r7X r9
d2' = r8X r10
d2' = r11X r13
d2' = r12X r14
d2' = r15X r17
d2' = r16X r31
d2' = r18X r20
d2' = r19X r21
d2' = r22X r24
d2' = r23X r25
d2' = r26X r28
d2' = r27X r29
d3의 체크 섬
d3' = r0X r4
d3' = r1X r5
d3' = r2X r6
d3' = r3X r30
d3' = r7X r11
d3' = r8X r12
d3' = r9X r13
d3' = r10X r14
d3' = r15X r19
d3' = r16X r20
d3' = r17X r21
d3' = r18X r31
d3' = r22X r26
d3' = r23X r27
d3' = r24X r28
d3' = r25X r29
d4의 체크 섬
d4' = r0X r8
d4' = r1X r9
d4' = r2X r10
d4' = r3X r11
d4' = r4X r12
d4' = r5X r13
d4' = r6X r14
d4' = r7X r30
d4' = r15X r23
d4' = r16X r24
d4' = r17X r25
d4' = r18X r26
d4' = r19X r27
d4' = r20X r28
d4' = r21X r29
d4' = r22X r31
d5의 체크 섬
d5' = r0X r15
d5' = r1X r16
d5' = r2X r17
d5' = r3X r18
d5' = r4X r19
d5' = r5X r20
d5' = r6X r21
d5' = r7X r22
d5' = r8X r23
d5' = r9X r24
d5' = r10X r25
d5' = r11X r26
d5' = r12X r27
d5' = r13X r28
d5' = r14X r29
d5' = r30X r31
여기에서, rn(n=0,1,--- 31)은 마스크 패턴의 승산 후, 체크 섬 산출부(16)에 입력되는 32치(경판정이라면 32비트)의 신호에 상당한다.
스텝 S20에서, 다수결 판정부(18)가 이 합계 80개의 출력을 다수결 판정 처리하여, d1'~d5'을 복호한다. 구체적으로는, 체크 섬의 출력에 관해 0의 수가 많으면 0으로 판정하고, 1의 수가 많으면 1로 판정한다.
스텝 S22에서, 직교부호 승산부(20)가 이 5비트의 정보계열 d1'~d5'에, 그것에 대응하는 직교부호를 승산한다. 직교부호 승산부(20)의 출력은 다음과 같이 된다.
d1'C1^d2'C2^d3'C3^d4'C4^d5'C5(4)
스텝 S24에서, 배타적 논리합부(22)가 배타적 논리합부(14)의 출력[(3)식]과, 직교부호 승산부(20)의 출력[(4)식]의 배타적 논리합을 구한다. 배타적 논리합부(22)의 출력인 배타적 논리합은 다음과 같이 된다.
d0C0^(d1^d1')C1^(d2^d2')C2^(d3^d3')C3^(d4^d4')C4^(d5^d5')C5^(d6^d6')M1^(d7^d7')M2^(d8^d8')M3^(d9^d9')M4^e (5)
여기에서, 혹시 d1'~d9'이 올바르게 복호되어 있다면, (dn^dn')Cn(n=1, 2, ---, 9)의 항은 0벡터가 된다. 이 경우, 배타적 논리합부(22)의 출력[(5)식]은 다음과 같이 된다.
d0C0^e (6)
C0은 모두 1의 계열이기 때문에, 배타적 논리합부(22)의 출력[(6)식]을 다수결 판정부(24)에서 판정하는 것으로 d0'이 얻어진다(스텝 S26). 구체적으로는, 배타적 논리합부(22)의 출력[(6)식]에서 0의 수가 많으면 정보계열의 각 비트를 0으로 판정하고, 1의 수가 많으면 1로 판정한다. 다수결 판정부(24)에 의해 정보계열의 비트 do'이 확정된 때, 이 확정에 사용된 마스크 패턴으로부터 정보계열의 비트 d6'~d9'을 알 수 있다. 이상의 조작에 의해, 정보계열의 각 비트 d0'~d9'이 확정된다.
스텝 S28에서, 리드ㆍ멀러부호화부(26)가 이 정보계열 d0'~d9'을 리드ㆍ멀러부호화하여, 다음과 같은 부호화 계열이 얻어진다.
d0'C0^d1'C1^d2'C2^d3'C3^d4'C4^d5'C5^d6'M1^d7'M2^d8'M3^d9'M4(7)
스텝 S30에서, 유클리드 거리 산출부(28)가 리드ㆍ멀러부호화부(26)의 출력[(7)식]과 경판정부(10)로부터 출력된 수신계열[(2)식]과의 유클리드 거리를 계산한다. 구체적으로는, 우선, 리드ㆍ멀러부호화부(26)의 출력[(7)식]과 경판정부(10)의 출력[(2)식]의 배타적 논리합이 다음과 같이 구해진다.
(d0^d0')C0^(d1^d1')C1^(d2^d2')C2^(d3^d3')C3^(d4^d4')C4^(d5^d5')C5^(d6^d6')M1^(d7^d7')M2^(d8^d8')M3^(d9^d9')M4^e (8)
(8)식은 32비트의 계열이고, 그들 32비트의 합이, 리드ㆍ멀러부호화부(26)의 출력[(7)식]과 경판정부(10)의 출력[(2)식]의 유클리드 거리를 나타낸다.
스텝 S32에서, 메모리(12)내의 16종류의 마스크 패턴의 모두에 대해 상기 처리를 행하였는가 아닌가가 판정된다. 미처리의 마스크 패턴이 남아 있는 경우에는스텝 S34에서 다음의 마스크 패턴이 지정되어, 스텝 S14의 마스크 패턴 독출 이후의 처리가 반복된다.
메모리(12)내의 16종류의 마스크 패턴의 모두에 대해 상기 처리가 행하여진 경우에는, 스텝 S36에서, 최소거리 검출부(30)가 최소의 유클리드 거리를 검출한다. 그 최소거리가 얻어진 때의 마스크 패턴에 기초하여, d6'~d9'이 복호되고, 다수결 판정부(18)에 의해 복호된 d1'~d5'과, 다수결 판정부(24)에 의해 복호된 d0'과 더불어, 정보계열 d0'~d9'이 복호된다.
이상에서 설명한 것처럼, 본 실시형태에 의하면, 마스크 심볼을 이용한 리드ㆍ멀러부호로부터 마스크 심볼을 떼어 낸 것을 다수결 판정에 의해 리드ㆍ멀러 복호하고, 그 복호결과에 마스크 심볼을 더한 것을 리드ㆍ멀러부호화하며, 이 부호화 출력과 본래의 부호와의 유클리드 거리를 구하는 처리를 마스크 심볼의 수만큼 반복하고, 최소의 거리에 대응하는 마스크 심볼을 구하며, 이 마스크 심볼로부터 정보비트를 복호한다. 이 때문에, 다수결 판정시에 계산해야만 하는 체크 섬은 마스크 심볼을 이용하지 않는 리드ㆍ멀러부호를 복호하는 경우에 비해 늘어나는 일이 없다. 이 때문에, 연산량, 하드웨어의 규모를 저감할 수 있는 복호장치를 제공할 수 있다.
본 실시형태는 리드ㆍ멀러(32, 10)부호에 한정되지 않고, 종래의 리드ㆍ멀러(32, 6)부호의 복호장치로서도 사용할 수 있다. 이를 위해서는, 경판정부(10)와 배타적 논리합부(14)간에 절환스위치(32)를 접속시켜서, 스위치(32)의 절환에 의해 경판정부(10)의 출력을 배타적 논리합부(14)를 바이패스시켜서 체크 섬 산출부(16)로 직접 공급하는 경로를 설치함과 더불어, 다수결 판정부(24)와 리드ㆍ멀러부호화부(26)간에도 절환스위치(34)를 접속시켜서, 스위치(34)의 절환에 의해 다수결 판정부(24)의 출력을 그대로 복호결과로서 출력하면 된다.
한편, 최우복호를 이용한 경우에는, 수신신호에 대해, 모든 부호어와의 상관을 계산할 필요가 있다. 그러나, 본 발명에서는, 마스크 심볼의 각각에 대해 미리 승산을 함으로써 상관치 계산의 계산량을 저감할 수 있다.
도 3은 도 1의 체크 섬 산출부(16)와 다수결 판정부(18) 부분의 변형례를 나타낸 것으로서, 배타적 논리합부(14)의 출력을 격납하는 메모리(40)와, 메모리(40)로부터 각 비트 데이터를 독출하여 배타적 논리합을 취해서 체크 섬을 계산하는 배타적 논리합부(42), 배타적 논리합부(42)의 출력을 리드ㆍ멀러부호의 종류에 따라 선택하는 체크 섬 선택부(44), 체크 섬 선택부(44)의 출력을 누적가산하는 누적가산부(46), 누적가산부(46)의 출력을 경판정하여 정보비트를 복호하는 판정부(48)로 이루어져 있다.
리드ㆍ멀러부호는 메모리(40)에 격납된다. 체크 섬은 부호의 종류에 따라 그 조합이 결정되어 있고, 그에 따른 조합의 배타적 논리합이 배타적 논리합부(42)에서 구해진다. 예컨대, 리드ㆍ멀러(32, 6)부호에서는 80개의 체크 섬이 계산됨에 대해, 리드ㆍ멀러(16, 5)부호에서는 32개의 체크 섬을 계산하면 된다. 배타적 논리합부(42)의 출력은, 체크 섬 선택부(44)에 의해 어떤 비트의 부호에 사용되는가가 선택되고, 누적가산기(46)에 의해 누적가산되며, 판정부(48)에 의해 비트의 판정이이루어진다.
이하, 본 발명에 의한 복호장치의 다른 실시형태를 설명한다. 다른 실시형태의 설명에 있어서 제1실시형태와 동일한 부분에는 동일한 참조부호를 붙여서 그 상세한 설명은 생략한다.
(제2실시형태)
도 4에 제2실시형태의 회로도를 나타냈다. 도 4는 도 1의 복호장치를 그 성능이 변하지 않도록 간이화한 것이다. 제1실시형태와 마찬가지로, 마스크 심볼을 이용한 리드ㆍ멀러(32, 10)부호를 예로 들어 설명한다.
도 1의 배타적 논리합부(22)의 출력[(5)식]과, 리드ㆍ멀러부호화부(26)의 출력[(7)식]과 경판정부(10)의 출력[(2)식]의 유클리드 거리[(8)식]에 주목하면, 양자의 상이한 점은, (8)식에는 (5)식에 포함되어 있지 않은 d0',C0이 존재하는 것 뿐이다. d0'=0인 경우는 (5)식과 (8)식은 동일하다. d0'=1인 경우는 C0가 모두 1의 계열이기 때문에 (8)식은 (5)식의 0과 1을 반전시킨 것으로 된다.
이로써, 배타적 논리합부(22)의 출력[(5)식]과, 그 0과 1을 반전시킨 것의 어느 것인가에 대해, 유클리드 거리가 작은 것이 올바른 부호라고 생각할 수 있다. 즉, 도 1의 다수결 판정부(24), 리드ㆍ멀러부호화부(26), 유클리드 거리 산출부(28)는 생략가능하다.
(5)식의 각 성분을 누적가산한 결과는, 수신부호화 계열[(2)식]과, 본 복호장치에서 판정한 d0'~d9'(단, d0'=0)을 리드ㆍ멀러(32, 10)부호화한 계열과의 유클리드 거리에 상당한다(누적가산결과에 포함되는 1의 수가 거리로 된다). (5)식의 0과 1을 반전시킨 것의 각 성분을 누적가산한 결과는, 수신부호화 계열[(2)식]과, 본 복호장치에서 판정한 d0'~d9'(단, d0'=1)을 리드ㆍ멀러(32, 10)부호화한 계열과의 유클리드 거리에 상당한다.
그 때문에, 배타적 논리합부(22)의 출력이 반전검출부(54)에 입력되어, 배타적 논리합부(22)의 출력의 각 성분의 누적가산결과와, 배타적 논리합부(22)의 출력의 각 성분의 0과 1을 반전시킨 것의 누적가산결과와의 대소관계가 판정되고, 작은 쪽이 선택되어 최소거리 검출부(30)에 공급된다.
이 처리를, d6~d9에 대응한 16가지의 모든 마스크 패턴에 관해 행하고, 최소거리 검출부(30)에 의해 최소의 유클리드 거리가 검출된다. 그 때의 d0'~d9'이 올바른 것으로 간주되고, 복호가 완료된다.
제2실시형태도 제1실시형태와 마찬가지로, 종래의 리드ㆍ멀러(32, 6)부호의 복호장치로서도 사용할 수 있도록, 절환스위치(32, 34)가 접속되어 있다.
도 5는 제2실시형태의 플로우 차트이다. 스텝 S24에서 배타적 논리합부(22)가 배타적 논리합부(14)의 출력[(3)식]과, 직교부호 승산부(20)의 출력[(4)식]의 배타적 논리합을 구하기까지는 제1실시형태와 동일하다. 본 실시형태에서는, 그 후, 스텝 S40에서, 반전검출부(54)가 배타적 논리합부(22)의 출력의 각 성분의 누적가산과, 배타적 논리합부(22)의 출력의 각 성분의 0과 1을 반전시킨 것의 누적가산을 구한다. 스텝 S42에서, 그 중의 작은 것을 선택하여, 최소거리 검출부(30)에공급한다.
그 후, 스텝 S32에서 모든 마스크 패턴에 대해 상기 처리를 행하였는가 아닌가를 판정하고, 미처리의 마스크 패턴이 남아 있는 경우에는, 스텝 S34에서 다음의 마스크 패턴이 지정되고, 스텝 S14의 마스크 패턴 독출 이후의 처리가 반복되는 것은 제1실시형태와 동일하다. 16종류의 마스크 패턴의 모두에 대해 상기 처리가 행하여진 경우에는, 스텝 S36에서 최소거리 검출부(30)가 반전검출부(54)의 16개의 출력의 최소치를 구한다.
(제3실시형태)
도 6은 본 발명의 제3실시형태에 관한 리드ㆍ멀러(32, 10)부호의 복호장치의 구성을 나타낸 도면이다. 제1, 제2실시형태는 경판정을 행하였지만, 제3실시형태는 연판정(軟判定)을 행한다. 제1실시형태와 마찬가지로, 다음과 같이 각 신호를 정의한다.
"^"는 배타적 논리합을 나타낸다. 2개의 벡터 A와 B에 대해, 식 "A^B"는 각각의 벡터 성분의 배타적 논리합을 나타낸다.
벡터 A에 대해 m(A)는 벡터의 각 성분에 대해 0을 +1로, 1을 -1로 변경한 것이다.
부호화되는 10비트의 정보계열을 d0, d1, d2, d3, d4, d5, d6, d7, d8, d9라 한다. 각 비트 dn은 0 혹은 1이다.
부호화에 사용되는 직교부호계열을 C0, C1, C2, C3, C4, C5라 한다. 각 계열Cn은 32비트의 계열이고, 그 32개의 요소는 0 혹은 1이다. 한편, C0은 모두 1의 계열이다.
마찬가지로, 부호화에 사용되는 마스크 심볼계열을 M1, M2, M3, M4라 한다. 각 계열 Mn은 32비트의 계열이다. 마스크 심볼계열과 정보계열의 배타적 논리합인 마스크 패턴 d6M1^d7M2^d8M3^d9M4는 24=16 패턴이다.
부호화 장치는 상기 정보계열 d를 직교부호계열 C0~C5와 마스크 심볼계열 M1~M4에 기초하여 부호화하여, 다음과 같은 32비트 부호화 비트계열 m(s)를 출력한다. 여기에서, 정보계열의 각 비트에 승산되는 직교부호계열, 마스크 심볼계열은 미리 결정되어 있다.
m(s)=m(d0C0^d1C1^d2C2^d3C3^d4C4^d5C5^d6M1^d7M2^d8M3^d9M4) (21)
본 실시형태에서는, 이 부호화 비트계열 m(s)에 전송로나 잡음에 의한 오류계열 e가 더해진 다음과 같은 신호가 도 6의 복호장치에 입력된다.
m(d0C0^d1C1^d2C2^d3C3^d4C4^d5C5^d6M1^d7M2^d8M3^d9M4)+E (22)
이 수신부호화 비트계열은 메모리(12)로부터 독출된 마스크 패턴의 하나를 ±1로 나타낸 것과 승산부(60)에 의해 승산된다.
승산부(60)의 출력이 제1실시형태와 마찬가지로 체크 섬 산출부(16)에 공급되어, 체크 섬이 계산된다. 체크 섬은 d0~d9까지의 10비트의 정보계열 중, d1~d5의 5비트에 대해 각각 16개 계산된다.
이 합계 80개의 체크 섬 산출부(16)의 출력은 다수결 판정부(18)에 의해 다수결 판정되고, d1'~d5'이 복호된다. 구체적으로는, 체크 섬의 출력이 정(正)이라면 0으로 판정하고, 부(負)라면 1로 판정한다.
이 5비트의 정보계열에 대해, 직교부호 승산부(20)에 의해 대응하는 직교부호가 승산된다.
승산부(60)의 출력과, 직교부호 승산부(20)의 출력을 ±1로 나타낸 것이 승산부(62)에 의해 승산된다. 제1실시형태와 마찬가지로, 승산부(62)의 출력이 다수결 판정부(24)에서 판정됨으로써, d0'이 복호된다. 구체적으로는, 승산부(62)의 출력이 정이라면 정보계열의 각 비트를 0으로 판정하고, 부라면 1로 판정한다. 다수결 판정부(24)에 의해 정보계열의 비트 d0'이 확정된 때, 이 확정에 사용된 마스크 패턴으로부터 정보계열의 비트 d6'~d9'을 알 수 있다.
이상의 조작에 의해, 정보계열의 각 비트 d0'~d9'이 확정된다. 이 정보계열을 리드ㆍ멀러부호화부(26)에 의해 다시 리드ㆍ멀러부호화한다. 리드ㆍ멀러부호화부(26)의 출력은 상관연산부(64)에 공급되어, 수신부호화 비트계열과의 상관이 계산된다.
상기 처리를 16가지의 모든 마스크 패턴에 대해 행하고, 최대치 검출부(66)에 의해 상관의 최대치를 검출한다. 최대치가 검출된 때의 d0'~d9'이 올바른 것으로간주되고, 복호가 완료된다.
도 7은 제3실시형태의 플로우 차트이다.
스텝 S60에서, 마스크 패턴이 1개 지정되고, 스텝 S62에서, 이 지정된 1개의 마스크 패턴이 메모리(12)로부터 독출되며, 스텝 S64에서 승산부(60)가 수신부호화 비트계열과 마스크 패턴을 승산한다.
메모리(12)는 표 1의 직교부호계열 C0~C5와 마스크 심볼계열 M1~M4, 더욱이 표 1에는 나타내지 않은 마스크 패턴 d6M1^d7M2^d8M3^d9M4를 격납한다. i는 비트위치를 나타낸다.
메모리(12)로부터 독출된 마스크 패턴을 M'=m(d6'M1^d7'M2^d8'M3^d9'M4)라 한다면, 수신부호화 비트계열과 마스크 패턴의 승산결과는 다음과 같이 된다.
m(d0C0^d1C1^d2C2^d3C3^d4C4^d5C5^(d6^d6')M1^(d7^d7')M2^(d8^d8')M3^(d9^d9')M4)+E (23)
스텝 S66에서, 체크 섬 산출부(16)가 승산부(60)의 출력[식(23)]의 체크 섬을 계산한다. 체크 섬은 d0~d9까지의 10비트의 정보계열 중, d1~d5의 5비트에 대해 각각 16개 계산된다.
스텝 S68에서, 다수결 판정부(18)가 이 합계 80개의 출력을 다수결 판정 처리하여, d1'~d5'을 복호한다. 구체적으로는, 체크 섬의 출력에 관해 정이라면 0으로 판정하고, 부라면 1로 판정한다.
스텝 S70에서, 직교부호 승산부(20)가 이 5비트의 정보계열 d1'~d5'에, 그것에 대응하는 직교부호를 승산한다. 직교부호 승산부(20)의 출력은 다음과 같이 된다.
m(d1'C1^d2'C2^d3'C3^d4'C4^d5'C5) (24)
스텝 S72에서, 승산부(62)가 승산부(60)의 출력[(23)식]과, 직교부호 승산부(20)의 출력[(24)식]을 승산한다. 승산부(62)의 출력은 다음과 같이 된다.
m(d0C0^(d1^d1')C1^(d2^d2')C2^(d3^d3')C3^(d4^d4')C4^(d5^d5')C5^(d6^d6')M1^(d7^d7')M2^(d8^d8')M3^(d9^d9')M4)+E (25)
여기에서, 혹시 d1'~d9'이 올바르게 복호되어 있다면, (dn^dn')Cn(n=1, 2, ---, 9)의 항은 0벡터가 된다. 이 경우, 승산부(62)의 출력[(25)식]은 다음과 같이 된다.
m(d0C0)+E (26)
C0은 모두 1의 계열이기 때문에, 승산부(62)의 출력[(26)식]을 다수결 판정부(24)에서 판정하는 것으로 d0'이 얻어진다(스텝 S74). 구체적으로는, 승산부(62)의 출력[(26)식]이 정이라면 정보계열의 각 비트를 0으로 판정하고, 부라면 1로 판정한다. 다수결 판정부(24)에 의해 정보계열의 비트 do'이 확정된 때, 이 확정에 사용된 마스크 패턴으로부터 정보계열의 비트 d6'~d9'을 알 수 있다. 이상의 조작에의해, 정보계열의 각 비트 d0'~d9'이 확정된다.
스텝 S76에서, 리드ㆍ멀러부호화부(26)가 이 정보계열 d0'~d9'을 리드ㆍ멀러부호화하여, 다음과 같은 부호화 계열이 얻어진다.
m(d0'C0^d1'C1^d2'C2^d3'C3^d4'C4^d5'C5^d6'M1^d7'M2^d8'M3^d9'M4) (27)
스텝 S78에서, 상관연산부(64)가 리드ㆍ멀러부호화부(26)의 출력[(27)식]과 수신계열[(22)식]의 상관을 계산한다. 구체적으로는, 우선, 리드ㆍ멀러부호화부(26)의 출력[(27)식]과 수신부호화 계열[(22)식]의 승산결과가 다음과 같이 구해진다.
m((d0^d0')C0^(d1^d1')C1^(d2^d2')C2^(d3^d3')C3^(d4^d4')C4^(d5^d5')C5^(d6^d6')M1^(d7^d7')M2^(d8^d8')M3^(d9^d9')M4)+E (28)
(28)식은 32비트의 계열이고, 그들 32비트의 누적가산결과가 리드ㆍ멀러부호화부(26)의 출력[(27)식]과 수신부호화 계열[(22)식]의 상관을 나타낸다.
스텝 S80에서, 메모리(12)내의 16종류의 마스크 패턴의 모두에 대해 상기 처리를 행하였는가 아닌가가 판정된다. 미처리의 마스크 패턴이 남아 있는 경우에는 스텝 S82에서 다음의 마스크 패턴이 지정되어, 스텝 S62의 마스크 패턴 독출 이후의 처리가 반복된다.
메모리(12)내의 16종류의 마스크 패턴의 모두에 대해 상기 처리가 행하여진 경우에는, 스텝 S84에서, 최대치 검출부(66)가 최대의 상관치를 검출한다. 그 최대치가 얻어진 때의 마스크 패턴에 기초하여, d6'~d9'이 복호되어, 다수결 판정부(18)에 의해 복호된 d1'~d5'과, 다수결 판정부(24)에 의해 복호된 d0'과 더불어, 정보계열 d0'~d9'이 복호된다.
이상에서 설명한 것처럼, 본 실시형태에 의하면, 마스크 심볼을 이용한 리드ㆍ멀러부호로부터 마스크 심볼을 떼어 낸 것을 다수결 판정에 의해 리드ㆍ멀러 복호하고, 그 복호결과에 마스크 심볼을 더한 것을 리드ㆍ멀러부호화하며, 이 부호화 출력과 본래의 부호의 상관을 구하는 처리를 마스크 심볼의 수만큼 반복하고, 최대의 상관에 대응하는 마스크 심볼을 구하며, 이 마스크 심볼로부터 정보비트를 복호한다. 이 때문에, 다수결 판정시에 계산해야만 하는 체크 섬은 마스크 심볼을 이용하지 않는 리드ㆍ멀러부호를 복호하는 경우에 비해 늘어나는 일이 없다. 이 때문에, 연산량, 하드웨어의 규모를 저감할 수 있는 복호장치를 제공할 수 있다. 더욱이, 연판정이므로, 경판정의 다수결 판정보다도 정밀도가 좋고, 양호한 품질을 얻을 수 있다.
제3실시형태도 제1실시형태와 마찬가지로, 종래의 리드ㆍ멀러(32, 6)부호의 복호장치로서도 사용할 수 있도록, 절환스위치(32, 34)가 접속되어 있다.
도 8은 도 6의 체크 섬 산출부(16)와 다수결 판정부(18) 부분의 변형례이다. 도 8은 도 3과는, 메모리(40)로부터 각 비트 데이터를 독출하여 배타적 논리합을 취해서 체크 섬을 계산하는 배타적 논리합부(42) 대신에 승산부(70)가 설치되어 있는 점만이 다르고, 여타 부분은 동일하다.
(제4실시형태)
도 9에 제4실시형태의 회로도를 나타냈다. 도 9는 도 6의 복호장치를 그 성능이 변하지 않도록 간이화한 것이다. 제3실시형태와 마찬가지로, 마스크 심볼을 이용한 리드ㆍ멀러(32, 10)부호를 예로 들어 설명한다.
도 6의 승산부(62)의 출력[(25)식]과, 리드ㆍ멀러부호화부(26)의 출력[(27)식]과 수신부호화 계열[(22)식]의 상관[(28)식]에 주목하면, 양자의 상이한 점은, (28)식에는 (25)식에 포함되어 있지 않은 d0',C0이 존재하는 것 뿐이다. d0'=0인 경우는 (25)식과 (28)식은 동일하다. d0'=1인 경우는 C0가 모두 1의 계열이기 때문에 (28)식은 (25)식의 0과 1을 반전시킨 것으로 된다.
이로써, 승산부(62)의 출력[(25)식]의 각 성분의 총합과, 그 0과 1을 반전시킨 것의 각 성분의 총합의 어느 것인가에 대해, 값이 큰 것이 그대로 상관치로서 사용될 수 있게 된다. 즉, 도 6의 다수결 판정부(24), 리드ㆍ멀러부호화부(26), 상관연산부(64)는 생략가능하다.
(25)식의 각 성분을 누적가산한 결과는, 수신부호화 계열[(22)식]과, 본 복호장치에서 판정한 d0'~d9'(단, d0'=0)을 리드ㆍ멀러(32, 10)부호화한 계열과의 상관치이다. (25)식의 0과 1을 반전시킨 것의 각 성분을 누적가산한 결과는, 수신부호화 계열[(22)식]과, 본 복호장치에서 판정한 d0'~d9'(단, d0'=1)을 리드ㆍ멀러(32, 10)부호화한 계열과의 상관치이다.
그 때문에, 승산부(62)의 출력이 반전검출부(78)에 입력되어, 승산부(62)의출력의 각 성분의 누적가산결과와, 승산부(62)의 출력의 각 성분의 0과 1을 반전시킨 것의 누적가산결과와의 대소관계가 판정되고, 큰 쪽이 선택되어 최대치 검출부(66)에 공급된다.
이 처리를, d6~d9에 대응한 16가지의 모든 마스크 패턴에 관해 행하고, 최대치 검출부(66)에 의해 최대의 상관치가 검출된다. 그 때의 d0'~d9'이 올바른 것으로 간주되고, 복호가 완료된다.
제4실시형태도 제3실시형태와 마찬가지로, 종래의 리드ㆍ멀러(32, 6)부호의 복호장치로서도 사용할 수 있도록, 절환스위치(32, 34)가 접속되어 있다.
도 10은 제4실시형태의 플로우 차트이다. 스텝 S72에서 승산부(62)가 승산부(60)의 출력[(23)식]과, 직교부호 승산부(20)의 출력[(24)식]을 승산하기까지는 제3실시형태와 동일하다. 본 실시형태에서는, 그 후, 스텝 S90에서, 반전검출부(78)가 승산부(62)의 출력의 각 성분의 누적가산과, 승산부(62)의 출력의 각 성분의 0과 1을 반전시킨 것의 누적가산을 구한다. 스텝 S92에서, 그 중의 큰 것을 선택하여, 최대치 검출부(66)에 공급한다.
그 후, 스텝 S80에서 모든 마스크 패턴에 대해 상기 처리를 행하였는가 아닌가를 판정하고, 미처리의 마스크 패턴이 남아 있는 경우에는, 스텝 S82에서 다음의 마스크 패턴이 지정되고, 스텝 S62의 마스크 패턴 독출 이후의 처리가 반복되는 것은 제3실시형태와 동일하다. 16종류의 마스크 패턴의 모두에 대해 상기 처리가 행하여진 경우에는, 스텝 S84에서 최대치 검출부(66)가 반전검출부(78)의 16개의 출력의 최대치를 구한다.
변형례
본 발명은 상기 각 실시형태에 한정되는 것은 아니고, 실시단계에서는 그 취지를 벗어나지 않는 범위에서 여러 가지로 변형할 수 있다. 또한, 각 실시형태는 가능한 한 적절하게 조합하여 실시해도 되고, 그런 경우에는 조합효과를 얻을 수 있다. 더욱이, 상기 실시형태에는 여러 가지 단계의 발명이 포함되어 있고, 개시된 복수의 구성요건에 있어서의 적절한 조합에 의해 여러 가지의 발명을 추출할 수 있다. 예컨대, 실시형태에 나타나는 모든 구성요건으로부터 몇개인가의 구성요건이 삭제되어도, 발명이 이루고자 하는 기술적 과제의 설명란에서 서술한 과제 중 적어도 1개를 해결할 수 있고, 발명의 효과의 설명란에 서술되어 있는 효과 중 적어도 1개가 얻어지는 경우에는, 그 구성요건이 삭제된 구성이 발명으로서 추출될 수 있다.
이상에서 설명한 바와 같이 본 발명에 의하면, 마스크 심볼을 이용한 리드ㆍ멀러부호를 복호함에 있어서, 연산량 및 장치 규모를 저감한 복호장치 및 복호방법을 제공할 수 있다.

Claims (20)

  1. 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호장치에 있어서,
    부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호와의 배타적 논리합과, 상기 리드ㆍ멀러부호와의 배타적 논리합을 취하는 연산부와,
    상기 연산부의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제1복호부,
    상기 제1복호부의 출력과 직교부호와의 승산결과와, 상기 연산부의 출력과의 배타적 논리합을 취하고, 배타적 논리합을 다수결 판정하며, 상기 제2부분의 나머지 부분을 복호하는 제2복호부,
    상기 제1, 제2복호부에 의해 복호된 상기 제2부분의 전부와, 상기 제1부분을 리드ㆍ멀러부호화하는 리드ㆍ멀러부호화부,
    부호화에 사용될 가능성이 있는 복수의 마스크 심볼을 상기 연산부에 공급한 때의 상기 리드ㆍ멀러부호화부의 출력과, 상기 연산부에 공급되는 리드ㆍ멀러부호와의 유클리드 거리의 최소치를 검출하는 최소거리 검출부를 구비하고,
    유클리드 거리의 최소치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호장치.
  2. 제1항에 있어서, 부호화에 사용될 가능성이 있는 복수의 마스크 심볼과 그 마스크 심볼에 대응하는 복수의 정보신호의 제1부분과의 복수의 배타적 논리합을 기억하는 메모리를 더 구비하고,
    상기 연산부는 상기 리드ㆍ멀러부호와 상기 메모리에 기억되어 있는 복수의 배타적 논리합의 각각과의 배타적 논리합을 순차 구하는 것을 특징으로 하는 복호장치.
  3. 제1항 또는 제2항에 있어서, 상기 연산부에 공급되는 리드ㆍ멀러부호를 경판정하는 경판정부를 더 구비한 것을 특징으로 하는 복호장치.
  4. 제1항 또는 제2항에 있어서, 상기 제1복호부는, 상기 연산부의 출력을 격납하는 메모리와, 상기 메모리로부터 각 비트 데이터를 독출하여 배타적 논리합을 취해서 체크 섬을 계산하는 연산기, 상기 연산기의 출력을 리드ㆍ멀러부호의 종류에 따라 선택하는 체크 섬 선택기, 상기 체크 섬 선택기의 출력을 누적가산하는 누적가산기, 상기 누적가산기의 출력을 경판정하여 정보비트를 복호하는 경판정기를 구비한 것을 특징으로 하는 복호장치.
  5. 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호방법에 있어서,
    부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와의 배타적 논리합을 취하는 제1스텝과,
    상기 제1스텝의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제2스텝,
    상기 제2스텝의 출력과 직교부호와의 승산결과와, 상기 제1스텝의 출력과의 배타적 논리합을 취하고, 배타적 논리합을 다수결 판정하며, 상기 제2부분의 나머지 부분을 복호하는 제3스텝,
    상기 제2, 제3스텝에 의해 복호된 상기 제2부분의 전부와, 상기 제1부분을 리드ㆍ멀러부호화하는 제4스텝,
    상기 제1스텝으로부터 제4스텝까지를 부호화에 사용될 가능성이 있는 복수의 마스크 심볼에 대해 실행한 때의 상기 제4스텝의 출력과, 상기 제1스텝에서 사용되는 리드ㆍ멀러부호와의 유클리드 거리의 최소치를 검출하는 제5스텝을 구비하고,
    유클리드 거리의 최소치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호방법.
  6. 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호장치에 있어서,
    부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와의 배타적 논리합을 취하는 제1연산부와,
    상기 제1연산부의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분을 복호하는 복호부,
    상기 복호부의 출력과 직교부호와의 승산결과의 각 비트성분의 제1누적가산과, 그 승산결과의 각 비트성분의 반전성분의 제2누적가산을 구하고, 그 제1, 제2누적가산결과의 유클리드 거리의 보다 작은 것을 구하는 제2연산부,
    부호화에 사용될 가능성이 있는 복수의 마스크 심볼을 상기 제1연산부에 공급한 때의 상기 제2연산부의 출력의 최소치를 검출하는 최소거리 검출부를 구비하고,
    누적가산의 최소치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호장치.
  7. 제6항에 있어서, 부호화에 사용될 가능성이 있는 복수의 마스크 심볼과 그 마스크 심볼에 대응하는 복수의 정보신호의 제1부분과의 복수의 배타적 논리합을 기억하는 메모리를 더 구비하고,
    상기 제1연산부는 상기 리드ㆍ멀러부호와 상기 메모리에 기억되어 있는 복수의 배타적 논리합의 각각과의 배타적 논리합을 순차 구하는 것을 특징으로 하는 복호장치.
  8. 제6항 또는 제7항에 있어서, 상기 제1연산부에 공급되는 리드ㆍ멀러부호를 경판정하는 경판정부를 더 구비한 것을 특징으로 하는 복호장치.
  9. 제6항 또는 제7항에 있어서, 상기 복호부는, 상기 제1연산부의 출력을 격납하는 메모리와, 상기 메모리로부터 각 비트 데이터를 독출하여 배타적 논리합을 취해서 체크 섬을 계산하는 연산기, 상기 연산기의 출력을 리드ㆍ멀러부호의 종류에 따라 선택하는 체크 섬 선택기, 상기 체크 섬 선택기의 출력을 누적가산하는 누적가산기, 상기 누적가산기의 출력을 경판정하여 정보비트를 복호하는 경판정기를 구비한 것을 특징으로 하는 복호장치.
  10. 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호방법에 있어서,
    부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와의 배타적 논리합을 취하는 제1스텝과,
    상기 제1스텝의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분을 복호하는 제2스텝,
    상기 제2스텝의 출력과 직교부호와의 승산결과의 각 비트성분의 제1누적가산과, 그 승산결과의 각 비트성분의 반전성분의 제2누적가산을 구하고, 그 제1, 제2누적가산결과의 유클리드 거리의 보다 작은 것을 구하는 제3스텝,
    상기 제1스텝으로부터 제3스텝까지를 부호화에 사용될 가능성이 있는 복수의 마스크 심볼에 대해 실행한 때의 상기 제3스텝의 출력의 최소치를 검출하는 제4스텝을 구비하고,
    누적가산의 최소치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호방법.
  11. 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호장치에 있어서,
    부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와를 승산하는 연산부와,
    상기 연산부의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제1복호부,
    상기 제1복호부의 출력과 직교부호와의 승산결과와, 상기 연산부의 출력과의 승산결과를 다수결 판정하고, 상기 제2부분의 나머지 부분을 복호하는 제2복호부,
    상기 제1, 제2복호부에 의해 복호된 상기 제2부분의 전부와, 상기 제1부분을 리드ㆍ멀러부호화하는 리드ㆍ멀러부호화부,
    부호화에 사용될 가능성이 있는 복수의 마스크 심볼을 상기 연산부에 공급한 때의 상기 리드ㆍ멀러부호화부의 출력과, 상기 연산부에 공급되는 리드ㆍ멀러부호와의 상관의 최대치를 검출하는 최대치 검출부를 구비하고,
    상관의 최대치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호장치.
  12. 제11항에 있어서, 부호화에 사용될 가능성이 있는 복수의 마스크 심볼과 그 마스크 심볼에 대응하는 복수의 정보신호의 제1부분과의 복수의 배타적 논리합을 기억하는 메모리를 더 구비하고,
    상기 연산부는 상기 리드ㆍ멀러부호와 상기 메모리에 기억되어 있는 복수의 배타적 논리합의 각각과를 순차 승산하는 것을 특징으로 하는 복호장치.
  13. 제11항 또는 제12항에 있어서, 상기 제1복호부는, 상기 연산부의 출력을 격납하는 메모리와, 상기 메모리로부터 각 비트 데이터를 독출하여 승산해서 체크 섬을 계산하는 연산기, 상기 연산기의 출력을 리드ㆍ멀러부호의 종류에 따라 선택하는 체크 섬 선택기, 상기 체크 섬 선택기의 출력을 누적가산하는 누적가산기를 구비한 것을 특징으로 하는 복호장치.
  14. 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호방법에 있어서,
    부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와를 승산하는 제1스텝과,
    상기 제1스텝의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제2스텝,
    상기 제2스텝의 출력과 직교부호와의 승산결과와, 상기 제1스텝의 출력과의 승산결과를 다수결 판정하고, 상기 제2부분의 나머지 부분을 복호하는 제3스텝,
    상기 제2, 제3스텝에 의해 복호된 상기 제2부분의 전부와, 상기 제1부분을 리드ㆍ멀러부호화하는 제4스텝,
    상기 제1스텝으로부터 제4스텝까지를 부호화에 사용될 가능성이 있는 복수의 마스크 심볼에 대해 실행한 때의 상기 제4스텝의 출력과, 상기 제1스텝에서 사용되는 리드ㆍ멀러부호와의 상관의 최대치를 검출하는 제5스텝을 구비하고,
    상관의 최대치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호방법.
  15. 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호장치에 있어서,
    부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와를 승산하는 제1연산부와,
    상기 제1연산부의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 복호부,
    상기 복호부의 출력과 직교부호와의 승산결과의 각 비트성분의 제1누적가산과, 그 승산결과의 각 비트성분의 반전성분의 제2누적가산을 구하고, 그 제1, 제2누적가산의 보다 큰 것을 구하는 제2연산부,
    부호화에 사용될 가능성이 있는 복수의 마스크 심볼을 상기 제1연산부에 공급한 때의 상기 제2연산부의 출력의 최대치를 검출하는 최대치 검출부를 구비하고,
    누적가산의 최대치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호장치.
  16. 제15항에 있어서, 부호화에 사용될 가능성이 있는 복수의 마스크 심볼과 그 마스크 심볼에 대응하는 복수의 정보신호의 제1부분과의 복수의 배타적 논리합을 기억하는 메모리를 더 구비하고,
    상기 연산부는 상기 리드ㆍ멀러부호와 상기 메모리에 기억되어 있는 복수의 배타적 논리합의 각각과를 순차 승산하는 것을 특징으로 하는 복호장치.
  17. 제15항 또는 제16항에 있어서, 상기 복호부는, 상기 제1연산부의 출력을 격납하는 메모리와, 상기 메모리로부터 각 비트 데이터를 독출하여 승산해서 체크 섬을 계산하는 연산기, 상기 연산기의 출력을 리드ㆍ멀러부호의 종류에 따라 선택하는 체크 섬 선택기, 상기 체크 섬 선택기의 출력을 누적가산하는 누적가산기를 구비한 것을 특징으로 하는 복호장치.
  18. 마스크 심볼과 직교부호를 이용하여 정보신호를 부호화한 리드ㆍ멀러부호의 복호방법에 있어서,
    부호화에 사용될 가능성이 있는 1개의 마스크 심볼과 그 마스크 심볼에 대응하는 정보신호의 제1부분과의 배타적 논리합과, 상기 리드ㆍ멀러부호와를 승산하는 제1스텝과,
    상기 제1스텝의 출력의 체크 섬을 계산하고, 그 체크 섬을 다수결 판정하며, 직교부호에 대응하는 정보신호의 제2부분의 일부를 복호하는 제2스텝,
    상기 제2스텝의 출력과 직교부호와의 승산결과의 각 비트성분의 제1누적가산과, 그 승산결과의 각 비트성분의 반전성분의 제2누적가산을 구하고, 그 제1, 제2누적가산의 보다 큰 것을 구하는 제3스텝,
    상기 제1스텝으로부터 제3스텝까지를 부호화에 사용될 가능성이 있는 복수의 마스크 심볼에 대해 실행한 때의 상기 제3스텝의 최대치를 검출하는 제4스텝을 구비하고,
    누적가산의 최대치가 얻어지는 마스크 심볼에 기초하여 상기 제1부분을 복호하는 복호방법.
  19. 제3항에 있어서, 상기 제1복호부는, 상기 연산부의 출력을 격납하는 메모리와, 상기 메모리로부터 각 비트 데이터를 독출하여 배타적 논리합을 취해서 체크 섬을 계산하는 연산기, 상기 연산기의 출력을 리드ㆍ멀러부호의 종류에 따라 선택하는 체크 섬 선택기, 상기 체크 섬 선택기의 출력을 누적가산하는 누적가산기, 상기 누적가산기의 출력을 경판정하여 정보비트를 복호하는 경판정기를 구비한 것을 특징으로 하는 복호장치.
  20. 제8항에 있어서, 상기 복호부는, 상기 제1연산부의 출력을 격납하는 메모리와, 상기 메모리로부터 각 비트 데이터를 독출하여 배타적 논리합을 취해서 체크 섬을 계산하는 연산기, 상기 연산기의 출력을 리드ㆍ멀러부호의 종류에 따라 선택하는 체크 섬 선택기, 상기 체크 섬 선택기의 출력을 누적가산하는 누적가산기, 상기 누적가산기의 출력을 경판정하여 정보비트를 복호하는 경판정기를 구비한 것을 특징으로 하는 복호장치.
KR10-2001-0015685A 2000-03-29 2001-03-26 복호장치 및 복호방법 KR100380788B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000092163 2000-03-29
JP2000-92163 2000-03-29
JP2001-71358 2001-03-14
JP2001071358A JP3923743B2 (ja) 2000-03-29 2001-03-14 復号装置及び復号方法

Publications (2)

Publication Number Publication Date
KR20010100847A KR20010100847A (ko) 2001-11-14
KR100380788B1 true KR100380788B1 (ko) 2003-04-18

Family

ID=26588768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0015685A KR100380788B1 (ko) 2000-03-29 2001-03-26 복호장치 및 복호방법

Country Status (4)

Country Link
US (1) US6912685B2 (ko)
EP (1) EP1143624A3 (ko)
JP (1) JP3923743B2 (ko)
KR (1) KR100380788B1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7161960B2 (en) * 2002-03-26 2007-01-09 Nokia Corporation Apparatus, and associated method, for forming, and operating upon, multiple-checksum-protected data packet
US7331012B2 (en) * 2002-09-30 2008-02-12 Seagate Technology Llc System and method for iterative decoding of Reed-Muller codes
KR20040044589A (ko) 2002-11-21 2004-05-31 한국전자통신연구원 다수결 논리를 이용한 rm 부호의 연판정 복호 방법 및그 장치
US7418042B2 (en) * 2003-09-17 2008-08-26 Atheros Communications, Inc. Repetition coding for a wireless system
KR100651343B1 (ko) 2004-09-15 2006-11-29 삼성전자주식회사 이동통신 시스템에서 전송 정보의 부호화/복호화 방법 및장치
GB2430122B (en) * 2005-09-09 2008-07-09 Toshiba Res Europ Ltd A quantum communication system
US8386879B2 (en) * 2007-08-23 2013-02-26 Nec Laboratories America, Inc. GLDPC encoding with Reed-Muller component codes for optical communications
JPWO2011046225A1 (ja) * 2009-10-16 2013-03-07 日本電気株式会社 復号装置および復号方法、並びにプログラム
US8516349B2 (en) 2010-09-02 2013-08-20 Microsoft Corporation Generation and application of a sub-codebook of an error control coding codebook
SG188327A1 (en) * 2010-09-02 2013-04-30 Microsoft Corp Generation and application of a sub-codebook of an error control coding codebook
JP6253121B2 (ja) * 2016-02-12 2017-12-27 マイクロソフト テクノロジー ライセンシング,エルエルシー 誤り制御符号化コードブックのサブコードブックの生成及び適用
US10193574B1 (en) 2016-05-19 2019-01-29 Apple Inc. Efficient syndrome calculation in processing a GLDPC code
KR102328268B1 (ko) * 2017-03-23 2021-11-18 삼성전자 주식회사 무선통신 시스템을 위한 짧은 블록 부호화 및 복호화 장치 및 방법
JP2019054448A (ja) * 2017-09-15 2019-04-04 東芝メモリ株式会社 メモリシステム
US10644837B2 (en) * 2018-08-01 2020-05-05 Nxp B.V. Signal processing with error correction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0653842A (ja) * 1991-12-04 1994-02-25 Philips Gloeilampenfab:Nv Rsコードデータ信号を復号化する方法および回路
JPH0677844A (ja) * 1992-04-28 1994-03-18 Mitsubishi Electric Corp 誤り訂正装置
JPH0750595A (ja) * 1993-08-06 1995-02-21 Toshiba Corp 復号化装置
US5724394A (en) * 1994-07-26 1998-03-03 Sony Corporation Viterbi decoding method and decoder capable of eliminating phase indeterminacy
US5926488A (en) * 1997-08-14 1999-07-20 Ericsson, Inc. Method and apparatus for decoding second order reed-muller codes

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1059823A (en) * 1962-07-25 1967-02-22 Codex Corp Improved apparatus for processing signal information
GB2146875A (en) 1983-09-09 1985-04-24 Racal Res Ltd Communications systems
WO1995010903A1 (fr) * 1993-10-14 1995-04-20 Ntt Mobile Communications Network Inc. Detecteur de correlation et appareil de communication
US6282683B1 (en) * 1994-09-26 2001-08-28 Adc Telecommunications, Inc. Communication system with multicarrier telephony transport
JPH0974359A (ja) 1995-09-04 1997-03-18 Fujitsu Ltd 誤り訂正復号回路
FR2753025B1 (fr) * 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
WO1998011698A1 (en) 1996-09-10 1998-03-19 Hewlett-Packard Company Methods and apparatus for encoding and decoding data
CA2185847A1 (en) * 1996-09-18 1998-03-19 Jean-Paul Chaib Method and apparatus for encoding and decoding digital signals
US6658045B1 (en) * 1999-02-22 2003-12-02 Nortel Networks Limited CDMA communications system adaptive to mobile unit speed
US6662336B1 (en) * 1999-07-06 2003-12-09 Cirrus Logic, Inc. Error correction method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0653842A (ja) * 1991-12-04 1994-02-25 Philips Gloeilampenfab:Nv Rsコードデータ信号を復号化する方法および回路
JPH0677844A (ja) * 1992-04-28 1994-03-18 Mitsubishi Electric Corp 誤り訂正装置
JPH0750595A (ja) * 1993-08-06 1995-02-21 Toshiba Corp 復号化装置
US5724394A (en) * 1994-07-26 1998-03-03 Sony Corporation Viterbi decoding method and decoder capable of eliminating phase indeterminacy
US5926488A (en) * 1997-08-14 1999-07-20 Ericsson, Inc. Method and apparatus for decoding second order reed-muller codes

Also Published As

Publication number Publication date
US6912685B2 (en) 2005-06-28
EP1143624A3 (en) 2003-11-26
KR20010100847A (ko) 2001-11-14
US20010034871A1 (en) 2001-10-25
EP1143624A2 (en) 2001-10-10
JP3923743B2 (ja) 2007-06-06
JP2001345713A (ja) 2001-12-14

Similar Documents

Publication Publication Date Title
KR100380788B1 (ko) 복호장치 및 복호방법
US5471500A (en) Soft symbol decoding
CN113491080B (zh) 多模式信道编码
JPH07312619A (ja) トレリス復号方法
KR20010027540A (ko) 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기
JPS60180222A (ja) 符号誤り訂正装置
KR20010039957A (ko) 비터비 복호장치 및 비터비 복호방법
US20070201586A1 (en) Multi-rate viterbi decoder
US7855665B1 (en) Enumerative DC-RLL constrained coding
EP0619654B1 (en) Error correction using the Euclide algorithm and involving a check on the difference between the degrees of the dividend and divisor polynomials
US7852960B2 (en) Method of computing path metrics in a high-speed Viterbi detector and related apparatus thereof
FI82871C (fi) Kretsanordning foer foerverkligande av en viterbi-algoritm.
RU2284085C1 (ru) Способ декодирования циклического помехоустойчивого кода
US6041086A (en) Signal decoding for either Manhattan or Hamming metric based Viterbi decoders
KR100431162B1 (ko) 코드레이트 검출장치
KR0144837B1 (ko) 최적의 복호경로를 갖는 복호화방법 및 그 장치
JP2001517887A (ja) パンクチュア・コードのビタビ・デコード方法および装置
US6115424A (en) Coding method of dividing information block serving as conversion unit into a plurality of sub-blocks to perform coding for each sub-block, and coding apparatus
JP6552776B1 (ja) 誤り訂正復号装置および誤り訂正復号方法
US6411663B1 (en) Convolutional coder and viterbi decoder
US7178084B2 (en) Short error propagation modulation coding method and device
RU2035123C1 (ru) Устройство для декодирования линейных кодов
SU1736008A1 (ru) Устройство дл декодировани кода Нордстрома-Робинсона в дискретном канале
KR100240868B1 (ko) 다중비율 전송 시스템
KR20040028045A (ko) 비터비 복호기 및 비터비 복호기에서의 가지 값 계산 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120322

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee