Title:
Umwandlung digitaler Abtastrate
Kind Code:
A1


Abstract:

Es wird eine Abtastrateumwandlungsschaltung vorgesehen, die eine erweiterte transponierte Farrow-Struktur vorsieht, die einen optimierten Kompromiss zwischen Rauschpegeln und Rechenkomplexität sowohl für ein Upsampling als auch für ein Downsampling ermöglicht. Dies wird erreicht durch Ableiten jeder Ausgangsabtastung durch Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion, die den Eingangsabtaststrom repräsentiert.




Inventors:
Lubberhuizen, Wessel (LB Delden, NL)
Application Number:
DE102017203804
Publication Date:
12/28/2017
Filing Date:
03/08/2017
Assignee:
DIALOG SEMICONDUCTOR B.V. (MV's-Hertogenbosch, NL)
International Classes:



Other References:
Babic, D.; Vesma, J.; Saramaki, T.; Renfors, M., ”Implementation of the transposed Farrow structure,” ISCAS 2002. IEEE International Symposium on Circuits and Systems, Vol. 4, Nr., S. IV-5, IV-8 Vol. 4
Attorney, Agent or Firm:
MERH-IP Matias Erny Reichl Hoffmann Patentanwälte PartG mbB, 80336, München, DE
Claims:
1. Verfahren zum Umwandeln eines Stroms von Eingangsabtastungen in einen Strom von Ausgangsabtastungen, das aufweist ein Ableiten jeder Ausgangsabtastung durch Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion, die den Eingangsabtaststrom repräsentiert.

2. Das Verfahren gemäß Anspruch 1, wobei jede Eingangsabtastung durch ein Eingangsabtastintervall getrennt ist und eine Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion, die den Eingangsabtaststrom repräsentiert, ein Berechnen einer gewichteten Summe der zeitkontinuierlichen Impulsantwort integriert über alle Werte des Eingangsabtaststroms über das Ausgangsabtastintervall aufweist.

3. Das Verfahren gemäß Anspruch 1 oder 2, wobei jede Ausgangsabtastung durch ein Ausgangsabtastintervall getrennt ist; und:
(a) zu Beginn jedes Ausgangsabtastintervalls die zuletzt bekannte Eingangsabtastung gespeichert wird;
(b) wenn eine neue Eingangsabtastung während des Verlaufs des Ausgangsabtastintervalls eintrifft, der gespeicherte Wert aktualisiert wird;
(c) Schritt (b) für alle anderen neuen Eingangsabtastungen wiederholt wird; und
(d) am Ende des Ausgangsabtastintervalls die Ausgangsabtastung basierend auf dem gespeicherten oder aktualisierten Wert berechnet wird.

4. Das Verfahren gemäß Anspruch 3, wobei die zuletzt bekannte Eingangsabtastung unter Verwendung einer Akkumulations- und Ladeeinheit gespeichert wird.

5. Das Verfahren gemäß einem der Ansprüche 1 bis 4, wobei der Interpolationskern eine stückweise Polynomfunktion einer gegebenen Polynomordnung aufweist und Matrixkoeffizienten aufweist, die aus Koeffizienten einer transponierten Farrow-Struktur einer Polynomordnung erzeugt werden, die niedriger als die gegebene Polynomordnung ist.

6. Das Verfahren gemäß einem der Ansprüche 1 bis 5, wobei der Interpolationskern einen B-Spline-Interpolator aufweist.

7. Das Verfahren gemäß einem der Ansprüche 1 bis 6, wobei die Interpolatorkoeffizienten einen symmetrischen Phasenbereich definieren.

8. Eine Struktur zum Umwandeln eines Stroms von Eingangsabtastungen in einen Strom von Ausgangsabtastungen, die ausgebildet ist zum Ableiten jeder Ausgangsabtastung durch Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion, die den Eingangsabtaststrom repräsentiert.

9. Die Struktur gemäß Anspruch 8, die ausgebildet ist zum Implementieren eines Polynominterpolators und aufweist:
eine Phasenerzeugungseinheit, die einen neuen Phasenwert durch Hinzufügen einer Phasenänderung zu einer vorherigen Phase berechnet und eine Erzeugung einer Ausgangsabtastung auslöst;
einen Kammfilter, der ein Differenzsignal berechnet, das durch Subtrahieren eines vorherigen Eingangs von einem aktuellen Eingangswert gebildet wird;
einen oder mehrere Multiplikatoren, die das Differenzsignal mit Potenzen des neuen Phasenwerts multiplizieren;
eine Akkumulations- und Ladeeinheit, die bei der Erzeugung einer Ausgangsabtastung mit dem vorherigen Eingangsabtastwert geladen wird;
eine oder mehrere Akkumulations- und Dump-Einheiten, die bei der Erzeugung einer neuen Ausgangsabtastung auf null zurückgesetzt werden;
eine Matrixmultiplikationseinheit, die mehrere Ausgänge unter Verwendung einer konstanten Koeffizienten-Multiplikation von Werten aus der Akkumulations- und Ladeeinheit und der Akkumulations- und Dump-Einheit bildet; und
eine Verzögerungs- und Additionseinheit, die verzögerte Versionen der Ausgänge der Matrixmultiplikationseinheit hinzufügt.

10. Ein nicht-transitorisches Computerprogrammprodukt, das Anweisungen speichert, die bei Ausführung durch eine Computervorrichtung die Computervorrichtung aktivieren zum Umwandeln eines Stroms von Eingangsabtastungen in einen Strom von Ausgangsabtastungen, das ein Ableiten jeder Ausgangsabtastung durch Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion aufweist, die den Eingangsabtaststrom repräsentiert.

Description:
GEBIET

Die vorliegende Offenbarung betrifft eine Umwandlung einer digitalen Abtastrate und insbesondere Verfahren, Strukturen und Computerprogrammprodukte zur Abtastrateumwandlung, wobei eine digitale Eingangsabtastung mit einer ersten Frequenz in eine Ausgangsabtastung mit einer zweiten Frequenz umgewandelt wird.

HINTERGRUND

Um von digitalen Systemen verarbeitet zu werden, muss ein kontinuierlich variierendes Signal in einen Satz von diskreten Abtastungen umgewandelt werden. Eine Abtastung ist ein Wert oder ein Satz von Werten an einem Punkt in dem Bereich, in dem das kontinuierlich variierende Signal abgetastet wird.

Es ist oft erwünscht, die Abtastrate eines digitalen Signals von einer Rate in eine andere umzuwandeln, zum Beispiel in Audio-, Video- oder Bildverarbeitungssystemen, bei denen Daten von verschiedenen Teilsystemen oder -komponenten verarbeitet werden müssen, die unterschiedliche Abtastraten erfordern.

Eine Abtastrateumwandlung kann mit einer Struktur implementiert werden, die verschiedene elektronische Komponenten vorsieht, die ausgebildet sind zum Speichern und Durchführen von arithmetischen Operationen auf Daten, um Algorithmen für eine Abtastrateumwandlung zu implementieren, wobei ein Eingangssignal mit einer ersten Abtastrate in ein Ausgangssignal mit einer zweiten Abtastrate umgewandelt wird. Abtastrateumwandlungsstrukturen können in geeigneter Weise als eine digitale Signalverabeitungs(DSP – digital signal processor)-Vorrichtung oder als ein Komponententeil einer DSP-Vorrichtung vorgesehen werden, die auch andere Funktionen durchführt. Eine DSP-Vorrichtung bietet eine geeignete Software- und Hardwarearchitektur für eine leistungseffiziente Verarbeitung von Algorithmen für tragbare Vorrichtungen oder andere Anwendungen, bei denen ein großer Bedarf an Leistungseffizienz besteht.

Bei der Gestaltung einer Abtastrateumwandlungsstruktur gibt es einen Kompromiss zwischen der Qualität und der rechnerischen Komplexität. In diesem Kontext kann die Qualität als Verhältnis zwischen der (gewünschten) Signalleistung und der (unerwünschten) Rauschleistung definiert werden. Die rechnerische Komplexität kann als die durchschnittliche Anzahl von arithmetischen Operationen (wie Multiplikation oder Addition) definiert werden, die erforderlich sind, um eine Ausgangsabtastung zu erzeugen. Eine höhere rechnerische Komplexität führt in der Regel zu einem höheren Leistungsverbrauch und größerem Platzbedarf (in Bezug auf den erforderlichen Speicherplatz und den erforderlichen physikalischen Schaltungsbereich). Es ist erwünscht, einen besseren Kompromiss zwischen diesen Faktoren zu haben.

ZUSAMMENFASSUNG

Gemäß einem ersten Aspekt der Offenbarung ist ein Verfahren zum Umwandeln eines Stroms von Eingangsabtastungen in einen Strom von Ausgangsabtastungen vorgesehen, das aufweist ein Ableiten jeder Ausgangsabtastung durch Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion, die den Eingangsabtaststrom repräsentiert.

Optional wird jede Eingangsabtastung durch ein Eingangsabtastintervall getrennt und die Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion, die den Eingangsabtaststrom repräsentiert, weist ein Berechnen einer gewichteten Summe der zeitkontinuierlichen Impulsantwort auf, integriert über alle Werte des Eingangsabtaststroms über das Ausgangsabtastintervall.

Optional wird jede Ausgangsabtastung durch ein Ausgangsabtastintervall getrennt; und:

  • (a) zu Beginn jedes Ausgangsabtastintervalls wird die zuletzt bekannte Eingangsabtastung gespeichert;
  • (b) wenn eine neue Eingangsabtastung während des Verlaufs des Ausgangsabtastintervalls eintrifft, wird der gespeicherte Wert aktualisiert;
  • (c) Schritt (b) wird für alle anderen neuen Eingangsabtastungen wiederholt; und
  • (d) am Ende des Ausgangsabtastintervalls wird die Ausgangsabtastung basierend auf dem gespeicherten oder aktualisierten Wert berechnet.

Optional wird die zuletzt bekannte Eingangsabtastung unter Verwendung einer Akkumulations- und Ladeeinheit gespeichert.

Eine Akkumulations- und Ladeeinheit kann jede geeignete Schaltung, Vorrichtung oder ein Code sein, die/der die Speicherung und Summierung einer Vielzahl von Werten vorsieht und derart ausgebildet ist, bei Empfang eines Auslösersignals den akkumulierten Wert zur Verfügung zu stellen und sich auf einen definierten Wert zurückzusetzen.

Optional weist der Interpolationskern eine stückweise Polynomfunktion einer gegebenen Polynomordnung auf und weist Matrixkoeffizienten auf, die aus Koeffizienten einer transponierten Farrow-Struktur einer Polynomordnung erzeugt werden, die niedriger als die gegebene Polynomordnung ist.

Optional weist der Interpolationskern einen B-Spline-Interpolator auf.

Optional definieren die Interpolatorkoeffizienten einen symmetrischen Phasenbereich.

Gemäß einem zweiten Aspekt der Offenbarung ist eine Struktur zum Umwandeln eines Stroms von Eingangsabtastungen in einen Strom von Ausgangsabtastungen vorgesehen, die ausgebildet ist zum Ableiten jeder Ausgangsabtastung durch Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion, die den Eingangsabtaststrom repräsentiert.

Optional implementiert die Struktur einen Polynominterpolator und weist auf:
eine Phasenerzeugungseinheit, die einen neuen Phasenwert durch Hinzufügen einer Phasenänderung zu einer vorherigen Phase berechnet und eine Erzeugung einer Ausgangsabtastung auslöst;
einen Kammfilter, der ein Differenzsignal berechnet, das durch Subtrahieren eines vorherigen Eingangs von einem aktuellen Eingangswert gebildet wird;
einen oder mehrere Multiplikatoren, die das Differenzsignal mit Potenzen des neuen Phasenwerts multiplizieren;
eine Akkumulations- und Ladeeinheit, die bei der Erzeugung einer Ausgangsabtastung mit dem vorherigen Eingangsabtastwert geladen wird;
eine oder mehrere Akkumulations- und Dump- bzw. Verwerfen-Einheiten, die bei der Erzeugung einer neuen Ausgangsabtastung auf null zurückgesetzt werden;
eine Matrixmultiplikationseinheit, die mehrere Ausgänge unter Verwendung einer konstanten Koeffizienten-Multiplikation von Werten aus der Akkumulations- und Ladeeinheit und der Akkumulations- und Dump-Einheit bildet; und
eine Verzögerungs- und Additionseinheit, die verzögerte Versionen der Ausgänge der Matrixmultiplikationseinheit hinzufügt.

Gemäß einem dritten Aspekt der Offenbarung ist ein nicht-transitorisches Computerprogrammprodukt vorgesehen, das Anweisungen speichert, die bei Ausführung durch eine Computervorrichtung die Computervorrichtung aktivieren zum Umwandeln eines Stroms von Eingangsabtastungen in einen Strom von Ausgangsabtastungen, das ein Ableiten jeder Ausgangsabtastung durch Faltung eines zeitkontinuierlichen Interpolationskerns mit einer zeitkontinuierlichen Schrittfunktion aufweist, die den Eingangsabtaststrom repräsentiert.

Das Computerprogrammprodukt kann als eine oder mehrere Anweisungen oder Code auf einem computerlesbaren Medium gespeichert oder übertragen werden. Computerlesbare Medien umfassen sowohl Computerspeichermedien als auch Kommunikationsmedien, einschließlich jedes Mediums, das eine Übertragung eines Computerprogramms von einem Ort zum anderen erleichtert. Ein Speichermedium kann jedes verfügbare Medium sein, auf das ein Computer zugreifen kann. Zum Beispiel können derartige computerlesbare Medien RAM, ROM, EEPROM, CD-ROM oder einen anderen optischen Disk-Speicher, magnetischen Disk-Speicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium aufweisen, das zum Tragen oder Speichern eines gewünschten Programmcodes in der Form von Anweisungen oder Datenstrukturen verwendet werden kann und auf das ein Computer zugreifen kann. Auch jede Verbindung wird ordnungsgemäß als computerlesbares Medium bezeichnet. Wenn zum Beispiel die Software von einer Website, einem Server oder einer anderen entfernten Quelle über ein Koaxialkabel, ein Faseroptikkabel, ein Twisted Pair, eine digitale Teilnehmerleitung (DSL – digital subscriber line) oder drahtlose Technologien, wie Infrarot, Funk und Mikrowelle, übertragen wird, dann sind das Koaxialkabel, Faseroptikkabel, Twisted Pair, DSL oder drahtlose Technologien, wie Infrarot, Funk und Mikrowelle, in der Definition von Medium enthalten. Disk und Disc, wie sie hier verwendet, umfasst Compact Disc (CD), Laser-Disc, optische Disc, DVD (digital versatile disc), Floppy-Disk and Blu-ray-Disc, wobei Disks normalerweise Daten magnetisch reproduzieren, während Discs Daten optisch mit Lasern reproduzieren. Kombinationen der obigen sollen ebenfalls in dem Umfang von computerlesbaren Medien aufgenommen sein. Die mit einem computerlesbaren Medium des Computerprogrammprodukts assoziierten Anweisungen oder Code können durch einen Computer ausgeführt werden, zum Beispiel von einem oder mehreren Prozessoren, wie einem oder mehreren digitalen Signalprozessoren (DSPs – digital signal processors), Universalmikroprozessoren, ASICs, FPGAs, oder anderen äquivalenten integrierten oder diskreten Logikschaltungen.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Die Offenbarung wird nachfolgend beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:

1 ein Eingangssignal x(kT1) zeigt, das mit einer Rate abgetastet wird, das in ein Ausgangssignal y(mT2) umzuwandeln ist, das mit einer anderen Rate abgetastet wird;

2 eine Farrow-Struktur für eine Abtastrateumwandlung zeigt;

3 eine transponierte Farrow-Struktur für eine Abtastrateumwandlung zeigt;

4 eine alternative Struktur für einen anderen Typ von modifizierter Farrow-Struktur zeigt;

5 einen Abtastratewandler gemäß einem Ausführungsbeispiel der vorliegenden Offenbarung zeigt;

6 den Betrieb einer Abtastrateumwandlung gemäß der Offenbarung zeigt;

7 einen Abtastratewandler gemäß einem weiteren Ausführungsbeispiel der vorliegenden Offenbarung zeigt;

8 eine beispielhafte Struktur einer Akkumulations- und Dump-Einheit zur Verwendung mit einem Abtastratewandler gemäß der vorliegenden Offenbarung zeigt;

9 eine beispielhafte Struktur einer Akkumulations- und Ladeeinheit zur Verwendung mit einem Abtastratewandler gemäß der vorliegenden Offenbarung zeigt;

10 Zeitbereichssignale für eine transponierte Farrow-Struktur des Standes der Technik und für eine transponierte Farrow-Struktur gemäß einem Ausführungsbeispiel der Offenbarung zeigt; und

11 Leistungsspektren für eine transponierte Farrow-Struktur des Standes der Technik und für eine transponierte Farrow-Struktur gemäß einem Ausführungsbeispiel der Offenbarung zeigt.

DETAILLIERTE BESCHREIBUNG

Es ist oft wünschenswert, zwischen beliebigen Abtastraten umzuwandeln, und um dies zu ermöglichen, muss eine Approximation des kontinuierlichen Signals erzeugt und dann abgetastet werden. Dieser Vorgang wird als Interpolation bezeichnet.

Es wird ein Eingangssignal x(kT1) betrachtet, das mit einer Rate abgetastet wird, das in ein mit einer anderen Rate abgetastetes Ausgangssignal y(mT2) umzuwandeln ist. Dies wird in 1 schematisch dargestellt. T1 ist das Zeitintervall zwischen jedem der k Abtastwerte für das Eingangssignal x(kT1) (wobei k die Ordnung der Abtastung des Eingangssignals repräsentiert) und T2 ist das Zeitintervall zwischen jeder der m Abtastungen für das Ausgangssignal y(mT2) (wobei m die Ordnung der Abtastung des Ausgangssignals repräsentiert).

Eine Abtastrateumwandlungs(SRC – sample rate conversion)-Gleichung, die das Ausgangssignal mit dem Eingangssignal in Beziehung setzt und die Filterung und Wiederabtastung von SRC für den Fall in 1 beschreibt, ist:

h(t) ist die zeitkontinuierliche Impulsantwort des erforderlichen Signals, die das Signal y(mT2) bei der neuen Abtastrate aus dem Eingangssignal x(kT1) bei der alten Abtastrate liefert. Oder, anders ausgedrückt, h(t) ist eine Funktion, die die Aktion repräsentiert, die der erforderliche Filter auf dem Eingangssignal durchführt, um dieses in das Ausgangssignal umzuwandeln. Die Gleichung [1] beschreibt ein zeitvariierendes System.

Es sollte angemerkt werden, dass wir eine Rationalfaktor-SRC haben, wenn T_1/T_2 = L/M mit L, M∊N+. Wenn L = 1 oder M = 1, haben wir eine Integerfaktor-SRC (d. h. eine der Abtastraten ist ein genaues Vielfaches der anderen Abtastrate). Wenn L = M = 1 ist, haben wir eine zeitdiskrete Faltung (d. h. keine SRC).

Im Allgemeinen muss die vollständige zeitkontinuierliche Impulsantwort h(t) bekannt sein. Für rationale und „ganzzahliger Wert”-SRC, wie oben beschrieben, variiert das durch die Gleichung [1] beschriebene System periodisch mit der Zeit. Somit sind für die Berechnung tatsächlich nur bestimmte Werte von h(t) erforderlich.

Um ein Berechnen der erforderlichen Abtastungen von h(t) zu vereinfachen, suchen wir nach einfachen Funktionen, die zeitkontinuierliche Impulsantworten beschreiben. Es wurde festgestellt, dass, da Polynome ein Beispiel für solche einfachen Funktionen sind, Polynomfilter bei einer SRC nützlich sind. Wir beschränken die Klasse der Polynomfilter auf stückweise polynome Impulsantworten, die aus gleich langen Stücke zusammengesetzt sind. Bei Polynomstücken des Grades Q und der Länge Δ können wir einen Ausdruck für h(t) ableiten, wie folgt: wobei cq der Koeffizient für das Polynom der q-ten Ordnung ist.

Es gibt zwei Möglichkeiten für Δ, die die Gleichung [2] vereinfachen, nämlich Δ = T1 und Δ = T2. Unter Verwendung der obigen Gleichung [2] und Gleichung [1] und der Einstellung Δ = T1 ergibt sich:

⌊a⌋ bezeichnet die Abrunden-Operation, d. h. ⌊a⌋ bezeichnet die größte Ganzzahl a' derart, dass a' ≤ a.

μm ist die Inter-Abtastposition, d. h. der Abstand zwischen dem vorherigen Eingangssignal und dem aktuellen Ausgangssignal (siehe 1) und hat keine Einheiten.

Die obigen Gleichungen [3], [4] und [5] repräsentieren eine Implementierung von SRC, die als Farrow-Struktur bekannt ist, und 2 zeigt eine schematische Darstellung einer solchen Struktur, bei der es N Polynomstücke (0 bis N – 1) gibt und die Ordnung (q) der Polynome von 0 bis Q ist.

Die in 2 gezeigte Farrow-Struktur kann auch als ein Polyphasen-Interpolator mit einer unendlichen Anzahl von Polyphasenzweigen interpretiert werden, die von nur einem „Referenz”-Polyphasenzweig implementiert werden, und eine Polynombeschreibung, wie die verbleibenden zu berechnen sind. Der „Referenz”-Polyphasenzweig kann durch Setzen von μm = 0 in der Gleichung [3] erlangt werden. Dies repräsentiert die Abtastungen der Impulsantwort h(t), die die Ausgangspunkte der einzelnen Polynomstücke markieren. Diese Ausgangspunkte (d. h. der „Referenz”-Zweig) und die Ordnung der verbindenden Polynomstücke bestimmen die Übertragungscharakteristiken des SRC-Systems.

In den obigen Farrow-Struktur-Gleichungen [3], [4] und [5] kann, je höher die Ordnung der Polynomstücke ist, desto besser die Impulsantwort h(t) an die Anwendung angepasst werden. Wenn Polynome hoher Ordnung nicht möglich sind, können auch kürzere Polynome niedrigerer Ordnung verwendet werden. In diesem Fall sind mehr „Referenz”-Polyphasenzweige (d. h. Ausgangspunkte von Polynomstücken) erforderlich. Dies kann erreicht werden durch Verringern der Länge der Polynomstücke um einen Faktor J, d. h.:

Dies kann als eine Generalisierung der Farrow-Struktur betrachtet werden, die allgemein als die generalisierte Farrow-Struktur bekannt ist.

Da die Gleichung [6] eine Generalisierung liefert im Vergleich zu dem Fall, in dem Δ = T1, können wir den Fall mit Δ = T2 überspringen und stattdessen sofort([7]) setzen.

Wenn wir die Gleichungen [6] und [7] in Gleichung [2] oben ersetzen, haben wir:

Es ist anzumerken, dass bei J = 1 wir zu der ursprünglichen Farrow-Struktur zurückkehren und μk gleich μm wird, die zuvor definierte Inter-Abtastungsposition.

Die obigen Gleichungen [8], [9] und [10] beschreiben die Farrow-Struktur, wenn die Stücklänge Δ der Polynomstücke durch die obige Gleichung [7] definiert ist und als Transponierte Farrow-Struktur (TFS – Transposed Farrow Structure) bekannt ist. 3 zeigt eine schematische Darstellung einer solchen TFS für J = 1 und wobei es N Polynomstücke (0 bis N – 1) gibt und die Ordnung (q) der Polynome von 0 bis Q ist. Es ist anzumerken, dass in einer realen Implementierung J immer gleich 1 ist.

Die Farrow-Struktur bietet eine effiziente Möglichkeit, eine Abtastratezunahme zwischen beliebigen Abtastraten zu implementieren und kann als Polynom-Polyphasen-Interpolator betrachtet werden. Jedoch sind die Übertragungsnullstellen des Filters um die ganzzahligen Vielfachen der Eingangsabtastrate gruppiert, was bedeutet, dass die Farrow-Struktur einem Aliasing unterworfen ist, wenn eine Abtastratenabnahme implementiert wird. Die transponierte Farrow-Struktur ist geeignet zum Implementieren einer Abtastratenabnahme, da ihre Übertragungsnullstellen um die ganzzahligen Vielfachen der Ausgangsabtastrate gruppiert sind, während dieselben Polynomfunktionen wie die Farrow-Struktur verwendet werden. Sie kann als ein Polynom-Polyphasen-Dezimator gesehen werden, der ein Anti-Aliasing vorsehen kann.

Während sowohl die Farrow-Struktur als auch die transponierte Farrow-Struktur im Prinzip Abtastraten zwischen beliebigen Werten umwandeln können, kann aufgrund von Abbildungs- und Aliasing-Problemen in der Praxis ein DSP nur mit einer Farrow-Struktur vorgesehen werden und nur zur Erhöhung einer Abtastrate verwendet werden, oder mit einer transponierten Farrow-Struktur und nur zur Verringerung einer Abtastrate verwendet werden. Wenn ein DSP vorgesehen werden soll, der eine beliebige Abtastrateumwandlung mit verbesserten Abbildungs- oder Aliasing-Eigenschaften verarbeiten kann, muss er sowohl eine Farrow-Struktur als auch eine transponierte Farrow-Struktur zusammen mit einer Erfassungsvorrichtung aufweisen, die die Abtastrate eines eingehenden Signals mit der Abtastrate eines Sollausgangssignals vergleicht und eine geeignete Auswahl zwischen entweder der Farrow-Struktur oder der transponierten Farrow-Struktur tätigt, abhängig davon, ob die Ausgangsabtastrate jeweils höher oder niedriger als die Eingangsabtastrate ist. Eine Implementierung beider Strukturen ist in Bezug auf einen Energieverbrauch und einen Chipbereich kostspielig, während eine Implementierung nur einer der Strukturen die Funktionalität des DSP begrenzt. Es ist wünschenswert, einen Abtastratewandler mit einem oder mehreren aus verbesserter Funktionalität, reduziertem Leistungsverbrauch, reduzierter Rechenkomplexität oder reduziertem Chipbereich vorzusehen.

Eine modifizierte transponierte Farrow-Struktur wird beschrieben bei Babic, D.; Vesma, J.; Saramaki, T.; Renfors, M., ”Implementation of the transposed Farrow structure,” ISCAS 2002. IEEE International Symposium on Circuits and Systems, Vol. 4, Nr., S. IV-5, IV-8 Vol. 4, was hiermit durch Bezugnahme aufgenommen ist. Es wird eine transponierte Farrow-Struktur beschrieben, die unter Verwendung von wenigeren Multiplikatoren für Fälle implementiert wird, in denen ein Dezimierungsverhältnis hoch ist. Wenn die Eingangsabtastrate relativ zu der Ausgangsabtastrate hoch ist, ist die erforderliche Anzahl von Bits, um das fraktionale Intervall für jede Eingangsabtastung darzustellen, gering, und somit kann die Multiplikation eines Signals mit einer hohen Abtastrate mit dem fraktionalen Intervall mit einfachen Additionen realisiert werden. Die Struktur für diese modifizierte Farrow-Struktur wird in 4 gezeigt.

Während diese jedoch rechnerisch effizienter ist als die transponierte Farrow-Struktur von 3, ist sie nur für bestimmte Anwendungsfälle anwendbar, bei denen das Dezimierungsverhältnis ungewöhnlich hoch ist; und es besteht weiterhin eine Notwendigkeit, die oben angeführten Probleme zu adressieren.

5 zeigt ein Ausführungsbeispiel eines Abtastratewandlers gemäß einem Ausführungsbeispiel der vorliegenden Offenbarung, wobei in diesem Beispiel eine Polynominterpolation zweiter Ordnung dargestellt wird.

In 5 wird die folgende Notation verwendet:
x = Eingangsabtastung
y = Ausgangsabtastung
ω = Phaseninkrement
φ = Phase
A&L = Akkumulations- und Ladeeinheit
A&D = Akkumulations- und Dump-Einheit
= Konstanter Koeffizienten-Multiplikator
z–1 = Verzögerungselement
ci,j = Konstante Koeffizientenwerte
+ = Addierer mit optionalen negierten Eingängen (markiert mit '–').
⊗ = Variabler Eingangsmultiplikator
t = Auslösereingang (bei Phasen-Wrap-around bzw. -Umlauf erzeugt)

Diese Struktur umfasst:

  • – eine Phasenerzeugungseinheit 500, die einen neuen Phasenwert durch Hinzufügen einer Phasenänderung zu einer vorherigen Phase berechnet und eine Erzeugung einer Ausgangsabtastung auslöst.
  • – einen Kammfilter 502, der ein Differenzsignal berechnet, das durch Subtrahieren des vorherigen Eingangs von dem aktuellen Eingangswert gebildet wird.
  • – einen oder mehrere Multiplikatoren 504, die das Differenzsignal von dem Kammfilter 502 mit Potenzen des Umlauf-Phasenwerts multiplizieren.
  • – eine Akkumulations- und Ladeeinheit (A&L), die bei Erzeugung einer Ausgangsabtastung mit dem vorherigen Eingangsabtastungswert geladen wird.
  • – eine oder mehrere Akkumulations- und Dump-Einheiten (A&D), die bei Erzeugung einer neuen Ausgangsabtastung auf null zurückgesetzt werden.
  • – eine Matrixmultiplikationseinheit 506, die mehrere Ausgänge unter Verwendung einer konstanten Koeffizienten-Multiplikation von Integration- und Last/Integration- und Dump-Werten bildet. Die Koeffizienten der Matrix sind c, wobei i ein Index der Ordnung der Polynome ist und j ein Index der Polynomstücke ist.
  • – eine Verzögerungs- und Addiereinheit 508, die verzögerte Versionen der Ausgänge der Matrix hinzufügt.

Wie oben beschrieben, ist eine allgemeine Gleichung, die das Filtern und erneute Abtasten eines Abtastratewandlers beschreibt: wobei h(t) eine zeitkontinuierliche Impulsantwort ist, T1 die Eingangsabtastperiode ist, T2 die Ausgangsabtastperiode ist, x(kT1) die Eingangsabtastsequenz ist und y(mT2) die Ausgangsabtastsequenz ist. In Effekt ist eine Ausgangsabtastung eine gewichtete Summe der zeitkontinuierlichen Impulsantwort h(τ) bei diskreten Zeitdifferenzen τ = mT2 – kT1. Die vorliegende Offenbarung sieht ein verbessertes Wiederabtastschema vor, bei dem die zeitkontinuierliche Antwort h(t) über alle Werte integriert ist, anstatt nur bei diskreten Zeitdifferenzen summiert:

In der Farrow-Struktur ist die Funktion h(t) eine stückweise Polynomfunktion:

Die Polynomabschnitte h(t) können definiert werden als:

Für jeden Polynomabschnitt j können wir die folgende Funktion definieren:

H(t) ist eine Funktion, die eine Koeffizientenmatrix auf die Polynomabschnitte der zeitkontinuierlichen Antwort h(t) anwendet.

Der verbesserte Abtastratewandler evaluiert das oben angeführte definitive Integral durch Verwendung einer anfänglichen Vermutung, gefolgt von Verfeinerungsstufen.

Zu Beginn jedes Intervalls T2 ist die anfängliche Vermutung, dass es keine neue eingehende Abtastung über dieses Intervall gibt. Die letzte bekannte Abtastung, xprev, wird in den ersten Akkumulator geladen und die anderen Akkumulatoren werden auf null zurückgesetzt. Immer wenn eine eingehende Abtastung xprev ankommt, muss diese Vermutung verfeinert werden. Die Verfeinerung ist (xnew-xprev)ti, wobei wiederum die Annahme verwendet wird, dass es keine zusätzliche eingehende Abtastung über das aktuelle Restintervall gibt. Anschließend wird die letzte bekannte Abtastung auf den Wert einer eingehenden Abtastung aktualisiert. Am Ende des Intervalls T2 wird eine Ausgangsabtastung berechnet und das nächste Intervall T2 wird gestartet.

Eine Struktur gemäß der Offenbarung (die als „erweiterte” transponierte Farrow-Struktur oder ETFS (enhanced Transposed Farrow Structure) bezeichnet werden kann) reduziert eine Rechenkomplexität im Vergleich zu einer transponierten Farrow-Struktur derselben Ordnung erheblich. Die erweiterte transponierte Farrow-Struktur der Ordnung 2 erfordert 2 variable Multiplikatoren und 6 konstante Koeffizienten-Multiplikatoren, während die transponierte Farrow-Struktur 3 variable Multiplikatoren und 9 konstante Koeffizienten-Multiplikatoren verwendet. Es ist anzumerken, dass die transponierte Farrow-Struktur einen dedizierten Multiplikator für eine Multiplikation mit dem Phaseninkrement ω benötigt, was für die erweiterte transponierte Farrow-Struktur nicht erforderlich ist. Der Unterschied bei der Komplexität der Akkumulations- und Ladeeinheit im Vergleich zu der Akkumulations- und Dump-Einheit ist sehr gering: für die Akkumulations- und Ladeeinheit wird der Akkumulator bei Auslösung auf einen Startwert gesetzt und für die Akkumulations- und Dump-Einheit wird der Akkumulator auf null zurückgesetzt.

In der Praxis können die variablen Multiplikatoren unter Verwendung eines einzigen physikalischen Multiplikators implementiert werden, der alle erforderlichen Multiplikationen durchführt, durch Verwenden eines Systemtakts, der höher als die Eingangsabtastrate ist. In dem Beispiel, bei dem beide Multiplikatoren angewendet werden (wie in 5 gezeigt), ist der Flächenvorteil geringer, aber der Systemtakt kann mit einer niedrigeren Rate betrieben werden, was zu einem Leistungsvorteil führt.

Die Offenbarung ist auf jede Polynomordnung N ≥ 1 und jede Anzahl von Segmenten L ≥ 1 anwendbar. Die Größe der entsprechenden Koeffizientenmatrix ist LxK, wobei K = N + 1. Eine vorteilhafte Möglichkeit, die Matrixkoeffizienten für die ETFS der Ordnung N zu erzeugen, besteht darin, sie aus den Koeffizienten der TFS einer niedrigeren Polynomordnung N – 1 unter Verwendung der folgenden Gleichung abzuleiten: wobei E eine Koeffizientenmatrix mit den Dimensionen (LxK) der erweiterten transponierten Farrow-Struktur ist und F eine Koeffizientenmatrix Lx(K – 1) der transponierten Farrrow-Struktur ist.

Die Offenbarung ist nicht auf ein bestimmtes Interpolationsverfahren beschränkt und es gibt viele Verfahren, die verwendet werden können. Jedoch wird in einem bevorzugten Ausführungsbeispiel eine B-Spline-Interpolation verwendet, da diese zu Koeffizienten führt, die in nur wenigen Potenzen von zwei (und einem gemeinsamen Verstärkungsfaktor) ausgedrückt werden können. Als Ergebnis können die konstanten Koeffizienten-Multiplikatoren als eine Kombination von Verschiebungen-und-Addierungen effizient implementiert werden.

Die Koeffizientenmatrizen für eine B-Spline-Interpolation der Ordnung 0, 1 und 2 sind:

Die Koeffizienten entsprechend einer erweiterten B-Spline-Interpolation der Ordnung 1, 2 und 3 sind:

Transponierte Farrrow-Strukturen des in 3 dargestellten Typs nehmen an, dass der Phasenparameter φ einen asymmetrischen Bereich [0, 1) hat. Modifizierte transponierte Farrow-Strukturen des in 4 dargestellten Typs verwenden einen symmetrischen Bereich für den Phasenparameter, d. h. [–1, 1). Als Ergebnis hat die Koeffizientenmatrix mehr Symmetrie: alle Spalten sind entweder symmetrisch oder antisymmetrisch. Diese Symmetrie kann genutzt werden, um die Komplexität zu reduzieren, durch Teilen von Ergebnissen der Multiplikationen.

Die Koeffizienten entsprechend einer modifizierten B-Spline-Interpolation der Ordnung 0, 1, 2, 3 sind:

Für eine erweiterte Farrow-Struktur gemäß der Offenbarung ist auch die symmetrische Phasenbereichsmodifikation möglich. Die allgemeine Formel zum Transformieren einer Koeffizientenmatrix MTF mit Dimensionen Lx(K – 1) für eine modifizierte transponierte Farrow-Struktur in eine Koeffizientenmatrix EMTF mit Dimensionen LxK für die erweiterte modifizierte transponierte Farrow-Struktur ist:

Als Ergebnis sind alle Spalten mit dem Index j > 1 entweder symmetrisch oder antisymmetrisch.

Für dieselbe Polynomordnung liefert die vorgeschlagene Struktur eine viel bessere Ergebnisqualität als die herkömmliche Farrow-Struktur, mit geringerer Rechenkomplexität. Für ein gegebenes Qualitätsziel ermöglicht die Erfindung, dass niedrigere Überabtastverhältnisse und/oder Interpolation niedrigerer Ordnung als die vorhandenen Strukturen verwendet werden, was zu niedrigeren Betriebsfrequenzen und damit zu geringerer Leistung und geringerem Flächenbedarf führt.

Die Leistungsspektren in 11 zeigen diese Vorteile. Diese Diagramme zeigen die Frequenzverteilung (x-Achse, in Hz) der unerwünschten Rauschleistung (y-Achse, in dB) für jeden Typ von Struktur, wobei die Spektren 1100, 1102, 1104 für TFS-Strukturen der Ordnung 1, 2 und 3 jeweils verglichen werden mit den Spektren 1106, 1108, 1110 für ETFS-Strukturen der Ordnung 1, 2 und 3.

Die Spektren 1100 bis 1110 wurden aus Simulationen unter Verwendung von vier vollen sinusförmigen Eingangssignalen mit einer Frequenz von 1 kHz und einer Eingangsabtastrate von 44,1 kHz für jedes der Eingangssignale und einer Ausgangsabtastrate von 48 kHz für jedes der Ausgangssignale erlangt. Die Simulationen wurden in einer 64-Bit-Präzisions-Gleitpunkt-Logik durchgeführt. Somit wird erwartet, dass ein Quantisierungsrauschen etwa –300 dBFS beträgt. Aus den Spektren 1100 bis 1110 ist ersichtlich, dass für die Ordnung = 2 und die Ordnung = 3 die erweiterte transponierte Farrow-Struktur eine ca. 50–100 dB bessere Unterdrückung von Störrauschen in dem hörbaren Bereich (100 Hz – 20 kHz) bietet. Ähnliche Vorteile ergeben sich auch für höhere Ordnungen.

Der Zeitbereich wird ebenfalls in 10 dargestellt. Diese Darstellungen zeigen die Zeitvarianz (x-Achse, in ms) des Ausgangssignals (y-Achse, in beliebigen Einheiten) für jeden Typ von Struktur, wobei die Darstellungen 1000, 1002, 1004 für TFS-Strukturen der Ordnung 1, 2 und 3 jeweils mit den Spektren 1006, 1008, 1010 für ETFS-Strukturen der Ordnung 1, 2 und 3 verglichen werden.

Es ist ersichtlich, dass die transponierten Farrow-Strukturen der ersten und zweiten Ordnung große Spitzen in dem Ausgang zeigen, die mit der erweiterten transponierten Farrow-Struktur gemäß der Offenbarung vermieden werden. Bei der herkömmlichen transponierten Farrow-Funktion wird das Eingangssignal durch eine Serie von Dirac-Delta-Impulsen repräsentiert, die um ein Intervall T1 beabstandet sind. Die Ausgangsabtastungen werden durch Falten des Eingangssignals mit einer zeitkontinuierlichen Impulsantwort h(t) berechnet. Wenn die Breite von h(t) geringer ist als der Abtastabstand des Ausgangs von T1, dann besteht der Ausgang aus gefalteten Delta-Impulsen, was zu Spitzen führt (schnelle Variationen in dem Ausgang). Bei einem Eingangssignal, das konstant ist (ungleich null), ist das Ausgangssignal zeitvariierend. Bei der erweiterten transponierten Farrow-Struktur wird das Eingangssignal effektiv durch eine schrittweise Funktion repräsentiert, die durch eine zeitkontinuierliche Impulsantwort h(t) gefaltet ist. Bei einem Eingangssignal, das konstant ist (ungleich null), wird auch das Ausgangssignal konstant.

Während diese Spitzen in dem Ausgang der transponierten Farrow-Strukturen erster und zweiter Ordnung mit spektralen Komponenten assoziiert sind, die außerhalb des hörbaren Bereichs sind, ist weiterhin eine zusätzliche Reserve in dem Datenpfad erforderlich, um eine Sättigung oder einen Umlauf zu verhindern. Dies ist aufgrund dessen, dass Variationen in dem Ausgangssignal zu einem höheren Dynamikbereich führen (größere Spitze-zu-Spitze-Werte). Als Ergebnis sind mehr Bits erforderlich, um das Signal akkurat zu repräsentieren (ein Abschneiden zu verhindern), und daher sind größere Multiplikatoren und Addierer zum Verarbeiten des Signals erforderlich, was zu einem größeren physikalischen Bereich führt. Diese zusätzliche Reserve kann bei der Verwendung der erweiterten transponierten Farrow-Struktur weggelassen werden, was eine leistungsfähigere und flächeneffizientere Implementierung ermöglicht.

Um das Verständnis der Offenbarung weiter zu unterstützen, zeigt 6 Aspekte des Betriebs einer Abtastrateumwandlung gemäß der Offenbarung. Das obere Diagramm 600 zeigt ein abgetastetes Eingangssignal mit Abtastungen x0 bis x5, abgetastet an den Zeitpunkten t0 bis t5 in Zeitintervallen T1. Das mittlere Diagramm 602 zeigt eine zeitkontinuierliche Impulsantwort h(t) mit drei Abschnitten h3, h2 und h1 in Zeitintervallen T2; und das untere Diagramm 604 zeigt eine stückweise Polynomfunktion Hj(t), die ein Ergebnis eines Anwendens einer Koeffizientenmatrix auf die Polynomabschnitte der zeitkontinuierlichen Antwort h(t) ist. Die Koeffizientenmatrix weist in diesem Ausführungsbeispiel eine B-Spline-Interpolation auf.

7 zeigt einen Abtastratewandler gemäß einem anderen Ausführungsbeispiel der vorliegenden Offenbarung, das eine erweiterte transponierte Farrow-Struktur darstellt, mit einer Polynominterpolation dritter Ordnung. Die Struktur von 7 hat ähnliche Komponenten wie in 5, nämlich eine Phasenerzeugungseinheit 500, einen Kammfilter 502, einen oder mehrere Multiplikatoren 504, eine Akkumulations- und Ladeeinheit (A&L), eine oder mehrere Akkumulations- und Dump-Einheiten (A&D), eine Matrixmultiplikationseinheit 506 und eine Verzögerungs- und Addiereinheit 508, die verzögerte Versionen der Ausgänge der Matrix addiert.

Im Vergleich zu dem Ausführungsbeispiel von 5 hat dieses Ausführungsbeispiel einen zusätzlichen variablen Eingangsmultiplikator und Akkumulations- und Dump-Einheit; die Koeffizientenmatrix 506 hat zusätzliche konstante Koeffizienten-Multiplikatoren und Addierer; und die Verzögerungs- und Addiereinheit 508 hat ein zusätzliches Verzögerungselement und einen Addierer.

Eine Akkumulations- und Dump-Einheit (A&D) kann jede geeignete Schaltung, Vorrichtung oder jeder Code sein, die/der eine Speicherung und Summierung einer Vielzahl von Werten vorsieht und ausgebildet ist, bei Empfang eines Auslösersignals, zum Zurücksetzen des akkumulierten Werts auf null und Ausgeben des akkumulierten Werts. Als Beispiel zeigt 8 eine beispielhafte Struktur einer Akkumulations- und Dump-Einheit zur Verwendung mit einem Abtastratewandler gemäß der vorliegenden Offenbarung.

Die Akkumulations- und Dump-Einheit 800 weist einen Addierer 802, ein Verzögerungselement 804, das als ein Akkumulator wirkt, und einen Multiplexer 806 auf. Wenn der Multiplexer 806 ein Auslösersignal t empfängt, setzt er einen Wert, der an dem Verzögerungselement gespeichert ist, auf null zurück, wie durch den Eingang 808 bei t = 1 gezeigt, und gibt den akkumulierten Wert aus, der in diesem Fall ein Phasenwert φ ist.

Eine Akkumulations- und Ladeeinheit kann jede geeignete Schaltung, Vorrichtung oder jeder Code sein, die/der die Speicherung und Summierung einer Vielzahl von Werten vorsieht und ausgebildet ist, bei Empfang eines Auslösersignals, den akkumulierten Wert zur Verfügung zu stellen und sich auf einen definierten Wert zurückzusetzen. Als Beispiel zeigt 9 eine beispielhafte Struktur einer Akkumulations- und Ladeeinheit zur Verwendung mit einem Abtastratewandler gemäß der vorliegenden Offenbarung.

Die Akkumulations- und Ladeeinheit 900 weist einen Addierer 802, ein Verzögerungselement 804, das als Akkumulator wirkt, und einen Multiplexer 806 auf. Wenn der Multiplexer 806 ein Auslösersignal t empfängt, setzt er einen an dem Verzögerungselement gespeicherten Wert auf einen anfänglichen Akkumulatorwert zurück, wie durch den Eingang 900 gezeigt, und gibt den akkumulierten Wert aus, der in diesem Fall ein Phasenwert φ ist.

Verschiedene Modifikationen und Verbesserungen können an Obigem vorgenommen werden, ohne von dem Umfang der Offenbarung abzuweichen.

Es ist offensichtlich, dass der Logikcode, Programme, Module, Prozesse, Verfahren und die Reihenfolge, in der die jeweiligen Elemente jedes Verfahrens durchgeführt werden, rein beispielhaft sind. Abhängig von der Implementierung können sie in jeder Reihenfolge oder parallel durchgeführt werden, sofern in der vorliegenden Offenbarung nichts anderes angegeben ist. Weiter bezieht sich der Logikcode nicht auf eine bestimmte Programmiersprache oder ist auf diese beschränkt und kann ein oder mehrere Module aufweisen, die auf einem oder mehreren Prozessoren in einer verteilten, nicht-verteilten oder Multiprozessorumgebung ausgeführt werden.

Das oben beschriebene Verfahren kann bei der Herstellung von „integrierte Schaltung”-Chips verwendet werden. Die resultierenden „integrierte Schaltung”-Chips können durch den Hersteller in roher Waferform (d. h. als ein einzelner Wafer, der mehrere nicht-konfektionierte Chips aufweist), als bloßer Chip oder in einer konfektionierten Form verteilt werden. In dem letzteren Fall ist der Chip in einer Einzel-Chip-Packung angebracht (wie ein Kunststoffträger, mit Leitungen, die an einem Motherboard oder einem anderen Träger höherer Schicht befestigt sind) oder in einer Multi-Chip-Packung (wie ein Keramik-Träger, der entweder eine oder beide Oberflächenverbindungen oder vergrabene Verbindungen hat). In jedem Fall wird der Chip dann mit anderen Chips, diskreten Schaltungselementen und/oder anderen Signalverarbeitungsvorrichtungen als Teil entweder (a) eines Zwischenprodukts, wie ein Motherboard, oder (b) eines Endprodukts integriert. Das Endprodukt kann jedes Produkt sein, das „integrierte Schaltung”-Chips enthält, die von Spielzeug und anderen Low-End-Anwendungen bis hin zu fortgeschrittenen Computerprodukten mit einer Anzeige, einer Tastatur oder einer anderen Eingangsvorrichtung und einem zentralen Prozessor reichen.

Während Aspekte der Erfindung unter Bezugnahme auf zumindest ein beispielhaftes Ausführungsbeispiel beschrieben wurden, ist für Fachleute offensichtlich, dass die Erfindung nicht darauf beschränkt ist. Vielmehr ist der Umfang der Erfindung nur in Verbindung mit den beigefügten Ansprüchen zu interpretieren und es ist offensichtlich, dass der/die Erfinder der Meinung ist/sind, dass der beanspruchte Gegenstand die Erfindung ist.

ZITATE ENTHALTEN IN DER BESCHREIBUNG

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.

Zitierte Nicht-Patentliteratur

  • Babic, D.; Vesma, J.; Saramaki, T.; Renfors, M., ”Implementation of the transposed Farrow structure,” ISCAS 2002. IEEE International Symposium on Circuits and Systems, Vol. 4, Nr., S. IV-5, IV-8 Vol. 4 [0050]