KR20090025283A - 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시 - Google Patents
원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시 Download PDFInfo
- Publication number
- KR20090025283A KR20090025283A KR1020087031676A KR20087031676A KR20090025283A KR 20090025283 A KR20090025283 A KR 20090025283A KR 1020087031676 A KR1020087031676 A KR 1020087031676A KR 20087031676 A KR20087031676 A KR 20087031676A KR 20090025283 A KR20090025283 A KR 20090025283A
- Authority
- KR
- South Korea
- Prior art keywords
- component
- sample
- intermediate sample
- phase
- equal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
- H03H17/0635—Non-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/0685—Non-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 rational
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H19/00—Networks using time-varying elements, e.g. N-path filters
Abstract
일반적으로, 본 개시는 디지털 신호의 샘플링 주파수를 변경하는 기술들을 설명한다. 특히, 본 기술은 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍을 결정하는 정확한 방법을 제공한다. 디지털 신호의 상기 원하는 출력 샘플과 대응 입력 샘플 사이의 상대 타이밍은 관련된 중간 샘플들을 생성하는데 사용되는 디지털 신호의 최근 입력 샘플을 식별하는 제 1 컴포넌트, 중간 샘플을 식별하는 제 2 컴포넌트, 및 원하는 출력 샘플과 상기 중간 샘플 사이의 타이밍 차를 식별하는 제 3 컴포넌트를 이용하여 표시될 수도 있다. 컴포넌트들 각각은 비근사화된 정수를 이용하여 반복적으로 업데이트될 수도 있다.
정수 표시, 입력 샘플, 출력 샘플, 중간 샘플, 상대 타이밍, 샘플링
Description
본 출원은 2006년 6월 14일 출원된 미국 가특허 출원 제 60/813,870 호의 우선권의 이익을 주장한다.
기술 분야
본 개시는 샘플링 레이트 변환에 관한 것으로서, 보다 상세하게는, 디지털 영역의 샘플링 레이트 변환에 관한 것이다.
배경 기술
샘플링 레이트 컨버터는 디지털 신호의 샘플링 주파수를 변경하는데 사용될 수도 있고, 또한 리샘플러로 지칭될 수도 있다. 샘플링 레이트 컨버터는 하드웨어 디바이스 및/또는 소프트웨어의 형태를 취할 수도 있고, 업샘플러 또는 다운샘플러 중 어느 하나일 수도 있다. 업샘플러는 디지털 신호의 샘플링 레이트를 증가시킨다. 다운 샘플러는 디지털 신호의 샘플링 레이트를 감소시킨다. 샘플링 주파수 변환 레이트는 원하는 출력 샘플링 주파수 대 주어진 입력 샘플링 주파수의 비로 정의된다. 업샘플링 변환 레이트는 항상 1.0보다 큰 반면, 다운 샘플링 변환 레이트는 항상 1.0 미만이다.
에일리어싱 (aliasing) 은, 아날로그 신호에서 디지털 신호로 변환하거나 그 역으로 변환할 때 일반적으로 발생하는 현상이다. 에일리어싱은 디지털 신호의 샘플링 주파수를 변환할 때에도 발생할 수도 있다. 에일리어싱이 발생할 때, 일 주파수에서의 신호 에너지가 다른 주파수들로 이미징된다. 예를 들어, 신호가 각각 1 kHz와 7.5 kHz에서 2개의 사인파 성분들을 갖는다고 가정한다. 이 신호가 16 kHz에서 샘플링된다면, 이 신호는 완벽하게 복구될 수 있다. 이 신호가 4 만큼 데시메이션에 의해 16 kHz에서 4 kHz로 다운샘플링된다면, 1 kHz에서의 에너지는 변하지 않을 것이지만, 7.5 kHz에서의 에너지는 0.5 kHz로 이미징될 것이다. 0.5 kHz에서의 에너지는 에일리어싱라고 간주된다. 다른 예로써, 1 kHz에서의 아날로그 사인파 신호가 4 kHz에서 샘플링된다면, 에너지는 1 kHz에서 나타나는 것이 바람직하다. 그러나, 이 신호가 인접한 샘플들 사이에 3개의 제로들을 삽입함으로써 16 kHz로 업샘플링된다면, 이 에너지는 1 kHz, 3 kHz, 5 kHz, 및 7 kHz에서 나타날 것이다. 3 kHz, 5 kHz, 및 7 kHz에서의 에너지는 1 kHz에서의 에너지의 이미지이고 에일리어싱이라고 간주된다. 에일리어싱으로 인한 왜곡을 감소시키기 위해서, 일반적으로, 샘플링 레이트는, 통상적으로 저역 통과 필터인 안티-에일리어싱 필터를 포함한다.
일반적으로, 안티-에일리어싱 필터들은 업샘플러들 또는 다운샘플러들 둘 다에서 요구된다. 예를 들어, 일반적으로 종래의 업샘플러는, 인접 샘플들과 안티-에일리어싱 필터 사이에 일정한 수의 제로들을 삽입하는 보간기를 포함한다. 일반적으로, 안티-에일리어싱 필터는 대역폭 π/I를 갖는 저역 통과 필터이고, 여기서, I는 업샘플링 인자이다. 다른 예로서, 종래의 다운 샘플러는 일반적으로 모든 일정 수의 샘플들에서 하나의 샘플을 주기적으로 고르는 (picks) 데시메이터와 안티-에일리어싱 필터를 포함한다. 일반적으로, 안티-에일리어싱 필터는 대역폭 π/D를 갖는 저역 통과 필터이고, 여기서, D는 다운샘플링 레이트이다.
요약
일반적으로, 본 개시는 디지털 신호의 샘플링 주파수를 변경하는 기술들을 설명한다. 특히, 본 기술은 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍을 결정하는 정확한 방법을 제공한다. 본 개시의 처음부터 끝까지 용어 "페이즈"는 원하는 출력 샘플들과 대응 입력 샘플들 사이의 이 상대 타이밍을 지칭하는데 사용된다. 본 개시는 정수들을 이용하여 업샘플러에서의 페이즈를 보다 정확하게 결정하는 기술들을 설명한다.
예를 들어, 샘플링 레이트 컨버터는 3개의 컴포넌트들을 이용하여 페이즈를 나타내고 정수들을 이용하여 각각의 성분을 트랙킹한다. 본원에서 입력 샘플 인덱스라 지칭되는 제 1 컴포넌트는 중간 샘플들을 생성하는데 사용되는 최근의 입력 샘플들을 트랙킹한다. 본원에서 정수 페이즈라 지칭되는 제 2 컴포넌트는 출력 샘플을 생성하는데 사용되는 중간 샘플들을 트랙킹한다. 본원에서 분수 페이즈라 지칭되는 제 3 컴포넌트는 출력 샘플과 그 인접한 중간 샘플들 사이의 타이밍 차를 트랙킹한다. 이 방법에서, 업샘플러는 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시를 제공할 수 있다. 정수를 이용한 출력 신호의 페이즈를 결정하는 것은, 업샘플러로 하여금 부정확한 페이즈 표시로 인한 리샘플링 에러들을 감소시킴으로써 입력 신호를 더욱 정확하게 업샘플링하 게 한다.
일 실시 형태에서, 방법은 관련된 중간 샘플들을 생성하는데 사용되는 디지털 신호의 최근 입력 샘플을 식별하는 제 1 컴포넌트, 중간 샘플을 식별하는 제 2 컴포넌트, 및 상기 원하는 출력 샘플과 상기 중간 샘플 사이의 타이밍 차를 식별하는 제 3 컴포넌트를 이용하여 디지털 신호의 원하는 출력 샘플과 대응하는 입력 샘플 사이의 상대 타이밍을 표시하는 단계를 포함하고, 컴포넌트들 각각은 비근사화된 정수로 표시된다.
다른 실시 형태에서, 장치는 관련된 중간 샘플들을 생성하는데 사용되는 디지털 신호의 최근 입력 샘플을 식별하는 제 1 컴포넌트, 중간 샘플을 식별하는 제 2 컴포넌트, 및 상기 원하는 출력 샘플과 상기 중간 샘플 사이의 타이밍 차를 식별하는 제 3 컴포넌트를 이용하여 디지털 신호의 원하는 출력 샘플과 대응하는 입력 샘플 사이의 상대 타이밍을 표시하는 페이즈 트랙킹 모듈을 포함하고, 컴포넌트들 각각은 비근사화된 정수로 표시된다.
또 다른 실시 형태에서, 컴퓨터 판독 가능 매체는, 실행시 프로세서로 하여금, 관련된 중간 샘플들을 생성하는데 사용된 디지털 신호의 최근 입력 샘플을 식별하는 제 1 컴포넌트, 중간 샘플을 식별하는 제 2 컴포넌트, 및 상기 원하는 출력 샘플과 상기 중간 샘플 사이의 타이밍 차를 식별하는 제 3 컴포넌트를 이용하여 디지털 신호의 원하는 출력 샘플과 대응하는 입력 샘플 사이의 상대 타이밍을 표시하게 하는 명령들을 포함하고, 컴포넌트들 각각은 비근사화된 정수로 표시된다.
하나 이상의 실시 형태들의 세부 사항들을 첨부된 도면과 아래의 상세한 설 명에 설명한다. 다른 특징들, 목적들, 및 이점들이 상세한 설명 및 도면들, 및 청구 범위에서 명확해질 것이다.
도면의 간단한 설명
도 1은 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시를 이용하여 입력 디지털 신호를 업샘플링하는 무선 통신 디바이스를 도시하는 블록도이다.
도 2는 본 개시에 설명된 기술들에 따라 레이트-변환된 신호의 페이즈의 정수 표시를 결정하는 예시적인 업샘플러를 도시하는 블록도이다.
도 3은 입력 샘플링 주파수를 원하는 출력 샘플링 주파수로 업샘플링하는 업샘플러의 예시적인 동작을 도시하는 흐름도이다.
도 4는 정수를 이용하여 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍을 결정하는 업샘플러의 예시적인 동작을 도시하는 흐름도이다.
도 5는 본 개시의 기술들에 따라 11 kHz에서 48 kHz로 입력 샘플의 예시적인 변환을 도시하는 그래프이다.
도 6은 11 kHz에서 48 kHz의 입력 샘플의 예시적인 변환을 도시하는 다른 그래프이다.
상세한 설명
본 개시는 디지털 신호의 샘플링 주파수를 변경하는 기술들을 설명한다. 특히, 이 기술들은 원하는 샘플들과 대응 입력 샘플들 사이의 상대 타이밍을 결정하는 정확한 방법을 제공한다. 본 개시의 처음부터 끝까지 용어 "페이즈"는 원 하는 출력 샘플들과 대응 입력 샘플들 사이의 이 상대 타이밍을 지칭하는데 사용된다. 디지털 업샘플러들에서, 페이즈 결정은 업샘플러의 성능에 결정적일 수 있다. 부정확한 페이즈 결정은 부가적인 복구 왜곡 및/또는 업샘플링된 신호에서 주파수 스큐의 원인이 될 수 있다. 본 개시는 비근사화된 정수들을 이용하여 업샘플러에서 페이즈를 정확하게 결정하는 기술들을 설명한다.
종래에, 업샘플러들은 변환 레이트의 함수로서 출력 신호의 페이즈를 트랙킹한다. 이 변환 레이트는 원하는 출력 샘플링 주파수와 입력 샘플링 주파수 사이의 비 (f o /f i ) 로 표시될 수도 있는 분수이다. 12 kHz에서 48 kHz로 신호가 업컨버트된다면, 예를 들어, 변환 레이트는 4이다. 종래의 업샘플러들은 일반적으로, 페이즈, 즉 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍을 변환 레이트의 함수로서 결정한다. 업샘플러가 변환 레이트 4에서 동작하고 있다면, 이 업샘플러는 모든 하나의 입력 샘플에 대하여 4개의 출력 샘플들을 출력한다. 이 업샘플러가 제 1 입력 샘플들의 시간부터 출력 샘플들을 생성하기 시작한다면, 제 1 입력 샘플들의 시간에, 제 1 입력 샘플과 제 2 입력 샘플 사이의 ¼ 근처에서, 제 1 입력 샘플과 제 2 입력 샘플 사이의 ½ 근처에서, 그리고 제 1 입력 샘플과 제 2 입력 샘플 사이의 ¾ 근처에서 출력 샘플을 생성한다. 출력 샘플들 각각의 대응 페이즈는 n·τ(n)과 동일하고, n은 반복 인덱스이고 τ(n)은 변환 레이트의 인버스이다. 바꾸어 말하면, 각 시퀀스 출력 샘플의 페이즈는 변환 레이트의 인버스만큼 이전 출력 샘플의 페이즈를 증가시킴으로써 얻어진다. 이 방법에서, 이 페이즈는 입력 샘플들과 관련된 출력 샘플들의 타이밍에 대응한다.
변환 레이트, 및 페이즈가 분수이기 때문에, 유한 값 또는 무한 값 중 어느 하나일 수도 있다. 디지털 업샘플러는 2진 디지트의 유한 수를 이용한 페이즈를 나타낸다. 업샘플러는 정확하게, 1/2, 3/4, 및 127/128와 같은 2진 디지트의 유한 수를 가진 유한 분수를 나타낸다. 그러나, 1/3, 4/7, 441/480과 같은 무한 분수를 나타내기 위해서, 업샘플러는 이진 디지트의 유한 수의 범위 내에서 무한 분수를 나타날 수 있도록 분수를 양자화해야 한다. 양자화에 의해 무한 분수를 근사화하는 것은 업샘플링 프로세스에서 어떤 페이즈 에러를 도입한다. 특히, 후속 출력 샘플의 페이즈가 근사화된 무한 분수만큼 증가할 때마다, 입력 샘플과 관련된 출력 샘플의 위치는 양자화로 인해 약간 떨어진다. 이 페이즈가 양자화된 인버스 변환 레이트 값 만큼 연속적으로 증가함에 따라서, 페이즈 에러가 증가하여 결국 수용할 수 없는 레벨로 축적될 수도 있다.
업샘플링 프로세스에서 페이즈 에러의 양을 감소시키기 위해서, 본 개시의 기술들은 업샘플링된 출력 신호의 페이즈를 결정하기 위한 보다 정확한 방법을 제공한다. 특히, 이 기술들은 근사화되지 않은 정수를 이용하여 출력 신호의 페이즈를 나타내는 방법을 제공한다. 본원에 사용된 바와 같이, 용어 "근사화되지 않은 정수"는 무한 수를 반올림, 양자화, 그밖에 근사화함으로써 얻어지지 않는 정수를 지칭한다. 근사화되지 않은 정수를 이용한 출력 신호의 페이트를 트랙킹하는 것은 업샘플러로 하여금 무한 분수의 근사로 인한 페이즈 에러들을 감소시 킴으로써 입력 신호를 보다 정확하게 업샘플링하게 한다.
도 1은 본 개시에 설명된 기술들에 따라서 비근사화된 정수들을 이용하여 디지털 신호의 원하는 출력 샘플들과 대응하는 입력 샘플들 사이의 상대 타이밍을 결정하는 무선 통신 장치 (WCD; 10) 를 도시하는 블록도이다. WCD (10) 는 이동 전화, 위성 전화, 휴대용 컴퓨터 내에 포함된 무선 통신 카드, 무선 통신 캐퍼빌러티에 장착된 개인 디지털 보조기 (PDA), 무선 통신을 할 수 있는 임의의 다양 장치들의 형태를 취할 수도 있다. 본 개시의 기술들은 오로지 예시적인 목적으로 무선 통신 장치들의 맥락에서 설명된다. 이 기술들은, 유선 통신 장치들, 패킷 기반 통신 장치들, 및 오디오 플레이백 장치들, 기록 장치들, 및 주로 통신을 목표호 한 것이 아닌 디스플레이 장치들과 같은 장치들을 포함하는 다른 장치들에서도 유용할 수도 있다.
WCD (10) 는 복수의 기지국 (미도시) 과 통신할 수도 있다. 이 기지국은 일반적으로, WCD (10) 에 대한 네트워크 액세스를 제공하기 위해 WCD (10) 와 무선으로 통신하는 고정국이다. 예를 들어, 이 기지국은, 전화 통화가 WCD (10) 로/로부터 라우팅될 수 있도록, WCD (10) 와 일반 전화 교환망 (PSTN) 사이에 인터페이스를 제공할 수도 있다. 대안으로, 또는 부가적으로, 기지국은 패킷 기반 음성 정보 또는 패킷 기반 데이터의 전송을 위한 패킷 기반 네트워크에 커플링될 수도 있다.
도 1의 예에서, WCD (10) 는 안테나 (11), 트랜시버 (12), 코덱 (인코더/디코더; 13), 메모리 (16), 및 제어기 (18) 를 포함한다. 몇몇 실시 형태에서, 제어기 (18) 는 WCD (10) 의 동작을 제어할 수 있는 이동국 모뎀 (MSM) 을 포함할 수도 있다. WCD (10) 는 안테나 (11) 를 통해 트랜시버 (12) 를 이용하여 기지국으로부터 무선 신호들을 수신할 수도 있다. 그런 다음, 코덱 (13) 은 수신된 무선 신호들을 디코딩한다. 제어기 (18) 는 코덱 (13) 으로부터 입력 샘플링 레이트로 디지털 신호들을 수신하고, 디지털 신호들을 처리하고, 그 처리된 신호들을 WCD (10) 의 사용자에게 제공하고/하거나 그 처리된 신호들을 메모리 (16) 에 저장한다.
제어기 (18) 는 신호 프로세서 (14), 샘플러 (15), 및 샘플링 레이트 컨버터 (20) 를 포함한다. 신호 프로세서 (14) 는 입력 샘플링 주파수로 코덱 (13) 으로부터 수신된 디지털 신호를 처리한다. 샘플링 레이트 컨버터 (20) 는 디지털 신호용 애플리케이션에 따라서 입력 샘플링 주파수를 원하는 출력 샘플링 주파수로 변환한다. 신호 프로세서 (14) 는 원하는 출력 샘플링 주파수에서 디지털 신호를 다시 처리할 수도 있다. WCD (10) 의 사용자에게 신호들을 제공하기 위해서, 샘플러 (15) 는 디지털-아날로그 컨버터 (DAC) 를 포함하고 원하는 출력 샘플링 주파수에서 디지털 신호를 아날로그 신호로 변환한다.
WCD (10) 는 또한, WCD (10) 의 사용자로부터 신호들을 수신할 수도 있다. 제어기 (18) 는 아날로그 신호들을 수신하고, 이 아날로그 신호들을 디지털 신호들로 변환하고, 전송을 위해 이 디지털 신호들을 처리한다. 이 경우에서, 샘플러 (15) 는 아날로그-디지털 컨버터 (ADC) 를 포함하고 입력 샘플링 주파수에서 아날로그 신호를 디지털 신호로 변환한다. 신호 프로세서 (14) 는 입력 샘플링 주파수에서 디지털 신호를 처리한다. 샘플링 레이트 컨버터 (20) 는 입력 샘플링 주파수를 디지털 신호를 위한 애플리케이션에 따라서 원하는 출력 샘플링 주파수로 변환한다. 신호 처리기 (14) 는 원하는 출력 샘플링 주파수에서 디지털 신호를 다시 처리할 수도 있다. 코덱 (13) 은 원하는 출력 샘플링 주파수에서 디지털 신호를 인코딩한다. 그런 다음, 트랜시버 (12) 는 안테나 (11) 를 통해 기지국으로 인코딩된 무선 신호를 전송한다.
몇몇 실시 형태들에서, 제어기 (18) 는 트랜시버 (12) 에 의해 수신된 신호들과 트랜시버 (12) 에 의해 전송될 신호들을 위한 신호 처리기들, 샘플링 레이트 변환기들, 및 샘플러들의 전용 세트를 포함할 수도 있다. 어떤 경우에서, 제어기 (18) 는 하나 이상의 프로세서, 디지털 신호 처리기, 주문형 반도체 (ASIC), FPGA (필드 프로그래머블 게이트 어레이), CPLD (복합 프로그램가능 논리 소자), 별도의 논리, 소프트웨어, 하드웨어, 펌웨어 또는 그 임의의 조합들로서 구현될 수도 있다.
디지털 신호를 처리하기 전에, 제어기 (18) 는 디지털 신호를 위한 잠재적 애플리케이션에 기초한 디지털 신호의 원하는 출력 샘플링 주파수, f 0 를 결정한다. 수신된 디지털 신호들을 위한 잠재적 애플리케이션들은 다양한 샘플링 주파수들을 사용한다. 예를 들어, 8 kHz 및 16 kHz 샘플링 주파수들은 음성 통신 애플리케이션들에서 사용된다. 오디오 콤팩트 디스크 (CD) 애플리케이션들은 44.1 kHz 샘플링 주파수를 사용한다. 디지털 오디오 테이프 (DAT) 애플리케이션들은 48 kHz 샘플링 주파수를 사용한다. 11.025 kHz, 12 kHz, 12.8 kHz, 22.05 kHz, 24 kHz, 32 kHz, 및 44 kHz를 포함하는 다른 전형적인 샘플링 주파수들은 다른 디지털 신호 애플리케이션들에서 사용될 수도 있다. 디지털 신호를 상이한 출력 샘플링 주파수로 변환하는 것은 WCD (10) 내에서 둘 이상의 디지털 신호 애플리케이션을 동시에 실행시키는데 특히 유용할 수도 있다. 예를 들어, 제어기 (18) 는 음성 통신과 오디오 애플리케이션의 동시 실행을 허용하기 위해서 8 kHz의 샘플링 주파수를 갖는 음성 통신 애플링케이션과 48 kHz의 샘플링 주파수를 갖는 오디오 애플리케이션을 공통 샘플링 주파수로 변환하기 원할수도 있다. 이와 같이, WCD (18) 의 사용자는 걸려온 전화에 응답하면서 음악을 청취할 수도 있다.
제어기 (18) 내의 샘플링 레이트 컨버터 (20) 는 입력 샘플링 주파수로부터 디지털 신호의 샘플링 레이트를 원하는 출력 샘플링 주파수로 변환하기 위해서 업샘플러 (22) 및 다운샘플러 (23) 를 포함할 수도 있다. 특히, 업샘플러 (22) 는 입력 신호들을 입력 주파수보다 큰 원하는 출력 주파수로 변환하고 다운샘플러 (23) 는 입력 신호들을 입력 주파수보다 작은 원하는 출력 주파수로 변환한다. 이 방법에서, 업샘플러 (22)는 입력 디지털 신호의 샘플링 주파수를 증가시켜 원래의 입력 디지털 신호의 대역폭보다 넓은 대역폭을 가진 출력 디지털 신호를 생성한다. 업샘플러 (22) 는, 입력 디지털 신호 스펙트럼에 대한 왜곡과 미리 결정된 레벨로의 광범위에 걸친 주파수 대역 내 에너지를 제어하여 신호의 충실도를 유지할 수도 있다. 업샘플러 (22) 는, 업샘플링 및 보간법을 수행함으로써 입력 샘플링 주파수를 원하는 출력 샘플링 주파수로 변환하기 위해 임의의 합리적인 업샘 플링 레이트들을 유지한다.
예로써, 업샘플러 (22) 는, N의 인자 만큼 입력 디지털 신호를 제 1 업샘플링함으로써, 입력 디지털 신호의 샘플링 주파수, f i 를 Nf i 의 샘플링 주파수에서 중간 신호로 변환할 수도 있다. 중간 샘플링 주파수 Nf i 는 원하는 출력 주파수 f 0 보다 크거나 같다. 그런 다음, 업샘플러 (22) 는 페이즈의 정수 표시에 기초하여 중간 디지털 신호를 원하는 출력 샘플링 주파수 f o 로 변환시킬 수도 있다.
업샘플러 (22) 는 본 개시에 설명된 기술들에 따라서 비근사화된 정수들을 이용하여 출력 신호의 페이즈 (즉, 레이트 변환된 신호) 를 결정한다. 비근사화된 정수들을 이용하여 출력 신호의 페이즈를 결정하는 것은, 업샘플러로 하여금 무한 분수의 근사화에 의한 페이즈 에러들을 감소시킴으로써 입력 신호를 더욱 정확하게 업샘플링하게 한다. 아래의 상세한 설명에 따르면, 업샘플러 (22) 는 3개의 컴포넌트를 이용하는 페이즈를 나타내고 비근사화된 정수를 이용하여 각각의 컴포넌트를 트랙킹한다. 본원에서 입력 샘플 인덱스를 나타내는 제 1 컴포넌트는 중간 샘플들의 세트를 생성하는데 사용되는 최근의 입력 샘플을 트랙킹한다. 본원에서 정수 페이즈를 나타내는 제 2 컴포넌트는 중간 샘플들 중 하나를 트랙킹한다. 본원에서 분수 페이즈를 나타내는 제 3 컴포넌트는 출력 샘플과, 정수 페이즈와 대응하는 중간 샘플 사이의 타이밍 차를 트랙킹한다. 이 방법에서, 업샘플러 (22) 는 원하는 출력 샘플들과 대응하는 입력 샘플들 사이의 상대 타이밍의 비근사화된 정수 표시를 제공한다.
도 2는 본 개시에 설명된 기술들에 따른 레이트-변환된 신호의 페이즈의 비근사화된 정수 표시를 생성하는 도 1의 업샘플러와 같은 예시적인 업샘플러를 도시하는 블록도이다. 업샘플러 (22) 는 업샘플링 모듈 (23), 다운샘플링 모듈 (27), 및 페이즈 트랙킹 모듈 (30) 을 포함한다.
업샘플링 모듈 (23) 은 입력 디지털 신호를 입력 샘플링 주파수, f i 로부터 중간 샘플링 주파수, f m 으로 업샘플링한다. 특히, 업샘플링 모듈 (23) 은 업샘플링 인자 N 만큼 디지털 신호를 확장함으로써 디지털 신호를 업샘플링한다. 업샘플링 모듈 (23) 은 디지털 신호의 인접한 입력 샘플들 사이에 N-1 제로들을 삽입함으로써 이 업샘플링 프로세스를 달성하기 위해 보간기 (interpolator; 24) 를 포함할 수도 있다. 이 방법에서, 보간기 (24) 는 디지털 신호를 중간 샘플링 주파수 Nf i 로 업샘플링한다. 업샘플러 (22) 는, 제로들의 삽입으로 인한 디지털 신호에 존재하는 왜곡 또는 어떤 에일리어싱 이미지들을 제거하기 위해 안티 에일리어싱 필터 (26) 로 디지털 신호를 필터링할 수도 있다. 안티 에일리어싱 필터 (26) 는, 예를 들어, 대역폭 π/N인 저역 통과 필터를 포함할 수도 있다.
다운 샘플링 모듈 (27) 은 페이즈의 정수 표시에 기초하여 업샘플링된 신호를 원하는 출력 샘플링 주파수, f 0 로 다운 샘플링한다. 다운 샘플링 모듈 (27) 은, 0차 보간법, 선형 보간법, 고차 보간법, 및 다양한 스플라인 보간법들과 같은 다수의 보간 방법들 중 어떤 방법을 이용하여 중간 신호를 원하는 출력 샘플링 주파수로 다운샘플링하는 보간 모듈 (28) 을 포함할 수도 있다. 예로써, 보간 모 듈 (28) 은 식 (1) 에 따라서 선형 보간법을 이용하여 업샘플링된 신호를 다운샘플링할 수도 있다.
은 n번째 출력 샘플이고, 는 대응하는 이전 중간 샘플이고, 는 대응하는 다음 중간 샘플이고, 은 아래의 상세한 설명에 설명된 바와 같이 페이즈의 정수 표시에 기초하여 계산되는 보간 계수이다.
선형 보간 계수는 식 (2) 를 이용하여 계산될 수도 있다.
여기서 은 n번째 출력 샘플의 샘플 시간이고, 및 는 각각, 이전 중간 샘플과 다음 중간 샘플의의 샘플 시간들이다. 보간 에러를 최소화하기 위해서, 는 가능한 한 정확하게 계산해야 한다.
상기 식 (1) 에 따라서, 보간 모듈 (28) 은, 출력 샘플의 타이밍이 이전 중간 샘플의 타이밍에 대응할 때, 즉, 이 제로일때, 이전 중간 샘플을 출력한다. 바꾸어 말하면, 업샘플러 (22) 가 선형 보간을 수행해서는 않된다. 이 제로가 아니라면, 보간 모듈 (28) 은 이전 중간 샘플과 다음 중간 샘플에 기초하여 출력 샘플을 생성하도록 보간을 수행한다. 본 개시가 선형 보간을 이용하여 중간 샘플 주파수로부터 원하는 출력 샘플링 주파수로의 다운샘플링에 초점을 맞추었지만, 본원에 설명된 기술들은 0차 보간법, 선형 보간법, 고차 보간법, 및 다양한 스플라인 보간법들과 같은 임의의 차수의 보간들에 적용될 수도 있다.
n번째 출력 샘플 의 샘플 시간을 입력 샘플들 및 중간 샘플들의 샘플 시간을 이용하여 나타낸다. n번째 출력 샘플의 절대 샘플 시간은 로 나타낼 수 있고, 이다. 본원에서 페이즈 를 가리키는 입력 샘플들에 대한 관련 출력 샘플 시간은 을 로 나눔으로써 얻을 수 있고, 즉, 이다. 가 무한 분수일 때, 업샘플러 (22) 는 2진 디지트들의 유한 수의 범위로 이것을 나타낼 수 있도록 분수를 양자화한다. 페이즈 는, 양자화 에러가 n으로 곱해지기 때문에, 더 큰 에러를 갖는 경향이 있다. n이 커질수록, 페이즈 에러는 증가하고 결국 수용할 수 없는 레벨로 축적될 수도 있다.
본 개시의 기술에 따르면, 업샘플러 (22) 는 페이즈의 정수 표시를 이용하여 페이즈 을 보다 정확하게 결정함으로써 페이즈 에러를 감소시킨다. 보다 상세하게는, 페이즈 트랙킹 모듈 (30) 은 3개의 컴포넌트를 이용하여 페이즈 를 표시하고 정수들을 이용하여 컴포넌트들 각각을 트랙킹한다. 페이즈 트랙킹 모듈 (30) 은, 예를 들어, 출력 샘플의 페이즈 를 식 (3)으로 나타낸다.
여기서, 는 제 1 컴포넌트를 나타내고 입력 샘플 인덱스라 지칭하며, 는 제 2 컴포넌트를 나타내고 정수 페이즈라 지칭하며, 는 제 3 컴포넌트를 나타내고 분수 페이즈라 지칭한다. 입력 샘플 인덱스는 중간 샘플들의 세트를 생성하는데 사용되는 최근의 입력 샘플을 나타낸다. 정수 페이즈는 중간 샘플들 중 하나를 나타낸다. 분수 페이즈는 원하는 출력 신호와 정수 페이즈로 표시되는 중간 샘플 사이의 타이밍 차를 나타낸다.
후속하는 원하는 출력 샘플, 즉 현재의 출력 샘플의 페이즈를 생성하기 위해서, 페이즈 트랙킹 모듈 (30) 은 이러한 페이즈 컴포넌트들 각각을 반복적으로 업데이트하는데, 즉, 시간 n에서의 이 페이즈 컴포넌트는 시간 n-1에서의 페이즈 컴포넌트의 값들에 기초하여 업데이트된다. 다른 말로, 이전의 원하는 출력 샘플의 페이즈 컴포넌트들은 다음의 원하는 출력 샘플이 페이즈 컴포넌트들을 생성하는데 사용된다. 초기화 동안, 업샘플러 (22) 는, 페이즈 컴포넌트 값들을 반복적으로 업데이트하는데 사용되는, 정수 페이즈 증분 (d int ) 과 분수 페이즈 증분 (d fra ) 을 계산한다. 이와 같이, 정수 페이즈 증분과 분수 페이즈 증분은 정수 페이즈 와 분수 페이즈가 각각 점증적으로 증가하는 값들을 나타낸다. 일 실시 형태에서, 페이즈 트랙킹 모듈 (30) 은 다음 식에 따라서 d int 와 d fac 을 계산할 수도 있다.
여기서, N은 업샘플링 인자이고, f O 와 f i 는 각각, 입력 주파수와 출력 주파수이다. 상기 식에서, 함수 는 임의의 변수 χ보다 작거나 같은 최대 정수와 같은 플로어 함수이고 mod(A,B)는 A를 B로 나눈 양의 나머지(positive remainder)를 나타낸다. 바꾸어 말하면, d int 은 Nf i 를 f 0 으로 나눈 몫이고 d frac 은 상응하는 나머지이다.
식 (6) 에 따르면, 분수 페이즈 는 이 f 0 보다 작을 때 과 같고 이 f 0 보다 크거나 같을 때 이다. 부가적으로, 페이즈 트랙킹 모듈 (30) 은, 이 f 0 보다 크거나 같을 때, 분수 페이즈와 연관된 캐리오버 를 1로 설정한다.
그런 다음, 페이즈 트랙킹 모듈 (30) 은 이전 출력 샘플의 정수 페이즈, 정수 페이즈 증분 d int , 및 분수 페이즈와 연관된 캐리오버 을 이용하여 현재의 출력 샘플의 정수 페이즈를 계산한다. 상술된 바와 같이, 정수 페이즈는 출력 샘플의 타이밍이 관련되는 중간 샘플들 중 하나를 식별한다. 이 중간 샘플은 복수의 중간 샘플들 중 어떤 샘플일 수도 있다. 예로써, 정수 페이즈는 원하는 출력 샘플 바로 앞의 중간 샘플을 식별할 수도 있다. 페이즈 트랙킹 모듈은, 예를 들어, 식 (7)을 이용하여 현재의 출력 샘플의 정수 페이즈를 계산한다.
식 (7) 에 따라서, 현재 출력 샘플의 정수 페이즈는, 이 업샘플링 레이트 N보다 작을 때 과 같고 이 업샘플링 레이트 N보다 크거나 같을 때 이다. 페이즈 트랙킹 모듈 (30) 은 이 업샘플링 레이트 N보다 크거나 같을 때 현재의 출력 샘플의 정수 페이즈와 연관된 캐리오버 를 1로 설정한다. 상기 식에서, 윗첨자 m은 중간 샘플들 중 일 샘플의 인덱스를 나타낸다.
페이즈 트랙킹 모듈 (30) 은 정수 페이즈에 의해 식별된 중간 샘플과 연관된 입력 샘플 인덱스 () 를 트랙킹한다. 페이즈 트랙킹 모듈 (30) 은 현재의 출력 샘플의 정수 페이즈와 연관된 캐리오버 를 이용하여 입력 샘플 인덱스 을 트랙킹한다. 특히, 페이즈 트랙킹 모듈 (30) 은 정수 페이즈 캐리오버가 1인 경우 현재의 출력 샘플의 앱력 샘플 인덱스 를 증분한다. 그렇지 않다면, 입력 샘플 인덱스 는 변하지 않는다. 이 방법에서, 업샘플러 (22) 는 비근사화된 정수들을 이용하여 3개의 페이즈 컴포넌트를 반복적으로 트랙킹함으로써 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍을 나타낸다.
보간법을 통한 다운 샘플링 시 보간 모듈 (28) 을 보조하기 위해서, 페이즈 트랙킹 모듈 (30) 은 다른 중간 샘플들과 연관된 부가적인 페이즈 컴포넌트들을 계산한다. 예로써, 보간 모듈 (28) 은 선형 보간법을 이용하여 출력 샘플을 생성하기 위해서 5개의 페이즈 컴포넌트들을 이용한다. 이 5개의 페이즈 컴포넌트들은 원하는 출력 샘플 바로 앞의 중간 샘플 ("이전 중간 샘플") 과 연관된 정수 페이즈 및 입력 샘플 인덱스, 원하는 출력 샘플 바로 뒤의 중간 샘플 (다음 중간 샘플) 과 연관된 정수 페이즈 및 입력 샘플 인덱스, 및 보간법을 구현하는데 사용되는 분수 페이즈를 포함한다. 5개의 페이즈 컴포넌트 중, 3개만이 독립적이다. 특히, 출력 샘플의 페이즈를 나타내는데 사용되는 입력 샘플 인덱스, 정수 페이즈, 및 분수 페이즈는 독립적이다. 다른 입력 샘플 인덱스 및 정수 페이즈는 출력 샘플의 페이즈를 나타내는데 사용되는 입력 샘플 인덱스 및 정수 페이즈의 함수로서 계산된다. 예로써, 이전 중간 샘플과 연관된 입력 샘플 인덱스와 정수 페이즈, 및 분수 페이즈는 출력 샘플들의 페이즈를 나타내는데 사용될 수도 있다. 그 경우, 다음 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈는 이전 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈에 의존한다. 다른 방법으로, 다음 중간 샘플과 연관된 입력 샘플 인덱스와 정수 페이즈, 및 분수 페이즈는 출력 샘플들의 페이즈를 나타내는데 사용될 수도 있다. 그 경우, 이전 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈는 다음 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈에 의존한다.
이전 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈가 출력 샘플들의 페이즈를 나타내는데 사용된다면, 이전 중간 샘플과 연관된 샘플 인덱스 (), 이전 중간 샘플과 연된된 정수 페이즈 (), 및 분수 페이즈 ()는 상술된 바와 같이 트랙킹될 수도 있다. 특히, 페이즈 트랙킹 모듈은 다음 식들에 따라서 컴포넌트들을 계산하고 업데이트한다.
그런다음, 보간법을 돕기 위해서, 페이즈 트랙킹 모듈 (30) 은 하나 이상의 다른 중간 샘플들과 연관된 입력 샘플 인덱스 및 정수 페이즈를 계산한다. 선형 보간법에서, 예를 들어, 페이즈 트랙킹 모듈 (30) 은 이전 중간 샘플에 관하여 상술된 방법과 동일한 방법으로 다음 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈를 계산할 수도 있다. 예를 들어서, 페이즈 트랙킹 모듈 (30) 은 다음 식에 따라서 다음 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈를 업데이트할 수도 있다.
대안으로, 페이즈 트랙킹 모듈 (30) 은 정수 페이즈와 이전 중간 샘플과 연관된 입력 샘플 인덱스에 기초하여 다음 중간 샘플과 연관된 정수 페이즈와 입력 샘플 인덱스를 계산할 수도 있다. 예를 들어, 페이즈 트랙킹 모듈은 식 (8)을 이용하여 다음 중간 샘플과 연관된 정수 페이즈와 입력 샘플 인덱스 를 업데이트할 수도 있다.
보간 모듈 (28) 은, 상기 식 (1) 에 따른 출력 샘플을 생성하기 위해서 보간 동안 이러한 컴포넌트들 각각을 이용한다. 특히, 보간 모듈 (28) 은 이전 중간 샘플 및 다음 중간 샘플을 선택하고, 이전 및 다음 중간 샘플들과 의 함수로서 계산된 보간 계수를 이용하여 출력 신호를 생성한다. 특히, 보간 모듈 (28) 은 대응하는 입력 샘플 인덱스 및 정수 페이즈, 즉 및을 이용하여 이전 중간 샘플을 선택한다. 보간 모듈 (28) 은 대응하는 입력 샘플 인덱스 및 정수 페이즈, 즉 및을 이용하여 다음 중간 샘플을 선택한다. 보간 모듈 (28) 은 분수 페이즈 를 이용하여 보간 계수 를 계산한다. 보간 모듈 (28) 은 식 (9) 을 이용하여 보간 계수를 계산할 수도 있다:
보간 모듈 (28) 은 상기 식 (1) 과 연관된 출력 샘플을 생성하기 위해서 계산된 보간 계수를 이용한다. 이 0.5보다 작다면, 보간 모듈 (28) 에 의해 생성된 출력 샘플은 이전 중간 샘플에 더 가깝다. 이 0.5보다 크다면, 보간 모듈 (28) 에 의해 생성된 출력 샘플은 다음 중간 샘플에 더 가깝다.
나눗셈이 곱셈보다 더 계산적으로 더 비용이 많이 들기 때문에, 보간 모듈 (28) 은 계산 비용을 절약하기 위해 보간 계수 평가 상수라 지칭되는 1/f 0 를 미리 계산할 수도 있다. 예를 들어, 보간 모듈 (28) 은 초기화에서 보간 계수 평가 상수를 계산하고 이 값을 메모리 (16) 에 저장할 수도 있다. 업샘플러 (22) 는, 상수들이 고정 소수점 수들을 이용하여 표시될 때, 보간 계수 평가 상수의 만족스러운 정밀도를 유지하기 위해서 특수 Q 인자 배열을 제공할 수도 있다. 보다 상세하게는, 이 상수의 정밀도를 최대화하기 위해서, Q 인자는 f 0 의 함수로서 결정될 수 있다. 업샘플러는 Q 인자를 d+k와 같게 설정할 수도 있는데, k는 2k<f 0를 만족하는 최대 양수이고 d는 고정 소수점 수로서 1/f 0 를 나타내는데 사용되는 비트들의 수이다. 분수 페이즈 평가 상수가 16 비트 워드로 표현된다면, 예를 들어, Q 인자는 16 비트 워드내의 모든 비트들을 전적으로 이용하기 위해서 15+k로 설정된다. 보간 모듈 (28) 은 과 1/f 0 의 곱셈 이후에 Q 인자를 수정한다.
다른 실시 형태에서, 중간 샘플들은 이 샘플들이 필요할 때만 계산한다. 이 경우에서, 입력 샘플 인덱스와 정수 페이즈는 안티 엘리어싱 필터 모듈 (26) 을 제어하는데 사용될 수도 있다. 필터가 폴리페이즈 필터링을 이용하여 구현된다면, 정수 페이즈 또한 대응하는 폴리페이즈 필터를 선택하도록 사용될 수도 있다.
입력 샘플링 레이트와 출력 샘플링 레이트 대신, 변환 비율을 이용하여 페이즈를 트랙킹하기 위해 동일한 기술들이 사용될 수도 있다. 예를 들어, 페이즈 트랙킹 모듈은 U/D의 변환 비율 하에서 작동할 수도 있는데, U 및 D는 양의 정수이고 U는 D보다 완전히 작다. 상기 식에서 f i 및 f o 를 U와 D로 대체하면, 변환 비율을 이용하여 유사한 페이즈 트랙킹 결과를 얻을 수 있다.
선형 보간을 통해 출력 샘플을 보간하는 견지에서 설명하였지만, 본 개시의 기술들은, 0차 보간법, 선형 보간법, 고차 보간법, 및 다양한 스플라인 보간법들과 같은 다른 유형의 보간법들을 이용하여 출력 샘플들을 생성하는데 사용될 수도 있다. 수행될 보간법의 유형에 따라서, 페이즈 트랙킹 모듈 (30) 은 보다 많은 페이즈 컴포넌트들을 트랙킹하거나 계산할 수도 있다. 2차 보간법이 사용된다면, 예를 들어, 페이즈 트랙킹 모듈 (30) 은 3개의 입력 샘플 인덱스들과 3개의 정수 페이즈들을 트랙킹하거나 계산하여 보간법에 사용되는 3개의 중간 샘플들을 식별할 수도 있다.
입력 샘플링 주파수에서 원하는 출력 샘플링 주파수로 디지털 신호를 변환하는 여러 예들을 아래의 예시적인 목적들에 대하여 설명한다. 제 1 예로써, 업샘플러 (22) 는 44.1 kHz의 입력 샘플링 레이트에서 디지털 신호를 수신하고 이 디지털 신호의 원하는 출력 샘플링 주파수가 48 kHz인지 결정할 수도 있다. 이 예에서, 업샘플러 (22) 는 10의 업샘플링 인자를 선택하고 441 kHz로 입력 샘플을 업샘플링한다. 정수 페이즈 및 분수 페이즈 증분은 아래에 나타낸 바와 같이 계산된다.
페이즈 평가 상수는 1/48,000이다. k는 15로 설정된다. 정수가 부호를 지닌 16비트 고정 소수점 수로 저장된다면, Q 인자는 그 정밀도를 최대화하기 위해서 30으로 설정되어야 한다.
제 2 예로써, 업샘플러 (22) 는 44.1 kHz의 입력 샘플링 레이트에서 디지털 신호를 수신하고 디지털 신호의 원하는 출력 샘플링 주파수가 48 kHz라는 것을 결정한다. 이 예에서, 업샘플러 (22) 는 입력 및 출력 샘플링 주파수들을 이용하는 대신 147/160의 변환 비율을 선택한다. 업샘플러 (22) 는 10의 인자 만큼 입력 샘플을 441 kHz로 업샘플링한다. 정수 페이즈 및 분수 페이즈 증분은
페이즈 평가 상수는 1/160이다. 여기서, k는 7이다. 상수가 부호를 지닌 16 비트 고정 소수점 포맷에서 저장된다면, Q 인자는 22로 설정되어야한다. 예 I와 비교하면, 정수 업데이트 처리는 동일한 채로 있다. 분수 페이즈 증분 및 페이즈 평가 상수는 상이하다. 여기서, 후자의 경우가, 페이즈 평가 상수의 양자화 에러 대 페이즈 평가 상수의 비율이 더 작다는 사실로 인해 약간 더 정확하다.
제 3 예로써, 업샘플러 (22) 는 22.05 kHz의 입력 샘플링 레이트에서 디지털 신호를 수신하고 디지털 신호의 원하는 출력 샘플링 주파수가 32 kHz라는 것을 결정한다. 이 예에서, 업샘플러 (22) 는 12의 업샘플링 인자를 선택하고 입력 샘플을 264.6 kHz로 업샘플링한다. 정수 페이즈 및 분수 페이즈 증분은 아래에 나타난 바와 같이 계산된다.
페이즈 평가 상수는 1/32,000이다. k는 14로 설정된다. 상수가 부호를 지닌 32 비트 고정 소수점 포맷으로 저장된다면, Q 인자는 그 정밀도를 최대화하기 위해서 45로 설정되어야 한다.
도 3은, 입력 샘플링 주파수를 원하는 출력 샘플링 주파수로 업샘플링하는, 도 2의 업샘플러 (22) 와 같은 업 샘플러의 예시적인 동작을 도시하는 흐름도이다. 업샘플러 (22) 는 입력 샘플링 주파수 f i 에서 입력 디지털 신호를 수신한다 (40).
업샘플러 (22) 는 입력 샘플링 주파수, f i 에서 중간 샘플링 주파수, f m 로 입력 디지털 신호를 업샘플링한다 (42). 업샘플러 (22) 는 디지털 신호의 인접한 입력 샘플들 사이에 N-1 제로들을 삽입하고 결과 신호를 안티 에일리어싱 필터로 필터링함으로써 N의 인자 만큼 입력 디지털 신호를 업샘플링할 수도 있다. 이 방법에서, 업샘플러 (22) 는 디지털 신호를 Nf i 와 같은 중간 샘플링 주파수로 업샘플링한다.
업샘플러 (22) 는 업샘플링된 디지털 신호를 필터링한다 (44). 업샘플러 (22) 는 임의의 엘리어싱 이미지들 또는 디지털 신호에 존재하는 왜곡을 제거하기 위해서 안티 엘리어싱 필터 (26) 를 적용할 수도 있다. 안티 엘리어싱 필터 (26) 는 대력폭 π/N을 가진 저역 통과 필터를 포함할 수도 있다.
보간 모듈 (28) 은 트랙킹된 분수 페이즈를 이용하여 선형 보간 계수를 계산한다 (46). 보간 모듈 (28) 은 식 (10) 을 이용하여 선형 보간 계수를 계산할 수도 있다:
보간 모듈 (28) 은 보간 계수가 제로인지 여부를 결정한다 (48). 보간 계수가 0이라면, 이전 중간 샘플의 타이밍은 원하는 출력 샘플의 타이밍과 대응하고 보간 모듈 (28) 은 선형 보간법을 수행할 필요가 없다. 대신에, 보간 모듈 (28) 은 이전 중간 샘플 과 연관된 정수 페이즈와 대응하는 이전 중간 샘플을 출력한다 (50). 보간 모듈 (28) 은 이전 중간 샘플과 연관된 입력 샘플 인덱스와 정수 페이즈를 이용하여 이전 중간 샘플을 선택하고 생성된 중간 샘플을 출력할 수도 있다.
보간 계수가 0이 아니라면, 보간 모듈은 출력 샘플을 생성하기 위해서 보간법을 수행한다 (52). 보간 모듈 (28) 은 식 (11) 에 따라서 출력 신호 를 생성하기 위해서 선형 보간법을 이용할 수도 있다.
업샘플러 (22) 는 정수 값들을 이용하여 출력 샘플의 페이즈를 트랙킹한다 (54). 특히, 업샘플러 (22) 는 3개의 컴포넌트, 즉, 입력 샘플 인덱스 , 정수 페이즈 , 및 분수 페이즈를 이용하여 출력 샘플의 페이즈를 나타내고, 본 개시의 상세한 설명에 설명된 바와 같이 비근사화된 정수들을 이용하여 각각의 컴포넌트를 트랙킹한다. 예로써, 이전 중간 샘플 및 분수 페이즈와 연관된 입력 샘플 인덱스 및 정수 페이즈는 출력 샘플들의 페이즈를 나타내는데 사용될 수도 있다. 그 경우, 다음 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈는 이전 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈에 의존한다. 대안으로, 다음 중간 샘플과 분수 페이즈와 연관된 입력 샘플 인덱스 및 정수 페이즈는 출력 샘플들의 페이즈를 나타내는데 사용될 수도 있다. 그 경우, 이전 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈는 다음 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈에 의존한다. 업샘플러 (22) 는 출력 샘플을 생성하기 위해 보간법을 수행할 때 페이즈 컴포넌트를 이용한다.
도 4는 비근사화된 정수를 이용하여 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍을 결정하는 업샘플러 (22) 와 같은 업샘플러의 예시적인 동작을 도시하는 흐름도이다. 상술된 바와 같이, 비근사화된 정수를 이용하여 상대 타이밍을 결정하는 것은, 업샘플러 (22) 로 하여금, 무한 분수의 근사화에 의해 발생된 페이즈 에러를 감소시킴으로써 입력 신호를 더욱 정확하게 업샘플링하게 한다. 도 4에 설명된 예에서, 이전 중간 샘플 및 분수 페이즈와 연관된 입력 샘플 인덱스 및 정수 페이즈는 출력 샘플들의 페이즈를 나타내는데 사용될 수도 있다. 그러나, 상술된 바와 같이, 임의의 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈는 출력 샘플들의 페이즈를 나타내는데 사용될 수도 있다.
먼저, 업샘플러 (22) 가 초기화된다 (60). 초기화 동안, 업샘플러 (22) 는 정수 페이즈 증분 (d int ) 과 분수 페이즈 증분 (d frac ) 을 계산한다. 일 실시 형태에서, 업샘플러 (22) 는 다음 식 (12), 식 (13) 에 따라서 d int 와 d frac 을 계산할 수도 있다.
여기서 N은 업샘플링 레이트이고, f o 및 f i 는 각각 입력 주파수 및 출력 주파수이다. 식에서, 는 χ이하인 최대 정수와 같은 플로어 함수이고 mod(A,B)는 A를 B로 나눈 양의 나머지를 나타낸다. 바꿔 말하면, d int 는 Nf i 를 f 0 으로 나눈 몫이고 d frac 은 상응하는 나머지이다. f i 가 f 0 보다 작기 때문에, 다음 관계를 유지한다:
업샘플러 (22) 는 또한, 이전 중간 샘플 과 같은 중간 샘플, 분수 페이즈 과 관련된 정수 페이즈를 초기화할 수도 있다. 가 에 기초하여 식 (8) 을 이용하여 계산되기 때문에, 이것을 초기화할 필요가 없다. n, 반복 인덱스가 0일 때, 는 0과 N-1 사이의 임의의 수가되도록 설정될 수도 있다. 는 0과 f o -1 사이의 임의의 수로 설정될 수도 있다.
업샘플러 (22) 는, 증분된 분수 페이즈 이 f o 이상인지 여부를 결정한다 (64). 이 f o 이상이라면, 업샘플러 (22) 에 의해 계산된 새로운 분수 페이즈 은 식 (14) 에 따라서 이다. 업샘플러 (22) 는 분수 페이즈 캐리오버 를 1로 설정한다 (68). 이 방법에서, 업샘플러 (22) 는 정수들로 분수 페이즈의 분자를 트랙킹하면서 분수 페이즈 캐리오버를 계산한다.
가 f o 이하이라면, 업샘플러 (22) 에 의해 계산된 새로운 분수 페이즈 은 식 (14) 에 따라서 이다. 업샘플러 (22) 는, 캐리오버가 없기 때문에, 분수 페이즈 캐리오버 를 0으로 설정한다 (66). 이와 같이, 분수 페이즈 캐리오버 은 식 (16) 으로 정의된다.
업샘플러 (22) 는 정수 페이즈 증분 d int 를 이용하여 이전 중간 샘플 과 연관된 정수 페이즈를 업데이트하고 분수 페이즈로부터의 캐리오버는 를 업데이트한다 (70). 업샘플러 (22) 는, 예를 들어 식 (17) 에 따라서 를 계산한다.
업샘플러 (22) 는 가 N 이상인지 여부를 결정한다 (72). 가 N 보다 크다면, 이전 중간 샘플 과 연관된 새로운 정수 페이즈는 식 (17) 에 따라서 와 같다. 부가적으로, 업샘플러 (22) 는 이전 중간 샘플과 연관된 정수 페이즈 캐리오버 를 1로 설정한다 (76). 이 방법으로, 업샘플러 (22) 는 정수들로 이전 중간 샘플과 연관된 정수 페이즈를 트랙킹하면서 캐리오버를 계산한다.
가 N 보다 작다면, 이전 중간 샘플과 연관된 새로운 페이즈 는 과 같다. 이 경우, 업샘플러 (22) 는, 캐리오버가 없기 때문에 캐리오버를 0으로 설정한다 (74). 이와 같이 정수 페이즈 캐리오버 는 식 (18) 과 같이 정의될 수도 있다.
업샘플러 (22) 는 정수 페이즈 업데이트로부터의 캐리오버 를 이용하여 이전 중간 샘플과 연관된 샘플 인덱스 를 업데이트한다 (78). 특 히, 업샘플러 (22) 는, 캐리오버가 1이면 샘플 인덱스를 증가시키고 캐리오버가 0이면 샘플 인덱스를 증가시키지 않는다. 업샘플러 (22) 는, 예를 들어, 식 (19) 를 이용하여 샘플 인덱스 를 업데이트한다.
이 방법에서, 업샘플러 (22) 는 이전 중간 샘플의 샘플 인덱스를 이용하여 출력 샘플의 페이즈, 이전 중간 샘플과 연관된 정수 페이즈, 및 분수 페이즈를 트랙킹한다.
보간을 돕기 위해서, 샘플링 레이트 변환기 (20) 는 다음 중간 샘플에 대한 정수 페이즈 를 계산한다 (80). 업샘플러 (22) 는, 예를 들어 식 (20) 을 이용하여 를 계산할 수도 있다.
업샘플러 (22) 는, 이 N이상인지 여부를 결정한다 (82). 가 N보다 크다면, 다음 중간 샘플과 연관된 새로운 정수 페이즈 은 식 (20) 에 따라서 과 같다 (20). 부가적으로, 업샘플러 (22) 는 다음 중간 샘플과 연관된 정수 페이즈 캐리오버 를 1로 설정한다 (86). 이 방법에서, 업샘플러 (22) 는 정수들로 다음 중간 샘플과 연관된 정수 페이즈 를 트랙킹하면서 캐리오버를 계산한다.
가 N보다 작다면, 이전 중간 샘플과 연관된 새로운 정수 페이즈 는 과 같다. 이 경우, 업샘플러 (22) 는, 캐리오버가 없기 때문에 캐리오버 를 0으로 설정한다 (84). 이와 같이, 정수 페이즈 캐리오버는 식 (21) 과 같이 정의된다.
업샘플러 (22) 는 정수 페이즈 업데이트로부터의 캐리오버 를 이용하여 다음 중간 샘플과 연관된 샘플 인덱스를 업데이트한다 (88). 특히, 업샘플러 (22) 는, 캐리오버가 1이면 샘플 인덱스를 증가시키고 캐리오버가 0이면 샘플 인덱스를 증가시키지 않는다. 정수 페이즈 업데이트는 식 (22) 을 이용하여 계산될 수도 있다.
도 4에 도시된 예에서 업샘플러 (22) 는 이전 중간 샘플 및 분수 페이즈와 연관된 입력 샘플 인덱스 및 정수 페이즈를 이용하여 출력 샘플들의 페이즈를 나타내었지만, 업샘플러 (22) 는 다음 중간 샘플과 연관된 정수 페이즈 및 입력 샘플 인덱스를 이용하여 출력 샘플들의 페이즈를 나타낼 수도 있다. 그런 다음, 업샘플러 (22) 는 그 결과에 기초하여 이전 중간 샘플과 연관된 정수 페이즈 및 입력 샘플 인덱스를 계산한다. 또한, 업샘플러 (20) 는 이전 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈가 계산되는 것과 같은 방법으로 다음 중간 샘플과 연관된 입력 샘플 인덱스 및 정수 페이즈를 업데이트할 수도 있다.
도 5는 본 개시의 기술들에 따라 11 kHz 에서 48 kHz로 입력 샘플을 변환하는 것을 도시하는 그래프이다. 도 5에 도시된 예에서, 업샘플러 (22) 와 같은 업샘플러는 12의 업샘플 인자, 즉, N=12 만큼 입력 디지털 신호를 업샘플링하여 132 kHz의 샘플링 레이트에서 중간 샘플들을 얻는다. 업샘플러 (22) 는, 예를 들어, 각각의 입력 샘플들 사이에 11개의 중간 샘플들을 생성할 수도 있다.
도 5에 도시된 샘플은 1의 입력 샘플 인덱스에 위치된 일 입력 샘플 (90) 을 도시한다. 그외에도, 도 5의 그래프는 입력 샘플 인덱스 1에서의 입력 샘플 (90) 과 입력 샘플 인덱스 2 (미도시) 에서의 입력 샘플 사이에 삽입된 11개의 중간 입력 샘플들 중 3개를 도시한다. 업샘플러 (22) 는 삼각형으로 표시된 위치에서 출력 샘플 (92) 을 생성할 것을 원한다. 원하는 출력 샘플의 위치/타이밍이 어떤 중간 샘플과도 대응하지 않기 때문에, 업샘플러 (22) 는 이전 중간 샘플과 다음 중간 샘플에 기초하여 출력 샘플을 얻기 위해 선형 보간법을 수행해야 한다.
업샘플러 (22) 는 이전 중간 샘플 (94) 및 다음 중간 샘플 (96) 을 생성하기 위해서 본 원에 설명된 기술들에 따라 트랙킹된 정수 페이즈들 및 입력 샘플 인덱스를 이용한다. 이 경우, 중간 샘플들 둘다를 위한 입력 샘플 인덱스는 1이다, 즉, 입력 샘플 (90) 과 함께 입력 샘플 (90) 의 이전 입력 샘플들은 중간 샘플들 둘 다를 생성하기 위해서 사용된다. 원하는 출력 샘플 (92) 바로 앞의 중간 샘플은 입력 샘플 인덱스 1에서 입력 샘플 (90) 을 이용하여 생성된 제 1 중간 샘플이기 때문에 이전 중간 샘플 (94) 을 위한 정수 페이즈는 1이다. 마찬가지로, 원하는 출력 샘플 (92) 바로 뒤의 중간 샘플은 입력 샘플 인덱스 1에서 입력 샘플 (90) 을 이용하여 생성된 제 3 중간 샘플이기 때문에 다음 중간 샘플 (96) 을 위한 정수 페이즈는 2이다.
도 5에 또한 도시된 바와 같이, 분수 페이즈 컴포넌트 (98) 는 이전 중간 샘플 (94) 과 원하는 출력 (92) 사이의 타이밍 차의 측정이다. 업샘플러 (22) 는 보간 계수를 생성하기 위해 분수 페이즈 컴포넌트 (98) 를 이용하고, 대응하는 입력 샘플 인덱스 및 정수 페이즈와, 계산된 선형 보간 계수에 기초하여 생성된 이전 및 다음 중간 샘플들을 이용하여 출력 샘플을 보간한다.
도 6은 본 개시의 기술들에 따라서 11 kHz 내지 48 kHz의 입력 샘플의 변환을 도시하는 그래프이다. 도 6에 도시된 그래프는 도 5의 그래프와 동일한 변환을 도시하지만, 신호의 위치, 즉 입력 샘플들 5와 6 사이인 것이 상이하다.
도 6에 도시된 예는 입력 샘플 인덱스들 5 및 6 각각 에서의 2개의 입력 샘플들 (100A 및 100B) 을 도시한다. 부가적으로, 도 6의 그래프는, 입력 샘플 인덱스 5에서의 입력 샘플 (100A) 과 입력 샘플 인덱스 6에서의 입력 샘플 (100B) 사이에서 업샘플러에 의해 생성된 모든 11개의 중간 입력 샘플들을 도시한다. 업샘플러 (22) 는 삼각형으로 나타난 복수의 출력 샘플들을 생성하는 것이 바람직 하다. 우리는 출력 샘플 (102) 의 생성에 촛점을 맞출 것이다. 원하는 출력 샘플 (102) 의 위치/타이밍이 어떤 중간 샘플에도 대응하지 않기 때문에, 업샘플러 (22) 는 이전 중간 샘플 및 다음 중간 샘플에 기초하여 출력 샘플을 얻기 위해 선형 보간을 수행해야한다.
업샘플러 (22) 는 이전 중간 샘플 (104) 및 다음 중간 샘플 (106) 을 생성하기 위해 본원에 개시된 기술들에 따라서 트랙킹된 입력 샘플 인덱스 및 정수 페이즈들을 이용한다. 이 경우, 이전 중간 샘플 (106) 에 대한 입력 샘플 인덱스는 다음 중간 샘플 (106) 에 대한 입력 샘플 인덱스와 상이하다. 특히, 이전 중간 샘플 (104) 에 대한 입력 샘플 인덱스가 5와 같은 반면, 다음 중간 샘플 (106) 과 연관된 입력 샘플 인덱스는 6과 같다. 바꾸어 말하면, 다음 중간 샘플은 입력 샘플 (A) 및 그 이전 입력 샘플들과는 반대로, 입력 샘플 (100B) 및 그 이전 입력 샘플들을 이용하여 생성된다.
이전 중간 샘플 (104) 에 대한 정수 페이즈는 11과 같은데, 원하는 출력 샘플 (102) 바로 앞에 있는 중간 샘플이 입력 샘플 인덱스 5에서 입력 샘플 (100A) 을 이용하여 생성된 11번째 중간 샘플이기 때문이다. 다음 중간 샘플에 대한 정수 페이즈는 0과 같은데, 원하는 출력 샘플 (102) 바로 뒤의 중간 샘플이 인덱스 5에서의 입력 샘플 (100B) 에 위치된 입력 샘플과 같기 때문이다.
또한, 도 6에 도시된 바와 같이, 분수 페이즈 컴포넌트 (108) 는 이전 중간 샘플 (104) 과 원하는 출력 (102) 사이의 타이밍 차를 측정한다. 업샘플러 (22) 는 보간 계수를 생성하기 위해 분수 페이즈 컴포넌트 (108) 를 이용하고, 대 응하는 입력 샘플 인덱스 및 정수 페이즈와, 계산된 선형 보간 계수에 기초하여 생성된 이전 및 다음 중간 샘플들을 이용하여 출력 샘플을 보간한다.
많은 실시 형태들이 설명되었다. 그러나 이러한 실시 형태들에 대한 다양한 수정들이 가능하고 본원에 나타난 원리들은 마찬가지로 다른 실시 형태들에 적용될 수도 있다. 본원에 설명된 방법들은 하드웨어, 소프트웨어, 및/또는 펌웨어로 구현될 수도 있다. 이러한 방법들의 다양한 작업은, 마이크로프로세서들, 임베디드 제어기들, 또는 IP 코어들과 같은 하나 이상의 로직 엘리먼트들의 어레이에 의해 실행 가능한 명령들의 세트로서 구현될 수도 있다. 일례로, 하나 이상의 이러한 작업들은 셀룰러 전화기와 같은 개인 통신 장치의 다양한 장치들의 동작들을 제어하도록 구성된 이동국 모뎀 칩 또는 칩세트에서 실행하기 위해 배열된다.
본 개시에 설명된 기술들은 범용 마이크로프로세서, 디지털 신호 처리기 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 컴플렉스 프로그래머블 논리 장치 (CPLD), 또는 다른 등가의 논리 장치들에서 구현될 수도 있다. 소프트웨어에서 구현된다면, 이 기술들은 랜덤 액세스 메모리 (RAM), 읽기 전용 기억장치 (ROM), 비휘발성 랜덤 액세스 메모리 (NVRAM), 전기적 소거 및 프로그램 가능 읽기 전용 기억 장치 (EEPROM), FLASH 메모리 등과 같은 컴퓨터 판독 가능 매체 상의 명령들로 수록될 수도 있다. 이 명령들은 하나 이상의 프로세서로 하여금 본 개시에 설명된 기능성의 일정한 양태들을 수행하게 한다.
부가적인 예로서, 실시예는 하드 와이어드 회로 (hard-wired circuit), 주문 형 집적 회로 내부에 제조된 회로 구성, 또는 비휘발성 저장매체로 로딩된 펌웨어 프로그램 또는 기계 판독 가능 코드로서 데이터 저장 매체로부터 또는 데이터 저장 매체로 로딩된 소프트웨어 프로그램의 일부 또는 전체, 마이크로프로세서 또는 다른 디지털 신호 처리 유닛과 같은 논리 소자들의 어레이에 의해 실행 가능한 명령들이될 그러한 코드로 구현될 수도 있다. 데이터 저장 매체는 (동적 또는 정적 RAM, ROM, 및/또는 플래시 RAM을 포함하지만 이것으로 제한하지 않는) 반도체 메모리 또는 강유전체와 같은 저장 소자, 오보닉, 폴리머릭, 또는 페이즈-변경 메모리의 어레이; 또는 마그네틱 또는 광 디스크와 같은 디스크 매체일 수도 있다.
Claims (37)
- 관련된 중간 샘플들을 생성하는데 사용되는 디지털 신호의 최근 입력 샘플을 식별하는 제 1 컴포넌트, 중간 샘플을 식별하는 제 2 컴포넌트, 및 원하는 출력 샘플과 상기 중간 샘플 사이의 타이밍 차를 식별하는 제 3 컴포넌트를 이용하여, 상기 디지털 신호의 상기 원하는 출력 샘플과 대응 입력 샘플 사이의 상대 타이밍을 표시하는 단계를 포함하고,상기 컴포넌트들 각각은 비근사화된 정수로 표시되는, 방법.
- 제 5 항에 있어서,상기 제 2 컴포넌트가 상기 업샘플링 인자 N 이상일 때 제 2 캐리오버 값을 1로 설정하는 단계를 더 포함하는, 방법.
- 제 6 항에 있어서,상기 제 2 캐리오버 값이 1과 같을 때 상기 제 1 컴포넌트를 증가시키는 단계를 더 포함하는, 방법.
- 제 7 항에 있어서,상기 제 1 컴포넌트 및 상기 제 2 컴포넌트는 제 1 중간 샘플과 연관되고,제 2 중간 샘플과 연관된 제 1 컴포넌트 및 제 2 컴포넌트를 상기 제 1 중간 샘플의 상기 제 1 컴포넌트 및 상기 제 2 컴포넌트의 함수로서 계산하는 단계를 더 포함하는, 방법.
- 제 9 항에 있어서,상기 제 2 중간 샘플과 연관된 상기 제 2 컴포넌트가 상기 업샘플링 인자 N 이상일 때, 제 3 캐리오버 값을 1로 설정하는 단계를 더 포함하는, 방법.
- 제 10 항에 있어서,상기 제 3 캐리오버 값이 1과 같을 때 상기 제 2 중간 샘플과 연관된 상기 제 1 컴포넌트를 증가시키는 단계를 더 포함하는, 방법.
- 제 8 항에 있어서,상기 제 1 중간 샘플은 이전 중간 샘플을 포함하고 상기 제 2 중간 샘플은 다음 중간 샘플을 포함하는, 방법.
- 제 8 항에 있어서,상기 제 1 중간 샘플은 다음 중간 샘플을 포함하고 상기 제 2 중간 샘플은 이전 중간 샘플을 포함하는, 방법.
- 관련된 중간 샘플들을 생성하는데 사용되는 디지털 신호의 최근 입력 샘플을 식별하는 제 1 컴포넌트, 중간 샘플을 식별하는 제 2 컴포넌트, 및 원하는 출력 샘플과 상기 중간 샘플 사이의 타이밍 차를 식별하는 제 3 컴포넌트를 이용하여, 상기 디지털 신호의 상기 원하는 출력 샘플과 대응 입력 샘플 사이의 상대 타이밍을 표시하는 페이즈 트랙킹 모듈을 포함하고,상기 컴포넌트들 각각은 비근사화된 정수로 표시되는, 장치.
- 제 20 항에 있어서,상기 페이즈 트랙킹 모듈은 상기 제 2 컴포넌트가 상기 업샘플링 인자 N 이상일 때 제 2 캐리오버 값을 1로 설정하는, 장치.
- 제 21 항에 있어서,상기 페이즈 트랙킹 모듈은 상기 제 2 캐리오버 값이 1과 같을 때 상기 제 1 컴포넌트를 증가시키는, 장치.
- 제 22 항에 있어서,상기 제 1 컴포넌트 및 상기 제 2 컴포넌트는 제 1 중간 샘플과 연관되고,제 2 중간 샘플과 연관된 제 1 컴포넌트 및 제 2 컴포넌트를 상기 제 1 중간 샘플의 상기 제 1 컴포넌트 및 상기 제 2 컴포넌트의 함수로서 계산하는 것을 더 포함하는, 장치.
- 제 24 항에 있어서,상기 페이즈 트랙킹 모듈은, 상기 제 2 중간 샘플과 연관된 상기 제 2 컴포넌트가 상기 업샘플링 인자 N 이상일 때, 제 3 캐리오버 값을 1로 설정하는, 장치.
- 제 25 항에 있어서,상기 페이즈 트랙킹 모듈은, 상기 제 3 캐리오버 값이 1과 같을 때, 상기 제 2 중간 샘플과 연관된 상기 제 1 컴포넌트를 증가시키는, 장치.
- 제 23 항에 있어서,상기 제 1 중간 샘플은 이전 중간 샘플을 포함하고 상기 제 2 중간 샘플은 다음 중간 샘플을 포함하는, 장치.
- 제 23 항에 있어서,상기 제 1 중간 샘플은 다음 중간 샘플을 포함하고 상기 제 2 중간 샘플은 이전 중간 샘플을 포함하는, 장치.
- 실행시 프로세서로 하여금,관련된 중간 샘플들을 생성하는데 사용된 디지털 신호의 최근 입력 샘플을 식별하는 제 1 컴포넌트, 중간 샘플을 식별하는 제 2 컴포넌트, 및 원하는 출력 샘플과 상기 중간 샘플 사이의 타이밍 차를 식별하는 제 3 컴포넌트를 이용하여, 상기 디지털 신호의 상기 원하는 출력 샘플과 대응 입력 샘플 사이의 상대 타이밍을 표시하게 하는 명령들을 포함하고,상기 컴포넌트들 각각은 비근사화된 정수로 표시되는, 컴퓨터 판독가능 매체.
- 제 34 항에 있어서,상기 제 1 컴포넌트 및 상기 제 2 컴포넌트는 제 1 중간 샘플과 연관되고,실행시 상기 프로세서로 하여금,상기 제 2 중간 샘플과 연관된 상기 제 2 컴포넌트가 상기 업샘플링 인자 N 이상일 때, 제 3 캐리오버 값을 1로 설정하게 하고;상기 제 2 컴포넌트와 연관된 상기 제 3 캐리오버 값이 1과 같을 때 상기 제 2 중간 샘플과 연관된 상기 제 1 컴포넌트를 증가시키는 명령들을 더 포함하고,
- 제 35 항에 있어서,상기 제 1 중간 샘플은 이전 중간 샘플을 포함하고 상기 2 중간 샘플은 다음 중간 샘플을 포함하는, 컴퓨터 판독가능 매체.
- 제 35 항에 있어서,상기 제 1 중간 샘플은 다음 중간 샘플을 포함하고 상기 제 2 중간 샘플은 이전 중간 샘플을 포함하는, 컴퓨터 판독가능 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81387006P | 2006-06-14 | 2006-06-14 | |
US60/813,870 | 2006-06-14 | ||
US11/558,313 US7508327B2 (en) | 2006-06-14 | 2006-11-09 | Integer representation of relative timing between desired output samples and corresponding input samples |
US11/558,313 | 2006-11-09 | ||
PCT/US2007/070038 WO2007146599A2 (en) | 2006-06-14 | 2007-05-31 | Integer represenation of relative timing between desired output samples and corresponding input samples |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117008880A Division KR101123604B1 (ko) | 2006-06-14 | 2007-05-31 | 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090025283A true KR20090025283A (ko) | 2009-03-10 |
KR101123605B1 KR101123605B1 (ko) | 2012-03-22 |
Family
ID=38658529
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117008880A KR101123604B1 (ko) | 2006-06-14 | 2007-05-31 | 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시 |
KR1020087031676A KR101123605B1 (ko) | 2006-06-14 | 2007-05-31 | 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117008880A KR101123604B1 (ko) | 2006-06-14 | 2007-05-31 | 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7508327B2 (ko) |
EP (1) | EP2041870A2 (ko) |
JP (1) | JP5450060B2 (ko) |
KR (2) | KR101123604B1 (ko) |
CN (1) | CN101467350B (ko) |
WO (1) | WO2007146599A2 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SI22825A (sl) * | 2008-05-27 | 2009-12-31 | Instrumentation Technologies D.O.O. | Postopek kompenzacije nelinearnih popačenj visokofrekvenčnih signalov in naprava za izvedbo postopka |
JP5443724B2 (ja) * | 2008-10-10 | 2014-03-19 | セミコンダクター・コンポーネンツ・インダストリーズ・リミテッド・ライアビリティ・カンパニー | 音声信号処理回路 |
EP3044877B1 (en) | 2013-09-12 | 2021-03-31 | Dolby Laboratories Licensing Corporation | System aspects of an audio codec |
CN114424528A (zh) * | 2019-09-24 | 2022-04-29 | 阿里巴巴集团控股有限公司 | 视频编码的运动补偿方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3467601D1 (en) * | 1984-04-02 | 1987-12-23 | Boeing Co | Turboprop engine |
US5982305A (en) * | 1997-09-17 | 1999-11-09 | Microsoft Corporation | Sample rate converter |
US6473457B1 (en) * | 1999-05-07 | 2002-10-29 | Motorola, Inc. | Method and apparatus for producing a pulse width modulated signal |
JP3353065B2 (ja) * | 2000-02-29 | 2002-12-03 | 独立行政法人通信総合研究所 | サンプリング間隔数列の出力装置、受信装置、サンプリング間隔数列の出力方法、受信方法、および、情報記録媒体 |
US6820103B2 (en) * | 2000-11-03 | 2004-11-16 | Qualcomm Inc. | Digital filter with state storage |
US6563448B1 (en) | 2002-04-29 | 2003-05-13 | Texas Instruments Incorporated | Flexible sample rate converter for multimedia digital-to-analog conversion in a wireless telephone |
US6747858B1 (en) * | 2002-12-31 | 2004-06-08 | Texas Instruments Incorporated | Digital sample rate converter architecture |
US7342518B2 (en) | 2004-01-20 | 2008-03-11 | Freescale Semiconductor, Inc. | Digital rate converter |
EP1569336B1 (en) | 2004-02-24 | 2010-04-07 | ACCENT S.p.A. | Method for implementing a fractional sample rate converter (F-SRC) and corresponding converter architecture |
KR100594267B1 (ko) * | 2004-03-29 | 2006-06-30 | 삼성전자주식회사 | 샘플링 레이트 변환 방법, 샘플링 레이트 변환 장치, 및그 장치를 포함하는 오디오 재생 시스템 |
US7061409B1 (en) * | 2005-02-07 | 2006-06-13 | Nokia Corporation | Techniques for sample rate conversion |
US7227477B2 (en) * | 2005-06-27 | 2007-06-05 | General Instrument Corporation | Method and apparatus for performing sample rate conversion |
-
2006
- 2006-11-09 US US11/558,313 patent/US7508327B2/en active Active
-
2007
- 2007-05-31 WO PCT/US2007/070038 patent/WO2007146599A2/en active Application Filing
- 2007-05-31 CN CN200780021774.0A patent/CN101467350B/zh not_active Expired - Fee Related
- 2007-05-31 JP JP2009515561A patent/JP5450060B2/ja not_active Expired - Fee Related
- 2007-05-31 EP EP07762361A patent/EP2041870A2/en not_active Withdrawn
- 2007-05-31 KR KR1020117008880A patent/KR101123604B1/ko not_active IP Right Cessation
- 2007-05-31 KR KR1020087031676A patent/KR101123605B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20070290900A1 (en) | 2007-12-20 |
WO2007146599A2 (en) | 2007-12-21 |
CN101467350A (zh) | 2009-06-24 |
KR20110056552A (ko) | 2011-05-30 |
KR101123605B1 (ko) | 2012-03-22 |
WO2007146599A3 (en) | 2008-03-06 |
US7508327B2 (en) | 2009-03-24 |
JP2009540763A (ja) | 2009-11-19 |
KR101123604B1 (ko) | 2012-03-22 |
JP5450060B2 (ja) | 2014-03-26 |
CN101467350B (zh) | 2014-03-19 |
EP2041870A2 (en) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8405532B1 (en) | Asynchronous sample rate converter | |
US6487573B1 (en) | Multi-rate digital filter for audio sample-rate conversion | |
KR100984986B1 (ko) | 디지털 도메인 샘플링 레이트 변환기 | |
CN1578137B (zh) | 有理数采样率转换方法和系统 | |
RU2607230C2 (ru) | Адаптация взвешивающих окон анализа или синтеза для кодирования или декодирования путем преобразования | |
KR101123605B1 (ko) | 원하는 출력 샘플들과 대응 입력 샘플들 사이의 상대 타이밍의 정수 표시 | |
KR100804640B1 (ko) | 서브밴드 합성 필터링 방법 및 장치 | |
KR20210114358A (ko) | 오디오 데이터를 처리하기 위한 방법 및 장치 | |
US20050143981A1 (en) | Compressing method and apparatus, expanding method and apparatus, compression and expansion system, recorded medium, program | |
KR101638206B1 (ko) | 필터 보간에 의해 인코더를 업데이트하는 방법 | |
US7224294B2 (en) | Compressing device and method, decompressing device and method, compressing/decompressing system, program, record medium | |
US7145487B1 (en) | Signal processing providing lower downsampling losses | |
US6766338B1 (en) | High order lagrange sample rate conversion using tables for improved efficiency | |
US20160180860A1 (en) | High order B-spline sampling rate conversion (SRC) | |
KR20000064913A (ko) | 저ㄴ송 시스템, 수신기, 및 재구성된 음성 신호 유도 방법 | |
US7312729B2 (en) | Universal sampling rate converter in electronic devices and methods | |
US10224062B1 (en) | Sample rate conversion with pitch-based interpolation filters | |
US20020145547A1 (en) | Method and apparatus for analog to digital conversion utilizing a moving sum | |
WO2002015406A1 (en) | Acquiring local signal behavior parameters | |
JPH0732343B2 (ja) | 非同期標本化周波数変換方式 | |
US6483451B1 (en) | Sampling function waveform data generating device | |
CN116760414A (zh) | 一种软件无线电系统中任意倍数采样率转换的方法 | |
Mar et al. | A high-quality, energy optimized, real-time sampling rate conversion library for the StrongARM microprocessor | |
WO2023118138A1 (en) | Ivas spar filter bank in qmf domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
E902 | Notification of reason for refusal | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151230 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161229 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |