KR100189539B1 - 인터리빙 및 디인터리빙 어드레스 생성기 - Google Patents

인터리빙 및 디인터리빙 어드레스 생성기 Download PDF

Info

Publication number
KR100189539B1
KR100189539B1 KR1019960038702A KR19960038702A KR100189539B1 KR 100189539 B1 KR100189539 B1 KR 100189539B1 KR 1019960038702 A KR1019960038702 A KR 1019960038702A KR 19960038702 A KR19960038702 A KR 19960038702A KR 100189539 B1 KR100189539 B1 KR 100189539B1
Authority
KR
South Korea
Prior art keywords
address
interleaving
burst
deinterleaving
read
Prior art date
Application number
KR1019960038702A
Other languages
English (en)
Other versions
KR19980020269A (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 윤종용
Priority to KR1019960038702A priority Critical patent/KR100189539B1/ko
Publication of KR19980020269A publication Critical patent/KR19980020269A/ko
Application granted granted Critical
Publication of KR100189539B1 publication Critical patent/KR100189539B1/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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation

Landscapes

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

Abstract

가. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 인터리빙 및 디인터리빙 어드레스 생성기에 관한 것이다.
나. 발명이 해결하고자 하는 기술적 과제
GSM 단말기의 인터리빙 및 디인터리빙 어드레스 생성기를 간단히 구성한다.
다. 발명의 해결방법의 요지
인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기는 1버스트부터 8버스트까지 순차적인 증가를 반복하는 버스트 어드레스를 생성하고, 4에서 5버스트로의 증가시에는 15비트가, 8에서 1버스트로 변화시에는 17비트가, 그 외의 버스트 증가시에는 16비트가 감소하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성한다. 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기는 1버스트부터 8버스트까지 순차적으로 증가하고, 다시 상기 증가를 반복하는 버스트 어드레스를 발생하고, 상기 버스트가 증가할 때마다 0에서 113까지의 비트를 순차적으로 증가하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성한다.
라. 발명의 중요한 용도
GSM 단말기의 인터리버 및 디인터리버에 사용될 수 있다.

Description

인터리빙 및 디인터리빙 어드레스 생성기
본 발명은 GSM(Grobal System for Mobile communication)에 관한 것으로, 특히 GSM 단말기의 풀레이트 스피치(Full Rate Speech)용 인터리빙(Interleaving) 및 디인터리빙(Deinterleaving) 어드레스 생성기에 관한 것이다.
GSM 규정에서 인터리빙과 디인터리빙을 수행하기 위한 규정은 원 신호의 순서와 원 신호를 인터리빙하여 출력하는 순서의 관계로 규정되어 있다. 상기 원 신호의 순서와 원 신호를 인터리빙하여 출력하는 순서의 관계는 하기 수학식 1과 같다.
상기 i(B,i)는 인터리빙되어 출력되는 데이터의 순서를 나타낸다. 그리고, c(n,k)는 인터리빙되기 위하여 입력되는 원데이타의 순서를 나타낸다.
한편 상기 수학식 1의 B와 n의 관계를 규정한 것이 하기 수학식 2이다.
상기 수학식 2의 B는 출력되는 데이터의 버스트를 나타낸다. 상기 수학식 2에서 n은 입력되는 데이터 블록을 나타낸다. k는 입력되는 데이터 블록 내의 비트 위치를 나타난다. 여기서 상기 풀 레이트 스피치인 경우에 하나의 데이터 블록은 456개의 비트로 구성된다. 이에따라 상기 k는 0에서 455까지의 비트위치를 나타낼 수 있다.
여기서 상기 B가 상기 B0,n,k에 따라 어떤 값을 가지는 지를 상세히 설명한다. 상기 초기에는 상기 B0가 0이고, 상기 n과 k도 0이다. 상기 B0나 n은 입력되는 데이터 블록이 증가함에 따라 증가하고, 상기 k는 상기 데이터 블록의 비트가 증가됨에 따라 증가한다. 상기 제1데이타 블록 c(0,k)가 입력되는 경우에는 상기 k가 순차적으로 증가함에 따라 상기 B 값도 순차적으로 증가한다. 그러나 상기 k가 8이 되면 mod(8)에 의하여 B 값은 다시 0이 되고, 다시 k 값의 증가에 따라 다시 B 값이 0에서부터 증가한다. 이에따라 상기 제1데이타 블록이 c(0,k)이 입력될 경우에 B는 0,1,2∼5,6,7,0,1∼6,7,0,1∼의 순으로 출력된다.
한편 상기 j와 k의 관계를 규정한 것이 수학식 3이다.
상기 수학식 3에 따라 생성되는 j는 49k가 57보다 작으면 49k에 2을 곱한다. 그리고, kmod(8) 값을 4로 나누어 생성된 몫을 상기 곱한 값과 더함으로써 구해진다.
한편 상기 49K가 57보다 크면 다시 0으로 돌아간다. 상기 수학식 3에 따라 생성되는 j는 0,98,82,66,51∼이다.
이에따라 순차적으로 입력되는 데이터의 출력순서를 보면 c(n,0) ⇒ c(n-1,228) ⇒ c(n,64) ⇒ c(n-1,292) ⇒ c(n,128) ⇒ c(n-1,356) ⇒ c(n,192)∼이다. 상기 n은 현재 데이터 블록을 나타내고, n-1은 이전 데이터 블록을 나타낸다.
상기와 같이 순차적으로 입력되는 데이터를 출력할 순서대로 표로 나타난 것이 도1이다. 상기 도 1의 가로는 8개의 버스트 b0 내지 b7이 나타나 있다. 그리고, 세로는 출력되는 비트를 나타내는 0에서 112개의 비트가 나타나 있다. 상기 도 1에 도시한 제1입력 데이터 c(0,k)의 첫 비트 c(0,0)는 출력시에 첫 버스트의 첫비트 즉 i(B0,0)에 위치한다. 다음 비트 c(0,1)는 출력시에 i(B1,98)에 위치한다. 그리고, c(0,2)는 i(B2,82), c(0,3)는 i(B3,66), c(0,4)는 i(B4,51), c(0,5)는 i(B5,35), c(0,6)는 i(B6,19), c(0,7)는 i(B7,3), c(0,8)는 i(B1,100)∼에 위치한다. 이와 같이 상기 제1입력 데이터 i(0,k)는 8 버스트에 고루 분산된다. 한편 제2입력 데이타 c(1,k)의 첫 비트 c(1,0)는 출력시에 첫 버스트의 다섯 번째 비트 즉 I(B4,0)에 위치한다. 다음 비트 c(1,1)는 출력시에 i(B5,98)에 위치한다. 그리고, c(1,2)는 i(B6,82), c(1,3)는 i(B7,66), c(1,4)는 i(B0,51), c(1,5)는 i(B1,35), c(1,6)는 i(B2,19), c(1,7)는 i(B3,3), c(1,8)는 i(B4,100)∼에 위치한다. 이와 같이 제2입력 데이터 i(1,k)는 다섯 번째 버스트에서부터 확산을 시작하여 8개의 버스트에 고루 확산된다.
한편 상기와 같이 인터리빙되어 확산된 데이터를 수신하여 디인터리빙할 때에는 상술한 수학식 1 내지 수학식 3을 역으로 이용하면 원 데이타를 얻을 수 있다.
상기와 같이 입력되는 데이터의 출력순서를 변환하여 인터리빙하고, 디인터리빙하기 위하여 종래에는 인터리빙 및 디인터리빙 장치를 사용하였다.
종래의 인터리빙 및 디인터리빙 장치는 상기 수학식 1 내지 수학식 3에 대응하는 하드웨어적인 장치를 구비하여서 인터리빙과 디인터리빙을 수행하였다. 그러나 상기 수학식 1 내지 수학식 3을 그대로 하드웨어로 옮김에 따라 상기 인터리빙 내지 디인터리빙 장치는 하드웨어의 크기가 매우 커지게 되었다. 왜냐하면 상기 수학식 1 내지 수학식 3을 그대로 하드웨어로 구현하기 위해서는 다수의 승산기와 제산기가 필요한 데, 상기 승산기와 제산기는 통상적으로 다른 연산기에 비하여 부피가 크기 때문이다.
상술한 바와 같이 종래의 인터리빙 및 디인터리빙 장치는 하드웨어적인 크기가 커서 원가를 상승시키고, 장치의 부피가 커지는 곤란한 점이 있었다.
본 발명의 목적은 간단한 하드웨어로 인터리빙 및 디인터리빙을 수행하는 인터리빙 및 디인터리빙장치를 제공함에 있다.
도 1은 인터리빙된 데이터의 출력순서를 도시한 것이다.
도 2는 인터리빙되어 출력되는 데이터를 출력순서에 따라 저장한 메모리 맵을 도시한 것이다.
도 3은 본 발명의 바람직한 실시예에 따른 인터리빙 장치의 블록도이다.
도 4는 본 발명의 바람직한 실시예에 따른 디인터리빙 장치의 블록도이다.
도 5는 본 발명의 바람직한 실시예에 따른 인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기를 도시한 것이다.
도 6은 도 5의 동작 타이밍도이다.
도 7은 본 발명의 바람직한 실시예에 따른 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기를 도시한 것이다.
도 8은 도 6의 동작 타이밍도이다.
상술한 목적을 달성하기 위한 인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기는 1버스트부터 8버스트까지 순차적인 증가를 반복하는 버스트 어드레스를 생성하고, 4에서 5버스트로의 증가시에는 15비트가, 8에서 1버스트로 변화시에는 17비트가, 그 외의 버스트 증가시에는 16비트가 감소하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성한다. 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기는 1버스트부터 8버스트까지 순차적으로 증가하고, 다시 상기 증가를 반복하는 버스트 어드레스를 발생하고, 상기 버스트가 증가할 때마다 0에서 113까지의 비트를 순차적으로 증가하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성한다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부도면에서 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진자에게 자명할 것이다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 2는 본 발명의 바람직한 실시예에 따라 인터리빙되어 출력할 데이터를 저장한 메모리의 메모리 맵을 도시한 것이다. 상기 메모리 맵에는 상기 수학식 1 내지 수학식 3에 따라 1 내지 8 버스트에 확산한 제1입력 데이터 c(0.k)와, 8개의 버스트에 확산된 제2입력 데이터 c(1,k) 중에 5 내지 8버스트에 확산되어 있는 제2입력데이타 c(1,k)를 대략적으로 도시하였다. 상기 도 2에 빗금으로 표시한 부분, 즉 각 버스트의 101 비트에서 113 비트는 본 발명에서 사용되지 않는 영역이다. 상기 도 2에 도시한 메모리 맵에서 입력 데이타의 비트가 증가와 출력되는 위치의 변화를 좀더 상세히 살펴보자. 상기 제1입력데이타 c(0.k) 중 처음 8개의 비트의 출력 위치 변화를 나타낸 것이 하기 표 1이다. 하기 표 1에 나타낸 버스트 변환치에서 모든 버스트는 8개이므로 7버스트에서 0버스트로의 변화치를 1로 한다.
입력 데이타 출력 버스트 출력 비트 버스트 변화치 비트 변화치
c(0,0) ⇒ c(0,1) 0 ⇒ 1 0 ⇒ 98 1 (0+114)-16
c(0,1) ⇒ c(0,2) 1 ⇒ 2 98 ⇒ 82 1 -16
c(0,2) ⇒ c(0,3) 2 ⇒ 3 82 ⇒ 66 1 -16
c(0,3) ⇒ c(0,4) 3 ⇒ 4 66 ⇒ 51 1 -15
c(0.4) ⇒ c(0,5) 4 ⇒ 5 51 ⇒ 33 1 -16
c(0,5) ⇒ c(0,6) 5 ⇒ 6 33 ⇒ 19 1 -16
c(0,6) ⇒ c(0,7) 6 ⇒ 7 19 ⇒ 3 1 -16
c(0,7) ⇒ c(0,8) 7 ⇒ 0 3 ⇒ 100 1 (3+114)-17
상기 표 1에 도시한 바와 같이 버스트가 0 ⇒1, 1 ⇒2, 2 ⇒3, 4 ⇒5, 5⇒6, 6⇒7로 변화할 때에 비트는 16개가 변화한다. 그리고, 상기 버스트가 3⇒4로 변화할 때에 비트는 15개가 변화한다. 그리고, 상기 버스트가 7⇒0으로 변화할 때에 비트는 17개가 변화한다. 그리고 비트의 변화는 현재의 비트수에서 15 또는 16 또는 17이 감소되는 데, 현재의 비트 수가 상기 감소시키고자 하는 수보다 작은 값일 경우에는 현재의 값에 114을 더한 후에 감소한 값으로 변화된다. 상기와 같은 비트 수의 변화치는 도 2에 도시한 바와 같이 버스트의 변화에 따라 일정하다.
이와 같이 GSM 규정에 따라 인터리빙한 입력데이타의 출력순서에는 상술한 일정한 형식이 있음을 알 수 있다. 이에따라 본 발명은 상기 일정한 형식에 근거하여 인터리빙과 디인터리빙 장치를 구현하였다. 상기 인터리빙 장치는 송신 데이타를 입력받아 인터리빙 램에 저장하는 데, 저장시에 라이트 어드레스를 상기와 같이 제공하여 라이트시에 상기와 같은 형태로 라이트되도록 한다. 그리고, 상기와 같이 라이트되어 있는 송신 데이타를 첫 어드레스에서부터 순차적으로 리드하여 송신장치에 제공하도록 한다. 그리고, 디인터리빙 장치는 수신데이타를 입력받아 수신된 순서대로 디인터리빙 램에 라이트하고, 라이트된 데이터를 원데이터의 인터리빙 라이트시에 라이트 어드레스와 동일한 어드레스로 리드를 수행하여 원데이타로 복구한다.
상기와 같은 인터리빙 장치의 블록도를 도시한 것이 도 3이다. 인터리빙 장치의 인터리빙 라이트 어드레스 생성기(10)는 송신데이터를 도 2에 도시한 바와 같은 데이터 출력순서에 따라 인터리브 램(16)에 라이트 하기 위한 라이트 어드레스를 생성한다. 상기 생성된 라이트 어드레스는 멀티플렉서(14)에 제공된다. 한편 리드 어드레스 생성기(12)는 인터리브 램(16)에 저장되어 있는 데이터를 리드하기 위한 리드 어드레스를 생성한다. 상기 리드 어드레스는 멀티플렉서(14)에 제공된다. 상기 멀티플렉스(14)는 GSM 단말기의 제어부에서 제공하는 선택신호 IL-WR 에 따라 입력되는 리드 어드레스와 라이트 어드레스를 중 어느 하나를 출력하여 인터리브 램(16)에 제공한다. 상기 인터리브 램(16)은 상기 라이트 어드레스를 입력받아 송신데이타를 상기 라이트 어드레스에 대응하는 위치에 라이트하고, 리드 어드레스를 입력받아 리드 어드레스에 대응하는 위치에 기록되어 있는 데이터를 리드한다.
한편 상기와 같이 인터리브되어 송신되는 데이터를 수신할 경우에 디인리빙하는 본 발명의 바람직한 실시예에 따른 디인터리빙 장치를 도시한 것이 도 4이다. 상기 디인터리빙 장치의 라이트 어드레스 생성기(20)는 입력되는 송신데이타를 입력되는 순으로 디인터리브 램(18)상에 라이트할 라이트 어드레스를 생성한다. 상기 라이트 어드레스는 멀티플렉서(24)에 제공된다. 디인터리빙 리드 어드레스 생성기(22)는 디인터리브 램(18)상에 라이트되어 있는 수신데이타를 인터리빙되기 전의 원데이타로 복구하기 위하여 인터리빙시의 라이트 어드레스와 동일한 어드레스의 리드 어드레스를 생성한다. 상기 리드 어드레스는 멀티플렉서(24)에 제공된다. 상기 멀티플렉서(24)는 제어부로부터 제공되는 선택신호 DIL-WR 에 따라 입력되는 리드 어드레스와 라이트 어드레스 중 어느 하나를 출력한다. 상기 디인터리빙 램(18)은 상기 라이트 어드레스를 입력받아 수신데이타를 상기 라이트 어드레스에 대응하는 위치에 라이트하고, 리드 어드레스를 입력받아 리드 어드레스에 대응하는 위치에 라이트되어 있는 데이터를 리드하여 출력한다.
상기 인터리빙 장치와 디인터리빙 장치의 인터리빙 라이트 어드레스 생성기(10)와 디인터리빙 리드 어드레스 생성기(22)는 동일한 어드레스를 생성한다. 즉 송신데이타를 인터리빙 램(16)에 라이트할 때의 어드레스나, 디인터리빙 램(18)에 라이트되어 있는 수신데이타를 리드할 때의 어드레스는 동일하다. 이에따라 상기 인터리빙 라이트 어드레스 생성기(10)와 디인터리빙 리드 어드레스 생성기(22)는 동일한 구성을 가진다.
상기 인터리빙 라이트 어드레스 생성기(10)와 디인터리빙 리드 어드레스 생성기(22)의 상세블럭도를 도시한 것이 도 5이다. 또한 상기 인터리빙 라이트 어드레스 생성기와 디인터리빙 리드 어드레스 생성기의 동작타이밍도를 도시한 것이 도 6이다. 이제 상기 도 5와 도 6을 참조하여 본 발명을 상세히 설명한다. 상기 도 5의 WRRST는 라이트 리셋 신호로 한 데이터 블록마다 발생하는 신호로 해당 제어부에서 제공한다. WRSCK은 라이트 클럭으로 해당 제어부에서 제공한다. 상기 WRRST는 도 6에 도시한 바와 같이 456개의 WRCLK클럭마다 발생된다.
상기 WRRST는 MOD8 카운터에 입력(CNT1)된다. 상기 MOD8 카운터(CNT1)는 클럭의 하강에지에서 카운트 값을 늘리고, 상기 카운트 값이 8이되면 다시 처음부터 카운트를 수행하는 카운터이다. 또한 MOD8 카운터(CNT1)는 상기 카운트가 카운트를 시작하여 8번카운트를 수행하는 동안 하이로 발생하는 REG1RST을 발생한다. 상기 REG1RST는 레지스터(R1)의 리셋단자에 입력된다. 그리고, 상기 MOD8 카운터(CNT1)의 카운트 값을 MOD80(2:0)이라 한다. 상기 MOD80(2:0)은 도 6에 도시한 바와 같이 WRCLK을 0부터 7까지 카운트를 수행하는 것을 반복한다. 상기와 같은 MOD80(2:0)은 제1디코더(DEC1)에 입력된다. 상기 제1디코더(DEC1)는 MOD8(2:0)이 0이면 0을 출력하고, MOD8(2:0)이 0이 아니면 1을 출력한다. 상기 제1디코더(DEC1)의 출력을 ADD1I(2:0)라한다.상기 ADD1I(2:0)는 제1가산기(ADD1)에 입력된다.
한편 상기 REG1RST는 제1레지스터(R1)의 리셋단자에 입력된다. 상기 제1레지스터(R1)의 클럭단자에는 WRCLK이 입력된다. 상기 제1레지스터(R1)는 제1가산기(ADD1)의 출력을 입력받아 WRCLK의 하강에지에서 래치하고, 상기 제1레지스터(R1)는 REG1RST의 상승에지에서 리셋된다. 이때 상기 제1레지스터(R1)의 출력을 REG10(2:0)이라 한다. 상기 REG10(2:0)은 제1가산기(ADD1)에 입력된다. 상기 제1가산기(ADD1)는 상기 REG10(2:0)와 ADD1I(2:0)를 입력받아 가산한다. 이때 제1가산기(ADD1)의 출력을 ADD10(2:0)이라 한다. 상기 제1가산기(ADD1)는 첫 WRCLK시에 제1디코더(DEC1)로부터 0을 입력받는다. 그리고, 제1가산기(ADD1)는 초기에 클리어된다. 이에따라 제1가산기(ADD1)의 출력은 0이고, 제1디코더(DEC1)를 통하여 첫 WRCLK의 하강에지에서 출력되는 데이터 역시 0이다. 이에따라 첫 WRCLK의 하강에지에서 제1가산기(ADD1)는 상기 0과 0을 가산함으로 ADD10(2:0)은 0이다. 상기 ADD10(2:0)은 제1레지스터(R1)에 입력되어 제1레지스터(R1)는 상기 0을 래치한다.
한편 두 번째 하강에지에서 MOD8 카운터(CNT1)는 카운트를 수행하고, MOD8 카운터(CNT1)의 카운트값 1은 제1디코더(DEC1)에 입력되고, 제1디코더(DEC1)는 상기 카운트 값이 0이 아니므로 1을 출력한다. 상기 제1디코더(DEC1)의 출력 ADD1I(2:0)은 제1가산기(ADD1)에 입력되고, 제1가산기(ADD1)는 1인 ADD1I(2:0)와 제1레지스터(R1)의 래치값 0을 가산하여 1을 출력한다. 상기 1은 다시 제1레지스터(R1)에 입력되고, 상기 제1레지스터(R1)는 상기 1을 래치한다. 이와 같이 연산이 수행됨에 따라 REG10(2:0)은 도6과 같이 0에서 6까지 증가를 반복하고, ADD10(2:0)은 0에서 7까지 증가를 반복한다. 상기 ADD10(2:0)은 제2가산기(ADD2)에 입력된다.
한편 DBNLSB는 WRRST의 상승에지에서 논리상태를 변화하는 신호로서 해당되는 제어부에서 제공된다. 상기 첫 WRRST의 상승에지에서 DBSLSB는 하이로 나타나고, 다음 WRRST에서 로우로 다음에는 다시 하이로 변환다. 상기 DBNLSB는 제2디코더(DEC2)에 입력된다. 상기 제2디코더(DEC2)는 상기 DBNLSB가 로우이면 0을 출력하고, 하이이면 4를 출력한다. 상기 제2디코더(DEC2)의 출력을 ADD2I(2:0)라 한다. 상기 ADD2I(2:0)는 제2가산기(ADD2)에 입력된다. 상기 제2가산기(ADD2)는 상기 ADD2I(2:0)와 ADD10(2:0)을 입력받아 가산한다. 상기 제2가산기(ADD2)의 출력을 ADD20(3:0)라 한다. 상기 ADD20(3:0)은 도 6에 도시한 바와 같이 첫번째 WRRST의 상승에지 후에는 0에서 7까지 증가를 반복하고, 두번째 WRRST의 상승에지 후에는 4에서 11까지 증가를 반복한다. 한편 상기 ADD20(3:0)은 결합기(CON1)에 입력된다.
한편 상기 MOD80(2:0)은 제3디코더(DEC3)에 입력된다. 상기 제3디코더(DEC3)는 상기 MOD80(2;0)이 1,2,3,5,6,7이면 16을 출력하고, 0이면 17을 출력하고, 4이면 15을 출력한다. 상기 제3디코더(DEC3)의 출력을 SUB1I(7:0)라 한다. 상기 SUB1I(7:0)는 제1감산기(SUB1)에 입력된다.
한편 LOAD는 해당 제어부로부터 제공되는 로드신호이다. 상기 로드신호는 제1멀티플렉서(MUX1)에 입력된다. 상기 제1멀티플렉서(MUX1)는 로드신호가 입력될 경우에는 입력단자 1로부터 입력되는 17을 출력하고, 로드신호가 입력되지 않을 경우에는 입력단자 0으로부터 입력되는 신호를 출력한다. 한편 상기 제1멀티플렉서(MUX1)의 출력은 제2레지스터(R2)에 입력된다.
한편 해당 제어부로부터 제공되는 로드클럭신호 LOADCLK과 상기 WRCLK은 제1오아게이트(OR1)에 입력된다. 상기 제1오아게이트(OR1)는 상기 두 신호가 동시에 로우인 경우에만 로우로 나타나는 신호를 출력한다. 상기 신호는 제2레지스터(R2)의 클럭단자에 입력된다. 상기 제2레지스터(R2)는 상기 신호를 입력받아 상기 제3디코더(DEC3)의 출력을 래치한다. 상기 제2레지스터(R2)의 출력을 REG20(7:0)이라 한다. 상기 REG20(7:0)은 제1감산기(SUB1)에 입력된다. 상기 제1감산기(SUB1)는 상기 REG20(7:0)과 SUB1I(7:0)을 입력받아 REG20(7:0)에서 SUB1I(7:0)을 감산한다. 상기 제1감산기(SUB)의 출력을 SUB10(7:0)이라 한다. 상기 SUB10(7:0)은 첫 감산시에 상기 REG20(7:0)이 17이고, SUB1I(7:0)가 17이므로 0이 출력된다. 상기 SUB10(7:0)은 제4디코더(DEC4)와 제3가산기(ADD3)와 제2멀티플렉서(MUX2)에 입력된다. 상기 제3가산기(ADD3)는 114를 입력받아 SUB10(7:0)과 가산하여 출력한다. 상기 출력은 제2멀티플렉서(MUX2)에 입력된다.
한편 상기 제4디코더(DEC4)는 상기 SUB10(7:0)을 입력받아 상기 SUB10(7:0)이 0보다 작으면 0을 출력하고, 그외의 값이면 1을 출력한다. 이때 상기 제4디코더(DEC4)의 출력은 제2멀티플렉서(MUX2)에 입력된다. 상기 제2멀티플렉서(MUX2)는 상기 제4디코더(DEC4)의 출력이 0이면 입력단자 0으로 입력되는 제3가산기(ADD3)의 출력을 출력하고, 1이면 입력단자 1로 입력되는 SUB10(7:0)을 출력한다. 이때 상기 제2멀티플렉서(MUX2)의 출력을 MUX20(7:0)이라 한다. 상기 MUX20(7:0)은 도 6에 도시한 바와 같이 0,98,82,66,51,35∼이다. 이는 제2도에 도시한 비트 어드레스 순서와 동일하다
한편 상기 제1결합기(CON1)는 상기 ADD20(3:0)과 MUX20(6:0)을 입력받아 ADD20(3:0)은 CON(10:7)로 MUX20(6:0)은 CON(6:0)으로 결합하여 출력한다. 상기 제1결합기(CON)의 출력을 CON(10:0)이라 한다. 상기 출력은 제3멀티플렉서(DEC3)와 제2감산기(SUB2)와 제5디코더(DEC5)의 입력단자 1에 입력된다. 상기 제5디코더(DEC5)는 상기 값이 1023보다 크면 0을 출력하고, 그밖의 수이면 1을 출력한다. 상기 제5디코더(DEC5)의 값은 제3멀티플렉서(MUX3)에 입력된다. 상기 제2감산기(SUB2)는 1024를 입력받아 CON(10:0)에서 1024를 감산한다. 상기 제2감산기(SUB2)의 출력은 제3멀티플렉서(MUX3)의 입력단자 0에 입력된다. 상기 제3멀티플렉서(MUX3)는 제5디코더(DEC5)의 출력이 0이면 입력단자 0으로 입력되는 제2감산기(SUB2)의 출력을 출력하고, 1이면 입력단자 1로 입력되는 CON(10:0)을 출력한다. 상기 제3멀티플렉서(MUX3)의 출력은 제3레지스터(R3)에 입력된다. 상기 제3레지스터(R3)는 WRRCLK의 하강에지마다 제3멀티플렉서(MUX3)의 출력을 래치한다. 이때 래치되는 값이 인터리빙 램(16)과 디인터리빙 램(18)상의 어드레스를 나타낸다.
한편 상기 인터리빙 장치와 디인터리빙 장치의 인터리빙 리드 어드레스 생성기(12)와 디인터리빙 라이트 어드레스 생성기(20)는 동일한 어드레스를 생성한다. 즉 인터리빙 램(16)에 라이트되어 있는 송신데이타를 리드할 때의 어드레스나, 수신데이타를 디인터리빙 램(18)에 라이트할 때의 어드레스는 동일하다. 이에따라 상기 인터리빙 장치의 리드 어드레스 생성기(12)와 디인터리빙 장치의 라이트 어드레스 생성기(20)는 동일한 구성을 가진다.
상기 리드 어드레스 생성기(12) 및 라이트 어드레스 생성기(20)의 상세 블럭도를 도시한 것이 도 7이다. 또한 상기 리드 어드레스 생성기(12)와 라이트 어드레스 생성기(20)의 동작 타이밍도를 도시한 것이 도 8이다. 이제 상기 도 7과 도 8을 참조하여 본 발명을 상세히 설명한다. 상기 도7의 버스트 클럭 BurstCLK는 제어부에서 제공하며, 도 8에 도시한 바와 같이 매 버스트 마다 발생한다. 상기 BurstCLK는 MOD8 카운터(CNT2)에 입력된다. 상기 MO8 카운터(CNT2)는 상기 버스트 클럭을 카운트 하며, 0부터 7까지의 증가를 반복한다. 상기 MOD8 카운터(CNT2)의 출력을 MOD8RO(2:0)이라 한다. 상기 MOR8RO(2:0)은 제8도에 도시한 바와 같이 매 BurstCLK마다 1씩 증가하고, 0에서 7까지 증가하면 다시 0부터 증가를 반복한다. 상기 MOD8RO(2:0)은 제4레지스터(R4)에 입력된다. 상기 제4레지스터(R4)는 MOD8R0(2:0)을 입력받아 래치한다. 상기 제4레지스터(R4)의 출력을 REG1RO(2:0)라 한다. 상기 REG1RO(2:0)는 상기 MOD8RO(2:0)이 한 BurstCLK마다 지연되어 출력된다. 상기 REG1RO(2:0)은 제2결합기(CON2)에 입력된다.
한편 RDCLK은 MOD114카운터(CNT3)에 입력된다. 상기 RDCLK는 한 BurstCLK안에 114 클럭으로 구성되는 클럭이다. 상기 MOD114카운터(CNT3)는 상기 RDCLK을 0에서 113까지 카운트하는 것을 반복한다. 상기 카운트 값을 MOD114RO(6:0)라 한다. 상기 MOD114RO(6:0)은 도 8에 도시한 바와 같이 첫 RDCLK의 상승에지에서 1을 카운트하기 시작하여, 113 상승에지에서 다시 카운트 값이 0이 된다. 상기 MOD114RO(6:0)는 제2결합기(CON2)에 입력된다. 상기 제2결합기(CON2)는 REG1RO(2:0)와 MOD114RO(6:0)을 입력받아 상기 REG1RO(2:0)를 CONR(9:7)로, MOD114RO(6:0)를 CONR(6:0)으로 결합한다. 상기와 같이 결합된 CONR(9:0)은 제5레지스터(R5)에 입력된다. 상기 제5레지스터(R5)는 RDCLK을 클럭단자에 입력받아 상기 CONR(9:0)을 래치한다. 이때 상기 제5레지스터(R5)의 출력을 RDADDR(9:0)이라 한다. 상기 RDADDR(9:0)은 상기 REG1RO(2:0)와 MOD114RO(6:0)이 가르키는 어드레스를 나타낸다. 상기 도 8에 도시한 값들은 모두 십진수로 환산한 값이다.
상술한 바와 같이 GSM 단말기의 풀레이트 스피치용 인터리빙과 디인터리빙의 규정을 이용하면 인터리빙 및 디인터리빙 어드레스 생성기를 모드 카운터와 디코더 등을 이용하여 간단히 구성할 수 있다.
상술한 바와 같이 본 발명은 GSM 단말기의 풀레이트 스피치용 인터리빙 및 디인터리빙 장치에서 인터리빙 내지 디인터리빙을 수행하기 위하여 필요한 인터리빙 라이트 어드레스 및 디인터리빙 리드 어드레스 생성기와 인터리빙 리드 어드레스 및 디인터리빙 라이트 어드레스 생성기를 간단히 구성할 수 있다. 이에따라 상기 GSM 단말기는 간단한 어드레스 생성기를 구비하므로, 원가가 절감되고 GSM 단말기의 크기를 작게 할 수 있는 이점이 있다.

Claims (3)

  1. GSM단말기의 인터리빙 및 디인터리빙 어드레스 생성기에 있어서,
    인터리빙 라이트 및 디인터리빙 리드를 수행하기 위하여 8개의 버스트와 114개의 비트를 가지는 메모리 영역에 송신데이타를 확산 라이트하고, 상기와 같은 메모리 영역에 확산 라이트된 수신데이타를 확산 전의 원데이타의 순서에 따라 리드하기 위하여, 첫 번째 버스트부터 8번째 버스트까지 순차적으로 증가하고, 다시 상기 증가를 반복하는 버스트 어드레스를 생성하고, 상기 4에서 5버스트로의 증가시에는 15비트가, 8에서 첫 버스트로 변환시에는 17비트가, 그 외의 버스트 증가시에는 16비트가 감소하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성하는 인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기와,
    인터리빙 리드 및 디인터리빙 라이트를 수행하기 위하여 인터리빙 리드시에는 상기와 같은 메모리 영역에 확산되어 기록되어 있는 송신데이타를 첫 버스트의 처음 비트부터 순차적으로 송신데이타를 리드하고, 디인터리빙 라이트시에는 수신데이타를 상기와 같은 메모리 영역의 첫 버스트의 처음비트부터 순차적으로 기록하기 위하여, 첫 번째 버스트부터 8번째 버스트까지 순차적으로 증가하고, 다시 상기 증가를 반복하는 버스트 어드레스를 생성하고, 상기 한 버스트가 증가할 때마다 0에서 113까지의 비트를 순차적으로 증가하는 비트 어드레스를 생성하여, 상기 버스트 어드레스와 비트 어드레스를 결합하여 인터리빙 라이트 및 디인터리빙 리드 어드레스를 생성하는 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기를 구비하는 것을 특징으로 하는 GSM 단말기의 인터리빙 및 디인터리빙 어드레스 생성기.
  2. 제1항에 있어서, 상기 인터리빙 라이트 및 디인터리빙 리드 어드레스 생성기가, 라이트 클럭에 대응하여 모드8 카운트를 수행하는 모드8 카운터와,
    상기 모드8 카운트가 114회 수행될 때마다 4를 더하는 버스트 가산부와,
    초기 비트 어드레스를 래치하고, 이후에는 생성되는 비트 어드레스를 래치하는 래치부와,
    상기 모드6 카운터의 카운트 값이 4이면 상기 래치 값에서 15를 감산하고, 모드8 카운터의 카운트 값이 0이면 상기 래치 값에서 17를 감산하고, 그 외의 경우에는 상기 래치 값에서 16를 감산하는 비트 감산부와,
    상기 감산 값이 0보다 작으면, 감산 값에 114을 더하여 비트 어드레스를 출력하고, 상기 래치부에 입력하는 비트 가산부와,
    상기 비트 어드레스와 상기 버스트 어드레스를 하나의 어드레스로 결합하고, 상기 어드레스가 1024보다 크면, 상기 어스레스에서 1024를 감산하여 출력하는 어드레스 출력부를 구비하는 것을 특징으로 하는 GSM 단말기의 인터리빙 및 디인터리빙 어드레스 생성기.
  3. 제1항에 있어서, 상기 인터리빙 리드 및 디인터리빙 라이트 어드레스 생성기가,
    리드 클럭에 따라 모드114 카운트를 수행하는 모드114카운터와,
    리드 클럭이 114회 발생할 경우에 1회 발생하는 버스트 클럭을 입력받아 모드8 카운트를 수행하는모드8 카운터와,
    상기 모드114 카운트 값과 모드8 카운트 값을 하나의 어드레스로 결합하여 출력하는 어드레스 출력부를 구비하는 것을 특징으로 하는 GSM 단말기의 인터리빙 및 디인터리빙 어드레스 생성기.
KR1019960038702A 1996-09-06 1996-09-06 인터리빙 및 디인터리빙 어드레스 생성기 KR100189539B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960038702A KR100189539B1 (ko) 1996-09-06 1996-09-06 인터리빙 및 디인터리빙 어드레스 생성기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960038702A KR100189539B1 (ko) 1996-09-06 1996-09-06 인터리빙 및 디인터리빙 어드레스 생성기

Publications (2)

Publication Number Publication Date
KR19980020269A KR19980020269A (ko) 1998-06-25
KR100189539B1 true KR100189539B1 (ko) 1999-06-01

Family

ID=19473000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960038702A KR100189539B1 (ko) 1996-09-06 1996-09-06 인터리빙 및 디인터리빙 어드레스 생성기

Country Status (1)

Country Link
KR (1) KR100189539B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101263152B1 (ko) 2008-09-18 2013-05-15 자일링크스 인코포레이티드 어드레스 생성

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101263152B1 (ko) 2008-09-18 2013-05-15 자일링크스 인코포레이티드 어드레스 생성

Also Published As

Publication number Publication date
KR19980020269A (ko) 1998-06-25

Similar Documents

Publication Publication Date Title
US7210076B2 (en) Interleaving order generator, interleaver, turbo encoder, and turbo decoder
US7317762B2 (en) Third generation FDD modem interleaver
EP1125366B1 (en) Generalized convolutional interleaver/deinterleaver
WO1996037050A1 (en) Reconfigurable interleaver/deinterleaver and address generator for data streams interleaved according to one of a plurality of interleaving schemes
GB2329804A (en) Time and frequency interleaving device for a multicarrier system
EP1100202A1 (en) De-interleave circuit
KR100189539B1 (ko) 인터리빙 및 디인터리빙 어드레스 생성기
JP2007538452A (ja) ターボ復号器入力並べ換え
JPH11328947A (ja) 大規模fifo回路
JP3549756B2 (ja) ブロックインターリーブ回路
JP3420923B2 (ja) マルチパスフェージングシミュレータ
US7158564B1 (en) Device for generating a digitally modulated test signal
EP1550225B1 (en) Memory for turbo decoder
KR100255304B1 (ko) 디지탈 통신기기의 컨벌루셔널 디인터리버
Salmela et al. Efficient parallel memory organization for turbo decoders
US6714606B1 (en) Integrated services digital broadcasting deinterleaver architecture
JP2001332980A (ja) インタリーブ装置及びインタリーブ方法
US6633966B1 (en) FIFO memory having reduced scale
KR0155516B1 (ko) 비터비 복호기에서 한개의 메모리를 사용한 상태 매트릭 메모리 운용방법 및 그 장치
CN1776805B (zh) 低内存需求的数字混响系统与方法
KR100273962B1 (ko) 씨디엠에이시스템의심볼결합방법및시스템
JP3592124B2 (ja) データ変換回路
KR100223646B1 (ko) 글로벌 이동통신시스템 단말기의 인터리버 및 디인터리버
KR20000040826A (ko) 콘벌루셔널 디인터리버
KR20010039380A (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: 20071221

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee