KR19990082899A - 어드레스 생성기, 인터리브 유닛, 디인터리브 유닛 및 송신유닛 - Google Patents

어드레스 생성기, 인터리브 유닛, 디인터리브 유닛 및 송신유닛 Download PDF

Info

Publication number
KR19990082899A
KR19990082899A KR1019990011651A KR19990011651A KR19990082899A KR 19990082899 A KR19990082899 A KR 19990082899A KR 1019990011651 A KR1019990011651 A KR 1019990011651A KR 19990011651 A KR19990011651 A KR 19990011651A KR 19990082899 A KR19990082899 A KR 19990082899A
Authority
KR
South Korea
Prior art keywords
address
data
bit
predetermined
generating
Prior art date
Application number
KR1019990011651A
Other languages
English (en)
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
Priority claimed from JP10094734A external-priority patent/JPH11298338A/ja
Priority claimed from JP10121533A external-priority patent/JPH11317677A/ja
Application filed by 이데이 노부유끼, 소니 가부시끼 가이샤 filed Critical 이데이 노부유끼
Publication of KR19990082899A publication Critical patent/KR19990082899A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

소정의 기억수단에/으로부터 데이터를 기입/판독하는 경우에 소정의 순서로 어드레스를 생성하는 어드레스 생성기는 소정의 어드레스 간격을 갖는 복수의 제 1어드레스 데이터를 생성하는 제 1어드레스데이터생성수단과, 어드레스간격내에 1행마다 제 1어드레스데이터의 순차 이동된 위치를 나타내는 복수의 제 2어드레스데이터를 생성하는 제 2어드레스데이터생성수단과, 제 2어드레스데이터를 제 1어드레스데이터에 가산하므로써 소정의 간격을 갖는 어드레스를 순차적으로 생성하는 가산수단을 포함하여 구성된다.

Description

어드레스 생성기, 인터리브 유닛, 디인터리브 유닛 및 송신유닛{Address generator, interleave unit, deinterleave unit, and transmission unit}
본 발명은 어드레스 생성기, 인터리브 유닛, 디인터리브 유닛 및 송신유닛에 관한 것으로, 특히 휴대전화 시스템 등의 무선통신시스템에 적용하기에 적합하다.
이런 유형의 무선통신시스템은 통신서비스 영역이 원하는 크기의 셀로 분할되고 기지국은 각 셀내에 고정국으로서 설치되고, 이동국으로서의 휴대전화기는 그것이 위치한 셀의 기지국과 무선으로 통신하도록 구성되어, 이른바 셀룰러 방식을 이행한다.
휴대전화기와 기지국간의 다양한 통신시스템 중 하나는 부호분할다원접속(CDMA)방식이다. CDMA방식은 송신측에서 의사난수계열부호로 구성된 고유의 의사난수잡음계열(PN)부호를 각 통신선에 할당하고, 이 PN부호를 1차변조신호와 곱하고, 이에의해 오리지널주파수대역폭보다 넓은 대역폭으로 이 PN부호를 확산하고(이하 확산스펙트럼이라 한다), 확산스펙트럼처리된 2차변조파를 전송한다.
이와같은 CDMA방식의 셀룰러시스템이동국은 송신시에 순환용장검사(CRC ; Cyclic Redundancy Check)부호를 음성데이터에 부가하고, 콘벌루션 부호화를 행하고(여기까지의 처리를 부호화라 한다), 그리고나서 이와같이 얻어진 송신기호열을 인터리브처리회로(이하, 인터리버라 한다)에 공급한다. 인터리버는 송신기호의 계열을 소정의 기입순서로 내부 메모리에 기억하고, 기호의 순서를 랜덤하게 재배열하기 위해 기입순서와 다른 판독순서로 송신기호열을 판독한다, 즉 인터리브처리를 행한다. 인터리브된 송신기호의 계열은 소정의 방법으로 변조되고 아날로그송신신호로서 전송된다.
또한, 이동국에서는, 수신시에 수신된 수신신호를 디지털신호로 변환하므로써 생성된 일련의 수신기호 중 각 기호가 송신측과 동일한 패턴을 갖는 기입순서로 내부 메모리에 기억되고, 기입순서와 다른 판독순서로 판독되어 기호의 순서를 복구한다(이하, 디인터리버라 한다). 이후에, 이동국은 비터비복호를 행하고 그리고나서 CRC부호를 통해 에러검출을 행한다.
이 경우에 송신시에 이동국에 의해 콘벌루션 부호화된 일련의 송신기호는 전송경로에서 랜덤(균일)하게 에러를 가지지 않고, 버스트(국부적) 에러를 일으키는 경향이 있다. 이와같은 버스트에러가 해당 부분의 에러정정용량을 초과하면, 몇몇 에러는 정정되지 않은 채로 남아있다. 이와같은 전송경로에서의 고장, 에러는 일련의 송신기호에 인터리브처리를 적용하므로써 에러정정처리를 효율적으로 행할 수 있도록 분배된다.
상기 인터리브처리가 행해질 때, 도 1에 도시된 인터리버에서는, 콘벌루션 부호화처리된 송신기호열데이터(D16)가 입력데이터로서 8비트마다 병렬로 제 1인터리브메모리(2)와 제 2인터리브메모리(3)에 공급된다.
메모리전환제어기(4)는 기입어드레스카운터(5)에 의해 생성된 기입어드레스(WA1)를 제 1어드레스선택기(6)를 통해 제 1인터리브메모리(2)에만 출력한다. 따라서, 제 1인터리브메모리(2)는 기입어드레스(WA1)에 따라 송신기호열데이터(D16)를 8비트단위로 소정의 영역에 기입한다.
기입어드레스(WA1)가 제 2어드레스선택기(10)에도 출력되지만, 제 2어드레스선택기(10)는 메모리전환제어기(4)의 제어하에 판독어드레스를 출력하므로 기입어드레스(WA1)는 제 2어드레스선택기(10)에서 제 2인터리브메모리(3)로 출력되지 않는다.
다음으로 메모리전환제어기(4)는 판독어드레스생성기(7)의 판독어드레스카운터(8)에 의해 생성된 판독어드레스(RA0)를 어드레스변환롬(9)에 전송한다. 어드레스변환롬(9)은 판독어드레스(RA0)를, 판독어드레스(RA0)에 따라 기입순서를 랜덤한 순서로 재배열하기 위해 지정된 새로운 판독어드레스(RA1)로 변환하고, 그리고나서 이 어드레스(RA1)를 제 1어드레스선택기(6)를 통해 제 1인터리브메모리(2)에만 출력한다.
여기에서 판독어드레스(RA1)는 제 2어드레스선택기(10)에도 출력된다. 제 2어드레스선택기(10)는 메모리전환제어기(4)의 제어하에 기입어드레스(WA1)를 출력하므로, 판독어드레스(RA1)는 제 2어드레스선택기(10)로부터 제 2인터리브메모리(3)에는 출력되지 않는다.
제 1인터리브메모리(2)는 판독어드레스(RA1)에 따라 8비트단위로 방금 기입된 송신기호열데이터(D16)를 판독하고, 이 송신기호열데이터(D16)를 데이터 선택기(11)를 통해 인터리브변환데이터(D2)로서 출력한다. 판독어드레스(RA1)는 어드레스변환롬(9)에 의해, 기입처리에 사용된 것과 다른 판독어드레스로 변환되므로, 인터리브변환데이터(D2)가 출력된다.
메모리전환제어기(4)는 인터리브변환데이터(D2)를 제 1인터리브메모리(2)로부터 판독하면서, 기입어드레스(WA1)를 제 2어드레스선택기(10)로부터 제 2인터리브메모리(3)로 출력하여, 그 다음의 송신기호열데이터(D16)를 기입어드레스(WA1)에 따라 제 2인터리브메모리(3)의 소정의 영역에 8비트 단위로 기입한다.
메모리전환제어기(4)가 제 1인터리브메모리(2)로부터 변환데이터(D2)의 판독을 종료하면, 이것은 제 2선택기(10)로 전환하여 판독어드레스생성기(7)로부터 출력된 판독어드레스(RA1)를 제 2어드레스선택기(10)를 통해 제 2인터리브메모리(3)에 출력한다. 따라서, 제 2인터리브메모리(3)는 방금 기입된 송신기호열데이터(D16)를 기입어드레스(WA1)에 따라 8비트단위로 판독하고, 이 송신기호열데이터(D16)를 데이터선택기(11)를 통해 인터리브변환데이터(D3)로서 출력한다.
이때, 메모리전환제어기(4)는 인터리브변환데이터(D3)를 제 2인터리브메모리(3)로부터 판독하면서, 기입어드레스(WA1)를 제 1어드레스선택기(6)로부터 제 1인터리브메모리(2)로 출력한다. 이런식으로, 메모리전환제어기(4)는 인터리브변환데이터(D2)를 제 1인터리브메모리(2)로부터 판독하면서, 송신기호열데이터(D16)를 제 2인터리브메모리(3)에 기입하고, 또한 인터리브변환데이터(D3)를 제 2인터리브메모리(3)로부터 판독하면서, 송신기호열데이터(D16)를 제 1인터리브메모리(2)에 기입하고, 따라서 입력 송신기호열데이터(D16)를 효율적으로 인터리브한다.
이런식으로, 종래의 인터리버(1)는 인터리브처리를 위해 판독어드레스생성기(7)에 어드레스변환롬(9)을 장치하는 것이 필요하다. 전체로서의 이동국은 인터리버(1)에 부가하여, 인터리버(1)의 것과 동일한 어드레스변환롬(9)이 장치된 디인터리버(도시되지 않음)를 필요로 한다. 결과적으로, 이동국은, 인터리브/디인터리브 처리에 사용되는 기입/판독 어드레스패턴의 패턴들이 데이터의 증가와 함께 증가하므로, 어드레스변환롬(9)에 저장될 데이터량이 많아지고, 따라서 회로규모도 커지는 문제가 있다.
도 1에 대응하는 부분에는 동일한 부호를 적용한 도 2에 도시된 바와같이, 인터리버(120)에서, 판독어드레스생성기(121)의 판독어드레스카운터(23)에 의해 생성된 판독어드레스(RA3)는 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 출력되고 판독어드레스(RA3)는 어드레스제어회로(22)로 귀환된다.
이 결과, 어드레스제어회로(22)는 귀환판독어드레스(RA3)에 의거하여 소정의 값을 가산하므로써 소정의 간격을 갖는 판독어드레스(RA3)를 새롭게 생성한다. 어드레스제어회로(22)는 판독어드레스(RA3)를 판독어드레스카운터(23)를 통해 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 출력하고, 이 판독어드레스(RA3)를 어드레스제어회로(22)에 다시 귀환한다.
이 경우에도, 전체로서 이동국은 인터리버(120)에서 어드레스제어회로(22)와 판독어드레스카운터(23)로 구성된 판독어드레스생성기(121)를 필요로하고, 디인터리버(도시되지 않음)의 판독어드레스생성기에서도 동일한 어드레스제어회로와 판독어드레스카운터를 필요로한다. 따라서, 어드레스제어회로(22)의 처리가 인터리브/디인터리브처리에 사용되는 기입/판독어드레스의 패턴이 증가함에 따라 복잡해지는 문제가 있었다.
인터리버(1, 120)에서, 데이터가 제 1인터리브메모리(2)와 제 2인터리브메모리(3)에 기입될 때 사용된 구성은 인터리브패턴에 따라 8비트단위(1바이트)로 간단하게 구성되지 않을 수도 있다. 이와같은 경우에는 메모리가 효율적으로 이용될 수 없는 문제가 있다.
또한, 메모리전환제어기(4)가 제 1인터리브메모리(2)와 제 2인터리브메모리(3)를 번갈아 사용하며 인터리브 처리를 행할 때에는, 복수의 인터리브메모리가 장치되어야 한다. 이것은 총 메모리용량이 증가하여 큰 회로를 필요로 한다는 점에서 불편하다.
한편, 제 1인터리브메모리(2)만이 인터리브처리를 행하는데 사용될 때에는, 메모리전환제어기(4)는 먼저 기억시에 사용되는 기입순서와 다른 판독순서로 제 1인터리브메모리(2)로부터 판독된 프레임"0"데이터를 송신기(12)에 1비트씩 전송한다. 메모리전환제어기(4)는 제 1인터리브메모리(2)로부터 프레임"0" 중 최종 1비트데이터를 판독하고 이 데이터를 송신기(12)에 출력하고, 그리고나서 중단하지 않고 제 1인터리브메모리(2)로부터 그 다음 프레임"1" 중 첫번째 1비트데이터를 판독하고 이 데이터를 송신기(12)에 출력한다.
그런데, 메모리전환제어기(4)가 제 1인터리브메모리(2)로부터 프레임"0"의 최종 1비트데이터를 판독하고 이 데이터를 송신기(12)에 출력할 때로부터 제 1인터리브메모리(2)로부터 그 다음 프레임"1"의 첫번째 1비트 데이터를 판독할 때까지의 매우 짧은 시간주기 동안, 메모리전환제어기(4)가 그 다음 프레임"1"에 대응하는 음성데이터에 CRC부호를 부가하고 콘벌루션부호화를 적용하므로써 생성된 모든 송신기호열을 제 1인터리브메모리(2)에 기억하기 위한 부호화를 행하지 못할 수도 있는 문제가 발생한다.
따라서, 매우 짧은 시간주기동안 부호화를 행하기 위해서, 더 빠른 클럭이 사용되어야 하고, 따라서, 소비전력이 커지거나, 매우 짧은 시간주기동안 부호화하기 위한 부가메모리가 별도로 장치되어 더 큰 회로를 필요로하는 문제가 있었다.
상기 관점에서, 본 발명의 목적은 간단한 구조로, 랜덤하게 재배열된 형태의 데이터를 출력하기 위한 어드레스를 생성할 수 있는 어드레스생성기, 인터리브유닛 및 디인터리브유닛을 제공하는 것이다.
본 발명의 또다른 목적은 인터리브처리에 필요한 메모리용량을 감소시킬 수 있는 송신유닛 및 송신방법을 제공하는 것이다.
도 1은 종래의 인터리브방법 1을 설명하는 블록도이다.
도 2는 종래의 인터리브방법 2를 설명하는 블록도이다.
도 3은 본 발명의 일실시예에 따른 통신단말의 회로구성을 나타내는 블록도이다.
도 4는 채널코덱의 회로구성을 나타내는 블록도이다.
도 5는 채널코덱의 송신처리 흐름을 설명하는 블록도이다.
도 6은 채널코덱에서 송신처리의 상태를 나타내는 개략도이다.
도 7은 채널코덱에서 수신처리흐름을 설명하는 블록도이다.
도 8은 인터리버의 구성을 나타내는 블록도이다.
도 9는 9600bps에서 인터리브메모리의 맵구성을 나타내는 개략도이다.
도 10은 9600bps에서 변환데이터의 판독순서를 나타내는 개략도이다.
도 11은 4800bps에서 인터리브메모리의 맵구성을 나타내는 개략도이다.
도 12는 4800bps에서 변환데이터의 판독순서를 나타내는 개략도이다.
도 13은 2400bps에서 인터리브메모리의 맵구성을 나타내는 개략도이다.
도 14는 2400bps에서 변환데이터의 판독순서를 나타내는 개략도이다.
도 15는 1200bps에서 인터리브메모리의 맵구성을 나타내는 개략도이다.
도 16은 1200bps에서 변환데이터의 판독순서를 나타내는 개략도이다.
도 17은 또다른 실시예의 인터리버의 구성을 나타내는 블록도이다.
도 18은 제어기와 인터리버의 구성을 나타내는 블록도이다.
도 19는 변환표를 나타내는 개략도이다.
도 20은 4800bps에서 메모리에/로부터 기입/판독처리를 설명하는 개략도이다.
도 21은 2400bps에서 메모리에/로부터 기입/판독처리를 설명하는 개략도이다.
도 22는 1200bps에서 메모리에/로부터 기입/판독처리를 설명하는 개략도이다.
도 23은 제어기에서 처리순서를 설명하는 개략도이다.
* 도면의 주요부분에 대한 부호설명
105. 채널코덱 13. 채널복호기
106. 채널부호기 51. 기입어드레스생성기
52. 판독어드레스생성기 107. 제어기
122. 인터리버
본 발명의 상기 목적 및 다른 목적은 데이터를 기억수단에 기입하는 경우나 기억수단으로부터 데이터를 판독하는 경우에 기억수단에 대해 미리 정해진 소정의 순서의 어드레스를 생성하는 어드레스생성기를 제공하므로써 달성된다. 어드레스생성기는 소정의 어드레스 간격을 갖는 복수의 제 1어드레스데이터를 생성하는 제 1어드레스데이터생성수단과, 어드레스 간격마다 제 1어드레스데이터에 대해 연속하여 제 2어드레스데이터를 생성하는 제 2어드레스데이터생성수단과, 제 2어드레스데이터를 각각의 제 1어드레스데이터에 순차적으로 가산하므로써 소정의 간격을 갖는 어드레스를 순차적으로 생성하는 가산수단을 포함하여 구성된다. 이것으로, 데이터를 랜덤한 순서로 재배열하고 출력하는 어드레스패턴이 증가할 때에도, 간단한 구조의 제 1어드레스데이터생성수단과, 제 2어드레스데이터생성수단 및 가산수단만을 사용하여 소정의 간격을 갖는 어드레스를 생성할 수 있다.
또한, 본 발명은 오리지널데이터를 부호화하므로써 생성된 송신기호열의 기호들을 각 프레임마다 임의의 순서로 재배열하여 출력하는 인터리브유닛을 제공한다. 인터리브유닛은 소정의 어드레스간격을 갖는 복수의 제 1어드레스데이터를 생성하는 제 1어드레스데이터생성수단과, 어드레스간격마다 제 1어드레스데이터에 대해 연속하는 제 2어드레스데이터를 생성하는 제 2어드레스데이터생성수단과, 제 2어드레스데이터를 각각의 제 1어드레스데이터에 순차적으로 가산하므로써 소정의 간격을 갖는 어드레스를 순차적으로 생성하는 가산수단으로 구성되는 어드레스생성기와, 소정의 간격을 갖는 어드레스를 순차적으로 송신기호열에 할당하므로써 랜덤한 순서로 송신기호열의 기호들을 재배열하여 출력하는 제어수단을 갖는다. 이것으로 송신기호열을 랜덤한 순서로 재배열하여 출력하기 위해 인터리브유닛에 의해 사용된 어드레스패턴이 증가할 때에도 간단한 구조로, 제 1어드레스데이터생성수단과, 제 2어드레스데이터생성수단과, 가산수단을 사용하므로써 어드레스가 순차적으로 생성된다.
또한, 본 발명은, 오리지널데이터를 부호화하므로써 생성된 송신기호열의 기호들을 각 프레임마다 랜덤한 순서로 재배열하여 출력하므로써 얻어진 송신데이터로 구성된 송신신호들이 소정의 송신처리되어 송신되는 송신신호를 수신하고 이 수신신호로부터 검색된 수신기호열의 기호들을 원래의 순서로 재배열하기 위한 디인터리브유닛을 제공한다. 디인터리브유닛은 소정의 어드레스간격을 갖는 복수의 제 1어드레스데이터를 생성하는 제 1어드레스데이터생성수단과, 어드레스간격마다 제 1어드레스데이터에 대해 연속하는 제 2어드레스데이터를 생성하는 제 2어드레스데이터생성수단과, 제 2어드레스데이터를 각각의 제 1어드레스데이터에 순차적으로 가산하므로써 소정의 간격을 갖는 어드레스를 순차적으로 생성하는 가산수단으로 구성되는 어드레스생성기와, 소정의 간격을 갖는 어드레스를 순차적으로 수신기호열에 할당하므로써 수신기호열의 기호들을 원래의 순서로 재배열하여 출력하는 제어수단을 갖는다. 이것으로, 수신기호열을 랜덤한 순서로 재배열하여 출력하기 위해 디인터리브유닛에 의해 사용된 어드레스패턴이 증가할 때에도, 간단한 구조로 제 1어드레스데이터생성수단과, 제 2어드레스데이터생성수단 및 가산수단만을 사용하여 소정의 간격을 갖는 어드레스를 생성한다.
본 발명의 본질, 원리 및 용도는 동일한 부분은 동일한 참조부호나 문자로 지시된 첨부도면과 함께 읽는다면 다음 상세한 설명으로부터 더 명확해 질 것이다.
본 발명의 바람직한 실시예를 첨부도면을 참고로 설명할 것이다.
도 3은 본 발명에 의한 어드레스생성부가 설치되어 있는 통신단말(100)을 전체적으로 나타낸다. 대화에서, 마이크(102)에 의해 모아진 음성신호(S1)는 송수화기(103)를 통해 인터페이스 변환되어 음성코덱(16)에 전송된다. 음성코덱(16)은 회로품질, 음성신호(S1)의 품질 및 대응정보량을 검출하므로써 얻어진 검출결과에 의거하여, 9600bps, 4800bps, 2400bps, 1200bps의 4유형 중에서 음성신호(S1)에 대한 전송속도를 선택한다.
그리고나서 음성코덱(16)은 선택된 전송속도로 송신된 음성신호(S1)를 디지털화하므로써 음성데이터(D1)를 생성하고 이 음성데이터(D1)를 채널코덱(105)의 채널부호기(106)에 출력한다. 음성코덱(16)은 전송속도가 선택될 때마다 선택된 전송속도를 나타내는 속도정보데이터(D2)를 생성하고 이 속도정보데이터(D2)를 제어기(7)에 송신한다.
제어기(7)는 속도정보데이터(D2)로 나타내어진 전송속도에 대응하는 제어데이터(D3)를 생성하고, 이 제어데이터(D3)를 채널부호기(106)에 송신한다. 채널부호기(106)는 제어데이터(D3)에 의거한 전송속도에 따라 송신처리를 행하고, 또한 통신제어데이터(D4)가 음성데이터(D1)에 부착된 상태에서 제어기(7)로부터 공급된 통신제어데이터(D4)에 콘벌루션 부호화처리를 적용하고, 그리고나서 이 결과를 소정의 데이터형식으로 변환하므로써 얻어진 변환데이터(D5)를 송신기(108)에 송신한다.
신시사이저(109)에 의해 송신주파수를 제어하기 위한 제어신호(S2)가 공급되는 송신기(108)는 주파수 제어신호(S2)에 의거하여 소정의 형식으로 변환데이터(D1)를 변조하고, 이 결과 송신데이터(D6)를 소정의 무선전송속도로 송수신기(110)와 안테나(11)를 통해 기지국(도시되지 않음)으로 전송한다.
기지국은 또한 상기 송신데이터(D6)와 동일한 데이터를 9600bps, 4800bps, 2400bps, 1200bps 중 어느 전송속도로 전송한다. 통신단말(100)은 안테나(11)를 통해 기지국에 의해 송신된 신호를 수신하고, 이 신호를 송수신기(110)를 통해 수신데이터(D7)로서 수신기(112)에 공급한다.
신시사이저(109)에 의해 수신주파수를 제어하기 위한 주파수제어신호(S3)가 공급되는 수신기(112)는 주파수 제어신호(S3)에 의거하여 소정의 형식으로 수신데이터(D7)를 복조하여 복조데이터(D8)를 생성하고, 이 복조데이터(D8)를 채널코덱(105)의 채널복호기(13)에 송신한다.
채널복호기(13)는 제어기(7)로부터 공급되는 제어데이터(D9)에 의거하여 전체 시스템을 제어하고, 송신측에 있는 기지국과 마찬가지로, 9600bps, 4800bps, 2400bps, 1200bps의 수신속도 중 어느 것으로 복조데이터(D8)의 수신처리를 행하도록 구성된다. 이 경우에, 채널복호기(13)는 복조데이터(D8)를 복조데이터(D8)의 수신속도에 대응하는 소정의 형식으로 변조하고, 또한 비터비복호에 의해 에러정정처리를 적용하고 그리고나서 복조데이터(D8)를 복호하여 복호데이터를 생성한다.
또한, 채널복호기(13)는 복조데이터(D8)를 복호하므로써 얻어진 복호데이터 중에서 통화상대의 음성에 대응하는 음성데이터(D10)를 음성코덱(16)에 송신하고, 복호데이터 중 통신제어데이터(D11)를 제어기(7)에 송신한다.
음성코덱(16)은 이 음성데이터(D10)를 제어기(7)로부터 입력된 제어신호(S4)에 의거하여 아날로그 음성신호(S5)로 변환하고, 그리고나서 이 아날로그 음성신호(S5)를 송수화기(103)를 통해 인터페이스변환한 후에 스피커(14)에 송신한다. 통신단말(100)은 스피커(14)로부터 음성을 발생시키므로써 통화상대와 음성으로 통신할 수 있도록 구성된다.
제어기(7)는 음성데이터(D1)에 부가될 통신제어데이터(D4)를 생성하고, 채널복호기(13)로부터 입력된 통신제어데이터(D11)를 복호하여 통화를 성립, 취소 또는 유지하고, 또한 키/표시(15)의 입출력(I/O)제어를 행한다. 또한, 제어기(7)는 송신주파수 및 수신주파수를 생성하도록 신시사이저(109)를 제어한다.
도 3에 대응부분에는 동일한 참조부호가 붙여진 도 4와 5에 도시된 바와같이, 데이터송신시에 채널부호기(106)에서, 9600bps, 4800bps, 2400bps, 1200bps의 전송속도로 송신된 음성데이터(D1)는 음성코덱(16)으로부터 CRC발생기(20)에 입력된다.
CRC발생기(20)는, 9600bps의 전송속도로 송신된 음성데이터(D1)를 수신하는 경우에, 제어기(7)로부터 공급된 통신제어데이터(D4)를 음성데이터(D1)에 부가하므로써 총 172비트오리지널데이터를 생성하고, 또한 생성된 오리지널데이터에 의거하여 다음 수학식 1에 의해 나타내진 생성다항식(G1(X))을 사용하여 12비트CRC부호를 발생시키고, 이 CRC부호를 오리지널데이터에 부가하므로써 184비트데이터를 생성한다.
그리고나서, CRC발생기(20)는 8테일비트를 184비트데이터에 부가하여 192비트부호부가데이터(D15)를 생성하여 콘벌루션부호기(21)에 송신한다.
또한, CRC발생기(20)는 4800bps의 전송속도로 송신된 음성데이터(D1)를 수신하는 경우에, 제어기(7)로부터 공급된 통신제어데이터(D4)를 음성데이터(D1)에 부가하므로써 총 80비트오리지널데이터를 생성하고, 또한 생성된 오리지널데이터에 의거하여 다음 수학식 2에 의해 나타내진 생성다항식(G2(X))을 사용하여 8비트CRC부호를 발생시키고, 이 CRC부호를 오리지널데이터에 부가하므로써 88비트데이터를 생성한다.
그리고나서, CRC발생기(20)는 8테일비트를 88비트데이터에 부가하여 96비트부호부가데이터(D15)를 생성하고 이 96비트부호부가데이터(D15)를 콘벌루션부호기(21)에 송신한다.
또한, CRC발생기(20)는 2400bps의 전송속도로 송신된 음성데이터(D1)를 수신하는 경우에, 제어기(7)로부터 공급된 통신제어데이터(D4)를 음성데이터(D1)에 부가하므로써 총 40비트오리지널데이터를 생성하고, 또한, 전부 0으로 구성된 8테일비트를 생성된 오리지널데이터에 부가하여 48비트부호부가데이터(D15)를 생성하고, 이 48비트부호부가데이터(D15)를 콘벌루션부호기(21)에 송신한다.
또한, CRC발생기(20)는 1200bps의 전송속도로 송신된 음성데이터(D1)를 수신하는 경우에, 제어기(7)로부터 공급된 통신제어데이터(D4)를 음성데이터(D1)에 부가하므로써 총 16비트오리지널데이터를 생성하고, 또한, 전부 0으로 구성된 8테일비트를 생성된 오리지널데이터에 부가하여 24비트부호부가데이터(D15)를 생성하고, 이 24비트부호부가데이터(D15)를 콘벌루션부호기(21)에 송신한다.
콘벌루션 부호기(21)는 소정의 제한길이(k)(본 실시예에서는, k=9)와 부호화비(R)(본 실시예에서는, R=1/3)에 의거하여 CRC발생기(20)에 의해 생성된 각 전송속도에 대한 부호부가데이터(D15)의 콘벌루션 부호화를 행하고, 이 결과의 송신기호열데이터(D16)를 인터리버(22)에 송신한다.
9600bps의 전송속도로 송신된 192비트부호부가데이터(D15)를 수신하는 경우에, 콘벌루션부호기(21)는 192비트 부호부가데이터(D15)에 의거하여 콘벌루션부호화를 행하므로써 576비트송신기호열데이터(D16)를 생성한다. 콘벌루션부호기(21)는, 4800bps의 전송속도로 송신된 96비트 부호부가데이터(D15)를 수신하는 경우에, 96비트부호부가데이터(D15)에 의거하여 콘벌루션부호화를 행하므로써 288비트송신기호열데이터(D16)를 생성한다.
2400bps의 전송속도로 송신된 48비트부호부가데이터(D15)를 수신하는 경우에, 콘벌루션부호기(21)는 48비트 부호부가데이터(D15)에 의거하여 콘벌루션부호화를 행하므로써 144비트송신기호열데이터(D16)를 생성한다. 콘벌루션부호기(21)는, 1200bps의 전송속도로 송신된 24비트 부호부가데이터(D15)를 수신하는 경우에, 24비트부호부가데이터(D15)에 의거하여 콘벌루션부호화를 행하므로써 72비트송신기호열데이터(D16)를 생성한다.
인터리버(22)에 있어서, 데이터반복회수는 각 전송속도마다 미리 설정되어 있다. 인터리버(22)는, 9600bps의 전송속도에 따라 생성된 576비트송신기호열데이터(D16)를 수신하는 경우에, 576비트 송신기호열데이터(D16)를 반복하지 않고 내부에 장치된 인터리브메모리(도시되지 않음)에 소정의 기입어드레스에 따라 8비트단위로 순차적으로 기입하고, 그리고나서 소정의 판독 어드레스에 따라 8비트단위로 송신기호열데이터(D16)를 순차적으로 판독하므로써 인터리브처리를 행하고, 이 결과의 576비트 변환데이터(D5)를 28800bps의 회선속도(576비트/20msec)로 송신기(108)에 송신한다.
또한, 인터리버(22)는, 4800bps의 전송속도에 따라 생성된 288비트송신기호열데이터(D16)를 수신하는 경우에, 1비트씩 1회 반복된 데이터를 사용하므로써 576비트 반복데이터를 생성한다(즉, 2세트의 동일한 데이터가 연속하여 나타난다). 인터리버(22)는 576비트반복데이터를 소정의 기입어드레스에 따라 내부에 장치된 인터리브메모리에 8비트단위로 순차적으로 기입하고, 그리고나서 소정의 판독어드레스에 따라 8비트단위로 반복데이터를 순차적으로 판독하여 인터리브처리를 행한다. 인터리버(22)는 이 결과의 576비트변환데이터(D5)를 28800bps의 회선속도(576비트/20msec)로 송신기(108)에 송신한다.
또한, 인터리버(22)는 2400bps의 전송속도에 따라 생성된 144비트송신기호열데이터(D16)를 수신하는 경우에, 1비트씩 3회 반복된 데이터를 사용하므로써 576비트 반복데이터를 생성한다(즉, 4세트의 동일한 데이터가 연속하여 나타난다). 그리고나서 인터리버(22)는 576비트반복데이터를 소정의 기입어드레스에 따라 내부에 장치된 인터리브메모리에 8비트단위로 순차적으로 기입하고, 그리고나서 소정의 판독어드레스에 따라 8비트단위로 반복데이터를 순차적으로 판독하여 인터리브처리를 행한다. 인터리버(22)는 이 결과의 576비트변환데이터(D5)를 28800bps의 회선속도(576비트/20msec)로 송신기(108)에 송신한다.
또한, 인터리버(22)는 1200bps의 전송속도에 따라 생성된 72비트송신기호열데이터(D16)를 수신하는 경우에, 1비트씩 7회 반복된 데이터를 사용하므로써 576비트 반복데이터를 생성한다(즉, 8세트의 동일한 데이터가 연속하여 나타난다). 인터리버(22)는 576비트반복데이터를 소정의 기입어드레스에 따라 8비트단위로 내부에 장치된 인터리브메모리에 순차적으로 기입하고, 그리고나서 소정의 판독어드레스에 따라 8비트단위로 반복데이터를 순차적으로 판독하여, 인터리브처리를 행한다. 인터리버(22)는 이 결과의 576비트변환데이터(D5)를 28800bps의 회선속도(576비트/20msec)로 송신기(108)에 송신한다.
상기한 바와같이, 인터리버(22)는 도 6에 도시된 바와같이 4800bps, 2400bps, 1200bps의 전송속도에 따라 생성된 3유형의 데이터카운트(288비트, 144비트 및 72비트)로 구성된 송신기호열데이터(D16)에 상기한 데이터반복처리와 인터리브처리를 행하므로써, 9600bps의 전송속도에 따라 생성된 송신기호열데이터(D16)의 인터리브처리를 통해 얻어진 것과 거의 동일한 비트길이(576비트)의 변환데이터(D5)를 생성하고, 이 변환데이터(D5)를 28800bps의 회선속도로 송신기(108)에 송신하도록 구성된다.
반면, 동일한 참조부호가 도 3에 대응하는 부분에 붙여진 도 4와 도 7을 참조하면, 데이터 수신시에 채널복호기(13)는 수신기(112)에서 디인터리버(25)로 공급되는 복조데이터(D8)가 입력된다.
디인터리버(25)는 576비트길이 단위(1주기 송신)로 복조데이터(D8)를 내부 디인터리브 메모리(도시되지 않음)에 순차적으로 기억하고, 또한 디인터리브 메모리로부터 576비트길이의 단위로 복조데이터(D8)를 판독한다. 여기에서, 디인터리브메모리는 복조데이터(D8)가 송신측에서 사용된 전송속도에 따라 9600bps, 4800bps, 2400bps 또는 1200bps의 수신속도로 디인터리브 메모리로부터 판독되도록 구성된다.
부가적으로, 디인터리버(25)는 송신측에서 복조데이터(D8)를 재배열하는데 사용된 것과 완전히 반대 순서를 사용하여 각 수신속도에 따른 576비트 복조데이터(D8)를 재배열하여 원래 순서로 복귀한다(이하, 디인터리브라 한다). 이 결과 576비트 연판정데이터(이하 제 1연판정데이터라 한다)(D28)는 데이터가산기(26)에 공급된다.
데이터가산기(26)는 1비트 데이터가 제 1연판정데이터(D28)에 의거하여 각 수신속도에 대해 소정 회수로 반복되기 전에 나타난 소정수의 비트로 구성된 연판정데이터(이하 제 2연판정데이터라 한다)(D29)를 생성하도록 구성된다. 따라서, 9600bps의 수신속도로 제 1연판정데이터(D28)를 수신하는 경우에, 제 1연판정데이터(D28)는 반복처리되지 않으므로 데이터 처리하지 않고 제 1연판정데이터(D28)를 제 2연판정데이터(D29)로서 비터비복호기(27)에 송신한다.
데이터가산기(26)는, 4800bps의 수신속도로 제 1연판정데이터(D28)를 수신하는 경우에, 제 1연판정데이터(D28)에 의거하여 데이터가산을 행하므로써 288비트 제 2연판정데이터(D29)를 생성하고 이 제 2연판정데이터(D29)를 비터비복호기(27)에 송신한다. 데이터가산기(26)는, 2400bps의 수신속도로 제 1연판정데이터(D28)를 수신하는 경우에, 제 1연판정데이터(D28)에 의거하여 데이터가산을 행하므로써 144비트 제 2연판정데이터(D29)를 생성하고, 이 제 2연판정데이터(D29)를 비터비복호기(27)에 송신한다.
또한, 데이터가산기(26)는, 1200bps의 수신속도로 제 1연판정데이터(D28)를 수신하는 경우에, 제 1연판정데이터(D28)에 의거하여 데이터가산을 행하므로써 72비트 제 2연판정데이터(D29)를 생성하고, 이 제 2연판정데이터(D29)를 비터비복호기(27)에 송신한다.
비터비복호기(27)는, 제한길이(k)는 "9"로 설정하고, 부호화비(R)는 "1/3"로 설정하여, 각 수신속도로 입력된 제 2연판정데이터(D29)에 최대가능성복호를 행하는 비터비알고리즘을 사용하므로써 복호데이터(D30)(8테일비트제외)를 생성하고, 이 복호데이터(D30)를 에러검출기(29)에 송신한다.
여기에서, 비터비복호기(27)는, 9600bps의 수신속도로 제 2연판정데이터(D29)를 수신하는 경우에, 184비트복호데이터(D30)를 생성한다. 비터비복호기(27)는, 4800bps의 수신속도로 제 2연판정데이터(D29)를 수신하는 경우에, 88비트복호데이터(D30)를 생성한다. 비터비복호기(27)는, 2400bps의 수신속도로 제 2연판정데이터(D29)를 수신하는 경우에, 40비트복호데이터(D30)를 생성한다. 비터비복호기(27)는, 1200bps의 수신속도로 제 2연판정데이터(D29)를 수신하는 경우에, 16비트복호데이터(D30)를 생성한다.
에러검출기(29)는, 9600bps의 수신속도에 대응하는 복호데이터(D30)를 수신하는 경우에, 수학식 1에 의해 표현된 생성다항식(G1(X))을 사용하므로써 복호데이터(D30)의 에러검출을 행하고, CRC부호가 부가될 것으로 생각되는 12비트데이터를 복호데이터(D30)로부터 제거하고, 이 결과의 172비트음성데이터(D10)를 음성코덱(16)에 송신한다.
에러검출기(29)는, 4800bps의 수신속도에 대응하는 복호데이터(D30)를 수신하는 경우에, 수학식 2에 의해 표현된 생성다항식(G2(X))을 사용하므로써 복호데이터(D30)의 에러검출을 행하고, CRC부호가 부가될 것으로 생각되는 8비트데이터를 복호데이터(D30)로부터 제거하고, 이 결과의 80비트음성데이터(D10)를 음성코덱(16)에 송신한다.
에러검출기(29)는, 2400bps의 수신속도에 대응하는 복호데이터(D30)를 수신하는 경우에, CRC부호가 복호데이터(D30)에 부가되지 않으므로, 데이터처리를 하지 않고 복호데이터(D30)를 40비트음성데이터(D10)로서 음성코덱(16)에 송신한다. 또한, 에러검출기(29)는, 1200bps의 수신속도에 대응하는 복호데이터(D30)를 수신하는 경우에, CRC부호가 복호데이터(D30)에 전혀 부가되지 않으므로, 데이터처리를 하지 않고 복호데이터(D30)를 16비트음성데이터(D10)로서 음성코덱(16)에 송신한다.
다음으로, 송신측에 있는 채널부호기(106)의 인터리버(22)는, 도 1과 2에 대응하는 부분에는 동일한 참조부호가 붙여진 도 8에 도시된 바와같이, 기입어드레스생성기(51)와 판독어드레스생성기(52)를 가진다. 콘벌루션부호화된 송신기호열데이터(D16)는 직렬송신으로 직렬-병렬변환기(53)에 순차적으로 입력된다.
직렬-병렬변환기(53)는, 8비트의 송신기호열데이터(D16)가 입력될 때, 기입어드레스생성기(51)로부터 공급된 3비트클럭신호(S10)를 트리거로 사용하여 송신기호열데이터(D16)를 8비트단위로 제 1인터리브메모리(2)와 제 2인터리브메모리(3)에 출력하도록 구성된다.
기입어드레스생성기(51)는 7비트기입어드레스(WA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신한다. 메모리전환제어기(4)는 제 1어드레스선택기(6)와 제 2어드레스선택기(10)로부터의 출력을 전환하여 기입어드레스(WA10)를 제 1어드레스선택기(6)를 통해 제 1인터리브메모리(2)에만 출력한다.
기입어드레스(WA10)는 또한 제 2어드레스선택기(10)에도 출력되지만, 메모리전환제어기(4)는 판독어드레스가 제 2어드레스선택기(10)로부터 출력되도록 전환제어되므로, 기입어드레스(WA10)는 제 2어드레스선택기(10)에서 제 2인터리브 메모리(3)로 출력되지 않는다.
따라서, 제 1인터리브메모리(2)는 기입어드레스(WA10)에 따라, 기입순으로 8비트단위의 기입송신기호열데이터(D16)를 순차적으로 랜덤하게 기입한다.
판독어드레스생성기(52)는 7비트판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신한다. 메모리전환제어기(4)는 제 1어드레스선택기(6)와 제 2어드레스선택기(10)로부터의 출력들 사이를 전환하므로써 판독어드레스(RA10)를 제 1어드레스선택기(6)를 통해 제 1인터리브메모리(2)에만 출력한다.
판독어드레스(RA10)는 또한 제 2어드레스선택기(10)에도 출력되지만, 메모리전환제어기(4)는 기입어드레스(WA10)가 제 2어드레스선택기(10)로부터 출력되도록 전환제어되므로 판독어드레스(RA10)는 제 2어드레스선택기(10)로부터 제 2인터리브메모리(3)에 출력되지 않는다.
따라서, 제 1인터리브메모리(2)는 그 순서가 기입어드레스(WA10)와 다른 판독어드레스(RA10)에 따라 송신기호열데이터(D16)를 8비트 단위로 순차적으로 판독하고, 송신기호열데이터(D16)를 판독데이터(D11)로서 데이터선택기(11)에 송신한다. 데이터선택기(11)는 판독어드레스생성기(52)로부터 공급된 3비트어드레스데이터(S22)에 의거하여 8비트판독데이터(D11)의 비트위치를 지정하므로써, 1비트씩 직렬인터리브처리된 변환데이터(D5)를 출력하도록 구성된다.
메모리전환제어기(4)는, 제 1인터리브메모리(2)로부터 변환데이터(D11)를 판독하면서, 기입어드레스(WA10)가 제 2어드레스선택기(10)로부터 제 2인터리브메모리(3)로 출력되도록 전환제어를 하므로써, 기입어드레스(WA10)에 따라 기입순으로 8비트단위로 그 다음으로 송신된 송신기호열데이터(D16)를 제 2인터리브메모리(3)에 랜덤하게 순차적으로 기입한다.
메모리전환제어기(4)는, 제 1인터리브메모리(2)로부터 변환데이터(D11)의 판독을 종료할 때, 제 2어드레스선택기(10)를 전환하므로써, 판독어드레스생성기(52)로부터 출력된 판독어드레스(RA10)를 제 2어드레스선택기(10)를 통해 제 2인터리브메모리(3)에 출력한다. 따라서, 제 2인터리브메모리(3)는 판독어드레스(RA10)에 따라 방금 기입된 송신기호열데이터(D16)를 8비트단위로 판독하고, 이 송신기호열데이터(D16)를 판독데이터(D12)로서 데이터선택기(11)에 송신한다.
데이터선택기(11)는 판독어드레스생성기(52)로부터 공급된 3비트어드레스데이터(S22)에 의거하여 8비트판독데이터(D12)의 비트위치를 지정하므로써, 1비트 직렬인터리브처리된 변환데이터(D5)를 출력하도록 구성된다.
메모리전환제어기(4)는, 제 2인터리브메모리(3)로부터 판독데이터(D12)를 판독하면서, 기입어드레스(WA10)를 제 1어드레스선택기(6)로부터 제 1인터리브메모리(2)에 출력한다. 마찬가지로, 메모리전환제어기(4)는 판독데이터(D11)를 제 1인터리브메모리(2)로부터 판독하면서 송신기호열데이터(D16)를 제 2인터리브메모리(3)에 기입하고, 판독데이터(D12)를 제 2인터리브메모리(3)로부터 판독하면서 송신기호열데이터(D16)를 제 1인터리브메모리(2)에 기입하므로써, 입력송신기호열데이터(D16)의 인터리브처리를 효율적으로 행하도록 구성된다.
송신기(130)는 변환데이터(D5)를 소정의 형식으로 변조하여, 소정의 무선전송속도로 안테나를 통해 기지국(도시되지 않음)으로 송신한다.
기입어드레스생성기(51)는 제 1인터리브메모리(2)와 제 2인터리브메모리(3)의 용량에 따라 소정의 어드레스간격으로 기입어드레스(WA10)를 생성하여, 데이터기입순서가 랜덤하게 재배열되도록 구성된다.
기입어드레스생성기(51)는 제 1인터리브메모리(2)와 제 2인터리브메모리(3)가 9600bps의 전송속도로 최대 576비트의 데이터를 저장할 수 있는 8비트 메모리로 구성되는 경우에 기입어드레스(WA10)를 18어드레스간격에 4회 생성하도록 구성된다. 여기에서, 제 1인터리브메모리(2)와 제 2인터리브메모리(3)는 어드레스당 8비트(1바이트) 단위로 데이터를 기입하도록 구성되어, 총 576비트 데이터를 72어드레스에 기억한다.
따라서, 기입어드레스생성기(51)는 도 9에 도시된 바와같이, 십진수 표기로 나타내진 어드레스 0, 어드레스 18, 어드레스 36 및 어드레스 54와, 그 다음으로 어드레스 0, 어드레스 18, 어드레스 36 및 어드레스 54로부터 1행 이동된 위치에 어드레스 1, 어드레스 19, 어드레스 37 및 어드레스 55와, 그 다음으로 어드레스 0, 어드레스 18, 어드레스 36 및 어드레스 54로부터 2행만큼 이동된 위치에 어드레스 2, 어드레스 20, 어드레스 38 및 어드레스 56 등에서, 어드레스 0, 어드레스 18, 어드레스 36 및 어드레스 54로부터 17행만큼 이동된 위치의 어드레스 17, 어드레스 35, 어드레스 53 및 어드레스 71까지 순차적으로 생성하여, 18어드레스간격에 총 72유형의 기입어드레스(WA10)를 생성한다.
여기에서, 메모리맵의 번호 "1" 내지 "576"은 기입어드레스(WA10)에 따라 기입될 데이터의 기입순을 나타낸다.
기입어드레스생성기(51)는 3비트카운터(61)를 사용하여 송신기호열데이터(D16)가 1비트씩 순차적으로 직렬-병렬변환기(53)에 입력되는 타이밍과 동기하여 값0 내지 7을 카운트하도록 구성된다.
따라서 3비트카운터(61)는 카운터출력(S10)을 직렬-병렬변환기(53)에 송신하고, 또한 캐리(Carry)출력(이른바 캐리신호)(S11)을 2비트카운터(62)에 공급한다.
따라서, 직렬-병렬변환기(53)는, 카운터출력(S10)이 7을 나타내는 "1,1,1"에 도달할 때, 카운터출력(S10)을 트리거로 사용하여 출력 송신기호열데이터(D16)를 8비트단위로 제 1인터리브메모리(2)와 제 2인터리브메모리(3)에 송신한다.
2비트카운터(62)는 캐리출력(S11)이 3비트카운터(61)로부터 공급될 때마다 0에서 3까지 카운트하고, 카운트값(0~3)을 나타내는 2비트어드레스데이터(S12)("0,0" ~ "1,1")를 곱셈기(63)에 송신한다. 또한 2비트카운터(62)는 카운트값(3)을 카운트할 때마다 캐리출력(S14)을 5비트카운터(65)에 공급하도록 구성된다.
곱셈기(63)는 2비트카운터(62)로부터 공급된 각 2비트어드레스데이터(S12)를 16진수 12, 즉 10진수 18과 곱하므로써 18어드레스간격을 갖는 6비트어드레스데이터(S13)를 생성하고, 그리고나서 이 결과의 6비트어드레스데이터(D13)를 6비트가산기(64)에 송신한다.
곱셈기(63)는 실제 곱셈을 행하지 않고 2비트데이터(S12)의 비트(a1,a2)를 "a1,a2,0,a1,a2,0"로 이동하여 2비트데이터(S12)를 6비트어드레스데이터(S13)로 변환하고, 따라서 이동산술부를 형성한다.
따라서, 카운트값 0을 나타내는 "0,0"로 구성된 2비트어드레스데이터(S12)가 "0,0,0,0,0,0"으로 구성된 6비트어드레스데이터(S13)로 변환된다. 마찬가지로, 카운트값 1을 나타내는 "0,1"로 구성된 2비트어드레스데이터(S12)가 "0,1,0,0,1,0"으로 구성된 6비트어드레스데이터(S13)로, 카운트값 2를 나타내는 "1,0"은 "1,0,0,1,0,0"으로 구성된 6비트어드레스데이터(S12)로, 카운트값 3을 나타내는 "1,1"은 "1,1,0,1,1,0"으로 구성된 6비트어드레스데이터(S12)로 변환된다.
즉, 곱셈기(63)는 2비트카운터(62)로부터 공급된 카운트값 0에 의거하여 어드레스0을, 카운트값1에 의거하여 어드레스18을, 카운트값2에 의거하여 어드레스36을, 카운트값3에 의거하여 어드레스54를 생성한다. 여기에서, 어드레스0, 18, 36, 54는 십진수이고, 2진수표시로는 각각 "0,0,0,0,0,0", "0,1,0,0,1,0", "1,0,0,1,0,0", "1,1,0,1,1,0"이다.
5비트카운터(65)는 캐리출력(S14)이 2비트카운터(62)로부터 공급될 때마다 0에서 17까지 카운트하여, 카운트값(0~17)을 나타내는 5비트어드레스데이터(S15)("0,0,0,0,0"~"1,0,0,0,1")를 6비트가산기(64)에 송신한다.
6비트가산기(64)는 카운트값0~17을 나타내는 6비트어드레스데이터(S15)를 6비트어드레스데이터(S13)에 각각 가산하므로써 7비트기입어드레스생성기(51)를 생성하도록 구성된다.
실제로, 6비트가산기(64)는 5비트카운터(65)로부터 출력된 카운트값0을 나타내는 "0,0,0,0,0"으로 구성된 어드레스데이터(S15)를 "0,0,0,0,0,0"으로 구성된 6비트 어드레스데이터(S13)에 가산하므로써 어드레스0을 나타내는 "0,0,0,0,0,0,0"으로 구성된 7비트 기입어드레스(WA10)를 생성한다.
그 다음으로, 6비트가산기(64)는 5비트카운터(65)로부터 출력된 카운트값0을 나타내는 "0,0,0,0,0"으로 구성된 어드레스데이터(S15)를 "0,1,0,0,1,0"으로 구성된 6비트 어드레스데이터(S13)에 가산하므로써 어드레스18을 나타내는 "0,0,1,0,0,1,0"으로 구성된 7비트 기입어드레스(WA10)를 생성한다.
또한, 6비트가산기(64)는 5비트카운터(65)로부터 출력된 카운트값0을 나타내는 "0,0,0,0,0"으로 구성된 어드레스데이터(S15)를 "1,0,0,1,0,0"으로 구성된 6비트 어드레스데이터(S13)에 가산하므로써 어드레스36을 나타내는 "0,1,0,0,1,0,0"으로 구성된 7비트 기입어드레스(WA10)를 생성하고, 그리고나서 5비트카운터(65)로부터 출력된 카운트값0을 나타내는 "0,0,0,0,0"으로 구성된 어드레스데이터(S15)를 "1,1,0,1,1,0"으로 구성된 6비트 어드레스데이터(S13)에 가산하므로써 어드레스54를 나타내는 "0,1,1,0,1,1,0"으로 구성된 7비트 기입어드레스(WA10)를 생성한다.
마찬가지로, 6비트가산기(64)는, 5비트카운터(65)의 카운트값1이 2비트카운터(62)로부터의 캐리출력(S14)에 의거하여 입력될 때, 카운트값1을 나타내는 "0,0,0,0,1"로 구성된 어드레스데이터(S15)를 "0,0,0,0,0,0"으로 구성된 6비트어드레스데이터(S13)에 가산하므로써 어드레스0으로부터 1행만큼 이동된 어드레스1을 나타내는 "0,0,0,0,0,0,1"로 구성된 기입어드레스(WA10)를 생성한다.
그리고나서, 6비트가산기(64)는 5비트카운터(65)로부터 출력된 카운트값1을 나타내는 "0,0,0,0,1"로 구성된 어드레스데이터(S15)를 "0,1,0,0,1,0"으로 구성된 6비트어드레스데이터(S13)에 가산하므로써 어드레스18으로부터 1행만큼 이동된 어드레스19를 나타내는 "0,0,1,0,0,1,1"로 구성된 기입어드레스(WA10)를 생성한다.
또한, 6비트가산기(64)는 5비트카운터(65)로부터 출력된 카운트값1을 나타내는 "0,0,0,0,1"로 구성된 어드레스데이터(S15)를 "1,0,0,1,0,0"으로 구성된 6비트어드레스데이터(S13)에 가산하므로써 어드레스36으로부터 1행만큼 이동된 어드레스37을 나타내는 "0,1,0,0,1,0,1"로 구성된 기입어드레스(WA10)를 생성하고, 그리고나서 5비트카운터(65)로부터 출력된 카운트값1을 나타내는 "0,0,0,0,1"로 구성된 어드레스데이터(S15)를 "1,1,0,1,1,0"으로 구성된 6비트어드레스데이터(S13)에 가산하므로써 어드레스54로부터 1행만큼 이동된 어드레스(55)를 나타내는 "0,1,1,0,1,1,1"로 구성된 기입어드레스(WA10)를 생성한다.
마찬가지로, 6비트가산기(64)는 카운트값(2~17)을 나타내는 5비트어드레스데이터(S15)를 6비트어드레스데이터(S13)에 각각 가산하므로써 기입어드레스(WA10)로서 어드레스2, 어드레스20, 어드레스38 및 어드레스56과, 그 다음으로 어드레스3, 어드레스21, 어드레스39 및 어드레스57과, 어드레스4, 어드레스22, 어드레스40 및 어드레스57 등을, 어드레스17, 어드레스35, 어드레스53 및 어드레스71까지 생성하도록 구성된다.
따라서, 기입어드레스생성기(51)는 18어드레스 간격으로 생성된 기입어드레스(WA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신한다. 메모리전환제어기(4)는 제 1어드레스선택기(6)와 제 2어드레스선택기(10) 사이를 전환하여, 송신기호열데이터(D16)가 직렬-병렬변환기(53)로부터 8비트단위로 출력되는 타이밍과 동기하여, 기입어드레스(WA10)를 제 1인터리브메모리(2) 또는 제 2인터리브메모리(3)에 공급한다.
따라서, 제 1인터리브메모리(2) 또는 제 2인터리브메모리(3)는 송신기호열데이터(D16)를 기입어드레스(WA10)에 따라 18어드레스간격으로 행방향으로 위치(비트(b0)~(b7)("001~"576"))에 순차적으로 기입하도록 구성된다.
반면, 판독어드레스생성기(52)는 동일한 판독어드레스(RA10)를 기입어드레스(WA10)로서 다른 판독순서로 생성하도록 구성된다. 5비트카운터(66)는 0에서 17까지 카운트하여 이 카운트값을 5비트어드레스데이터(S20)로서 6비트가산기(67)에 송신하고, 카운트값17을 카운트할 때 캐리출력(S21)을 3비트카운터(61)에 공급하도록 구성된다.
3비트카운터(68)는 캐리출력(S21)에 의거하여 0에서 7까지 카운트하고 이 카운트값을 3비트어드레스데이터(S22)로서 데이터선택기(11)에 송신하고, 카운트값7을 카운트했을 때 캐리출력(S22)을 2비트카운터(69)에 공급하도록 구성된다.
2비트카운터(69)는 캐리출력(S23)에 따라 0에서 3까지 카운트하고 이 카운트값을 2비트어드레스데이터(S24)로서 곱셈기(70)에 송신한다. 곱셈기(70)는 2비트어드레스데이터(S24)를 16진수로 12, 즉 십진수로 18과 곱하므로써 18어드레스의 간격을 갖는 6비트어드레스데이터(S25)를 생성하고, 그리고나서 이 결과의 6비트어드레스데이터(S25)를 6비트 가산기(67)에 공급한다.
곱셈기(70)는 실제로 곱셈을 행하지 않고 2비트어드레스데이터(S24)의 비트(a1,a2)를 (a1,a2,0,a1,a2,0)로 이동하여 2비트어드레스데이터(S24)를 6비트어드레스데이터(S25)로 변환하도록 구성되고, 따라서 이동산술부를 형성한다.
6비트가산기(67)는 5비트어드레스데이터(S20)를 6비트어드레스데이터(S25)에 가산하므로써 어드레스0~어드레스71을 나타내는 7비트판독어드레스(RA10)를 순차적으로 생성하고, 이 7비트판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신한다.
실제로, 판독어드레스생성기(52)는 먼저 카운트값0을 나타내는 3비트어드레스데이터(S22)를 3비트카운터(68)에서 데이터선택기(11)로 공급하고, 그리고나서 카운트값(0~17)을 나타내는 5비트어드레스데이터(S20)를 5비트카운터(66)에서 6비트가산기(67)로 공급한다.
이 경우에, 2비트카운터(69)는 캐리출력(S23)이 3비트카운터(68)로부터 공급되지 않으므로 카운트값0을 나타내는 2비트어드레스데이터(S24)를 곱셈기(70)에 송신한다. 곱셈기(70)는 카운트값0을 나타내는 2비트어드레스데이터(S24)를 16진수 12, 즉 십진수 18과 곱하므로써 "0,0,0,0,0,0"으로 구성된 어드레스데이터(S25) 6비트가산기(67)에 공급한다.
6비트가산기(67)는 카운트값(0~17)을 나타내는 5비트어드레스데이터(S20)를 "0,0,0,0,0,0"으로 구성된 어드레스데이터(S25)에 각각 가산하므로써, 어드레스(0~17)을 나타내는 7비트판독어드레스(RA10)를 각각 생성하고 이 7비트판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신한다.
제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 출력된 판독어드레스(RA10)는 메모리전환제어기(4)의 제어하에 제 1인터리브메모리(2) 또는 제 2인터리브메모리(3)에 공급된다. 따라서 어드레스(0~17)의 데이터는 순차적으로 판독되어 데이터선택기(11)에 출력된다. 데이터선택기(11)는 그리고나서 행방향으로 비트(b0)위치(카운트값 : 0)를 나타내는 3비트어드레스데이터(S22)가 3비트카운터(68)로부터 공급되므로 "1", "33", "65" 등의 순서로 "545"까지 어드레스(0~17)의 데이터 중에서 비트위치(b0)에 있는 비트데이터만 출력한다.
그리고나서 판독어드레스생성기(52)는 캐리출력(S21)에 의거하여 카운트값1을 나타내는 3비트어드레스데이터(S22)를 3비트카운터(68)로부터 데이터선택기(11)로 송신한다. 이 경우에도, 3비트카운터(68)는 캐리출력(S23)을 공급하지 않으므로, 2비트카운터(69)의 카운트값은 증가하지 않고 곱셈기(70)로부터 출력된 6비트어드레스데이터(S25)는 "0,0,0,0,0,0"으로 남아있다.
상기 처리와 동일하게, 6비트가산기(67)는 카운트값(0~17)을 나타내는 5비트어드레스데이터(S20)를 5비트카운터(66)로부터 입력하고 "0,0,0,0,0,0"으로 구성된 어드레스데이터(S25)를 곱셈기(70)로부터 입력하므로써, 그리고나서 각 어드레스데이터(S20)를 어드레스데이터(S25)에 가산하므로써, 어드레스(0~17)를 나타내는 7비트판독어드레스(RA10)를 생성하고, 이 7비트판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신한다.
제 1어드레스선택기(6)와 제 2어드레스선택기(10)로부터 출력된 판독어드레스(RA10)는 메모리전환제어기(4)에 의한 전환제어하에 제 1인터리브메모리(2) 또는 제 2인터리브메모리(3)에 공급된다. 따라서 어드레스(0~17)의 데이터는 순차적으로 판독되어 데이터선택기(11)에 출력된다. 그리고나서 데이터선택기(11)는 행방향으로 비트(b1)의 위치(카운트값 : 1)를 나타내는 3비트어드레스데이터(S22)가 3비트카운터(68)로부터 공급되므로 "2", "34", "66" 등의 순서로 "546"까지 어드레스(0~17)의 데이터 중에서 비트위치(b1)에 있는 비트데이터만 출력한다.
상기한 바와같이, 판독어드레스생성기(52)는 3비트카운터(68)가 캐리출력(S23)을 2비트카운터(69)에 공급할 때까지, 상기 처리처럼 같은 것을, 즉 어드레스(0~17)를 나타내는 7비트판독어드레스(RA10)를 8회(b0~b7) 생성하도록 구성된다. 판독어드레스(RA10)가 생성될 때마다, 3비트카운터(68)에 의해 증가된 카운트값은 데이터선택기(11)에 출력된다. 따라서 데이터선택기(11)는 3비트카운터(68)로부터 공급된 3비트어드레스데이터(S22)에 의거하여 각 비트위치에 대해 어드레스(0~17)의 데이터 중에서 비트위치(b0~b7)에 있는 비트데이터를 순차적으로 출력하도록 구성된다.
그리고나서 판독어드레스생성기(52)는 3비트카운터(68)가 카운트값7까지 카운트했으므로, 캐리출력데이터(S23)를 2비트카운터(69)에 공급한다. 그리고나서 카운트값1을 나타내는 2비트어드레스데이터(S24)는 2비트카운터(69)에서 곱셈기(70)로 출력된다.
곱셈기(70)는 카운트값(1)을 나타내는 "0,1"로 구성된 어드레스데이터(S24)를 16진수 12, 즉 십진수 18과 곱하므로써 어드레스(18)를 나타내는 "0,1,0,0,1,0"으로 구성된 6비트어드레스데이터(S25)를 생성하고, 그리고나서 이 결과의 6비트어드레스데이터(S25)를 6비트가산기(67)에 송신한다. 6비트가산기(67)는 카운트값(0~17)을 나타내는 5비트어드레스데이터(S20)를 "0,1,0,0,1,0"으로 구성된 어드레스데이터(S25)에 각각 가산하므로써 어드레스(18~35)를 나타내는 7비트판독어드레스(RA10)를 각각 생성하고, 이 7비트판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신한다.
그리고나서 데이터선택기(11)는 행방향으로 비트위치(b0)(카운트값:0)를 나타내는 3비트어드레스데이터(S22)가 3비트카운터(68)로부터 공급되므로, 어드레스(18~35)의 데이터 중에서 비트위치(b0)에 기입된 비트데이터를 "9", "41", 등의 순서로 "553"까지 출력한다.
이런식으로, 판독어드레스생성기(52)는 3비트카운터(68)가 캐리출력(S23)을 2비트카운터(69)에 공급할 때까지 어드레스(18~35)를 나타내는 7비트판독어드레스(RA10)를 8회생성하도록 구성된다. 판독어드레스(RA10)가 생성될 때마다, 3비트카운터(68)에 의해 증가된 카운트값이 데이터선택기(11)에 출력된다. 따라서 데이터선택기(11)는 3비트카운터(68)로부터 공급된 3비트어드레스데이터(S22)에 의거하여 각 비트위치에 대해 어드레스(18~35)의 데이터 중에서 비트위치(b0~b7)에 있는 비트데이터를 순차적으로 출력하도록 구성된다.
그리고나서, 판독어드레스생성기(52)는 상기한 바와같이, 어드레스(36~53)와 어드레스(54~71)를 나타내는 판독어드레스(RA10)를 생성하고, 이 판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신하고, 또한 비트위치(b0~b7)를 나타내는3비트어드레스데이터(S22)를 데이터선택기(11)에 송신한다.
데이터선택기(11)는 각 위치에 대해 어드레스(36~53)의 데이터 중에서 비트위치(b0~b7)의 비트데이터를 순차적으로 출력하고 최종적으로 각 비트위치에 대해 어드레스(54~71)의 데이터 중에서 비트위치(b0~b7)에 있는 비트데이터를 순차적으로 출력하도록 구성된다. 따라서 데이터선택기(11)는 인터리브 변환데이터(D5)를 1비트씩 순차적으로 출력할 수 있도록 구성된다.
도 10에 도시된 바와같이, 변환데이터(D5)는 데이터 기입위치 1, 33, 65, 등에서 545까지와, 2, 34, 66, 등에서 546까지와, 3, 35, 67 등에서 547까지와, 32, 64, 96 등에서 576까지의 순서로 출력된다.
제 1인터리브메모리(2)와 제 1인터리브메모리(3)가 4800bps의 전송속도로 최대288비트의 데이터를 저장할때, 기입어드레스생성기(51)는 기입어드레스(WA10)를 18어드레스의 간격에 2회 생성하도록 구성된다.
따라서 도 11에 도시된 바와같이, 기입어드레스생성기(51)는 십진수 표시로 나타내진 어드레스0 다음으로 어드레스18을 생성하고, 그리고나서 어드레스0과 18로부터 1행만큼 이동된 어드레스1과 어드레스19를 생성하고, 그리고나서 어드레스0과 18로부터 2행만큼 이동된 어드레스2와 어드레스20을 생성하는 등, 최종적으로 어드레스0과 18로부터 17행만큼 이동된 어드레스17과 어드레스35를 생성하여, 18어드레스간격에 총 36유형의 기입어드레스(WA10)를 생성한다.
따라서 기입어드레스생성기(51)는 2비트카운트(62)가 0에서 1까지 카운트하고, 이 카운트값을 2비트어드레스데이터(S12)("0,0"과 "0,1")로서 곱셈기(63)에 송신하고, 카운트값을 1만큼 증가시킬 때 5비트카운터(65)에 캐리출력(S14)을 공급하도록 구성된다.
이 경우에 판독어드레스생성기(52)는, 2비트카운트(69)가 0에서 1까지 카운트하고 이 카운트값을 2비트어드레스데이터(S22)로서 출력하므로, 어드레스(0~35)를 나타내는 7비트판독어드레스(RA10)를 순차적으로 생성하도록 구성된다.
따라서 판독어드레스생성기(52)는 7비트판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신하고, 또한 비트위치(b0~b7)를 나타내는 3비트어드레스데이터(S22)를 데이터선택기(11)에 송신하도록 구성된다.
따라서 데이터선택기(11)는 판독어드레스(RA10)에 의거하여 판독된 어드레스(0~17)의 데이터 중에서 비트위치(b0~b7)에 있는 비트데이터를 순차적으로 출력하고, 그리고나서 어드레스(18~35)의 데이터 중에서 비트위치(b0~b7)에 있는 비트데이터를 순차적으로 출력하도록 구성된다. 이것으로 데이터선택기(11)는 인터리브변환데이터(D5)를 1비트씩 순차적으로 출력하게 된다.
변환데이터(D5)는 메모리전환제어기(4)에 의한 데이터선택기(11)의 제어하에 동일한 데이터를 2회출력하도록 구성된다. 따라서, 변환데이터(D5)에 있어서는, 도 12에 도시된 바와같이, 제 1행에서 어드레스(1,17,33,49,…, 273)의 데이터가 2회반복되고, 제 3행에서 어드레스(1,18,34, …, 274)의 데이터가 2회 반복되고, 제 31행에서 어드레스(16, 32, 48, …, 288)의 데이터가 2회 반복된다.
제 1인터리브메모리(2)와 제 2인터리브메모리(3)가 2400bps의 전송속도로 최대 144비트의 데이터를 기억할 때, 기입어드레스생성기(51)는 도 13에 도시된 바와같이, 기입어드레스(WA10)를 어드레스(0)에서 어드레스(17)까지 순차적으로 생성하도록 구성된다.
따라서 기입어드레스생성기(51)는 2비트카운터(62)가 0에서부터 카운트하고, 카운트값을 2비트어드레스데이터(S12)("0,0")로서 곱셈기(63)에 송신하고, 카운트값0이 증가될 때마다 캐리출력(S14)을 5비트카운터(65)에 공급하도록 구성된다.
이 경우에, 판독어드레스생성기(52)는, 2비트카운터(62)가 0을 카운트하고 이 카운트값을 2비트어드레스데이터(S12)로서 출력하였으므로, 어드레스(0~17)를 나타내는 7비트판독어드레스(RA10)를 순차적으로 생성하도록 구성된다.
이와같이 판독어드레스생성기(52)는 7비트판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신하고, 또한 비트위치(b0~b7)를 나타내는 3비트어드레스데이터(S22)를 데이터선택기(11)에 송신하도록 구성된다.
따라서 데이터선택기(11)는 각 비트위치에 대해 판독어드레스(RA10)에 의거하여 판독된 어드레스(0~17)의 데이터 중에서 비트위치(b0~b7)에 있는 비트데이터를 순차적으로 출력하도록 구성된다. 이것으로 데이터선택기(11)는 인터리브변환데이터(D5)를 1비트씩 순차적으로 출력하게 된다.
변환데이터(D5)는 메모리전환제어기(4)에 의해 데이터선택기(11)의 제어하에 동일한 데이터가 4회출력되도록 구성된다. 따라서, 변환데이터(D5)에 대해, 도 14에 도시된 바와같이, 제 1행에서 어드레스(1, 9, 17, …, 137)의 데이터가 4회 반복되고, 제 5행에서 어드레스(2, 10, 18, …, 238)의 데이터가 4회 반복되고, 제 29행에서 어드레스(8, 16, 24, …, 144)의 데이터가 4회 반복된다.
제 1인터리브메모리(2)와 제 2인터리브메모리(3)가 1200bps의 전송속도로 최대 72비트의 데이터를 기억할 때, 기입어드레스생성기(51)는 도 15에 도시된 바와같이, 기입어드레스(WA10)를 어드레스(0)에서 어드레스(17)까지 순차적으로 생성하도록 구성된다.
이 경우에 기입어드레스생성기(51)는 3비트카운터(61)가 0에서 3까지 카운트하고 카운트출력(S10)을 출력하고 3을 카운트할 때 캐리출력(S14)을 2비트카운터(62)에 공급하도록 구성된다. 기입어드레스생성기(51)에서, 2비트카운터(62)는 0을 카운트하고 카운트값0을 나타내는 2비트어드레스데이터(S12)("0,0")로서 곱셈기(63)에 송신하고, 카운트값(0)이 증가될 때마다 캐리출력(S14)을 5비트카운터(65)에 공급한다.
이 경우에, 판독어드레스생성기(52)에서, 3비트카운터(63)는 0에서 3까지 카운트하여 카운트값을 어드레스데이터(S22)로서 출력하고, 3비트카운터(63)가 3을 카운트할 때 캐리출력(S14)을 2비트카운터(69)에 공급한다. 판독어드레스생성기(52)는 2비트카운터(69)가 0을 카운트하여 카운트값을 어드레스데이터(S24)로서 출력하고, 따라서 어드레스(0~17)를 나타내는 7비트판독어드레스(RA10)를 순차적으로 생성하도록 구성된다.
이와같이 판독어드레스생성기(52)는 7비트판독어드레스(RA10)를 제 1어드레스선택기(6)와 제 2어드레스선택기(10)에 송신하고, 또한 비트위치(b0~b7)를 나타내는 3비트어드레스데이터(S22)를 데이터선택기(11)에 송신하도록 구성된다.
데이터선택기(11)는 각 비트위치에 대해 판독어드레스(RA10)에 의거하여 판독된 어드레스(0~17)의 데이터 중에서 비트위치(b0~b3)에 있는 비트데이터를 순차적으로 출력하도록 구성된다. 이것으로 데이터선택기(11)는 인터리브 변환데이터(D5)를 1비트씩 순차적으로 출력하게 된다.
변환데이터(D5)는 메모리전환제어기(4)에 의해 데이터선택기(11)의 제어하에 동일한 데이터가 8회출력되도록 구성된다. 따라서, 변환데이터(D5)에 있어서, 도 16에 도시된 바와같이, 제 1행에서 어드레스(1, 5, 9, …, 69)의 데이터가 8회 반복되고, 제 9행에서 어드레스(2, 6, 10, …, 70)의 데이터가 8회 반복되고, 제 25행에서 어드레스(4, 8, 12, …, 72)의 데이터가 8회 반복된다.
상기 구성에서, 기입어드레스생성기(51)는 2비트카운터(62)로부터 출력된 각각의 어드레스데이터(S12)를 소정수와 곱하기 위해 곱셈기(63)를 사용하므로써, 소정의 어드레스 간격을 갖는 복수의 어드레스데이터(S13)를 생성하고, 5비트카운터(65)를 사용하여 소정의 어드레스간격으로 어드레스데이터(S13)에 연속하는 어드레스데이터(S15)를 생성하고, 6비트가산기(64)를 사용하여 어드레스데이터(S15)를 각 어드레스데이터(S13)에 순차적으로 가산하여, 모든 데이터를 제 1인터리브메모리(2)와 제 2인터리브메모리(3)에 기억하도록 하는 패턴으로 구성된 소정의 간격으로 기입어드레스(WA10)를 순차적으로 생성한다.
기입어드레스생성기(51)는, 제 1인터리브메모리(2)와 제 2인터리브메모리(3)에 기억될 데이터의 용량에 대응하여 72유형의 기입어드레스(WA10)를 생성할 경우에, 간단히 2비트카운터(62)와, 곱셈기(63)와, 5비트카운터(65)와 가산기(64)로 구성될 수 있다. 선행기술과 달리, 어드레스변환롬(9)(도 1)이나 어드레스제어회로(22)(도 2)가 사용될 때, 소정의 간격을 갖는 어드레스를 생성하는데 필요한 큰 회로크기나 복잡한 처리 등의 문제가 회피될 수 있다.
또한, 이 경우에, 제 1어드레스생성기의 곱셈기(63)는 실제로 곱셈을 행하지 않고, 2비트카운터(62)로부터 출력된 어드레스데이터(S12)의 비트의 이동을 행하여 곱셈과 동일한 결과를 얻는다. 따라서 곱셈기(63)는 간단한 구성이 가능한 이동산술부로 구성되기만 하면 된다.
판독어드레스생성기(52)에서도, 기입어드레스생성기(51)와 동일한 어드레스5비트카운터(66)와, 2비트카운터(69)와, 곱셈기(70)와 가산기(67)를 사용하여 접속상태가 변화되는 간단한 구성이, 기입어드레스(WA10)와 동일한 판독어드레스(RA10)를 기입어드레스(WA10)의 기입순서와 다른 판독순서로 생성되도록 한다.
상기 구성에 의하면, 기입어드레스생성기(51)는, 소정의 어드레스간격을 갖는 복수의 어드레스데이터(S13)를 생성하기 위해 2비트카운터(62)와 곱셈기(63)를 사용하고, 소정의 어드레스간격을 갖는 어드레스데이터(S13)에 대해 연속하는 어드레스데이터(S15)를 생성하기 위해 5비트카운터(65)를 사용하고, 어드레스데이터(S15)를 각 어드레스데이터(S13)에 순차적으로 가산하기 위해 6비트가산기(64)를 사용하므로써, 간단한 구성과 간단한 처리를 통해 소정의 간격을 갖는 기입어드레스(WA10)를 순차적으로 생성할 수 있다.
상기 실시예에서, 기입어드레스생성기(51)는 18어드레스의 간격으로 기입어드레스(WA10)를 생성하고, 판독어드레스생성기(52)는 판독어드레스(RA10)의 어드레스(0~71)를 순차적으로 생성함을 유의한다. 그런데, 본 발명은 이 실시예에 한정되지 않고, 기입어드레스(WA10)는 어드레스(0)에서 어드레스(71)까지 순차적으로 생성될 수 있고 기입어드레스(WA10)는 18어드레스 간격으로 재배열 순서로 생성될 수 있다.
또한, 상기 실시예에서는, 본 발명의 어드레스생성기가 송신측에서 채널부호기(106)의 인터리버(22)로서 사용된다. 그런데, 본 발명은 본 실시예에 한정되지 않고 본 발명의 어드레스생성기는 수신측에서 채널복호기(13)의 디인터리버(25)로 사용될 수 있다. 이 경우에 기입어드레스와 판독어드레스는 송신측에서 인터리버(22)에 의해 재배열된 순서가 원래순서로 복귀되도록 생성되어야 한다.
또한, 상기 실시예에서, 인터리브유닛으로서 인터리버(22)는, 어드레스생성기로서의 기입어드레스생성기(51)와, 제어수단으로서의 메모리전환제어기(4)와, 제 1어드레스선택기(6)와 제 2어드레스선택기(10)와, 제 1인터리브메모리(2)와 제 2인터리브메모리(3)로 구성된다. 그런데, 본 발명은 본 실시예에 한정되지 않고, 인터리브유닛은 그 구성이 기입어드레스생성기(51)와 동일한 판독어드레스생성기를 포함하는 어드레스생성기와, 제어수단으로 구성될 수 있고, 디인터리브 유닛도 또한 마찬가지로 구성될 수 있다.
또한, 상기 실시예에서는, 송신기호열데이터(D16)가 인터리브메모리(6, 10)에 기억하기 위해 병렬-직렬변환기(53)를 통해 8비트단위로 출력된다. 그런데, 본 발명은 본 실시예에 한정되지 않고, 데이터는 인터리브메모리(6, 10)의 구성에 따라, 소정 비트수의 단위로 기억될 수 있다.
또한, 상기 실시예에서는, 어드레스생성기로서의 판독어드레스생성기(52)는 제 1카운터로서의 2비트카운터(62)와 곱셈기(63)로 구성된 제 1어드레스생성수단과, 5비트카운터로 구성된 제 2어드레스생성수단과, 6비트가산기(64)로 구성된 가산수단으로 구성된다. 그런데, 본 발명은 본 실시예에 한정되지 않고, 소정의 간격을 갖는 어드레스가 생성될 수 있는 한, 제 1어드레스생성수단은, 6비트어드레스데이터를 생성하는 카운터수단과, 소정의 간격을 갖는 특정 어드레스를 6비트어드레스데이터에 가산하므로써 제 1어드레스데이터를 생성하여 출력하는 가산수단과, 제 1어드레스데이터를 일시적으로 기억하는 기억수단으로 구성될 수 있고, 소정의 간격을 갖는 어드레스들은 기억수단에 순차적으로 기억된 제 1어드레스데이터에 특정 어드레스값을 순차적으로 가산하므로써 생성될 수 있고, 각종 다른 구성이 제 1어드레스생성수단을 형성하는데 사용될 수 있다.
또한, 상기 실시예에서는, 18어드레스의 간격을 갖는 6비트 어드레스데이터가 곱셈기(63)로 각 2비트어드레스데이터(S12)를 16진수 12, 즉 십진수18과 곱하므로써 생성된다. 그런데, 본 발명은 본 실시예에 한정되지 않고, 비트이동이 활용될 수 있다면, 각 2비트어드레스데이터(S12)를 9와 곱하므로써 9어드레스간격을 갖는 6비트어드레스데이터(S13)가 생성될 수 있고, 또한 비트이동을 할 수 없는 각종 다른 배수들을 사용하므로써 소정의 간격을 갖는 6비트어드레스데이터(S13)가 생성될 수도 있다.
다음으로, 송신측에서 채널부호기(106)의 인터리버(122)에서 하나의 인터리브메모리가 사용되는 인터리브처리방법을 설명할 것이다. 도 18에 도시된 바와같이, 제어기(107)의 제어부(150)는 인터리브메모리(122A)와 래치회로(122B)의 동작속도를 제어하여 인터리브메모리(122A)가 9.8㎒의 클럭(CLK1)마다 기입/판독처리를 행하도록 하고, 래치회로(122B)가 4.8㎑의 클럭(CLK2)마다 래치변환데이터(D5)를 출력하도록 한다.
콘벌루션부호기(121)로부터 공급된 송신기호열데이터(D16)를 인터리버(122)의 인터리브메모리(122A)에 기입할 때, 제어기(107)의 제어부(150)는, 송신기(108)로부터 송신된 요구신호(RQ1)의 입력 타이밍에 의거하여, 기입신호(SW1)와 기입인에이블상태를 나타내는 기입인에이블신호(WE1)를 인터리브메모리(122A)에 출력하고, 또한 기입어드레스생성기(152)에 의해 생성된 기입어드레스정보(WA1)를 선택기(151)를 통해 인터리브메모리(122A)에 출력한다.
제어부(150)는 클럭(CLK1)을 사용하여 콘벌루션부호기(121)로부터 송신기호열데이터(D16)의 판독을 시작하고, 또한 9.8㎒의 클럭(CLK1)과 동기하는 기입어드레스정보(WA1)에 의거하여, 1주기(576비트/20msec)의 송신기호열데이터(D16)를 1비트씩 인터리브메모리(122A)의 소정의 위치에 순차적으로 기입한다.
다음으로, 인터리브메모리(122A)에 기입된 1주기의 송신기호열데이터(D16)를 판독하는 경우에, 제어부(150)는, 송신기(108)로부터 송신된 요구신호(RQ1)의 입력 타이밍에 의거하여, 기입신호(SW1)를 판독신호(SR1)로 전환하여 이 판독신호(SR1)를 인터리브메모리(122A)에 출력하고, 또한 판독인에이블상태를 나타내는 판독인에이블신호(RE1)를 인에이블메모리(122A)에 출력하고, 동시에 판독어드레스생성기(153)에 의해 생성된 판독어드레스정보(RA1)를 선택기(151)를 통해 인터리브메모리(122A)에 출력한다.
인터리브메모리(122A)는, 9.8㎒의 클럭(CLK1)과 동기하는 판독어드레스정보(RA1)에 의거하여, 6비트기호열데이터(D16)를 변환데이터(D5)로서 한번에 판독하고, 그리고나서 이 기호열데이터(D16)를 송신기(108)에 송신한다. 제어부(150)는 4.8㎑의 클럭(CLK2)에 의거하여, 인터리브메모리(122A)로부터 판독된 6비트변환데이터(D5)를 래치회로(122B)를 사용하여 보존하고, 그 다음 클럭(CLK2)을 래치회로(122B)에 공급할 때까지 동일한 6비트변환데이터(D5)를 계속 보존한다.
이런식으로, 인터리버(122)는 제어부(150)에 의한 제어를 이용하여 인터리브메모리(122A)의 기입/판독 처리속도를 고속(9.8㎒)으로 설정하고, 래치회로(122B)로부터 6비트변환데이터(D5)를 출력하는 처리속도를 저속(4.8㎑)으로 설정하고, 래치회로(122B)로부터 한번에 출력된 6비트변환데이터(D5)를 송신기(108)에 순차적으로 출력하도록 구성된다.
송신기(108)는, 래치회로(122B)로부터 공급된 6비트변환데이터(D5)에 의거하여, 다음 수학식 3에 의해 나타내진 기호인덱스(SI)를 산출한다.
여기에서 6비트변환데이터(D5)가 C0, C1, C2, C3, C4, C5에 각각 대입된다.
그리고나서 송신기(108)는 도 19에 도시된 변환표에 의거하여 6비트변환데이터(D5)를 기호인덱스(SI)에 대응하는 64비트 직교부호로 구성된 월쉬(Walsh)부호로 변환하고, 인터리브메모리(122A)에 저장된 1주기의 576비트 부호화데이터(D16)의 변환처리를 6비트마다 총 96회 반복하고 그리고나서 이 변환데이터를 소정의 방법을 사용하여 변조하여, 이 데이터를 소정의 무선전송속도로 버스트 방식(연속적으로)으로 송신한다. 송신기(108)는 공급된 6비트 변환데이터(D5)에 의거하여 변환을 행할 때마다 제어부(150)에 요구신호(RQ1)를 출력하도록 구성된다.
다음으로, 인터리버(122)의 인터리브메모리(122A)를 사용하는 인터리브처리방법을 각 전송속도에 대해 상세하게 설명한다. 도 10에 도시된 바와같이, 콘벌루션부호기(121)로부터 9600bps의 전송속도로 출력된 송신기호열데이터(D16)는 제어기(107)로부터 공급된 기입어드레스정보(WA1)에 따라, "1", "2", "3" 등에서 "32"까지와 그 다음으로 제 2열에서 "33", "34" 등에서, 우단위치의 제 18열에서 최종 "576"까지의 순서로 좌단위치의 제 1열로부터 수직방향으로 비트마다 순차적으로 기입된다.
다음으로, 인터리브메모리(122A)에 기입된 송신기호열데이터(D16)는, 제어기(107)로부터 공급된 판독어드레스정보(RA1)에 따라, 제 32열의 "1", "32", "65", "97", "129", "161" 등에서 "545"까지의 순서로 제 1행에서 좌단의 번호로부터 모두 판독되는 반면, 래치회로(122B)는 변환데이터(D5)를 보존한다.
또한, 도 20에 도시된 바와같이, 4800bps의 전송속도로 콘벌루션 부호기(121)로부터 출력된 송신기호열데이터(D16)는, 제어기(107)로부터 공급된 기입어드레스정보(WA1)에 따라, "1", "2", "3" 등에서 "16"까지, 그 다음으로 제 2열에서 "17", "18" 등에서, 우단 위치의 최종 제 18열의 "288"까지의 순서로, 좌단의 제 1열로부터 수직방향으로 비트마다 순차적으로 기입된다. 이 경우에, 송신기호열데이터(D16)의 양은 9600bps의 전송속도일 때의 절반이고, 따라서 그에 대응하여 인터리브메모리(122A)의 용량이 감소한다.
다음으로, 인터리브메모리(122A)에 기입된 송신기호열데이터(D16)는, 제어기(107)로부터 공급된 판독어드레스정보(RA1)에 따라, "1", "17", "33", "49", "65", "81"의 순서로 상단위치의 제 1행의 좌단번호부터 판독되고, 제 1행의 데이터가 다시 판독되고, 그리고나서 데이터는 제 16행에서 "288"까지 열마다 2회판독된다.
또한, 도 21에 도시된 바와같이, 2400bps의 전송속도로 콘벌루션 부호기(121)로부터 출력된 송신기호열데이터(D16)는, 제어기(107)로부터 공급된 기입어드레스정보(WA1)에 따라, "1", "2", "3" 등에서 "8"까지, 그 다음으로 제 2열의 "9", "10" 등에서, 우단 위치의 최종 제 18열의 "144"까지의 순서로, 좌단우치의 제 1열로부터 수직방향으로 비트마다 순차적으로 기입된다. 이 경우에, 기입시의 송신기호열데이터(D16)의 양은 9600bps의 전송속도일 때의 1/4이고, 따라서 그에 대응하여 인터리브메모리(122A)의 용량이 감소한다.
다음으로, 인터리브메모리(122A)에 기입된 송신기호열데이터(D16)는, 제어기(107)로부터 공급된 판독어드레스정보(RA1)에 따라, "1", "9", "17", "25", "33", "41"의 순서로 상단위치의 제 1행의 좌단번호부터 판독되고, 또한 제 1행의 데이터가 3회 판독되고, 최종으로 데이터는 제 8행에서 "144"까지 열마다 4회판독된다.
또한, 도 22에 도시된 바와같이, 1200bps의 전송속도로 콘벌루션 부호기(121)로부터 출력된 송신기호열데이터(D16)는, 제어기(107)로부터 공급된 기입어드레스정보(WA1)에 따라, "1", "2", …, "4"와 제 2열의 "5", "6", 등에서, 우단위치의 최종 제 18열의 "72"까지의 순서로, 좌단위치의 제 1열로부터 수직방향으로 비트마다 순차적으로 기입된다. 이 경우에, 송신기호열데이터(D16)의 양은 9600bps의 전송속도일 때의 1/8이고, 따라서 그에 대응하여 인터리브메모리(122A)의 용량이 감소한다.
다음으로, 인터리브메모리(122A)에 기입된 송신기호열데이터(D16)는 판독동작시에 제어기(107)로부터 공급된 판독어드레스정보(RA1)에 따라, "1", "5", "9", "13", "17", "21"의 순서로 상단위치의 제 1행의 좌단번호부터 판독되고, 또한 제 1행의 데이터가 7회 판독되고, 최종적으로 데이터는 제 4행에서 "72"까지 열마다 8회 판독된다.
다음으로, 인터리버(122)의 인터리브메모리(122A)에서 송신기호열데이터(D16)의 기입처리와 판독처리의 타이밍을 도 23을 참고하여 설명한다. 인터리브메모리(122A)는 9.8㎒의 클럭(CLK1)에 의거하여 프레임"0"에서 최종 6비트변환데이터(D5)(판독어드레스:570, 571, 572, 573, 574, 575)를 판독하고, 이 최종 6비트변환데이터(D5)를 래치회로(122B)에 출력한다.
먼저 래치회로(122B)는 프레임"0"에서 최종 6비트변환데이터(D5)를 보존하고, 제어부(150)로부터 공급된 4.8㎑의 클럭(CLK2)에 의거하여, 시각(t1)의 타이밍에 최종 6비트변환데이터(D5)를 송신기(108)에 출력하고, 그 다음 클럭(CLK2)이 공급될 때 시각(t2)의 타이밍까지 동일한 변환데이터(D5)를 계속해서 출력한다.
이 경우에, 인터리브메모리(122A)는 프레임"0"에서 1주기 송신기(108) 전부를 판독하므로, 메모리(122A)는 그 다음 프레임"1"에 576비트 송신기(108)를 기억할 수 있다. 그리고나서 제어부(150)는 지연없이 판독신호(SR1)에서 기입신호(WR1)로 전환하고, 또한 인터리브메모리(122A)에 기입인에이블상태를 나타내는 기입인에이블신호(WE1)를 출력하고, 9.8㎒의 클럭(CLK1)에 의거하여, 그 다음 프레임"1"에 대응하는 전송속도로 기입어드레스정보(WA1)를 선택기(151)를 통해 인터리브메모리(122A)에 출력한다.
이 경우에, 제어기(107)의 내부메모리(도시되지 않음)로부터 송신제어데이터(D4)를 판독하고 이 송신제어데이터(D4)를 음성데이터(D1)에 가산하므로써 오리지널데이터를 생성하고, 이 오리지널 데이터에 CRC부호 및/또는 테일비트를 부가하므로써 부호부가데이터(D15)를 생성하고, 이 부호부가데이터(D15)에 콘벌루션처리를 적용하므로써 송신기호열데이터(D16)를 생성하고, 1주기(576비트/20msec)송신기호열데이터(D16)를 9.8㎒의 전송속도로 1비트씩 기입어드레스정보에 의거한 인터리브메모리(122A)의 소정의 위치에 기입한다.
여기에서, 프레임"0"에서 최종 6비트변환데이터(D5)가 인터리버(122)의 래치회로(122B)에서 송신기(108)로 출력되는 시각(t1)에서 다음 프레임"1"에서 첫번째6비트변환데이터(D5)가 출력되는 시각(t2)까지의 처리가 9.8㎒클럭(CLK2)에 의거하여 행해지므로, 해당처리시간은 0.208msec.(20msec/96)이다.
이 0.208msec.의 처리시간에, 1주기송신기호열데이터(D16)를 9.8㎒의 처리속도로 인터리브메모리(122A)에 기입하는 경우에는, 2038(9.8×106×0.208×10-3)클럭에 대응하는 처리가 행해질 수 있다. 따라서, 9600bps의 전송처리속도에는, 주기당 576비트의 송신기호열데이터(D16)를 인터리브메모리(122A)에 기입하는데 576회의 기입어드레스정보(WA1)가 필요하다. 그런데, 2038회의 기입어드레스정보(WA1)가 0.208msec.의 처리시간에 대해 출력될 수 있으므로, 주기당 576비트의 송신기호열데이터(D16)가 충분히 빠르게 기입될 수 있다.
따라서, 제어기(107)의 제어부(150)는, 제어부(150)가 프레임"0"의 최종 6비트변환데이터(D5)를 래치회로(122B)로부터 출력하기 시작하는 시각으로부터 제어부(150)가 그 다음 프레임"1"에서 첫번째 6비트변환데이터(D5)의 출력을 시작할 때까지 0.208msec.(20msec./96)의 시간주기내에 주기당 576비트의 송신기호열데이터(D16)의 기입처리를 행할 수 있으므로, 제어부(150)는 그 다음 프레임의 변환데이터(D5)를 지연없이 연속적으로 송신기(108)에 출력할 수 있다.
상기 구성에서, 제어기(107)의 제어부(150)는 래치회로(122B)를 사용하여 6비트씩 9.8㎒의 동작속도로 인터리브메모리(122A)로부터 판독된 프레임"0"의 변환데이터(D5)를 보존하고, 6비트변환데이터(D5)를 4.8㎑의 처리속도로 래치회로(122B)로부터 출력하고, 콘벌루션부호화송신기호열데이터(D16)를 제어부(150)가 프레임"0"의 최종 6비트변환데이터(D5)를 래치회로(122B)로부터 출력하는 시각(t1)에서 제어부(150)가 그 다음 프레임"1"의 첫번째 6비트변환데이터(D5)를 래치회로(122B)로부터 출력하는 시각(t2)까지 9.8㎒의 동작속도로 인터리브메모리(122A)에 기입한다. 이것으로 제어부(150)는 래치회로(122B)가 6비트변환데이터(D5)를 출력하는 처리간격내에서 1주기 송신기호열데이터(D16)의 기입처리를 완료하게 된다.
따라서 제어부(150)는 프레임"0"이 프레임"1"로 전환하는 즉시 6비트변환데이터(D5)를 송신기(108)에 중단없이 출력하고, 또한 인터리브메모리(22)의 메모리용량을 증가시키지 않고 기입처리를 행하여, 회로규모를 감소시킨다.
제어기(107)의 제어부(150)가 변환데이터(D5)를 1비트씩 보존하여 출력하는 경우와 달리, 제어부(150)는 래치회로(122B)를 사용하여 변환데이터(D5)를 6비트씩 보존하고 이 변환데이터(D5)를 4.8㎑의 동작속도로 출력하므로, 송신기호열데이터(D16)를 기입하기 위한 클럭을 9.8㎒로 증가시킬 필요가 없고, 따라서 소비전력을 절약한다.
또한, 상기 실시예에서, 제어수단으로서 제어부(150)는 4.8㎑의 클럭(CLK2)을 사용하므로써 보존수단으로서 래치회로(122B)를 작동하고, 9.8㎒의 클럭(CLK1)을 사용하므로써 기억수단으로서 인터리브메모리(122A)를 작동한다. 그런데, 본 발명은 본 실시예에 한정되지 않고, 클럭(CLK1)의 동작속도가 클럭(CLK2) 보다 높은 값으로 설정되어 현프레임의 최종 6비트변환데이터(D5)가 출력될 때부터 그 다음 프레임의 첫번째 6비트변환데이터(D5)가 출력될 때까지의 시간주기내에 1주기 송신기호열데이터(D16)가 기입될 수 있다면, 클럭(CLK1)과 (CLK2)의 어떤 동작 속도도 선택될 수 있다.
또한, 상기 실시예에서, 부호화데이터(D16)는 일단 4800bps, 2400bps 및 1200bps의 전송속도로 인터리버(122)의 인터리브메모리(122A)에 기입되고, 부호화데이터(D16)는 반복하여 2회, 4회 또는 8회 판독되어 9600bps와 거의 동일한 576비트길이 변환데이터가 판독된다. 그런데, 본 발명은 본 실시예에 한정되지 않고, 데이터는 4800bps, 2400bps 및 1200bps의 전송속도로 각각 2회, 4회 및 8회 반복하여 기입될 수 있고, 데이터판독시에는 데이터 전부가 순차적으로 한번 판독될 수 있다.
본 발명의 바람직한 실시예와 관련하여 설명하였는데, 다양한 변경과 수정이 전부 본 발명이 진정한 사상과 범위내로서 부가 청구항에 포함되도록 된 것이면 다양한 변경과 수정이 가능함은 이 분야에서 기술을 가진자에게 명백할 것이다.
상기 구성에 의하면, 제어기(107)의 제어부(150)는, 소정의 판독어드레스정보(RA1)와, 기입어드레스정보(WA1)에 따라기입된 송신기호열데이터(D16)에 따라 변환데이터(D5)를 6비트씩 래치회로(122B)에 보존하고, 이 6비트변환데이터(D5)를 4.8㎑의 동작속도로 출력하고, 송신기호열데이터(D16)를 제어기(107)의 제어부(150)가 프레임"0"의 최종 6비트변환데이터(D5)를 래치회로(122B)로부터출력하는 시각(t1)에서 그 다음 프레임"1"의 첫번째 6비트변환데이터(D5)를 출력하는 시각(t2)까지 9.8㎒의 동작속도로 인터리브메모리(122A)에 기입한다. 이것으로 제어기(107)의 제어부(150)는, 래치회로(122B)가 6비트 변환데이터(D5)를 순차적으로 출력하는 처리간격내에 그 다음 프레임"1"의 1주기 송신기호열데이터(D16) 전부를 기입하게 되어, 복수의 인터리브메모리(122A)를 장치할 필요가 없게 되고 따라서 회로규모를 감소시킨다.
상기 실시예에서는, 변조수단으로서 송신기(108)가 6비트변환데이터(D5)를 64비트월쉬부호로 변환함을 유의한다. 그런데, 본 발명은 본 실시예에 한정되지않고 송신기(108)에 출력된 복수의 비트의 변환데이터(D5)가 송신기(108)의 변조방법에 따라 6비트이외의 다양한 비트수로 변환될 수 있다. 예를들어, 8비트 변환데이터(D5)를 8비트의 데이터로 증가시키는 경우에, 8비트변환데이터(D5)의 송신시간은 0.208msec.를 초과하여 1주기 송신기호열데이터(D16)를 훨씬 더 충분한 주기내에 기입되도록 하고, 클럭(CLK)의 주파수를 저하시켜 더 낮은 소비전력을 공급하게 된다.

Claims (15)

  1. 소정의 기억수단에 데이터를 기입하거나 상기 기억수단으로부터 상기 데이터를 판독하는 경우에, 상기 기억수단에 미리 정해진 순서로 어드레스를 생성하는 어드레스 생성기에 있어서,
    소정의 어드레스 간격을 갖는 복수의 제 1어드레스데이터를 생성하는 제 1어드레스데이터생성수단과,
    상기 어드레스 간격마다 상기 제 1어드레스데이터에 대해 연속적인 제 2어드레스데이터를 생성하는 제 2어드레스데이터생성수단과,
    상기 제 2어드레스데이터를 상기 각 제 1어드레스 데이터에 순차적으로 가산하므로써 어드레스를 생성하는 가산수단과,
    를 포함하여 구성된 것을 특징으로 하는 어드레스생성기.
  2. 제 1항에 있어서,
    상기 제 1어드레스데이터생성수단은,
    소정의 값까지 카운트 하는 제 1카운터와,
    상기 제 1카운터의 카운터출력을 소정의 값과 곱하므로써 상기 소정의 어드레스간격을 갖는 복수의 상기 제 1어드레스데이터를 생성하는 곱셈기와,
    를 포함하여 구성되는 것을 특징으로 하는 어드레스생성기.
  3. 제 2항에 있어서,
    상기 곱셈기는 상기 제 1카운터의 카운터출력의 소정의 비트위치를 비트이동하므로써 상기 소정의 어드레스 간격을 갖는 상기 제 1어드레스데이터를 생성하는 이동산술회로를 포함하여 구성된 것을 특징으로 하는 어드레스생성기.
  4. 오리지널 데이터를 부호화하므로써 생성된 송신기호열의 기호를 재배열하여 출력하는 인터리브유닛에 있어서,
    어드레스생성기는,
    소정의 어드레스간격을 갖는 복수의 제 1어드레스데이터를 생성하는 제 1어드레스데이터생성수단과,
    상기 어드레스간격마다 제 1어드레스데이터에 대해 연속적인 제 2어드레스데이터를 생성하는 제 2어드레스데이터생성수단과,
    제 2어드레스데이터를 각 제 1어드레스데이터에 순차적으로 가산하므로써 소정의 간격을 갖는 어드레스를 순차적으로 생성하는 가산수단과,
    소정의 간격을 갖는 어드레스를 상기 송신기호열에 순차적으로 할당하므로써 상기 송신기호열의 기호들을 램덤하게 재배열하여 출력하는 제어수단과,
    를 포함하여 구성된 것을 특징으로 하는 인터리브유닛.
  5. 제 4항에 있어서,
    상기 제어수단은 상기 송신기호열을 기억하는 기억수단을 포함하여 구성되고, 상기 소정의 간격을 갖는 어드레스에 의거하여 상기 송신기호열을 상기 기억수단에 기입하고, 상기 어드레스와 다른 순서로 상기 송신기호열을 판독하는 것을 특징으로 하는 인터리브유닛.
  6. 제 4항에 있어서,
    상기 제어수단은 상기 송신기호열을 기억하는 기억수단을 포함하여 구성되고, 소정의 기입순서에 의거하여 상기 송신기호열을 상기 기억수단에 기입하고, 상기 소정의 간격을 갖는 어드레스에 의거하여 상기 송신기호열을 판독하는 것을 특징으로 하는 인터리브유닛.
  7. 제 4항에 있어서,
    상기 제 1어드레스데이터생성수단은,
    소정의 값까지 카운트하는 제 1카운터와,
    상기 제 1카운터의 각 카운터출력을 소정의 값과 곱하므로써 상기 소정의 어드레스 간격을 갖는 복수의 상기 제 1어드레스데이터를 생성하는 곱셈기와,
    를 포함하여 구성되는 것을 특징으로 하는 인터리브유닛.
  8. 제 7항에 있어서,
    상기 곱셈기는 상기 제 1카운터의 카운터출력의 소정의 비트위치를 비트이동하므로써 상기 소정의 어드레스간격을 갖는 상기 제 1어드레스데이터를 생성하는 이동산술회로를 포함하는 것을 특징으로 하는 인터리브유닛.
  9. 오리지널 데이터를 부호화하므로써 생성된 송신기호열의 기호들을 랜덤하게 각 프레임마다 재배열하여 출력하므로써 얻어진 데이터를 전송하는 소정의 송신처리를 행하므로써 얻어지는, 전송된 송신신호를 수신하고, 상기 수신신호로부터 검색된 수신기호열의 기호들을 재배열하는 디인터리브유닛에 있어서,
    어드레스생성기는,
    소정의 어드레스간격을 갖는 복수의 제 1어드레스데이터를 생성하는 제 1어드레스데이터생성수단과,
    상기 어드레스간격마다 제 1어드레스데이터에 대해 연속적인 제 2어드레스데이터를 생성하는 제 2어드레스데이터생성수단과,
    제 2어드레스데이터를 각 제 1어드레스데이터에 순차적으로 가산하므로써 소정의 간격을 갖는 어드레스를 순차적으로 생성하는 가산수단과,
    소정의 간격을 갖는 어드레스를 상기 수신기호열에 순차적으로 할당하므로써 상기 수신기호열의 기호들을 램덤하게 재배열하여 출력하는 제어수단과,
    를 포함하여 구성된 것을 특징으로 하는 디인터리브유닛.
  10. 제 9항에 있어서,
    상기 제어수단은 상기 수신기호열을 기억하는 기억수단을 포함하여 구성되고, 상기 소정의 간격을 갖는 어드레스에 의거하여 상기 수신기호열을 상기 기억수단에 기입하고, 상기 어드레스와 다른 순서로 상기 수신기호열을 판독하는 것을 특징으로 하는 디인터리브유닛.
  11. 제 9항에 있어서,
    상기 제어수단은 상기 수신기호열을 기억하는 기억수단을 포함하여 구성되고, 소정의 기입순서에 의거하여 상기 수신기호열을 상기 기억수단에 기입하고, 상기 소정의 간격을 갖는 어드레스에 의거하여 상기 수신기호열을 판독하는 것을 특징으로 하는 디인터리브유닛.
  12. 제 9항에 있어서,
    상기 제 1어드레스데이터생성수단은,
    소정의 값까지 카운트하는 제 1카운터와,
    상기 제 1카운터의 각 카운터출력을 소정의 값과 곱하므로써 상기 소정의 어드레스 간격을 갖는 복수의 상기 제 1어드레스데이터를 생성하는 곱셈기와,
    를 포함하여 구성되는 것을 특징으로 하는 디인터리브유닛.
  13. 제 12항에 있어서,
    상기 곱셈기는 상기 제 1카운터의 카운터출력의 소정의 비트위치를 비트이동하므로써 상기 소정의 어드레스 간격을 갖는 상기 제 1어드레스데이터를 생성하는 이동산술회로를 포함하여 구성되는 것을 특징으로 하는 디인터리브유닛.
  14. 오리지널 데이터를 부호화하므로써 생성된 송신기호열의 기호들을 각 프레임에 대해 랜덤하게 재배열하고, 재배열된 변환데이터에 소정의 변조를 행하므로써 생성된 송신신호를 전송하는 송신유닛에 있어서,
    상기 각 프레임에 대해 상기 송신기호열을 소정의 기입순서로 기억하고, 각 소정 수의 비트에 대해 상기 기입순서와 다른 판독순서로 상기 송신기호열을 판독하는 기억수단과,
    상기 판독순서로 순차적으로 판독된 소정의 비트의 변환데이터를 일시적으로 보존하는 보존수단과,
    상기 보존수단으로부터 출력된 상기 소정 비트의 변환데이터에 상기 소정의 변조를 행하는 변조수단과,
    현프레임의 최종 소정 비트의 변환데이터가 상기 보존수단에 의해 보존되는 동안 그 다음 프레임의 상기 송신기호열을 상기 기억수단에 기억하는 제어수단과,
    를 포함하여 구성되는 것을 특징으로 하는 송신유닛.
  15. 제 14항에 있어서,
    상기 기억수단은, 상기 오리지널 데이터가 복수의 전송속도 중에서 최고 전송속도이외의 전송속도로 송신되는 경우에, 상기 오리지널 데이터에 의거하여 생성된 상기 송신기호열을 기입하고, 각 소정의 비트수마다 상기 판독순서로 상기 송신기호열을 여러회 반복적으로 판독하는 것을 특징으로 하는 송신유닛.
KR1019990011651A 1998-04-07 1999-04-02 어드레스 생성기, 인터리브 유닛, 디인터리브 유닛 및 송신유닛 KR19990082899A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP10094734A JPH11298338A (ja) 1998-04-07 1998-04-07 送信装置及び送信方法
JP98-094734 1998-04-07
JP10121533A JPH11317677A (ja) 1998-04-30 1998-04-30 アドレス生成装置、インタリーブ装置及びデインタリーブ装置
JP98-121533 1998-04-30

Publications (1)

Publication Number Publication Date
KR19990082899A true KR19990082899A (ko) 1999-11-25

Family

ID=26435989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990011651A KR19990082899A (ko) 1998-04-07 1999-04-02 어드레스 생성기, 인터리브 유닛, 디인터리브 유닛 및 송신유닛

Country Status (3)

Country Link
US (2) US6507629B1 (ko)
EP (1) EP0965911A3 (ko)
KR (1) KR19990082899A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101584039B1 (ko) * 2015-08-17 2016-01-11 박미성 수정 핫-쿨 마사저

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507629B1 (en) * 1998-04-07 2003-01-14 Sony Corporation Address generator, interleave unit, deinterleave unit, and transmission unit
KR100306282B1 (ko) * 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
JP2001060934A (ja) * 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
EP1089439A1 (en) * 1999-09-28 2001-04-04 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Interleaver and method for interleaving an input data bit sequence using a coded storing of symbol and additional information
IT1314319B1 (it) * 1999-12-23 2002-12-09 Siemens Inf & Comm Networks Metodo di interlacciamento di un flusso di bit in un sistema ditelefonia radiomobile
JP2001186328A (ja) * 1999-12-27 2001-07-06 Canon Inc 画像処理装置及びその制御方法、及び画像処理システム
JP3399904B2 (ja) * 2000-03-17 2003-04-28 松下電器産業株式会社 インタリーブアドレス生成装置
US20020114197A1 (en) * 2000-05-22 2002-08-22 Masataka Fukui Address converter, interleaver and de-interleaver
US6625763B1 (en) * 2000-07-05 2003-09-23 3G.Com, Inc. Block interleaver and de-interleaver with buffer to reduce power consumption
KR100430567B1 (ko) * 2000-10-11 2004-05-10 한국전자통신연구원 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템
KR100846017B1 (ko) * 2000-10-30 2008-07-11 가부시키가이샤 히타치세이사쿠쇼 데이터 인터리브/디인터리브 효율을 향상시키기 위한 반도체 장치, 무선 통신 장치, 컴퓨터 프로그램 제품 및 방법
US20020083248A1 (en) * 2000-12-27 2002-06-27 Matsushita Electric Industrial Co., Ltd. Interleave circuit, de-interleave circuit and xDSL modem
US6801791B2 (en) * 2001-03-14 2004-10-05 Lucent Technologies Inc. Cellular communications system and related methods
US6964005B2 (en) * 2001-06-08 2005-11-08 Broadcom Corporation System and method for interleaving data in a communication device
US7398446B2 (en) * 2003-05-29 2008-07-08 Lucent Technologies Inc. Low power operation of an address interleaver
ES2228262B1 (es) * 2003-06-20 2006-02-16 Sistemas Integrados Para La Automocion, S.L. Sistema de cableado digital para vehiculos.
FR2857178B1 (fr) * 2003-07-04 2005-09-30 St Microelectronics Sa Entrelaceur et dispositif de decodage de signaux numeriques comportant un tel entrelaceur
US20050180332A1 (en) * 2004-02-13 2005-08-18 Broadcom Corporation Low latency interleaving and deinterleaving
EP1828884B1 (en) * 2004-12-14 2010-08-25 Silicon Hive B.V. Programmable signal processing circuit and method of de-interleaving
US7852519B2 (en) * 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8050355B2 (en) * 2008-06-11 2011-11-01 Korea Electronics Technology Institute Transmitter and receiver using pseudo-orthogonal code
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
JP5598337B2 (ja) * 2011-01-12 2014-10-01 ソニー株式会社 メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム
RU2012130778A (ru) 2012-07-18 2014-01-27 ЭлЭсАй Корпорейшн Маршрутизатор пакетов, имеющий иерархическую структуру буфера
MX2018005575A (es) * 2015-11-10 2018-08-01 Sony Corp Aparato de procesamiento de datos, y metodo de procesamiento de datos.
CN111554344B (zh) * 2020-04-28 2022-06-24 深圳佰维存储科技股份有限公司 存储单元测试方法、装置、存储介质及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4370732A (en) * 1980-09-15 1983-01-25 Ibm Corporation Skewed matrix address generator
US5237320A (en) * 1986-09-30 1993-08-17 Nec Corporation Radio paging system with different transmission speeds and receiver therefor
JPS63225837A (ja) * 1987-03-13 1988-09-20 Fujitsu Ltd 距離付きベクトルアクセス方式
JPS6437125A (en) * 1987-07-31 1989-02-07 Csk Corp Cross coding method and device therefor
US5042033A (en) * 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5454082A (en) * 1991-09-18 1995-09-26 Ncr Corporation System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus
JPH06216882A (ja) * 1993-01-19 1994-08-05 Matsushita Electric Ind Co Ltd 誤り訂正送信装置及び受信装置
JPH0728786A (ja) * 1993-07-15 1995-01-31 Hitachi Ltd ベクトルプロセッサ
US5559506A (en) * 1994-05-04 1996-09-24 Motorola, Inc. Method and apparatus for encoding and decoding a digital radio signal
KR100186627B1 (ko) * 1996-09-21 1999-05-15 삼성전자 주식회사 베이스 밴드 인터리버
KR100193846B1 (ko) * 1996-10-02 1999-06-15 윤종용 인터리브 리드 어드레스 생성기
DE69732896T2 (de) * 1997-01-31 2006-05-11 Alcatel Verfahren und Geräte zur Schachtelung/Entschachtelung von digitalen Daten und Kommunikationssystem
US6035434A (en) * 1997-06-12 2000-03-07 Advanced Micro Devices, Inc. System and method for bit interleaving of half-rate speech data
US6185200B1 (en) * 1998-03-13 2001-02-06 Lucent Technologies Inc. Reverse-link de-interleaving for communication systems based on closed-form expressions
US6195344B1 (en) * 1998-03-13 2001-02-27 Lucent Technologies Inc. Forward-link traffic/paging-channel de-interleaving for communication systems based on closed-form expressions
US6452985B1 (en) * 1998-03-18 2002-09-17 Sony Corporation Viterbi decoding apparatus and Viterbi decoding method
US6507629B1 (en) * 1998-04-07 2003-01-14 Sony Corporation Address generator, interleave unit, deinterleave unit, and transmission unit
US6298369B1 (en) * 1998-09-30 2001-10-02 Stmicroelectronics, Inc. High speed multiplier

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101584039B1 (ko) * 2015-08-17 2016-01-11 박미성 수정 핫-쿨 마사저

Also Published As

Publication number Publication date
EP0965911A3 (en) 2003-03-12
US6507629B1 (en) 2003-01-14
EP0965911A2 (en) 1999-12-22
US6748560B2 (en) 2004-06-08
US20020035715A1 (en) 2002-03-21

Similar Documents

Publication Publication Date Title
KR19990082899A (ko) 어드레스 생성기, 인터리브 유닛, 디인터리브 유닛 및 송신유닛
US7340664B2 (en) Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
EP0660558A2 (en) Interleaving method and apparatus for digital data transmission in GSM-networks
JPH09232973A (ja) ビタビ復号器
EP0715432A2 (en) Interleaver and address generator for mobile communication systems
JPH11275052A (ja) 拡散符号化装置およびその方法
KR100341560B1 (ko) 확산 스펙트럼 통신 시스템에서 콘볼루션 코드화된 신호를 인터리빙하는 방법
KR100484555B1 (ko) 에러 정정 방법 및 장치
JP2002232391A (ja) 直交符号発生回路
US6522704B1 (en) Data reception apparatus and data reception method
US5982822A (en) Viterbi decoder
KR100357126B1 (ko) 메모리 주소 발생 장치 및 그를 이용한 무선 단말기
EP1235354B1 (en) Interleaving method
US6957310B1 (en) Interleave address generation device and interleave address generation method
KR19990001577A (ko) 단일 콘케티네이티드 부호기를 이용한 통신 장치 및 이를 이용한 통신 방법
US6651211B1 (en) Method of mobile telecommunications
JPH11317677A (ja) アドレス生成装置、インタリーブ装置及びデインタリーブ装置
JPH11298338A (ja) 送信装置及び送信方法
JP3257051B2 (ja) インターリーブ回路及びデ・インターリーブ回路
WO2000077963A1 (en) Interleaving in a spread-spectrum communication system
JP3285475B2 (ja) スペクトル拡散方式通信装置
JP3693728B2 (ja) 通信制御装置
JP2001177418A (ja) インターリーブアドレス生成装置及びインターリーブアドレス生成方法
GB2294616A (en) Data interleaving process for radio transmission
JP2005269672A (ja) Crc符号器

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee