KR100386549B1 - 표본 비율 변환기 - Google Patents

표본 비율 변환기 Download PDF

Info

Publication number
KR100386549B1
KR100386549B1 KR10-1999-7007628A KR19997007628A KR100386549B1 KR 100386549 B1 KR100386549 B1 KR 100386549B1 KR 19997007628 A KR19997007628 A KR 19997007628A KR 100386549 B1 KR100386549 B1 KR 100386549B1
Authority
KR
South Korea
Prior art keywords
sample
output
input
value
data stream
Prior art date
Application number
KR10-1999-7007628A
Other languages
English (en)
Other versions
KR20000075568A (ko
Inventor
홈퀴비스트피터보
Original Assignee
에릭슨 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에릭슨 인크. filed Critical 에릭슨 인크.
Publication of KR20000075568A publication Critical patent/KR20000075568A/ko
Application granted granted Critical
Publication of KR100386549B1 publication Critical patent/KR100386549B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Complex Calculations (AREA)
  • Television Systems (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)

Abstract

본 발명에서는 하나의 표본 비율에서 다수의 입력 표본(X)을 포함하는 입력 데이터 스트림을 또 다른 표본 비율에서 다수의 출력 표본(Y)을 포함하는 출력 데이터 스트림으로 변환시키는 표본 비율 변환기(200)를 설명한다. 이 변환기는 입력 표본과 출력 표본간의 타이밍 관계를 추적하기 위해 정수 누산기(220)를 사용하는 보간법을 이용한다. 누산기의 값에 근거하여, 이 방법은 현재의 출력 표본을 계산하기 위해서 올바른 입력 표본이 사용되는 지를 결정한다. 만일 그렇다면, 출력 표본은 입력 표본과 누산기 값의 함수로서 계산된다. 이 변환기는 테이블을 미리 계산하여 저장할 필요 없이 테이블에 근거한 변환 해법의 견고성(robustness)을 제공하고, 관련 계산을 단순화하며, 숫자의 반올림 오차에 덜 민감하다.

Description

표본 비율 변환기{SAMPLE RATE CONVERTER}
많은 전자 응용예에서, 신호는 디지털적으로 표현되고 처리된다. 디지털 워드 또는 표본은 정기적인 시간 간격으로 데이터 값을 나타낸다. 이러한 정기적인 간격은 종종 표본 비율로 칭해지며, 전형적으로 표본 간격 기간의 역수(逆數)로 나타내는 킬로헤르츠(kHz)의 단위로 표시된다.
데이터의 이용가능한 표본 비율이 요구되는 표본 비율과 상이한 경우가 있다. 표본 데이터의 특징과 이용가능하고 요구되는 비율이 얼마나 상이한가에 따라서, 신호의 의미를 의도적으로 변경함이 없이 하나의 표본 비율 신호를 다른 표본 비율 신호로 변환시키기 위하여 몇몇 방법이 사용된다.
표본 비율 감소를 위한 첫번째 보편적인 기술을 데시메이션(decimation)이라고 한다. 이 방법은 이용가능한 표본 비율이 요구되는 표본 비율의 정수배(integer multiple)일 때 선택되는 방법이다. 데시메이터(decimator)는 출력 표본 비율을 형성하기 위해 입력 표본 비율을 정수 d 만큼 감소시킨다. 만일 입력 신호가 고주파 성분을 내포하고 있다면, 엘리어싱 효과(aliasing effect)를 피하기 위해 이것을 저역 통과 필터(low pass filter)로써 제거한다. 비율 감소는 매 d번째 출력 표본에 대해 단지 d-1 입력 표본을 버림으로써 수행된다.
데시메이션의 주 결점은 비율 감소가 정수(整數)로 한정된다는 것이다. 게다가, 앨리어싱-제거 필터(anti-aliasing filter)는 매우 집중적인 계산을 필요로하는 경우가 있다.
표본 비율 변환을 위한 두번째 보편적인 기술은 보간법(interpolation)으로 알려져 있다. 보간은 정수 배수에 의해 표본 비율의 증가를 위하여 자주 사용되는 방법이다. l씩 표본 비율을 증가시키기 위해서는, 기본적인 보간기(interpolator)는 매 입력 표본 사이에 영(零)의 값을 가진 l-1 표본을 삽입한다. 그 다음 결과적으로 얻어진 표본을 앨리어싱-제거 저역 통과 필터(anti-aliasing low pass filter)를 통해 더 높은 비율에서 여과시킨다.
보간법도 데시메이션에서와 동일한 몇몇 근본적인 결점을 가지고 있다. 비율 증가는 정수에 한정되고, 보간법에서 필요한 저역 통과 여과는 비용이 많이 든다.
보간법과 데시메이션 법은 그 자체로는 단지 정수의 표본 비율 내에서 변환할 수 있다. 많은 경우에, 이것은 필요한 유연성을 제공하지 못한다. 형편에 따라 몇 단계에서 보간과 데시메이션을 조합하여, 표본 비율 변환을 미세 조정하는 것이 가능하다. 예를 들면, 만일 입력 표본 비율이 194.4kHz이고 요구되는 표본 비율이 153.6 kHz라면, 비율은 정수 인자에 의해 상이하게 되지 않는다. 이 대신에, 요구되는 비율은 64/81의 비(比)로써 이용가능한 비율에 관련된다. 요구되는 상기 표본 비율을 얻기 위해, 데이터를 먼저 64로 보간하고 다음에 81로 데시메이팅하나, 보간 및 데시메이션 인자가 크면 필요한 저역 통과 필터에 매우 큰 제한을 준다. 필터 요구를 감소시키기 위해, 보간과 데시메이션이 몇 개의 단계로 수행될 수 있는 바, 예를 들면, 9로 데시메이션하기 앞서 8로 보간하고, 9로 데시메이션 하기 앞서 8로 보간하여, 합계 64/81의 변환 결과를 얻는다. 보간과 데시메이션을 조합하여 사용하면 정수에 한정되지 않는 더 넓은 범위의 비율 변환이 가능하다. 그러나, 이러한 해법의 큰 결점은 여과 비용이다.
입출력 비율이 근접할 때 유용한 또 다른 표본 비율 변환 방법의 기술은 선형 보간법으로 알려져 있다. 이 방법은 각 출력 표본을 2개의 입력 표본의 함수로 추정하고 입출력 표본의 시간상 상대적인 위치를 추정하는 1차 선형 보간법을 이용한다. 도 1을 참조하면, m번째 출력 표본의 값은 식 ym= xn* k + xn+1* (1-k) {여기서, k = ((n+1) * Tx- m * Ty)/Tx}에 의하여 계산된다.
상기 식에서, xn은 n번째 입력 표본이고, ym은 m번째 출력 표본이며, Tx는 입력 표본 기간이고, Ty는 출력 표본 기간이다. 주어진 Tx가 입력 표본 기간이면, n번째 입력 표본의 시간 txn= n * Tx이다.마찬가지로, m번째 출력 표본의 시간 tym= m * Ty이다. 출력 표본 번호 m을 계산하기 위해, n을 선택하면,n * Tx≤ m * Ty< (n+1) * Tx가 된다.
1차 보간법의 결점중의 하나는 어떠한 특정 입력 표본이 출력 표본을 계산하는데 사용되는 지를 알기 어렵다는 것이다. Tx와 Ty는 거의 정수가 아니며, 반올림 오차(round off error)로 인해 틀린 표본이 선택되게 할 수도 있다. k의 계산은 m과 n이 커질 때 매우 커지는 두 수의 감산을 포함하며, 수의 정확성의 한계로 인해 오차가 있을 가능성이 크다.
이러한 결점은 k 값을 가진 테이블을 이용하여 완화시킨다. 194.4 kHz 입력과 153.6 kHz 출력 비율의 예로 계속해 보면, 시간상 표본의 상대적인 위치는 81 입력 표본의 기간에 걸쳐 반복된다. 따라서, k-값을 사전에 계산하고 테이블에 저장하는 것이 가능하다. 테이블을 사용함으로써 사전에 계산된 값을 저장하는 대신에 매 표본마다 k를 계산할 필요가 없다. 사전에 계산된 테이블을 사용하는데 따른 결점은 테이블을 위한 값은 사전에 계산되고 저장되어야 하는 데, 이는 추가적인 하드웨어 자원을 요구한다. 이것은 각종 입력 표본 비율과 출력 표본 비율 조합에 동일 변환기를 사용할 때 특히 문제가 된다.
본 발명은 디지털 신호의 표본 비율 변환 분야에 관한 것이다. 특히, 입 출력 표본의 타이밍 관계를 계산하기 위한 정수 누산기(integer accumulator)를 사용하는 표본 비율 변환 방법에 관한 것이다.
도 1은 선형 보간법을 나타내는 도면.
도 2는 본 발명의 표본 비율 변환 방법의 논리 순서도.
도 3은 입력 표본(...xn-3,xn-2, xn-1, xn, xn+1, ...)과 출력 표본(...ym-2, ym-1, ym, ym+1, ...)간의 타이밍 관계를 나타내는 도면.
도 4는 A가 B보다 작을 때 적용할 수 있는 단순화된 표본 비율 변환 방법의 논리 순서도.
도 5는 A가 B보다 클 때 적용할 수 있는 단순화된 표본 비율 변환 방법의 논리 순서도.
도 6은 표본 비율 변환기용 장치의 바람직한 실시예를 도시한 블록도.
도 7은 도 4의 방법을 사용하는 도 6의 장치를 위한 조정기의 바람직한 실시예를 도시한 논리 순서도.
본 발명은 종래 기술에서 몇몇 결점을 극복하는 표본 비율 변환 방법 및 장치이다. 본 발명의 방법은 사전에 계산하여 테이블에 저장할 필요없이 테이블에 근거 하는 방법의 견고성(robustness)을 제공하는 보간법이다. 또한, 이 방법은 관련 계산을 단순화하며 숫자의 반올림 오차에 덜 민감하다. 이 방법은 다른 표본 비율에서 다수의 입력 표본을 포함하는 입력 데이터 스트림에 근거한 하나의 표본 비율에서 다수의 출력 표본을 포함하는 출력 데이터 스트림을 형성하기 위해 정수 누산기(integer accumulator)를 활용한다. 더욱 상세히는, 이 방법은 입력 표본과 출력 표본간의 타이밍 관계를 추적하기 위해 정수 누산기를 이용한다. 누산기의 값에 근거하여, 이 방법은 현재의 출력 표본을 계산하는데 올바른 입력 표본이 이용되는지의 여부를 결정한다. 만일 그렇다면, 출력 표본은 입력 표본과 누산기 값의 함수로 계산된다. 누산기 값을 유지하기 위해 단순한 정수 연산을 도입 함으로써, 본 발명의 방법은 비-테이블 근거 해법의 유연성 및 간결성을 유지하면서 적절한 입력 표본이 사용되는지의 확인에 요구되는 불필요한 큰 연산을 피한다.
본 발명의 장치는 입력 표본 레지스터, 정수 누산기, 및 바람직 하게는 비트 시프트 레지스터(bit shift register)를 포함하는 바, 모든 것은 본 발명의 표본 비율 변환 방법을 실행하도록 구성된다.
본 발명은 바람직한 실시예를 나타낸 도면을 참조함으로써 하기에서 더욱 상세히 설명한다. 그러나, 본 발명은 많은 상이한 실시 형태를 가질 수 있으며, 여기에서 설명되는 실시예로 국한되는 것은 아니다.
본 발명의 방법은 입,출력 표본의 시간상 상대적인 위치의 계산을 용이하게 하는 정수 누산기(220)를 사용하는 보간법의 변형예이다. 선형 보간법에서는, 2개의 입력 표본과 1개의 출력 표본의 타이밍 관계를 계산하기 위해 A와 B, 2개의 (+)의 정수인 상수(常數)를 도입한다. 만일 입력 신호의 표본 기간이 Tx이고 출력 신호의 표본 기간이 Ty라면, A와 B는 A와 B의 비율이 식 A/B = Tx/Ty을 만족하도록 선택된다.
A와 B의 값, 또는 크기는 요구되는 정확도 및 기타의 고려사항에 의해 좌우된다. 사실상, 입력 표본 기간 Tx는 A 단계로 정량화된다. 상기 단계를 적게 유지하면(A는 크게 유지함), 추가되는 정량화 잡음을 적게 유지하는 것이 가능하다. 그러나, A를 표시하는데 큰 수의 비트를 사용하면 하드웨어 자원을 낭비할 수도 있다. 예로서, 입력 신호가 194.4 kHz 표본 비율에서 사용가능하고 요구되는 출력 표본 비율이 153.6 kHz라고 가정하면,
A/B = Tx/Ty= ((1/194,400)/(1/153,600)) = 153,600/194,400 = 64/81이 된다.
따라서, 입력 표본 기간은 64 단계(A = 64), 또는 64 단계의 어느 승수로 정량화될 수 있으며, A와 B 모두를 정수로 허용하면서 적절한 비율을 계속 유지할 수 있다. 따라서, 만일 B가 1296이면 A는 1024이다. 그러나, 만일 A가 64이면 상기 값(26= 64)을 표시하기 위해선 6 비트만이 필요하나, A가 1024이면 10 비트가 필요하다(210= 1024). 음양 부호 둘 모두를 표시하려면 하나의 비트가 추가로 필요하다는 점에 주의하여야 한다.
A와 B의 값은 한 쌍의 입력 표본과 주어진 출력 표본에 대한 시간상의 상대적인 위치를 추적하는 변수 "acc"의 값을 반복적으로 계산하기 위해 도입된다. 간단하게 말하면, acc는 두가지 기능을 수행한다. 첫번째로, acc는 현재의 출력 표본을 계산하는데 적절한 입력 표본쌍이 이용되고있는 지를 결정하는데 사용된다. 두번째로, acc는 적절하게 출력 표본 값을 추정하도록 각 입력 표본 쌍에 적절한 가중치를 할당하는데 사용된다. 어떻게 acc가 이러한 기능을 수행하는지의 상세한 내용은 이하의 설명을 통해서 명백하게 된다.
도 2는 본 발명의 논리 순서도를 나타낸다. 처리의 시작 단계에서, 정수 누산기(220)는 영(零)으로 설정되고, 변수 m과 n도 영으로 설정된다(박스 10). 변수 m은 현재 출력 표본의 시퀀스 번호(sequence number)를 나타내는 정수 카운터(counter)이다. 변수 n은 현재 입력 표본의 시퀀스 번호를 나타내는 정수 카운터이다. 이하의 설명으로 명백해지는 바와 같이, 순서도에서 m과 n의 유일한 목적은 어떻게 입출력 표본이 관련되는 지를 명확화함으로써 판독 장치가 알고리즘을 이해하는 데에 도움을 주는 것이다. 본 발명의 방법을 실행하기 위해, m 또는 n 어느 것도 저장되거나 계산될 필요가 없다.
누산기(220)는 변수 "acc"를 나타내는 정수 값을 포함한다. 주 처리 루프는 누산기(220)내의 정수 값에 A를 가산하는 것으로 시작한다(박스 20을 보라). 그 다음, acc가 영보다 작은 지를 점검한다(박스 30). 만일 작다면, n은 하나 증가되고(박스 40), 현재의 입력 표본의 역할을 가정하기 위해 다음의 입력 표본이 선택되며, 처리 과정은 박스(20)로 되돌아간다. 만일 acc가 영보다 적지 않다면, 출력 표본이 계산된다(박스 50). 간단하게 말하면, 박스(30)의 acc 값 점검은 계산된 특정 출력 표본이 현재의 입력 표본 기간내에 해당되는 지, 즉 현재 선택된 2개의 입력 표본(n과 n+1) 사이 또는 정확하게 입력 표본 xn+1에서 해당되는 지의 결정을 나타낸다.
본 발명의 목적을 위하여, 현재의 입력 표본 기간은 현재의 입력 표본으로부터 다음 다음의 입력 표본까지의 기간으로 정의한다. 따라서, 만일 입력 표본 비율이 1 Hz이고 현재의 입력 표본이 4번이라면(시퀀스가 0, 1, 2, 3, 4, ... n 인 경우), 현재의 입력 표본 기간은 4초에서 5초이다.
출력 표본의 계산(박스 50)은 식 ym= (acc * xn+ (A - acc) * xn+1)/A 을 통해서 완료된다.
상기 식은 개량된 선형 보간 공식이다. 이 식에서, xn은 출력 표본 이전에 발생하는 최종 입력 표본 값이고, xn+1은 출력 표본 뒤의 최초 입력 표본 값이다. 출력 표본이 곧바로 입력 표본의 꼭대기가 되는 경우에는, acc는 정수 영(零)과 같고, 상기 공식은 ym= (A * xn+1)/A = xn+1로 된다. 따라서, 입력 표본에 적절하게 상응하는 값 xn+1은 출력 표본(ym)을 위해 사용된다. 그러나, 최초 입력 표본(x0)과 최초 출력 표본(y0)에서, 직접 중복되는 최초 사례의 특별한 경우에는, acc는 A와 같아지고, 따라서 이 사례에서 상기 식은 y0= (A * x0)/A = x0가 된다.
출력 표본이 계산되고 나서(박스 50), acc의 값은 B 만큼 감소된다(박스 60). 박스(70)에서, 이 새로운 acc 값이 영 이상인 지를 점검한다. 만일 영 이상이면, m은 하나 증분되고 처리 과정은 박스(50)로 되돌아간다. 만일 그렇지 않으면, m과 n은 하나씩 증분된다(박스 90). 단순하게 말하면, 박스(70)의 acc 값 점검은 다음 출력 표본이 동일 쌍의 입력 표본내에 발생하는 지 여부를 결정함을 나타낸다.
상기 처리 과정은 주 처리 루프(박스 20 - 박스 100)를 통해서 더 이상의 표본이 없어서(박스 100) 중지되는 시점(박스 110)까지 루핑을 계속한다. 이러한 방식으로, 기간 Tx의 입력 표본 비율은 기간 Ty의 출력 표본 비율로 변환된다.
실행 수단의 한 예로서 도 3을 보라. 입력 표본 비율이 출력 표본 비율보다 빠른, 즉 A가 B보다 적은 경우를 가정한다. 논의를 위해서, 입력 표본 비율 1.4 kHz와 출력 표본 비율 1.0 kHz에 대응하여, A는 10이고 B는 14로 가정한다. 나아가서, 변환 처리는 본 발명에 따라서 진행되며, 입력 표본 xn-3와 출력 표본 ym-2를 처리한다고 가정한다. 이 시점에서 박스(20)로 들어가면 acc는 -4이다. 박스(20)에서 acc는 A만큼 증분되어 acc는 6이 된다(-4+10). 6이 0보다 크므로(박스 30), 출력 표본 ym-2는 xn-3와 xn-2에 근거하여 계산한다(박스 50). 다음, acc는 14만큼 감산되어(박스 60) -8이 된다(+6-14). acc가 0보다 크지 않으므로, 주 처리 루프는 다시 시작된다. 주 처리 루프를 통한 두번째 패스(pass) 동안에, ym-1에 대한 값은 xn-2와 xn-1을 사용하여 계산하며, acc는 -12로 조정된다(-8+10-14). 주 처리 루프를 통한 세번째 패스에서는, acc는 A만큼 증분되어 -2가 된다(-12+10). acc가 아직 0보다 작으므로, 현재 입력 표본(이 시점에서 xn-1)은 버리고, 다음 입력 표본 xn을 현재 입력 표본의 위치로 가정해서 acc는 8로 증가된다(-2+10). 그러면, 출력 표본 ym은 xn과 xn+1을 사용하여 계산된다. 주 처리 루프를 통한 세번째 패스의 결론으로(박스 100), acc는 -6이 된다(8-14). 도 3에 도시된 바와 같이, 출력 표본 ym을 계산하기 위해 입력 표본 xn-1과 xn보다는 입력 표본 xn과 xn+1을 사용한 이유는 ym이 xn과 xn+1사이에 나타나기 때문이다.
이 설명으로 알 수 있는 바와 같이, 변수 acc는 입력 표본과 출력 표본간의 타이밍 관계를 동적으로 추적하기 위해 사용된다. 이 예에서 A가 B보다 적으면, 입력 표본 시퀀스는 박스(30)에서 acc가 영(零)보다 적을 때 "초과(extra)"의 하나 또는 그 이상의 위치 만큼 진행된다. B가 A보다 적은 다른 경우에, acc가 박스(70)에서 영 이상이면 동일 입력 표본 쌍을 사용하여 둘 또는 더 많은 출력 표본이 계산된다. 따라서, 변수 acc는 적절한 입력 표본 쌍이 각각의 주어진 출력 표본 계산에 사용되는 지를 확인하기 위해 처리 과정에서 사용된다.
도 2의 알고리즘은 만일 상수 A가 상수 B보다 크다고 알려지든가 또는 그 역(逆)이면 다소 단순화될 수 있다. 동일한 참조 번호를 사용해서, 도 4는 A가 B보다 적다고 공지된 때의 단순화된 논리 순서도를 나타낸다. 도 5는 A가 B보다 크다고 공지된 때의 단순화된 논리 순서도를 나타낸다. 도 4와 도 5의 순서도는 A와 B간의 관계가 알려지면 비교 및 루프 백(loop back) 단계가 제거되어, 처리 과정이 단순화될 수 있음을 나타낸다.
상기 처리 과정에서, 출력 표본 (ym)의 계산은 상수 A에 의한 나눗셈을 필요로 한다. 하드웨어에서 나눗셈은 종종 비용이 들기 때문에, 이 대신에 1/A를 미리 계산하여 곱셈을 사용한다. 대안으로, 나눗셈이 쉽도록 A의 값을 선택하는 것이 더 바람직하다. 예를 들어, 만일 A가 2의 거듭제곱이면, 나눗셈은 단순한 2진 비트 시프트로서 실행될 수 있다.
예를 들어, 입력 표본이 194.4 kHz에서 사용가능하고, 요구되는 표본 비율이 153.6 kHz라고 가정하자. 이것은 다음을 의미한다:
A/B = Tx/Ty= 153,600/194,400 = 64/81
따라서, A는 64이고 B는 81이다. 그렇다면, 입력 표본 기간 Tx는 64 단계로 분할된다. 예를 들어, 만일 A를 1536으로 증가시키고 B도 상응하게 1944로 증가시키면 더 큰 정확도를 얻을 수 있다. 그러나, 바람직하게는, A는 1024(210)과 같이 2의 거듭제곱이고 B는 1296이 된다. 만일 A가 1024면, 나눗셈은 열(10)의 2진 오른쪽 시프트(binary right shift)로서 실행될 수 있다.
상기 논의는 선형 보간법의 사용을 가정한다. 그러나, 본 발명의 방법은 2차, 3차 또는 당해 기술 분야에서 공지된 다른 방법과 같은 기타 보간법에 대해서도 활용될 수 있다. 몇몇 다른 보간법에서는, 주어진 출력 표본을 계산하기 위해 두개 이상의 입력 표본이 요구된다. 만일 2개의 입력 표본만이 요구된다면, 단 하나의 정수 누산기(220)를 사용한다. 만일 2개 이상의 입력 표본이 요구된다면, 입 출력 표본간의 여러 타이밍 관계를 추적하기 위해서 다수의 정수 누산기(220)를 사용할 수 있다. 또는, 요구되는 모든 입력 표본과 계산될 출력 표본간의 관계를 추적하기 위해 하나의 누산기(220)가 사용될 수 있는 데, 이는 하나의 입력 표본에 대한 타이밍 관계가 한번만 알려지면 다른 입력 표본에 대한 타이밍 관계는 단순히 A 다음의 정수 증분일 것이기 때문이다. 만일 상이한 보간법(선형 보간법이 아닌)이 사용된다면, 각각의 주어진 출력 표본을 계산하기 위해서 명백하게 상이한 공식이 사용될 것이다. 그러나, 출력 표본 값은 여전히 최소한 다수의 입력 표본과 하나 또는 그 이상의 누산기 값의 함수일 것이다.
표본 비율 변환기(200)의 가능성 있는 하드웨어 적용의 블록도를 도 6에 도시한다. 표본 비율 변환기(200)는 조정기(controller)(210), 정수 누산기(220), 멀티플렉서(multiplexer)(230), 가산기(240, 250), 감산기(260), 곱셈기(270, 280), 입력 표본 레지스터(register)(290)와 비트 시프터(300)를 포함한다. 조정기(210)는 변환기(200)의 전반적인 기능을 조정한다. 누산기(220)는 정수 연산을 사용하여 입 출력 표본의 시간상 상대적인 위치를 추적한다. 멀티플렉서(230)는 A와 B의 값을 얻기위해 소스(source)(180, 190)에 접속된다. 입력 표본은 순차적으로 레지스터(290)에 공급된다. 비트 시프터(300)는 A에 의한 분할을 반영하기 위해 적절한 비트 시프트를 수행하고, 각각의 출력 표본을 위한 출력 표본 값을 출력한다.
또는, 조정기(210)의 기능은 도 6에서 보는 바와 같이 단일 장치로서 수집되기 보다는 변환기(200)내에 배치되어도 된다. 또한, 가산기(240, 250), 감산기(260), 곱셈기(270, 280)와 입력 표본 레지스터(290)와 같은 변환기(200)의 두개 또는 그 이상의 구성 요소는 집적 연산 논리 장치로 통합될 수 있으나, 그렇게 되면 비용이 더 들게 된다.
도 7은 도 4에서 설명된 방법에 대하여 도 6의 조정기(210)의 바람직한 동작을 보여주는 단순화된 순서도이다. 초기설정에 따라서, 조정기(210)는 누산기(220)에 클리어(clear) 지시를 하고, 입력 표본 레지스터(290)에 최초 입력 표본을 입력하라고 지시한다(박스 310). 이 동작이 도 4의 박스(10)에 상응한다는 점에 주의하라. 그 다음, 조정기(210)는 다음 입력 표본이 사용 가능한 지를 확인한다(박스 320). 그렇지 않다면, 조정기(210)는 다음 입력 표본이 사용 가능할 때까지 루프한다. 그렇다면, 조정기(210)는 멀티플렉서(230)에게 A의 입력을 지시하고, 누산기(220)가 A만큼 증분되도록 한다(박스 330). 이 동작은 도 4의 박스(20)에 상응한다는 점을 주지하라. 만일 부호 비트가 양(+)이면, 조정기(210)는 출력 표본 (ym)을 계산하게 하고, 멀티플렉스를 -B로 전환시키며, 누산기(220)는 기존의 누산기 값에 -B를 가산하도록 한다(박스 350). 이 동작은 도 4의 박스(50, 60 및 90)에 상응한다. 박스(350) 이후나 또는 박스(340)에서 부호 비트가 음(-)이면, 조정기(210)는 입력 표본 레지스터(290)가 다음 입력 표본을 입력하도록 한다(박스 360).
도 6의 변환기(200)는 A가 2의 거듭제곱일 때를 위한 상술된 선형 보간 표본 비율 변환 방법의 단순한 하드웨어 적용 예이다. 변환기(200)는 입력 표본 스트림 x1, x2, ...xn의 표본 비율을 정수 연산을 사용하여 상이한 출력 비율을 가지는 출력 표본 스트림 y1, y2, ...ym으로 변환시킬 수 있다. A와 B를 프로그램 가능한 상수(常數)로 만들게 되면, 동일 표본 비율 변환기(200)는 몇개의 상이한 입출력 비율로 동작하도록 프로그램될 수 있다.

Claims (19)

  1. 제1 표본 비율의 입력 데이터 스트림을 제2 표본 비율의 출력 데이터 스트림으로 변환시키는 표본 비율 변환 방법으로서,
    가) 제1 표본 비율로 다수의 입력 표본을 포함하는 입력 데이터 스트림을 수신하는 단계; 및
    나) 상기 입력 표본의 보간(interpolation)에 의해 제2 표본 비율로 다수의 출력 표본을 포함하는 출력 데이터 스트림을 발생시키는 단계를 포함하는데,
    상기 출력 데이터 스트림 발생 단계는,
    1) 상기 입력 데이터 스트림에서 하나이상의 입력 표본을 선택하는 단계와;
    2) 선택된 입력 표본과 발생될 출력 표본간의 타이밍 관계를 나타내는, 항상 정수인 하나이상의 누산기 합계를 유지하는 단계 및;
    3) 각각의 출력 표본에 대해, 상기 출력 표본을 상기 누산기 합계의 함수로서 계산하는 단계를 포함하는 표본 비율 변환 방법.
  2. 제 1 항에 있어서,
    현재 선택된 입력 표본이 상기 계산 단계전에 발생될 출력 표본에 대해 올바른 타이밍 관계를 갖고 있는지를 결정하기 위해 누산기 합계를 공지된 값과 비교하는 단계를 추가로 포함하는 것을 특징으로 하는 표본 비율 변환 방법.
  3. 제 2 항에 있어서,
    상기 공지된 기준값은 영인 것을 특징으로 하는 표본 비율 변환 방법.
  4. 제 1 항에 있어서,
    상기 출력 표본의 계산은 상기 하나 이상의 입력 표본의 추가 함수인 것을 특징으로 하는 표본 비율 변환 방법.
  5. 제 1 항에 있어서,
    상기 다수의 누산기 합계를 유지시키는 단계를 추가로 포함하는데, 각각의 누산기 합계는 상기 입력 데이터 스트림에서의 서로다른 입력 표본 및 발생될 출력 표본간의 타이밍 관계를 나타내고, 각각의 누산기 합계는 항상 정수인 것을 특징으로 하는 표본 비율 변환 방법.
  6. 제1 표본 비율의 입력 데이터 스트림을 제2 표본 비율의 출력 데이터 스트림으로 변환시키는 표본 비율 변환 방법으로서,
    가) 제1 표본 비율로 다수의 입력 표본을 포함하는 입력 데이터 스트림을 수신하는 단계; 및
    나) 상기 입력 표본의 선형 보간에 의해 상기 제2 표본 비율로 다수의 출력 표본을 포함하는 출력 데이터 스트림을 발생시키는 단계를 포함하고,
    상기의 출력 데이터 스트림 발생 단계는,
    1) 상기 입력 데이터 스트림 내의 현재의 입력 표본과 발생될 출력 표본간의 타이밍 관계를 나타내는, 항상 정수인 하나이상의 누산기 합계를 유지시키는 단계 및;
    2) 각각의 출력 표본에 대해, 상기 출력 표본을 누산기 합계의 함수로서 계산하는 단계를 포함하는 표본 비율 변환 방법.
  7. 제 6 항에 있어서,
    발생될 상기 출력 표본이 상기 계산 단계전에 현재의 입력 표본 기간내에 있는지를 결정하기 위해 상기 누산기 합계를 공지된 기준 값과 비교하는 단계를 추가로 포함하는 것을 특징으로 하는 표본 비율 변환 방법.
  8. 제 7 항에 있어서,
    상기 공지된 기준 값은 영인 것을 특징으로 하는 표본 비율 변환 방법.
  9. 제 6 항에 있어서,
    상기 출력 표본 계산은 현재 입력 표본 및 다음 입력 표본의 추가 함수 인 것을 특징으로 하는 표본 비율 변환 방법.
  10. 제 9 항에 있어서,
    가) A/B의 비(比)가 Tx/Ty와 동일하게 되도록 정수 값 A 및 B를 설정하는 단계로서, 여기서, Tx는 입력 표본 기간이고, Ty는 출력 표본 기간인, 설정 단계 및;
    나) 식 Ym= (L * Xn+ (A - L) * Xn+1)/A 에 의해서, m번째 출력 표본의 출력 표본 값 Ym을 계산하는 단계를 추가로 포함하는데,
    여기서, L은 상기 누산기 합계의 현재 값이고, Xn은 현재 입력 표본 값이며, Xn+1은 Xn이후의 다음 입력 표본의 값인 것을 특징으로 하는 표본 비율 변환 방법.
  11. 제 10 항에 있어서,
    출력 표본 값을 계산한 이후에 B만큼 상기 누산기 합계의 값을 감소시키는 단계를 추가로 포함하는 것을 특징으로 하는 표본 비율 변환 방법.
  12. 제 10 항에 있어서,
    출력 표본 값을 계산하기 전에 A만큼 상기 누산기 합계의 값을 증가시키는 단계를 추가로 포함하는 것을 특징으로 하는 표본 비율 변환 방법.
  13. 제 10 항에 있어서,
    A는 2의 거듭 제곱인 것을 특징으로 하는 표본 비율 변환 방법.
  14. 제1 표본 비율의 입력 데이터 스트림을 제2 표본 비율의 출력 데이터 스트림으로 변환시키는 표본 비율 변환 방법으로서,
    가) 제1 표본 비율로 다수의 입력 표본을 포함하는 입력 데이터 스트림을 수신하는 단계; 및
    나) 상기 입력 표본의 선형 보간에 의해 제2 표본 비율로 다수의 출력 표본을 포함하는 출력 데이터 스트림을 발생시키는 단계를 포함하고,
    상기의 출력 데이터 스트림 발생 단계는,
    1) A/B의 비(比)가 Tx/Ty와 동일하게 되도록 정수 값 A와 B를 설정하는 단계로서, Tx는 상기 제1 표본 비율의 역수이고, Ty는 상기 제2 표본 비율의 역수인, 설정 단계 와 ;
    2) 상기 입력 데이터 스트림 내의 현재의 입력 표본과 발생될 출력 표본간의 타이밍 관계를 나타내는, 항상 정수인 누산기 합계를 유지하는 단계;
    3) 각각의 출력 표본에 대하여, 발생될 출력 표본이 현재의 입력 표본 기간내에 있는지를 결정하기 위해 누산기 합계를 공지된 기준 값과 비교하여, 만약 그 기간 내에 있다면, 식 Ym= (L * Xn+ (A - L) * Xn+1)/A 에 의해서 누산기 합계의 함수로서 상기 출력 표본과 현재의 입력 표본 및 다음 입력 표본을 계산하는 단계로서, 여기서, Ym은 m번째 출력 표본의 값이고, L은 상기 누산기 합계의 현재 값이고, Xn은 현재 입력 표본의 값이며, Xn+1은 Xn이후의 다음 입력 표본의 값인, 계산 단계 및;
    4) 초기에 L은 영으로 설정한 다음, 제1 출력 표본 값을 계산하기에 앞서 L을 A만큼 증가시키고, 각각의 출력 표본 값의 계산 이후에는 L을 B만큼 감소시키는 단계를 포함하는 표본 비율 변환 방법.
  15. 제 14 항에 있어서,
    A는 2의 거듭 제곱인 것을 특징으로 하는 표본 비율 변환 방법.
  16. 제 14 항에 있어서,
    상기 공지된 기준 값은 영인 것을 특징으로 하는 표본 비율 변환 방법.
  17. 제1 표본 비율로 다수의 입력 표본을 포함하는 입력 데이터 스트림을 제2 출력 표본 비율로 다수의 출력 표본을 포함하는 출력 데이터 스트림으로 변환시키는 표본 비율 변환 장치로서,
    가) 입력 표본 레지스터; 및
    나) 정수 연산을 사용하여 입력 표본과 출력 표본간의 타이밍 관계를 계산하기 위하여, 하나이상의 정수 누산기를 포함하는데,
    여기서, 상기 출력 표본 각각의 값은 상기 누산기 합계와 둘 이상의 상기 입력 표본의 함수로서 계산되는, 표본 비율 변환 장치.
  18. 제 17 항에 있어서,
    상기 계산은 식 Ym= (L * Xn+ (A - L) * Xn+1)/A 에 의해 계산되는데,
    여기서, Ym은 m번째 출력 표본의 값이고, L은 상기 누산기 합계의 현재 값이고, Xn은 현재 입력 표본의 값이며, Xn+1은 Xn이후의 다음 입력 표본의 값이고, A 및 정수 값 B가 (A 대 B) 대 (Tx대 Ty)의 비가 되도록 A는 정수값이 되며, 여기서 Tx가 상기 제1 표본 비율의 역수이고 Ty는 상기 제2 표본 비율이 역수인, 것을 특징으로 하는 표본 비율 변환 장치.
  19. 제 17 항에 있어서,
    상기 계산의 분할 몫을 위하여 비트 시프터(bit shifter)를 추가로 포함하는 것을 특징으로 하는 표본 비율 변환 장치.
KR10-1999-7007628A 1997-02-26 1998-01-16 표본 비율 변환기 KR100386549B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US8/806,853 1997-02-26
US08/806,853 1997-02-26
US08/806,853 US5818888A (en) 1997-02-26 1997-02-26 Sample rate converter
PCT/US1998/000832 WO1998038766A1 (en) 1997-02-26 1998-01-16 Sample rate converter

Publications (2)

Publication Number Publication Date
KR20000075568A KR20000075568A (ko) 2000-12-15
KR100386549B1 true KR100386549B1 (ko) 2003-06-02

Family

ID=25194979

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-7007628A KR100386549B1 (ko) 1997-02-26 1998-01-16 표본 비율 변환기

Country Status (12)

Country Link
US (1) US5818888A (ko)
EP (1) EP0963633B1 (ko)
JP (1) JP4376973B2 (ko)
KR (1) KR100386549B1 (ko)
CN (1) CN1126320C (ko)
AU (1) AU732601B2 (ko)
BR (1) BR9807771B1 (ko)
EE (1) EE9900368A (ko)
ES (1) ES2264193T3 (ko)
HK (1) HK1026989A1 (ko)
MY (1) MY123934A (ko)
WO (1) WO1998038766A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092126A (en) * 1997-11-13 2000-07-18 Creative Technology, Ltd. Asynchronous sample rate tracker with multiple tracking modes
EP1033874A4 (en) * 1998-09-28 2006-10-18 Matsushita Electric Ind Co Ltd DATA PROCESSING METHOD, DATA PROCESSOR, AND PROGRAM RECORDING MEDIUM
FR2792800B1 (fr) * 1999-04-23 2001-05-25 Sagem Procede pour relier deux reseaux de transmission de donnees numeriques a rythmes differents, dispositif d'adaptation de debit pour la mise en oeuvre du procede et combine et base telephonique comportant le dispositif
US7280878B1 (en) 1999-10-27 2007-10-09 Creative Technology Ltd Sample rate converter having distributed filtering
US6865241B1 (en) 1999-12-15 2005-03-08 Lexmark International, Inc. Method and apparatus for sampling digital data at a virtually constant rate, and transferring that data into a non-constant sampling rate device
US6362755B1 (en) 2000-04-18 2002-03-26 Sigmatel, Inc. Method and apparatus for sample rate conversion and applicants thereof
US6590510B2 (en) 2000-06-16 2003-07-08 Lionel Jacques Woog Sample rate converter
US6584162B1 (en) * 2000-07-31 2003-06-24 Sigmatel, Inc. Method and apparatus sample rate conversions in an analog to digital converter
US6512468B1 (en) 2001-08-03 2003-01-28 Agere Systems Inc. System and method for increasing sample rate converter filter coefficient derivation speed
FR2858891B1 (fr) * 2003-08-11 2005-10-28 St Microelectronics Sa Convertisseur de taux d'echantillonnage a augmentation ou diminution du taux d'echantilonnage
CA2485723A1 (en) * 2003-10-22 2005-04-22 Sony Corporation A data processing apparatus and method for producing interpolated data of an image
US7456762B1 (en) * 2007-03-21 2008-11-25 Altera Corporation Scaling of sampling position in sample rate converter
CN101764611B (zh) * 2008-12-26 2013-03-27 展讯通信(上海)有限公司 一种采样率转换方法和装置
CN102420611B (zh) * 2011-01-24 2014-09-17 展讯通信(上海)有限公司 一种数字信号的采样率转换方法及装置
JP5845934B2 (ja) * 2012-01-30 2016-01-20 株式会社Jvcケンウッド 非同期サンプリング周波数変換装置、変換方法、及び、プログラム
CN103487651A (zh) * 2013-09-24 2014-01-01 国家电网公司 一种基于fpga+dsp的apf控制器的采样数据处理方法
CN104159177A (zh) * 2014-07-16 2014-11-19 浙江航天长峰科技发展有限公司 一种基于屏幕录制的音频录制系统及方法
CN106972840B (zh) * 2017-02-28 2020-05-05 深圳市鼎阳科技股份有限公司 一种采样率转换方法与装置
CN108844622B (zh) * 2018-07-11 2019-08-06 中国科学院地质与地球物理研究所 一种多采样率振动数据记录方法及装置
CN110212889B (zh) * 2019-05-29 2020-11-13 北京机电工程研究所 一种数字信号采样装置及方法
US20230422062A1 (en) * 2022-06-28 2023-12-28 Viavi Solutions Inc. Variable arbitrary resampler method for base station test system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0657999A1 (en) * 1993-12-08 1995-06-14 Nokia Mobile Phones Ltd. Sampling frequency conversion

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4020332A (en) * 1975-09-24 1977-04-26 Bell Telephone Laboratories, Incorporated Interpolation-decimation circuit for increasing or decreasing digital sampling frequency
US4313173A (en) * 1980-06-10 1982-01-26 Bell Telephone Laboratories, Incorporated Linear interpolator
US4460890A (en) * 1982-01-21 1984-07-17 Sony Corporation Direct digital to digital sampling rate conversion, method and apparatus
CA1268523A (en) * 1984-10-31 1990-05-01 Nec Corporation Synchronization circuit capable of establishing synchronism even when a sampling rate is invariable
JP3041564B2 (ja) * 1993-01-07 2000-05-15 日本プレシジョン・サーキッツ株式会社 サンプリングレートコンバータ
GB2267192B (en) * 1992-05-21 1995-09-27 Sony Broadcast & Communication Sampling frequency conversion
US5513209A (en) * 1993-02-26 1996-04-30 Holm; Gunnar Resampling synchronizer of digitally sampled signals
DE4326427A1 (de) * 1993-08-06 1995-02-09 Thomson Brandt Gmbh Digitaler Abtastratenumsetzer
US5497152A (en) * 1993-09-13 1996-03-05 Analog Devices, Inc. Digital-to-digital conversion using non-uniform sample rates
US5617088A (en) * 1994-01-26 1997-04-01 Sony Corporation Sampling frequency converting device and memory address control device
US5512895A (en) * 1994-04-25 1996-04-30 Teradyne, Inc. Sample rate converter
DE69428987T2 (de) * 1994-07-25 2002-04-04 Matsushita Electric Ind Co Ltd Digital/Digital-Abtastratenumsetzer
CA2160045C (en) * 1994-10-13 1999-04-27 Thad J. Genrich Parallel cascaded integrator-comb filter
US5610942A (en) * 1995-03-07 1997-03-11 Chen; Keping Digital signal transcoder and method of transcoding a digital signal
US5606319A (en) * 1995-08-07 1997-02-25 Motorola, Inc. Method and apparatus for interpolation and noise shaping in a signal converter
US5731769A (en) * 1995-12-04 1998-03-24 Motorola, Inc. Multi-rate digital filter apparatus and method for sigma-delta conversion processes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0657999A1 (en) * 1993-12-08 1995-06-14 Nokia Mobile Phones Ltd. Sampling frequency conversion

Also Published As

Publication number Publication date
AU6027498A (en) 1998-09-18
JP4376973B2 (ja) 2009-12-02
EP0963633B1 (en) 2006-07-05
US5818888A (en) 1998-10-06
KR20000075568A (ko) 2000-12-15
ES2264193T3 (es) 2006-12-16
EE9900368A (et) 2000-04-17
CN1126320C (zh) 2003-10-29
BR9807771B1 (pt) 2010-05-18
CN1249093A (zh) 2000-03-29
BR9807771A (pt) 2000-02-22
EP0963633A1 (en) 1999-12-15
WO1998038766A1 (en) 1998-09-03
EP0963633A4 (en) 2000-10-04
JP2001513295A (ja) 2001-08-28
MY123934A (en) 2006-06-30
HK1026989A1 (en) 2000-12-29
AU732601B2 (en) 2001-04-26

Similar Documents

Publication Publication Date Title
KR100386549B1 (ko) 표본 비율 변환기
KR930001296B1 (ko) 보간용 시간이산 필터장치
US5471411A (en) Interpolation filter with reduced set of filter coefficients
US7411525B2 (en) Sampling rate converting method and circuit
US4972360A (en) Digital filter for a modem sigma-delta analog-to-digital converter
US4715257A (en) Waveform generating device for electronic musical instruments
EP0084945B1 (en) Direct digital to digital sampling rate conversion method and apparatus
KR0170301B1 (ko) 복합위상여파기와 이를 이용한 타이밍 오차 보상장치 및 그 방법
EP0187211A1 (en) Tone signal generating apparatus
US4829463A (en) Programmed time-changing coefficient digital filter
EP0337458B1 (en) Apparatus for synthesizing analog signals in PCM
KR960003063B1 (ko) 프로그램으로 분수 주파수를 분할할 수 있는 클럭 발생기
US5553011A (en) Waveform generating apparatus for musical instrument
JPH07112144B2 (ja) デジタル・フィルタ
JPH0461509A (ja) Daコンバータ
US6778600B1 (en) Method of filtering and apparatus therefore
RU2168268C1 (ru) Генератор с раздельной цифровой регулировкой частоты и фазы импульсов
US6483451B1 (en) Sampling function waveform data generating device
SU1184081A1 (ru) Цифровой фазовый модул тор
SU1347145A1 (ru) Синтезатор частоты
JPH04309998A (ja) 電子楽器の楽音発生装置
JPH05323970A (ja) 楽音発生装置
JPH11122079A (ja) 標本化周波数変換装置
JPS5833754A (ja) デイジタル乗算回路
JPH0365048B2 (ko)

Legal Events

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

Payment date: 20130508

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140513

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150511

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160511

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20170515

Year of fee payment: 15

EXPY Expiration of term