KR102063557B1 - 시간할당 알고리즘 기반의 인터폴레이션 필터 - Google Patents

시간할당 알고리즘 기반의 인터폴레이션 필터 Download PDF

Info

Publication number
KR102063557B1
KR102063557B1 KR1020130054430A KR20130054430A KR102063557B1 KR 102063557 B1 KR102063557 B1 KR 102063557B1 KR 1020130054430 A KR1020130054430 A KR 1020130054430A KR 20130054430 A KR20130054430 A KR 20130054430A KR 102063557 B1 KR102063557 B1 KR 102063557B1
Authority
KR
South Korea
Prior art keywords
output
input
value
delay
interpolation filter
Prior art date
Application number
KR1020130054430A
Other languages
English (en)
Other versions
KR20140134486A (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 KR1020130054430A priority Critical patent/KR102063557B1/ko
Priority to US14/120,351 priority patent/US9509283B2/en
Publication of KR20140134486A publication Critical patent/KR20140134486A/ko
Application granted granted Critical
Publication of KR102063557B1 publication Critical patent/KR102063557B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0635Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/065Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer
    • H03H17/0657Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer where the output-delivery frequency is higher than the input sampling frequency, i.e. interpolation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H2218/00Indexing scheme relating to details of digital filters
    • H03H2218/08Resource sharing
    • H03H2218/085Multipliers

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Television Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

시간할당 알고리즘 기반의 인터폴레이션 필터가 개시된다. 인터폴레이션 필터는, 필터의 동작을 위한 인에이블 신호들을 생성하는 인에이블 생성부, 입력 값들을 생성하는 입력 생성부, 제1 인에이블 신호 및 제1 입력 값을 기반으로 제1 출력 값을 생성하는 제1 계산부, 제2 인에이블 신호 및 제2 입력 값을 기반으로 제2 출력 값을 생성하는 제2 계산부 및 제1 출력 값 또는 제2 출력 값을 최종 출력으로 선택하는 출력 선택부를 포함한다. 따라서, 출력 데이터에 대한 연속성을 보장할 수 있고, 필터의 시간 할당 알고리즘을 사용함으로써 하드웨어의 공유가 가능하여 필터 전체 면적을 감소시킬 수 있다.

Description

시간할당 알고리즘 기반의 인터폴레이션 필터{INTERPOLATION FILTER BASED ON TIME ASSIGNMENT ALGORITHM}
본 발명은 인터폴레이션 필터에 관한 것으로, 더욱 상세하게는 다양한 입출력 데이터 레이트(data rate)를 처리하기 위한 시간할당 알고리즘 기반의 인터폴레이션 필터에 관한 것이다.
이동통신 시스템에서 사용되는 주요 블록(block) 중 하나는 필터(filter)이다. 특히 인터폴레이션(interpolation) 필터는 송신하고자 하는 신호의 특성은 그대로 유지하면서 출력의 샘플링 레이트(sampling rate)를 변화시키고자 하는 경우에 사용된다. 인터폴레이션 필터의 기본 구성 요소는 지연부, 곱셈부, 덧셈부이며, 그 중 곱셈부가 인터폴레이션 필터 면적의 대부분을 차지한다. 즉, 곱셈부는 하드웨어(hardware) 증가의 주요 원인이다.
필터를 구성하는 하드웨어를 감소시키기 위해 곱셈부에서 사용되는 곱셈기의 개수를 줄이는 것은 중요한 문제이며, 이에 따라 곱셈기의 개수를 줄이기 위한 인터폴레이션 필터 구조들(예를 들어, poly-phase transversal 구조, 캐스케이드(cascade) 구조 등)이 제안되었다.
poly-phase transversal 구조는 인터폴레이션 업-샘플링(up-sampling) 비율에 비례하여 곱셈기에 곱해지는 필터 계수를 시간에 따라 변화시켜 곱셈기의 사용을 공유하는 방식이다. poly-phase transversal 구조에 의하면 업-샘플링의 비율만큼 곱셈기를 줄일 수 있는 장점이 있으나, 업-샘플링의 비율이 매우 큰 경우 곱셈기에 곱해지는 필터 계수의 개수도 증가하기 때문에 필터 계수를 저장하는 메모리가 증가하는 문제가 있다.
캐스케이드 구조는 업-샘플링 비율을 작게 여러 번으로 나누어 인터폴레이션 필터를 여러 개 사용하는 방식이다. 캐스케이드 구조에 의하면 필터 계수의 개수와 곱셈기의 개수를 줄일 수 있는 장점이 있으나, 캐스케이드 구조를 통해 줄일 수 있는 곱셈기의 개수가 한정된다는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 시간할당 알고리즘을 기반으로 곱셈기의 사용을 공유하기 위한 인터폴레이션 필터를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 인터폴레이션 필터는, 요구된 샘플링 레이트를 기반으로 인터폴레이션 필터의 동작을 위한 인에이블 신호들을 생성하는 인에이블 생성부(200), 임의의 데이터로부터 입력 값들을 생성하는 입력 생성부(300), 상기 인에이블 신호들 중 제1 인에이블 신호 및 상기 입력 값들 중 제1 입력 값을 기반으로, 상기 요구된 샘플링 레이트를 가지는 제1 출력 값을 생성하는 제1 계산부(400), 상기 인에이블 신호들 중 제2 인에이블 신호 및 상기 입력 값들 중 제2 입력 값을 기반으로, 상기 요구된 샘플링 레이트를 가지는 제2 출력 값을 생성하는 제2 계산부(500) 및 미리 설정된 선택 기준을 기반으로 상기 제1 출력 값 또는 상기 제2 출력 값을 최종 출력으로 선택하는 출력 선택부(600)를 포함한다.
여기서, 상기 인에이블 생성부(200)는, 상기 인터폴레이션 필터에서 사용되는 클럭 신호를 미리 정의된 값으로 분주하여 상기 인에이블 신호들을 생성할 수 있다.
여기서, 상기 인에이블 생성부(200)는, 상기 클럭 신호를 2 내지 2N(N은 정수)로 분주하여 상기 입력 생성부(300)를 위한 인에이블 신호, 상기 제1 계산부(400)를 위한 인에이블 신호, 상기 제2 계산부(500)를 위한 인에이블 신호 및 상기 출력 선택부(600)를 위한 인에이블 신호를 생성할 수 있다.
여기서, 상기 입력 생성부(300)는, 시간 할당 알고리즘을 기반으로 상기 임의의 데이터의 입력 레이트(rate)에 따른 상기 입력 값들을 생성할 수 있다.
여기서, 상기 제1 계산부(400)는, 출력 계산 구간 중에서 인터폴레이션 필터의 짝수 번째 계수의 계산 구간에 대한 상기 제1 출력 값을 생성할 수 있다.
여기서, 상기 제1 계산부(400)는, 상기 제1 인에이블 신호를 기반으로 상기 제1 입력 값 중 하나에 대한 지연 값을 생성하는 제1 지연부(410), 설정된 출력 계산 구간을 기반으로 상기 제1 입력 값에 대한 지연 값을 선택하여 출력하는 제1 먹스부(440), 상기 제1 먹스부(440)의 출력과 제1 계수 값에 대한 제1 곱셈 결과를 생성하고, 상기 제1 곱셈 결과를 더하여 제1 출력 후보 값을 생성하는 제1 연산부(450) 및 상기 인터폴레이션 필터의 동작 모드를 기반으로 상기 제1 입력 값 중 다른 하나 또는 상기 제1 출력 후보 값을 상기 제1 출력 값으로 선택하는 제1 선택부(460)를 포함할 수 있다.
여기서, 상기 제1 지연부(410)는, 캐스케이드 구조로 연결된 복수의 지연 블록(420, 430-1, 430-2, …,430-(n/2))을 포함하되, 각각의 상기 지연 블록은 미리 정의된 시간할당 알고리즘을 기반으로 상기 제1 입력 값 중 하나를 지연시켜 출력할 수 있다.
여기서, 상기 제1 지연부(410)는, 복수의 상기 지연 블록의 개수를 기반으로 각각의 상기 지연 블록에 대한 출력 계산 구간을 설정하고, 상기 설정된 출력 계산 구간에서 상기 제1 입력 값 중 하나를 지연시켜 출력할 수 있다.
여기서, 상기 제1 연산부(450)는, 복수의 곱셈기 및 복수의 덧셈기를 포함하되, 복수의 상기 곱셈기는 복수의 상기 지연 블록과 동일한 개수를 가지고, 복수의 상기 덧셈기는 복수의 상기 곱셈기의 개수보다 하나 적을 수 있다.
여기서, 상기 제2 계산부(500)는, 출력 계산 구간 중에서 인터폴레이션 필터의 홀수 번째 계수의 계산 구간에 대한 상기 제2 출력 값을 생성할 수 있다.
여기서, 상기 제2 계산부(500)는, 상기 제2 인에이블 신호를 기반으로 상기 제2 입력 값 중 하나에 대한 지연 값을 생성하는 제2 지연부(510), 설정된 출력 계산 구간을 기반으로 상기 제2 입력 값에 대한 지연 값을 선택하여 출력하는 제2 먹스부(540), 상기 제2 먹스부(540)의 출력과 제2 계수 값에 대한 제2 곱셈 결과를 생성하고, 상기 제2 곱셈 결과를 더하여 제2 출력 후보 값을 생성하는 제2 연산부(550) 및 상기 인터폴레이션 필터의 동작 모드를 기반으로 상기 제2 입력 값 중 다른 하나 또는 상기 제2 출력 후보 값을 상기 제2 출력 값으로 선택하는 제2 선택부(560)를 포함할 수 있다.
여기서, 상기 제2 지연부(510)는, 캐스케이드 구조로 연결된 복수의 지연 블록(520, 530-1, 530-2, …, 530-(n/2))을 포함하되, 각각의 상기 지연 블록은 미리 정의된 시간할당 알고리즘을 기반으로 상기 제2 입력 값 중 하나를 지연시켜 출력할 수 있다.
여기서, 상기 제2 지연부(510)는, 복수의 상기 지연 블록의 개수를 기반으로 각각의 상기 지연 블록에 대한 출력 계산 구간을 설정하고, 상기 설정된 출력 계산 구간에서 상기 제2 입력 값 중 하나를 지연시켜 출력할 수 있다.
여기서, 상기 제2 연산부(550)는, 복수의 곱셈기 및 복수의 덧셈기를 포함하되, 복수의 상기 곱셈기는 복수의 상기 지연 블록과 동일한 개수를 가지고, 복수의 상기 덧셈기는 복수의 상기 곱셈기의 개수보다 하나 적을 수 있다.
여기서, 상기 출력 선택부(560)는, 상기 제2 출력 값을 미리 설정된 값만큼 지연시키고, 임의의 제어 신호를 기반으로 상기 제1 출력 값과 상기 미리 설정된 값만큼 지연된 제2 출력 값 중 하나를 선택하여 출력할 수 있다.
본 발명에 의하면, 시간할당 알고리즘을 사용함으로써 인터폴레이션 필터의 출력 데이터에 대한 연속성을 보장할 수 있다. 더불어, 시간할당 알고리즘을 통해 곱셈기의 사용을 공유함으로써 인터폴레이션 필터의 전체 면적을 감소시킬 수 있다.
도 1은 캐스케이드 구조를 가지는 인터폴레이션 필터를 도시한 개념도이다.
도 2는 곱셈기 공유 방식의 인터폴레이션 필터를 도시한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 인터폴레이션 필터를 도시한 블록도이다.
도 4는 입력 생성부를 통해 생성된 입력 값에 대한 제1 실시예를 도시한 개념도이다.
도 5는 입력 생성부를 통해 생성된 입력 값에 대한 제2 실시예를 도시한 개념도이다.
도 6은 입력 생성부를 통해 생성된 입력 값에 대한 제3 실시예를 도시한 개념도이다.
도 7은 입력 생성부를 통해 생성된 입력 값에 대한 제4 실시예를 도시한 개념도이다.
도 8은 입력 생성부를 통해 생성된 입력 값에 대한 제5 실시예를 도시한 개념도이다.
도 9는 인터폴레이션 필터에 포함된 제1 계산부의 구성을 도시한 블록도이다.
도 10은 인터폴레이션 필터에 포함된 지연 블록별 곱셈기 사용 시간을 도시한 개념도이다.
도 11은 인터폴레이션 필터의 제1 계산부에 포함된 제1 지연부의 구성을 도시한 블록도이다.
도 12는 인터폴레이션 필터의 제1 계산부에 포함된 제2 지연 블록의 구성을 도시한 블록도이다.
도 13은 인터폴레이션 필터에 포함된 먹스부의 구성을 도시한 블록도이다.
도 14는 인터폴레이션 필터의 제1 계산부에 포함된 제1 연산부의 구성을 도시한 블록도이다.
도 15는 인터폴레이션 필터의 제1 계산부에 포함된 제1 선택부의 구성을 도시한 블록도이다.
도 16은 인터폴레이션 필터에 포함된 제2 계산부의 구성을 도시한 블록도이다.
도 17은 인터폴레이션 필터의 제2 계산부에 포함된 제1 지연 블록의 구성을 도시한 블록도이다.
도 18은 인터폴레이션 필터의 제2 계산부에 포함된 제2 지연 블록의 구성을 도시한 블록도이다.
도 19는 인터폴레이션 필터의 제2 계산부에 포함된 제2 연산부의 구성을 도시한 블록도이다.
도 20은 인터폴레이션 필터의 제2 계산부에 포함된 제2 선택부의 구성을 도시한 블록도이다.
도 21은 인터폴레이션 필터에 포함된 출력 선택부의 구성을 도시한 블록도이다.
도 22는 본 발명의 일 실시예에 따른 인터폴레이션 필터의 성능을 도시한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 캐스케이드(cascade) 구조를 가지는 인터폴레이션 필터(interpolation filter)를 도시한 블록도이다.
도 1을 참조하면, 복수의 필터는 캐스케이드 구조로 연결된다. 즉, 필터 1(10), 필터 2(11), 필터 3(12), 필터 4(13) 및 필터 5(14)는 연속적으로 연결된다. 필터 1(10) 내지 필터 5(14)는 모두 동일한 구조를 가질 수 있으며, 이 경우 곱셈기(20)가 필터 1(10)의 입력에 대한 곱셈 계산을 수행하면 필터 1(10)에 대한 기능을 수행하는 것을 의미하고, 곱셈기(20)가 필터 2(11)의 입력(즉, 필터 1(10)의 출력)에 대한 곱셈 계산을 수행하면 필터 2(11)에 대한 기능을 수행하는 것을 의미한다.
또한, 곱셈기(20)가 필터 3(12)의 입력(즉, 필터 2(11)의 출력)에 대한 곱셈 계산을 수행하면 필터 3(12)에 대한 기능을 수행하는 것을 의미하고, 곱셈기(20)가 필터 4(13)의 입력(즉, 필터 3(12)의 출력)에 대한 곱셈 계산을 수행하면 필터 4(13)에 대한 기능을 수행하는 것을 의미하고, 곱셈기(20)가 필터 5(14)의 입력(즉, 필터 4(13)의 출력)에 대한 곱셈 계산을 수행하면 필터 5(14)에 대한 기능을 수행하는 것을 의미한다.
따라서, 동일한 구조를 가지는 필터에 있어서 곱셈기(20)에 대한 입력 시간을 필터에 따라 다르게 적용하는 경우, 하나의 필터를 통해 모든 필터(즉, 필터 1(10), 필터 2(11), 필터 3(12), 필터 4(13) 및 필터 5(14))의 출력을 생성할 수 있다.
도 2는 곱셈기 공유 방식의 인터폴레이션 필터를 도시한 블록도이다.
도 2를 참조하면, 도 2에 도시된 인터폴레이션 필터는 여러 개의 블록(block)을 연결한 캐스케이드 구조를 가지는 것이 아니라, 캐스케이드 구조에서 사용된 하나의 블록에 해당하는 구조를 가진다. 이 경우, 입력 시간을 순차적으로 달리하면 하나의 블록을 통해 복수의 출력을 생성할 수 있다. 즉, 인터폴레이션 필터는 제1 입력(30)(IN), 제2 입력(31)(Fil1_out), 제3 입력(32)(Fil2_out), 제4 입력(33)(Fil3_out), 제5 입력(34)(Fil4_out)에 대한 지연 시간을 서로 달리함으로써, 복수의 출력을 생성할 수 있다.
그러나 단순히 입력에 대한 지연 시간을 달리하는 경우 출력의 연속성을 보장하기 어려운 문제가 있다.
도 3은 본 발명의 일 실시예에 따른 인터폴레이션 필터를 도시한 블록도이다.
도 3을 참조하면, 인터폴레이션 필터(100)는 인에이블(enable) 생성부(200), 입력 생성부(300), 제1 계산부(400), 제2 계산부(500) 및 출력 선택부(600)를 포함한다.
인에이블 생성부(200)는 요구된 샘플링 레이트(sampling rate)를 기반으로 인터폴레이션 필터의 동작을 위한 인에이블 신호들을 생성할 수 있다. 입력 생성부(300)는 임의의 데이터(data)로부터 입력 값들을 생성할 수 있다. 제1 계산부(400)는 인에이블 신호들 중 제1 인에이블 신호 및 입력 값들 중 제1 입력 값을 기반으로, 요구된 샘플링 레이트를 가지는 제1 출력 값을 생성할 수 있다. 제2 계산부(500)는 인에이블 신호들 중 제2 인에이블 신호 및 입력 값들 중 제2 입력 값을 기반으로, 요구된 샘플링 레이트를 가지는 제2 출력 값을 생성할 수 있다. 출력 선택부(600)는 미리 설정된 선택 기준을 기반으로 제1 출력 값 또는 제2 출력 값을 최종 출력으로 선택할 수 있다.
구체적으로, 인에이블 생성부(200)는 인터폴레이션 필터 동작 모드 설정 값(MODE_SEL, MODE2_SEL)과 인에이블 입력 신호(ENIn)를 기반으로 오버(over)-샘플링 레이트를 결정할 수 있고, 오버-샘플링 레이트를 기반으로 인터폴레이션 필터(100)의 각 구성을 동작시키기 위한 인에이블 신호들(EN_Div2_PartA, EN_Div4_PartA, EN_Div8_PartA, EN_Div16_PartA, EN_Div32_PartA, EN_Div2_PartB, EN_Div4_PartB, EN_Div8_PartB, EN_Div16_PartB, EN_Div32_PartB, EN_Div32, EN_In2, EN_Out_PartAB, EN_Out)을 생성할 수 있다.
인에이블 생성부(200)는 인터폴레이션 필터(100)의 각 구성에서 사용되는 클럭(clock) 신호를 미리 정의된 값으로 분주하여 인에이블 신호들을 생성할 수 있다. 예를 들어, 인에이블 생성부(200)는 클럭 신호를 2 내지 2N(N은 정수)로 분주하여 입력 생성부(300)를 위한 인에이블 신호, 제1 계산부(400)를 위한 인에이블 신호, 제2 계산부(500)를 위한 인에이블 신호 및 출력 선택부(600)를 위한 인에이블 신호 등을 생성할 수 있다.
여기서, 인에이블 생성부(200)는 입력 생성부(300)를 위한 인에이블 신호로 EN_Div32, EN_In2를 생성할 수 있고, 생성된 인에이블 신호를 입력 생성부(300)에 제공할 수 있다. 인에이블 생성부(200)는 제1 계산부(400)를 위한 인에이블 신호로 EN_Div2_PartA, EN_Div4_PartA, EN_Div8_PartA, EN_Div16_PartA, EN_Div32_PartA를 생성할 수 있고, 생성된 인에이블 신호를 제1 계산부(400)에 제공할 수 있다. 인에이블 생성부(200)는 제2 계산부(500)를 위한 인에이블 신호로 EN_Div2_PartB, EN_Div4_PartB, EN_Div8_PartB, EN_Div16_PartB, EN_Div32_PartB를 생성할 수 있고, 생성된 인에이블 신호를 제2 계산부(500)에 제공할 수 있다. 인에이블 생성부(200)는 출력 선택부(600)를 위한 인에이블 신호로 EN_Out_PartAB, EN_Out를 생성할 수 있고, 생성된 인에이블 신호를 출력 선택부(600)에 제공할 수 있다.
입력 생성부(300)는 입력된 데이터(DATA_IN)로부터 입력 값들(IN, IND1, IN2)을 생성할 수 있고, 입력 값들 중 제1 입력 값(IN, IN2)을 제1 계산부(400)에 제공할 수 있고, 입력 값들 중 제2 입력 값(IND1, IN2)을 제2 계산부(500)에 제공할 수 있다. 즉, 입력 생성부(300)는 시간 할당 알고리즘을 기반으로, 입력된 데이터(DATA_IN)의 입력 레이트(rate)에 따른 입력 값들(IN, IND1, IN2)을 생성할 수 있다.
입력 생성부(300)는 인터폴레이션 필터 동작 모드(MODE_SEL)를 기반으로 제1 계산부(400)를 위한 제1 입력 값 및 제2 계산부(500)를 위한 제2 입력 값을 생성할 수 있다.
요구된 샘플링 레이트(즉, 최종 출력되는 샘플링 레이트)의 최대값을 Fs_max로 정의할 때, 입력된 데이터(DATA_IN)의 레이트가 Fs_max/(2N)인 경우 입력 생성부(300)는 아래 수학식 1을 통해 입력 값들(IN, IND1, IN2)을 생성할 수 있다. 여기서, N은 입력된 데이터의 레이트를 최대 2N배 오버샘플링한 인터폴레이션된 출력을 발생시키기 위한 변수로서 1이상의 자연수 값을 가진다. 본 발명의 실시예에서는 최대 32배로 레이트를 증가시키기 위해 N의 값으로 5를 사용하였다.
Figure 112013042545266-pat00001
여기서,
Figure 112013042545266-pat00002
은 입력된 데이터를 의미하고, PartAtimePartBtime의 의미는 후술하도록 한다.
도 4는 입력 생성부를 통해 생성된 입력 값에 대한 제1 실시예를 도시한 개념도이다. 여기서, N=5, 최대 출력 데이터 레이트 Fs_max=(2N), 입력 데이터 레이트가 1인 경우, 수학식 1을 통해 생성된 입력 값들을 도 4에 나타내었다.
도 4를 참조하면, 입력된 데이터(DATA_IN) 레이트가 1이고 데이터 값이 A0인 경우, 입력 값(IN)은 프레임(frame) 0에서 A0 값을 가지고 입력 값(IND1)은 프레임 1에서 A0 값을 가진다. 입력된 데이터(DATA_IN) 레이트가 1이고 데이터 값이 A1인 경우, 입력 값(IN)은 프레임 0에서 A1 값을 가지고, 입력 값(IND1)은 프레임 1에서 A1 값을 가진다.
도 5는 입력 생성부를 통해 생성된 입력 값에 대한 제2 실시예를 도시한 개념도이다. 여기서, N=5, 최대 출력 데이터 레이트 Fs_max=(2N), 입력 데이터 레이트가 2인 경우, 수학식 1을 통해 생성된 입력 값들을 도 5에 나타내었다.
도 5를 참조하면, 입력된 데이터(DATA_IN) 레이트가 2이고 데이터 값이 B2인 경우, 입력 값(IN2)은 프레임 0, 1에서 각각 이전 입력 데이터 값들 B0, B1 값을 가진다.
도 6은 입력 생성부를 통해 생성된 입력 값에 대한 제3 실시예를 도시한 개념도이다. 여기서, N=5, 최대 출력 데이터 레이트 Fs_max=(2N), 입력 데이터 레이트가 4인 경우, 수학식 1을 통해 생성된 입력 값들을 도 6에 나타내었다.
도 6을 참조하면, 입력된 데이터(DATA_IN) 레이트가 4이고 데이터 값이 C1인 경우 입력 값(IN2)은 프레임 8, 9에서 각각 이전 입력 데이터 C0와 현재 입력 데이터 C1 값을 가지고, 입력된 데이터(DATA_IN) 레이트가 4이고 데이터 값이 C3인 경우 입력 값(IN2)은 프레임 24, 25에서 각각 이전 입력 데이터 C2와 현재 입력 데이터 C3 값을 가지고, 입력된 데이터(DATA_IN) 레이트가 4이고 데이터 값이 C5인 경우 입력 값(IN2)은 프레임 8, 9에서 각각 이전 입력 데이터 C4와 현재 입력 데이터 C5 값을 가지고, 입력된 데이터(DATA_IN) 레이트가 4이고 데이터 값이 C7인 경우 입력 값(IN2)은 프레임 24, 25에서 각각 이전 입력 데이터 C6와 현재 입력 데이터 C7 값을 가진다.
도 7은 입력 생성부를 통해 생성된 입력 값에 대한 제4 실시예를 도시한 개념도이다. 여기서, N=5, 최대 출력 데이터 레이트 Fs_max=(2N), 입력 데이터 레이트가 8인 경우, 수학식 1을 통해 생성된 입력 값들을 도 7에 나타내었다.
도 7을 참조하면, 입력된 데이터(DATA_IN) 레이트가 8이고 데이터 값이 D1인 경우 입력 값(IN2)은 프레임 12, 13에서 각각 이전 입력 데이터 D0와 현재 입력 데이터 D1 값을 가지고, 입력된 데이터(DATA_IN) 레이트가 8이고 데이터 값이 D3인 경우 입력 값(IN2)은 프레임 20, 21에서 각각 이전 입력 데이터 D2와 현재 입력 데이터 D3 값을 가지고, 입력된 데이터(DATA_IN) 레이트가 8이고 데이터 값이 D5인 경우 입력 값(IN2)은 프레임 28, 29에서 각각 이전 입력 데이터 D4와 현재 입력 데이터 D5 값을 가진다.
또한, 입력된 데이터(DATA_IN) 레이트가 8이고 데이터 값이 D7인 경우 입력 값(IN2)은 프레임 4, 5에서 각각 이전 입력 데이터 D6와 현재 입력 데이터 D7 값을 가지고, 입력된 데이터(DATA_IN) 레이트가 8이고 데이터 값이 D9인 경우 입력 값(IN2)은 프레임 12, 13에서 각각 이전 입력 데이터 D8와 현재 입력 데이터 D9 값을 가지고, 입력된 데이터(DATA_IN) 레이트가 8이고 데이터 값이 D11인 경우 입력 값(IN2)은 프레임 20, 21에서 각각 이전 입력 데이터 D10와 현재 입력 데이터 D11 값을 가지고, 입력된 데이터(DATA_IN) 레이트가 8이고 데이터 값이 D13인 경우 입력 값(IN2)은 프레임 28, 29에서 각각 이전 입력 데이터 D12와 현재 입력 데이터 D13 값을 가진다.
도 8은 입력 생성부를 통해 생성된 입력 값에 대한 제5 실시예를 도시한 개념도이다. 여기서, N=5, 최대 출력 데이터 레이트 Fs_max=(2N), 입력 데이터 레이트가 16인 경우, 수학식 1을 통해 생성된 입력 값들을 도 8에 나타내었다.
도 8을 참조하면, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E1인 경우 입력 값(IN2)은 프레임 14, 15에서 각각 이전 입력 데이터 E0와 현재 입력 데이터 E1값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E3인 경우 입력 값(IN2)은 프레임 18, 19에서 각각 이전 입력 데이터 E2와 현재 입력 데이터 E3값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E5인 경우 입력 값(IN2)은 프레임 22, 23에서 각각 이전 입력 데이터 E4와 현재 입력 데이터 E5값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E7인 경우 입력 값(IN2)은 프레임 26, 27에서 각각 이전 입력 데이터 E6, E7값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E9인 경우 입력 값(IN2)은 프레임 30, 31에서 각각 이전 입력 데이터 E8와 현재 입력 데이터 E9값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E11인 경우 입력 값(IN2)은 프레임 2, 3에서 각각 이전 입력 데이터 E10와 현재 입력 데이터 E11값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E13인 경우 입력 값(IN2)은 프레임 6, 7에서 각각 이전 입력 데이터 E12와 현재 입력 데이터 E13값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E15인 경우 입력 값(IN2)은 프레임 10, 11에서 각각 이전 입력 데이터 E14와 현재 입력 데이터 E15값을 가진다.
또한, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E17인 경우 입력 값(IN2)은 프레임 14, 15에서 각각 이전 입력 데이터 E16와 현재 입력 데이터 E17값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E19인 경우 입력 값(IN2)은 프레임 18, 19에서 각각 이전 입력 데이터E18 와 현재 입력 데이터 E19값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E21인 경우 입력 값(IN2)은 프레임 22, 23에서 각각 이전 입력 데이터 E20와 현재 입력 데이터 E21값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E23인 경우 입력 값(IN2)은 프레임 26, 27에서 각각 이전 입력 데이터 E22와 현재 입력 데이터 E23값을 가지고, 입력된 데이터(DATA_IN) 레이트가 16이고 데이터 값이 E25인 경우 입력 값(IN2)은 프레임 30, 31에서 각각 이전 입력 데이터 E24와 현재 입력 데이터 E25값을 가진다.
도 9는 인터폴레이션 필터에 포함된 제1 계산부의 구성을 도시한 블록도이다.
도 9를 참조하면, 제1 계산부(400)는 제1 지연부(410), 제1 먹스부(440), 제1 연산부(450) 및 제1 선택부(460)를 포함할 수 있다. 제1 지연부(410)는 제1 인에이블 신호를 기반으로 제1 입력 값 중 하나에 대한 지연 값을 생성할 수 있다. 제1 먹스부(440)는 설정된 출력 계산 구간을 기반으로 제1 입력 값에 대한 지연 값을 선택하여 출력할 수 있다. 제1 연산부(450)는 제1 먹스부의 출력과 제1 계수 값에 대한 제1 곱셈 결과를 생성할 수 있고, 제1 곱셈 결과를 더하여 제1 출력 후보 값을 생성할 수 있다. 여기서, 제1 계수는 인터폴레이션 필터의 계수 중 짝수 부분을 의미한다. 제1 선택부(460)는 인터폴레이션 필터의 동작 모드를 기반으로 제1 입력 값 중 다른 하나 또는 제1 출력 후보 값을 제1 출력 값으로 선택할 수 있다.
여기서, 제1 계산부(400)는 시간할당 알고리즘을 기반으로 제1 출력 값을 생성하므로, 먼저 시간할당 알고리즘에 대해 상세하게 설명한다.
입력 데이터 레이트를 최대 2N배로 증가시키기 위한 경우, 시간할당 알고리즘 기반의 인터폴레이션 필터에서는 2N의 시간을 반복적으로 사용하게 된다. 따라서 2N 시간에 대해 각 시간별로 수행되는 계산을 시간할당 알고리즘을 통해 나타낼 수 있다.
Fs_max는 인터폴레이션 필터에서 발생하는 최대 출력 레이트로 Fs_max=(2N)값이라 가정한다. iFilx란 변수는 'X = 1~N'의 자연수 값을 가지는 변수라 가정하는 경우, 2N개의 시간 구간에서 사용하는 변수 값이다.
예를 들어 N = 5인 경우, iFilx란 변수는 iFil1, iFil2, iFil3, iFil4, iFil5 인 변수 값을 가진다. iFil1란 변수는 입력 데이터 레이트가 1일 때 사용하는 2(X-1) (=2(1-1)=1)개의 필터 사용 시간 구간을 의미한다. X=2인 경우 iFil2란 변수는 입력 데이터 레이트가 2일 때 사용하는 2(X-1) (=2(2-1)=2)개의 필터 사용 시간 구간을 의미한다. X=3인 경우 iFil3란 변수는 입력 데이터 레이트가 4일 때 사용하는 2(X-1) (=2(3-1)=4)개의 필터 사용 시간 구간을 의미한다. X=4인 경우 iFil4란 변수는 입력 데이터 레이트가 8일 때 사용하는 2(X-1) (=2(4-1)=8)개의 필터 사용 시간 구간을 의미한다. X=5인 경우 iFil5란 변수는 입력 데이터 레이트가 16일 때 사용하는 2(X-1) (=2(5-1)=16)개의 필터 사용 시간 구간을 의미한다.
0부터 2N-1의 값을 가지는 2N개의 시간에서 부분 A(즉, 제1 계산부(400)를 통해 계산되는 영역)에 대한 블록 계산 구간과 부분 B(즉, 제2 계산부(500)를 통해 계산되는 영역)에 대한 블록 계산 구간으로 나뉘어 계산될 수 있다. 부분 A는 인터폴레이션 필터의 계수 중 짝수 부분에 관련된 영역이고, 부분 B는 인터폴레이션 필터 계수 중 홀수 부분에 관련된 영역이다.
부분 A에 대한 블록 계산 구간을
Figure 112013042545266-pat00003
라 정의하면 아래 수학식 2와 같이 나타낼 수 있고, 부분 B에 대한 블록 계산 구간을
Figure 112013042545266-pat00004
라 정의하면 아래 수학식 3과 같이 나타낼 수 있다.
Figure 112013042545266-pat00005
Figure 112013042545266-pat00006
N = 5인 경우, 상기 수학식 2에 의하면 입력 데이터 레이트가 1일 때 사용되는 부분 A에 대한 블록 계산 구간은
Figure 112013042545266-pat00007
이고, 입력 데이터 레이트가 2일 때 사용되는 부분 A에 대한 블록 계산 구간은
Figure 112013042545266-pat00008
이고, 입력 데이터 레이트가 4일 때 사용되는 부분 A에 대한 블록 계산 구간은
Figure 112013042545266-pat00009
이고, 입력 데이터 레이트가 8일 때 사용되는 부분 A에 대한 블록 계산 구간은
Figure 112013042545266-pat00010
이고, 입력 데이터 레이트가 16일 때 사용되는 부분 A에 대한 블록 계산 구간은
Figure 112013042545266-pat00011
이다.
따라서
Figure 112013042545266-pat00012
의 집합은 0 내지 31에 해당되는 시간 축에서 각 입력 데이터 레이트 별로 사용되는 시간 할당된
Figure 112013042545266-pat00013
의 집합으로 표현될 수 있으며, 이러한 관계는 아래와 같이 표현할 수 있다.
Figure 112013042545266-pat00014

Figure 112013042545266-pat00015

N = 5인 경우, 상기 수학식 3에 의하면 입력 데이터 레이트가 1일 때 사용되는 부분 B에 대한 블록 계산 구간은
Figure 112013042545266-pat00016
이고, 입력 데이터 레이트가 2일 때 사용되는 부분 B에 대한 블록 계산 구간은
Figure 112013042545266-pat00017
이고, 입력 데이터 레이트가 4일 때 사용되는 부분 B에 대한 블록 계산 구간은
Figure 112013042545266-pat00018
이고, 입력 데이터 레이트가 8일 때 사용되는 부분 B에 대한 블록 계산 구간은
Figure 112013042545266-pat00019
이고, 입력 데이터 레이트가 16일 때 사용되는 부분 B에 대한 블록 계산 구간은
Figure 112013042545266-pat00020
이다.
따라서
Figure 112013042545266-pat00021
의 집합은 0 내지 31에 해당되는 시간 축에서 각 입력 데이터 레이트 별로 사용되는 시간 할당된
Figure 112013042545266-pat00022
의 집합으로 표현될 수 있으며, 이러한 관계는 아래와 같이 표현할 수 있다.
Figure 112013042545266-pat00023

Figure 112013042545266-pat00024

도 10은 인터폴레이션 필터에 포함된 지연 블록별 곱셈기 사용 시간을 도시한 개념도이다.
도 10을 참조하면, 상기 수학식 2 및 상기 수학식 3을 기초로 한 시간할당을 통해
Figure 112013042545266-pat00025
에 대한
Figure 112013042545266-pat00026
,
Figure 112013042545266-pat00027
시간을 입력 데이터 레이트가 1 내지 16일 때 각각 할당할 수 있으며, 이를 통해 곱셈기의 입력 값을 변화시키면서 곱셈기를 공유할 수 있다. 더불어, 출력 데이터의 연속성도 보장할 수 있다.
즉, 부분 A에 대한 블록 계산 구간 할당에 있어서, 변수 X=1인 경우 입력 데이터 레이트가 '2(X-1)=1'일 때를 의미하며, 이때 부분 A에서 사용되는 시간 구간(PartAtimeFil1)은 프레임 0에 할당된다. 변수 X=2인 경우 입력 데이터 레이트가 '2(X-1)=2'일 때를 의미하며, 이때 부분 A에서 사용되는 시간 구간(PartAtimeFil2)은 프레임 8, 24에 할당된다. 변수 X=3인 경우 입력 데이터 레이트가 '2(X-1)=4'일 때를 의미하며, 이때 부분 A에서 사용되는 시간 구간(PartAtimeFil3)은 프레임 12, 20, 28, 4에 할당된다. 변수 X=4인 경우 입력 데이터 레이트가 '2(X-1)=8'일 때를 의미하며, 이때 부분 A에서 사용되는 시간 구간(PartAtimeFil4)은 프레임 14, 18, 22, 26, 30, 2, 6, 10에 할당된다. 변수 X=5인 경우 입력 데이터 레이트가 '2(X-1)=16'일 때를 의미하며, 이때 부분 A에서 사용되는 시간 구간(PartAtimeFil5)은 프레임 15, 17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13에 할당된다.
즉, 부분 B에 대한 블록 계산 구간 할당에 있어서, 변수 X=1인 경우 입력 데이터 레이트가 '2(X-1)=1'일 때를 의미하며, 이때 부분 B에서 사용되는 시간 구간(PartBtimeFil1)은 프레임 1에 할당된다. 변수 X=2인 경우 입력 데이터 레이트가 '2(X-1)=2'일 때를 의미하며, 이때 부분 B에서 사용되는 시간 구간(PartBtimeFil2)은 프레임 9, 25에 할당된다. 변수 X=3인 경우 입력 데이터 레이트가 '2(X-1)=4'일 때를 의미하며, 이때 부분 B에서 사용되는 시간 구간(PartBtimeFil3)은 프레임 13, 21, 29, 5에 할당된다. 변수 X=4인 경우 입력 데이터 레이트가 '2(X-1)=8'일 때를 의미하며, 이때 부분 B에서 사용되는 시간 구간(PartBtimeFil4)은 프레임 15, 19, 23, 27, 31, 3, 7, 11에 할당된다. 변수 X=5인 경우 입력 데이터 레이트가 '2(X-1)=16'일 때를 의미하며 이때 부분 B에서 사용되는 시간 구간(PartBtimeFil5)은 프레임 16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14에 할당된다.
다시 도 9를 참조하면, 제1 지연부(410)는 인에이블 생성부(200)에서 생성된 인에이블 신호들(EN_Div2_PartA, EN_Div4_PartA, EN_Div8_PartA, EN_Div16_PartA, EN_Div32_PartA)을 기반으로 입력 값들(IN, PartA(즉, 제1 계산부(400)의 출력), PartB(즉, 제2 계산부(500)의 출력))을 지연시킬 수 있다. 제1 지연부(410)는 제1 지연 블록(420)(Shift Register A0), 제2 지연 블록(430-1)(Shift Register A1), 제3 지연 블록(430-2)(Shift Register A2), …, 제n/2 지연 블록(430-(n/2))(Shift Register A(num_coeff/2))을 포함할 수 있다. 제1 지연 블록(420), 제2 지연 블록(430-1), 제3 지연 블록(430-2), …, 제n/2 지연 블록(430-(n/2))은 캐스케이드 구조로 연결될 수 있다. 여기서, num_coeff는 인터폴레이션 필터에 대한 계수의 개수를 의미한다.
각각의 지연 블록(420, 430-1, 430-2, …, 430-(n/2))은 상기 시간할당 알고리즘을 기반으로 입력 값 중 하나를 지연시켜 출력할 수 있다. 즉, 제1 지연부(410)는 복수의 지연 블록의 개수를 기반으로 각각의 지연 블록에 대한 출력 계산 구간(즉, 상기 시간할당 알고리즘에 관한 설명에서 블록 계산 구간)을 설정할 수 있고, 설정된 출력 계산 구간에서 입력 값 중 하나를 지연시켜 출력할 수 있다.
도 11은 인터폴레이션 필터의 제1 계산부에 포함된 제1 지연 블록의 구성을 도시한 블록도이다.
도 11을 참조하면, 제1 지연 블록(420)은 복수의 지연기들(421 ~ 428)을 포함할 수 있다. 복수의 지연기들(421 ~ 428)은 상기 시간할당 알고리즘을 기반으로 입력 값들(IN, PartA(즉, 제1 계산부(400)의 출력), PartB(즉, 제2 계산부(500)의 출력), 상수 0)을 지연시켜 출력할 수 있다. 즉, 복수의 지연기들(421 ~ 428)은 입력 값들(IN, PartA, PartB, 상수 0)을 지연시켜 출력 값들(C0_0 ~ C0_31)을 생성할 수 있으며, 출력 값들(C0_0 ~ C0_31)을 먹스부(440)의 입력으로 제공할 수 있다. 복수의 지연기들(421 ~ 428)에 의해 지연된 출력 값들은 아래 수학식 4와 같이 나타낼 수 있다.
Figure 112013042545266-pat00028
도 12는 인터폴레이션 필터의 제1 계산부에 포함된 제2 지연 블록의 구성을 도시한 블록도이다.
도 12를 참조하면, 제2 지연 블록(430-1), 제3 지연 블록(430-2), …, 제n/2 지연 블록(430-(n/2)) 등은 동일한 구조를 가질 수 있다. 제2 지연 블록(430-1)은 복수의 지연기들(431-a, 431-b)을 포함할 수 있다. 복수의 지연기들(431-a, 431-b)은 상기 시간할당 알고리즘을 기반으로 입력 값들(C0_0 ~ C0_31(즉, 제1 지연 블록의 2N개의 출력 값), Ce_0 ~ Ce_31(즉, 제2 지연 블록의 출력 값, e는 0이상의 짝수))을 지연시켜 출력할 수 있다. 즉, 복수의 지연기들(431-a, 431-b)은 입력 값들(C0_0 ~ C0_31, Ce_0 ~ Ce_31)을 지연시켜 출력 값들(Ce_0 ~ Ce_31)을 생성할 수 있으며, 출력 값들(Ce_0 ~ Ce_31)을 먹스부(440)의 입력으로 제공할 수 있다. 복수의 지연기들(431-a, 431-b)에 의해 지연 값들은 아래 수학식 5와 같이 설정할 수 있다.
Figure 112013042545266-pat00029
제1 먹스부(440)는 제1 지연 블록(420), 제2 지연 블록(430-1), 제3 지연 블록(430-2), …, 제n/2 지연 블록(430-n/2)의 출력 값들을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있다. 제1 먹스부(440)는 복수의 먹스 블록(MUX0, MUX2, MUX4, …, MUX(num_coeff-2))을 포함할 수 있다. 먹스 블록 0(MUX0)은 제1 지연 블록(420)의 출력 값을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있고, 먹스 블록 2(MUX2)는 제2 지연 블록(430-1)의 출력 값을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있고, 먹스 블록 4(MUX4)는 제3 지연 블록(430-2)의 출력 값을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있고, 먹스 블록 num_coeff-2(MUX(num_coeff-2))는 제n/2 지연 블록(430-n/2)의 출력 값을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있다.
도 13은 인터폴레이션 필터에 포함된 먹스 블록의 구성을 도시한 블록도이다.
도 13을 참조하면, 각각의 먹스 블록(MUX0, MUX2, MUX4, …, MUX(num_coeff-2))은 동일한 구조를 가질 수 있다. 먹스 블록은 control이라는 먹스 선택 제어 신호를 제1 입력 값으로 수신할 수 있고, 각각의 지연 블록의 출력 값(Cn_0 ~ Cn_31)을 제2 입력 값으로 수신할 수 있다. 먹스 블록은 먹스 선택 제어 신호(control)를 기반으로 입력 값들에 대한 출력 값(MUXCn)을 생성할 수 있다.
도 14는 인터폴레이션 필터의 제1 계산부에 포함된 제1 연산부의 구성을 도시한 블록도이다.
도 14를 참조하면, 제1 연산부(450)는 복수의 곱셈기(452 ~ 455)와 복수의 덧셈기(451)로 구성될 수 있다. 복수의 곱셈기(452 ~ 455)의 개수는 num_coeff/2개이며(즉, 복수의 곱셈기 개수는 지연 블록의 개수와 동일함), 각각의 곱셈기(452 ~ 455)는 제1 입력 값으로 먹스부(440)의 출력 값을 수신하고, 제2 입력 값으로 인터폴레이션 필터의 계수(C0 ~ C(num_coeff-2))(456 ~ 459)를 수신한다. 각각의 곱셈기(452 ~ 455)는 제1 입력 값과 제2 입력 값을 곱하여 제1 곱셈 결과를 생성할 수 있다. 복수의 덧셈기(451)의 개수는 (num_coeff/2)-1개이며(즉, 복수의 덧셈기 개수는 지연 블록의 개수보다 하나 적음), 곱셈기들(452 ~ 455)의 출력 값을 모두 더하여 제1 출력 후보 값(PartA_temp)을 생성할 수 있다.
도 15는 인터폴레이션 필터의 제1 계산부에 포함된 제1 선택부의 구성을 도시한 블록도이다.
도 15를 참조하면, 제1 선택부(460)는 입력 값으로 제1 연산부(450)의 출력 값(PartA_temp)과 입력 생성기(300)의 출력 값(IN2)을 수신할 수 있고, 제1 선택 신호(MODE_SEL)와 제2 선택 신호(EN_PartA)를 기반으로 입력 값(PartA_temp, IN2)에 대한 출력 값(PartA)을 생성할 수 있다. 여기서, PartA는 제1 계산부(400)에 의해 생성된 제1 출력 값을 의미한다.
도 16은 인터폴레이션 필터에 포함된 제2 계산부의 구성을 도시한 블록도이다.
도 16을 참조하면, 제2 계산부(500)는 제2 지연부(510), 제2 먹스부(540), 제2 연산부(550) 및 제2 선택부(560)를 포함할 수 있다. 제2 지연부(510)는 제2 인에이블 신호를 기반으로 제2 입력 값 중 하나에 대한 지연 값을 생성할 수 있다. 제2 먹스부(540)는 설정된 출력 계산 구간을 기반으로 제2 입력 값에 대한 지연 값을 선택하여 출력할 수 있다. 제2 연산부(550)는 제2 먹스부의 출력과 제2 계수 값에 대한 제2 곱셈 결과를 생성할 수 있고, 제2 곱셈 결과를 더하여 제2 출력 후보 값을 생성할 수 있다. 여기서, 제2 계수는 인터폴레이션 필터의 계수 중 홀수 부분을 의미한다. 제2 선택부(560)는 인터폴레이션 필터의 동작 모드를 기반으로 제2 입력 값 중 다른 하나 또는 제2 출력 후보 값을 제2 출력 값으로 선택할 수 있다. 여기서, 제2 계산부(500)는 상기 시간할당 알고리즘을 기반으로 제2 출력 값을 생성할 수 있다.
제2 지연부(510)는 인에이블 생성부(200)에서 생성된 인에이블 신호들(EN_Div2_PartB, EN_Div4_PartB, EN_Div8_PartB, EN_Div16_PartB, EN_Div32_PartB)을 기반으로 입력 값들(IND1, PartA(즉, 제1 계산부(400)의 출력), PartB(즉, 제2 계산부(500)의 출력))을 지연시킬 수 있다. 제2 지연부(510)는 제1 지연 블록(520)(Shift Register B0), 제2 지연 블록(530-1)(Shift Register B1), 제3 지연 블록(530-2)(Shift Register B2), …, 제n/2 지연 블록(530-(n/2))(Shift Register B(num_coeff/2))을 포함할 수 있다. 제1 지연 블록(520), 제2 지연 블록(530-1), 제3 지연 블록(530-2), …, 제n/2 지연 블록(530-(n/2))은 캐스케이드 구조로 연결될 수 있다. 여기서, num_coeff는 인터폴레이션 필터에 대한 계수의 개수를 의미한다.
각각의 지연 블록(520, 530-1, 530-2, …, 530-(n/2))은 상기 시간할당 알고리즘을 기반으로 입력 값 중 하나를 지연시켜 출력할 수 있다. 즉, 제2 지연부(510)는 복수의 지연 블록의 개수를 기반으로 각각의 지연 블록에 대한 출력 계산 구간(즉, 상기 시간할당 알고리즘에 관한 설명에서 블록 계산 구간)을 설정할 수 있고, 설정된 출력 계산 구간에서 입력 값 중 하나를 지연시켜 출력할 수 있다.
도 17은 인터폴레이션 필터의 제2 계산부에 포함된 제1 지연 블록의 구성을 도시한 블록도이다.
도 17을 참조하면, 제1 지연 블록(520)은 복수의 지연기들(521 ~ 528)을 포함할 수 있다. 복수의 지연기들(521 ~ 528)은 상기 시간할당 알고리즘을 기반으로 입력 값들(IND1, PartA(즉, 제1 계산부(400)의 출력), PartB(즉, 제2 계산부(500)의 출력), 상수 0)을 지연시켜 출력할 수 있다. 즉, 복수의 지연기들(521 ~ 528)은 입력 값들(IND1, PartA, PartB, 상수 0)을 지연시켜 출력 값들(C1_0 ~ C1_31)을 생성할 수 있으며, 출력 값들(C0_1 ~ C1_31)을 먹스부(540)의 입력으로 제공할 수 있다. 복수의 지연기들(521 ~ 528)에 의해 지연된 출력 값들은 아래 수학식 6과 같이 나타낼 수 있다.
Figure 112013042545266-pat00030
도 18은 인터폴레이션 필터의 제2 계산부에 포함된 제2 지연 블록의 구성을 도시한 블록도이다.
도 18을 참조하면, 제2 지연 블록(530-1), 제3 지연 블록(530-2), …, 제n/2 지연 블록(530-(n/2)) 등은 동일한 구조를 가질 수 있다. 제2 지연 블록(530-1)은 복수의 지연기들(531-a, 531-b)을 포함할 수 있다. 복수의 지연기들(531-a, 531-b)은 상기 시간할당 알고리즘을 기반으로 입력 값들(C1_0 ~ C1_31(즉, 제1 지연 블록의 2N개의 출력 값), Co_0 ~ Co_31(즉, 제2 지연 블록의 출력 값, o는 0이상의 홀수))을 지연시켜 출력할 수 있다. 즉, 복수의 지연기들(531-a, 531-b)은 입력 값들(C1_0 ~ C1_31, Co_0 ~ Co_31)을 지연시켜 출력 값들(Co_0 ~ Co_31)을 생성할 수 있으며, 출력 값들(Co_0 ~ Co_31)을 먹스부(440)의 입력으로 제공할 수 있다. 복수의 지연기들(531-a, 531-b)에 의해 지연된 출력 값들은 아래 수학식 7과 같이 나타낼 수 있다.
Figure 112013042545266-pat00031
제2 먹스부(540)는 제1 지연 블록(520), 제2 지연 블록(530-1), 제3 지연 블록(530-2), …, 제n/2 지연 블록(530-n/2)의 출력 값들을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있다. 제2 먹스부(540)는 복수의 먹스 블록(MUX1, MUX3, MUX5, …, MUX(num_coeff-1))을 포함할 수 있다. 먹스 블록 1(MUX1)은 제1 지연 블록(520)의 출력 값을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있고, 먹스 블록 3(MUX3)은 제2 지연 블록(530-1)의 출력 값을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있고, 먹스 블록 5(MUX5)는 제3 지연 블록(530-2)의 출력 값을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있고, 먹스 블록 num_coeff-1(MUX(num_coeff-1))은 제n/2 지연 블록(530-n/2)의 출력 값을 동작 시간(즉, 출력 계산 구간)에 따라 선택하여 출력할 수 있다.
다시 도 13을 참조하면, 각각의 먹스 블록(MUX1, MUX3, MUX5, …, MUX(num_coeff-1))은 동일한 구조를 가질 수 있다. 먹스 블록은 control이라는 먹스 선택 제어 신호를 제1 입력 값으로 수신할 수 있고, 각각의 지연 블록의 출력 값(Cn_0 ~ Cn_31)을 제2 입력 값으로 수신할 수 있을 수 있다. 먹스 블록은 먹스 선택 제어 신호(control)를 기반으로 입력 값들에 대한 출력 값(MUXCn)을 생성할 수 있다.
도 19는 인터폴레이션 필터의 제2 계산부에 포함된 제2 연산부의 구성을 도시한 블록도이다.
도 19를 참조하면, 제2 연산부(550)는 복수의 곱셈기(552 ~ 555)와 복수의 덧셈기(551)로 구성될 수 있다. 복수의 곱셈기(552 ~ 555)의 개수는 num_coeff/2개이며(즉, 복수의 곱셈기 개수는 지연 블록의 개수와 동일함), 각각의 곱셈기(552 ~ 555)는 제1 입력 값으로 먹스부(540)의 출력 값을 수신하고, 제2 입력 값으로 인터폴레이션 필터의 계수(C1 ~ C(num_coeff-1))(556 ~ 559)를 수신한다. 각각의 곱셈기(552 ~ 555)는 제1 입력 값과 제2 입력 값을 곱하여 제2 곱셈 결과를 생성할 수 있다. 복수의 덧셈기(551)의 개수는 (num_coeff/2)-1개이며(즉, 복수의 덧셈기 개수는 지연 블록의 개수보다 하나 적음), 곱셈기들(552 ~ 555)의 출력 값을 모두 더하여 제2 출력 후보 값(PartB_temp)을 생성할 수 있다.
도 20은 인터폴레이션 필터의 제2 계산부에 포함된 제2 선택부의 구성을 도시한 블록도이다.
도 20을 참조하면, 제2 선택부(560)는 입력 값으로 제2 연산부(550)의 출력 값(PartB_temp)과 입력 생성기(300)의 출력 값(IN2)을 수신할 수 있고, 제1 선택 신호(MODE_SEL)와 제2 선택 신호(EN_PartB)를 기반으로 입력 값(PartB_temp, IN2)에 대한 출력 값(PartB)을 생성할 수 있다. 여기서, PartB는 제2 계산부(500)에 의해 생성된 제2 출력 값을 의미한다.
다시 도 3을 참조하면, 출력 선택부(600)는 제2 출력 값(PartB)을 미리 설정된 값만큼 지연시킬 수 있고, 임의의 제어 신호를 기반으로 제1 출력 값(PartA)과 미리 설정된 값만큼 지연된 제2 출력 값(PartB) 중 하나를 선택하여 출력할 수 있다.
도 21은 인터폴레이션 필터에 포함된 출력 선택부의 구성을 도시한 블록도이다.
도 21을 참조하면, 출력 선택부(600)는 제어 신호들(MODE_SEL, EN_Out_PartAB, EN_Out)을 기반으로 제1 출력 값(PartA) 또는 제2 출력 값(PartB)을 선택하여 출력할 수 있다. 출력 선택부(600)는 지연기(610), 제1 먹스 블록(620), 제2 먹스 블록(630) 및 제3 먹스 블록(640)을 포함할 수 있다. 지연기(610)는 제2 출력 값(PartB)을 지연시킬 수 있고(β1, β2, β3, β4, β5≥0, 양수), 제1 먹스 블록(620)은 제어 신호 MODE_SEL를 기반으로 지연된 제2 출력 값(PartB)을 선택하여 출력할 수 있다. 제2 먹스 블록(630)은 제어 신호 EN_Out_PartAB를 기반으로 제1 출력 값(PartA) 또는 제1 먹스 블록(620)의 출력 값을 선택하여 출력할 수 있다. 제3 먹스 블록(640)은 제어 신호 EN_Out을 기반으로 제2 먹스 블록(630)의 출력 값 또는 제3 먹스 블록(640)의 출력을 지연시킨 값을 선택하여 출력할 수 있다. 여기서, OUT은 인터폴레이션 필터(100)를 통해 생성된 최종 출력을 의미한다.
도 22는 본 발명의 일 실시예에 따른 인터폴레이션 필터의 성능을 도시한 그래프이다.
도 22를 참조하면, 제1 그래프(50)는 본 발명의 일 실시예에 따른 인터폴레이션 필터(즉, 시간할당 알고리즘이 적용된 필터)의 최종 출력을 나타낸 것이고, 제2 그래프(60)는 캐스케이드 방식의 인터폴레이션 필터의 최종 출력을 나타낸 것이고, 제3 그래프(70)는 제1 그래프(50)와 제2 그래프(60)의 차이를 나타낸 것이다.
제3 그래프(70)를 통해 본 발명에 따른 최종 결과와 종래 기술에 따른 최종 결과의 오차가 0임을 알 수 있으므로, 본 발명의 일 실시예에 따른 인터폴레이션 필터는 곱셈기의 개수를 감소시켰음에도 불구하고 본래의 목적에 맞게 동작함을 알 수 있다.
통신 시스템을 구성하는 기지국 또는 단말은 본 발명의 일 실시예에 따른 인터폴레이션 필터를 포함할 수 있다.
단말(terminal)은 통신이 가능한 데스크탑 컴퓨터(Desktop Computer), 랩탑 컴퓨터(Laptop Computer), 태블릿(Tablet) PC, 무선전화기(Wireless Phone), 모바일폰(Mobile Phone), 스마트폰(Smart Phone), e-book 리더기, PMP(Portable Multimedia Player), 휴대용 게임기, 네비게이션(Navigation) 장치, 디지털 카메라(Digital Camera), DMB (Digital Multimedia Broadcasting) 재생기, 디지털 음성 녹음기(Digital Audio Recorder), 디지털 음성 재생기(Digital Audio Player), 디지털 영상 녹화기(Digital Picture Recorder), 디지털 영상 재생기(Digital Picture Player), 디지털 동영상 녹화기(Digital Video Recorder), 디지털 동영상 재생기(Digital Video Player) 등을 의미할 수 있다.
기지국(Base Station)은 접근점(Access Point), 무선 접근국(Radio Access Station), 노드B(Node B), 고도화 노드B(evolved NodeB), 송수신 기지국(Base Transceiver Station), MMR(Mobile Multihop Relay)-BS 등을 지칭할 수도 있고, 기지국, 접근점, 무선 접근국, 노드B, eNodeB, 송수신 기지국, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 인터폴레이션 필터
200: 인에이블 생성부
300: 입력 생성부
400: 제1 계산부
500: 제2 계산부
600: 출력 선택부

Claims (15)

  1. 요구된 샘플링 레이트(sampling rate)를 기반으로 인터폴레이션 필터(interpolation filter)의 동작을 위한 인에이블(enable) 신호들을 생성하는 인에이블 생성부;
    임의의 데이터(data)로부터 입력 값들을 생성하는 입력 생성부;
    인터폴레이션 동작이 수행되는 한 주기의 시간 구간들 중에서 제1 계산부에 할당된 제1 시간 구간에서 상기 인에이블 신호들 중 제1 인에이블 신호 및 상기 입력 값들 중 제1 입력 값들을 기반으로, 상기 요구된 샘플링 레이트를 가지는 제1 출력 값을 생성하는 제1 계산부;
    상기 인터폴레이션 동작이 수행되는 한 주기의 시간 구간들 중에서 제2 계산부에 할당된 제2 시간 구간에서 상기 인에이블 신호들 중 제2 인에이블 신호 및 상기 입력 값들 중 제2 입력 값들을 기반으로, 상기 요구된 샘플링 레이트를 가지는 제2 출력 값을 생성하는 제2 계산부; 및
    미리 설정된 선택 기준을 기반으로 상기 제1 출력 값 또는 상기 제2 출력 값을 최종 출력으로 선택하는 출력 선택부를 포함하고,
    상기 한 주기는 상기 인터폴레이션 필터가 입력 데이터 레이트를 최대 M배로 증가시키는 경우 M개의 시간 구간들로 구성되고,
    상기 제1 시간 구간과 상기 제2 시간 구간은 서로 다른 시간 구간이고, 상기 제1 시간 구간에서는 상기 제1 계산부가 동작되고, 상기 제2 시간 구간에서는 상기 제2 계산부가 동작되는 것을 특징으로 하는 인터폴레이션 필터.
  2. 청구항 1에 있어서,
    상기 인에이블 생성부는,
    상기 인터폴레이션 필터에서 사용되는 클럭(clock) 신호를 미리 정의된 값으로 분주하여 상기 인에이블 신호들을 생성하는 것을 특징으로 하는 인터폴레이션 필터.
  3. 청구항 2에 있어서,
    상기 인에이블 생성부는,
    상기 클럭 신호를 2 내지 2N(N은 정수)로 분주하여 상기 입력 생성부를 위한 인에이블 신호, 상기 제1 계산부를 위한 인에이블 신호, 상기 제2 계산부를 위한 인에이블 신호 및 상기 출력 선택부를 위한 인에이블 신호를 생성하는 것을 특징으로 하는 인터폴레이션 필터.
  4. 청구항 1에 있어서,
    상기 입력 생성부는,
    시간 할당 알고리즘을 기반으로 상기 임의의 데이터의 입력 레이트(rate)에 따른 상기 입력 값들을 생성하는 것을 특징으로 하는 인터폴레이션 필터.
  5. 청구항 1에 있어서,
    상기 제1 계산부는,
    상기 제1 시간 구간에서 상기 인터폴레이션 필터의 필터 계수 중 짝수 번째 필터 계수에 기반하여 상기 제1 출력 값을 생성하는 것을 특징으로 하는 인터폴레이션 필터.
  6. 청구항 1에 있어서,
    상기 제1 계산부는,
    상기 제1 인에이블 신호를 기반으로 상기 제1 입력 값들 중 하나에 대한 제1 지연 값들을 생성하는 제1 지연부;
    상기 제1 시간 구간을 기반으로 상기 제1 지연 값들 중 하나의 값을 선택하여 출력하는 복수개의 먹스(multiplexer, MUX)들을 포함하는 제1 먹스부;
    상기 제1 먹스부의 상기 복수개의 먹스들의 출력과 상기 인터폴레이션 필터의 필터 계수 값들에 대한 각각의 곱셈 결과들을 생성하고, 상기 각각의 곱셈 결과들을 모두 더하여 제1 출력 후보 값을 생성하는 제1 연산부; 및
    상기 인터폴레이션 필터의 동작 모드를 기반으로 상기 제1 입력 값들 중 다른 하나에 기초한 출력 후보 값 또는 상기 제1 출력 후보 값을 상기 제1 출력 값으로 선택하는 제1 선택부를 포함하는 것을 특징으로 하는 인터폴레이션 필터.
  7. 청구항 6에 있어서,
    상기 제1 지연부는,
    캐스케이드(cascade) 구조로 연결된 복수의 지연 블록을 포함하되,
    각각의 상기 지연 블록은 미리 정의된 시간할당 알고리즘을 기반으로 상기 제1 입력 값들 중 하나를 지연시켜 출력하는 것을 특징으로 하는 인터폴레이션 필터.
  8. 청구항 7에 있어서,
    상기 제1 지연부는,
    복수의 상기 지연 블록의 개수를 기반으로 각각의 상기 지연 블록에 대한 출력 계산 구간을 설정하고, 상기 설정된 출력 계산 구간에서 상기 제1 입력 값들 중 하나를 지연시켜 출력하는 것을 특징으로 하는 인터폴레이션 필터.
  9. 청구항 7에 있어서,
    상기 제1 연산부는,
    복수의 곱셈기 및 복수의 덧셈기를 포함하되,
    복수의 상기 곱셈기는 복수의 상기 지연 블록과 동일한 개수를 가지고, 복수의 상기 덧셈기는 복수의 상기 곱셈기의 개수보다 하나 적은 것을 특징으로 하는 인터폴레이션 필터.
  10. 청구항 1에 있어서,
    상기 제2 계산부는,
    복수의 시간 구간 중에서 할당된 제2 시간 구간에서 동작하고,
    상기 인터폴레이션 필터의 필터 계수 중 홀수 번째 필터 계수에 기반하여 상기 제2 출력 값을 생성하는 것을 특징으로 하는 인터폴레이션 필터.
  11. 청구항 1에 있어서,
    상기 제2 계산부는,
    상기 제2 인에이블 신호를 기반으로 상기 제2 입력 값들 중 하나에 대한 지연 값들을 생성하는 제2 지연부;
    복수의 시간 구간 중에서 할당된 제2 시간 구간을 기반으로 상기 제2 입력 값들에 대한 지연 값들을 선택하여 출력하는 제2 먹스부;
    상기 제2 먹스부의 출력들과 상기 인터폴레이션 필터의 필터 계수 값들에 대한 각각의 곱셈 결과들을 생성하고, 상기 각각의 곱셈 결과들을 모두 더하여 제2 출력 후보 값을 생성하는 제2 연산부; 및
    상기 인터폴레이션 필터의 동작 모드를 기반으로 상기 제2 입력 값들 중 다른 하나에 기초한 출력 후보 값 또는 상기 제2 출력 후보 값을 상기 제2 출력 값으로 선택하는 제2 선택부를 포함하는 것을 특징으로 하는 인터폴레이션 필터.
  12. 청구항 11에 있어서,
    상기 제2 지연부는,
    캐스케이드 구조로 연결된 복수의 지연 블록을 포함하되,
    각각의 상기 지연 블록은 미리 정의된 시간할당 알고리즘을 기반으로 상기 제2 입력 값 중 하나를 지연시켜 출력하는 것을 특징으로 하는 인터폴레이션 필터.
  13. 청구항 12에 있어서,
    상기 제2 지연부는,
    복수의 상기 지연 블록의 개수를 기반으로 각각의 상기 지연 블록에 대한 출력 계산 구간을 설정하고, 상기 설정된 출력 계산 구간에서 상기 제2 입력 값 중 하나를 지연시켜 출력하는 것을 특징으로 하는 인터폴레이션 필터.
  14. 청구항 12에 있어서,
    상기 제2 연산부는,
    복수의 곱셈기 및 복수의 덧셈기를 포함하되,
    복수의 상기 곱셈기는 복수의 상기 지연 블록과 동일한 개수를 가지고, 복수의 상기 덧셈기는 복수의 상기 곱셈기의 개수보다 하나 적은 것을 특징으로 하는 인터폴레이션 필터.
  15. 청구항 1에 있어서,
    상기 출력 선택부는,
    상기 제2 출력 값을 미리 설정된 값만큼 지연시키고, 임의의 제어 신호를 기반으로 상기 제1 출력 값과 상기 미리 설정된 값만큼 지연된 제2 출력 값 중 하나를 선택하여 출력하는 것을 특징으로 하는 인터폴레이션 필터.
KR1020130054430A 2013-05-14 2013-05-14 시간할당 알고리즘 기반의 인터폴레이션 필터 KR102063557B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130054430A KR102063557B1 (ko) 2013-05-14 2013-05-14 시간할당 알고리즘 기반의 인터폴레이션 필터
US14/120,351 US9509283B2 (en) 2013-05-14 2014-05-14 Interpolation filter based on time assignment algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130054430A KR102063557B1 (ko) 2013-05-14 2013-05-14 시간할당 알고리즘 기반의 인터폴레이션 필터

Publications (2)

Publication Number Publication Date
KR20140134486A KR20140134486A (ko) 2014-11-24
KR102063557B1 true KR102063557B1 (ko) 2020-01-09

Family

ID=52278017

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130054430A KR102063557B1 (ko) 2013-05-14 2013-05-14 시간할당 알고리즘 기반의 인터폴레이션 필터

Country Status (2)

Country Link
US (1) US9509283B2 (ko)
KR (1) KR102063557B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787290B2 (en) * 2015-05-20 2017-10-10 Altera Corporation Resource-saving circuit structures for deeply pipelined systolic finite impulse response filters
CN109344964B (zh) * 2018-08-08 2020-12-29 东南大学 一种适用于神经网络的乘加计算方法和计算电路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3484701D1 (de) * 1983-10-05 1991-07-18 Nec Corp Digitale signalverarbeitungseinrichtung mit einem digitalen filter.
US4852035A (en) * 1987-07-06 1989-07-25 The Grass Valley Group, Inc. Simple coefficient half-bandwidth digital filter for video data compression
KR100270165B1 (ko) * 1998-03-24 2000-10-16 박권상 디지털 인터폴레이션 기능이 있는 병렬 fir 필터 시스템
US6487573B1 (en) 1999-03-26 2002-11-26 Texas Instruments Incorporated Multi-rate digital filter for audio sample-rate conversion
EP1168632A1 (en) * 2000-06-28 2002-01-02 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Communication device with configurable sigma-delta modulator
KR100633568B1 (ko) * 2002-12-10 2006-10-16 허일 시간분할 디지털 필터 및 이를 이용한 다채널디지털/아날로그 데이터 변환기 회로
JP2007067646A (ja) 2005-08-30 2007-03-15 Oki Electric Ind Co Ltd サンプリングレート変換方法及びその回路
KR20120090510A (ko) 2011-02-08 2012-08-17 삼성전자주식회사 통신시스템에서 샘플링 레이트가 변환된 신호를 생성하는 방법 및 장치

Also Published As

Publication number Publication date
US20150019607A1 (en) 2015-01-15
KR20140134486A (ko) 2014-11-24
US9509283B2 (en) 2016-11-29

Similar Documents

Publication Publication Date Title
US10367477B2 (en) Sparse cascaded-integrator-comb filters
Hatai et al. An efficient constant multiplier architecture based on vertical-horizontal binary common sub-expression elimination algorithm for reconfigurable FIR filter synthesis
US9015219B2 (en) Apparatus for signal processing
JP2003510876A (ja) プログラマブルシフタを使用するfirフィルタ
Choo et al. Complexity reduction of digital filters using shift inclusive differential coefficients
KR102063557B1 (ko) 시간할당 알고리즘 기반의 인터폴레이션 필터
US10050607B2 (en) Polyphase decimation FIR filters and methods
Goel et al. Design of FIR filter using FCSD representation
JP5882917B2 (ja) 周波数再構成が可能なデジタルフィルタとフィルタリング方法及びこれを用いたイコライザとその設計方法
WO2004102800A1 (ja) デジタルフィルタおよびその設計方法、設計装置、デジタルフィルタ設計用プログラム
CN102457251B (zh) 一种实现通用数字滤波器的方法及装置
JP2009245381A (ja) 積和演算回路、その設計装置、プログラム
Alimohammad et al. A compact single-FPGA fading-channel simulator
Subathradevi et al. Delay optimized novel architecture of FIR filter using clustered-retimed MAC unit Cell for DSP applications
JP2005020554A (ja) デジタルフィルタ
EP2533441B1 (en) Channel estimate interpolation circuit and channel estimate interpolation method
Kumar et al. Design and implementation of modified russian peasant multiplier using msqrtcsla based fir filter
Reddy et al. A modified approach for reconfigurable FIR filter architecture
Dinesh et al. Survey on reconfigurable fir filter architecture
US11488281B1 (en) Multichannel interpolator
CN108140017B (zh) 用于线性相位有限脉冲响应抽取滤波器的方法和装置
Magesh et al. Implementation of Programmable Finite Impulse Response Filter Using Modified Computation Sharing Multiplier for Hearing Aids
Vishal et al. Design and Simulation of High-Performance 2D Convolution Architecture
Revathi et al. Implementation of Area and Power Efficient Pulse Shaping FIR Interpolation Filter for Multi Standard DUC
KR101194160B1 (ko) 주파수 재구성이 가능한 디지털 필터 및 이를 이용한 이퀄라이저

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant