[go: up one dir, main page]

DE112008003098B4 - Verfahren und Vorrichtung zur Berechnung von Interpolationsfaktoren in Abtastratenwandlungssystemen - Google Patents

Verfahren und Vorrichtung zur Berechnung von Interpolationsfaktoren in Abtastratenwandlungssystemen Download PDF

Info

Publication number
DE112008003098B4
DE112008003098B4 DE112008003098.7T DE112008003098T DE112008003098B4 DE 112008003098 B4 DE112008003098 B4 DE 112008003098B4 DE 112008003098 T DE112008003098 T DE 112008003098T DE 112008003098 B4 DE112008003098 B4 DE 112008003098B4
Authority
DE
Germany
Prior art keywords
input
clock
output
sampling clock
data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
DE112008003098.7T
Other languages
English (en)
Other versions
DE112008003098T5 (de
Inventor
Daniel A. Rosenthal
Cory A. Nazarian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Teradyne Inc
Original Assignee
Teradyne Inc
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 Teradyne Inc filed Critical Teradyne Inc
Publication of DE112008003098T5 publication Critical patent/DE112008003098T5/de
Application granted granted Critical
Publication of DE112008003098B4 publication Critical patent/DE112008003098B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0635Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/0685Non-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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0635Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/0642Non-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 arbitrary or irrational

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Analogue/Digital Conversion (AREA)
  • Complex Calculations (AREA)

Abstract

Verfahren (200) zur Ratenwandlung bzw. -konvertierung abgetasteter bzw. gesampelter Daten, das Folgendes aufweist:Empfangen (222) von Eingangsdaten, die gemäß einem Eingangsabtasttakt abgetastet wurden,Empfangen (224) eines Werts, der einen Ausgangsabtastwert anzeigt, der vom Eingangsabtasttakt um einen nicht ganzzahligen Wert abweicht;Bestimmen (226) der jeweiligen Verhältnisse zwischen jedem Eingangs- und Ausgangsabtasttakt und einem Prozessortakt, wobei jeder der Eingangs- und Ausgangstakte unabhängig vom Prozessortakt ist,Bestimmen (228) eines Interpolationsfaktors als eine Funktion des Eingangsabtasttaktes, des Ausgangsabtasttaktes und der bestimmten Verhältnisse zwischen jedem der Eingangs- und Ausgangsabtasttakte und dem Prozessortakt, undErzeugen (230) von Ausgangsdaten als eine Funktion der Eingangsdaten und des Interpolationsfaktors, wobei die Ausgangsdaten den Eingangsdaten entsprechen, die gemäß dem Ausgangsabtasttakt abgetastet wurden, wodurch die Eingangsdaten vom Eingangsabtasttakt auf den Ausgangsabtasttakt ratenumwandelt werden.

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung bezieht sich allgemein auf Digitalsignalverarbeitung und insbesondere auf das Konvertieren eines digitalen Signals bei einer ersten Abtast- bzw. Samplingrate in eine Darstellung des gleichen digitalen Signals bei einer zweiten Abtastrate.
  • HINTERGRUND DER ERFINDUNG
  • In vielen elektronischen Anwendungen werden Signale digital dargestellt und verarbeitet. Digitale Wörter oder Abtastwerte bzw. Samples stellen den Wert des Signals bei einem regelmäßigen Zeitintervall dar. Dieses regelmäßige Intervall wird oft als die Abtastrate bezeichnet und wird typischerweise in Hertz-Einheiten (Hz) ausgedrückt, die den Kehrwert der Abtastungsintervallzeitperiode darstellen. Das so dargestellte Signal kann keine Energie über der halben Abtastrate aufweisen; die Frequenz gleich der halben Abtastrate wird als die Nyquist-Frequenz bezeichnet.
  • Die digitale Abtastratenwandlung bzw. -konvertierung wird in vielen Arten von digitalen Systemen verwendet. Beispielsweise werden Audiosignale, wie sie beispielsweise beim Herstellen von Musikaufnahmen erzeugt werden, oft digital verarbeitet. Die zahlreichen Ausrüstungsgegenstände, die verwendet werden um die Signale zu verarbeiten und aufzunehmen, werden nicht immer mit der gleichen Abtastfrequenz arbeiten. Folglich ist es oft notwendig, dass jeder Ausrüstungsgegenstand ein digitales Signal annimmt, das mit einer ersten Rate abgetastet wurde, und es dann in ein digitales Signal mit einer zweiten Abtastrate konvertiert, bevor er es verarbeitet. Natürlich darf der Informationsgehalt des Signals durch die Abtastratenwandlung nicht merklich verändert werden, sonst wird die Klangqualität des Signals verschlechtert.
  • Ein sehr einfacher Weg eine Abtastratenwandlung zu erreichen ist es, einfach Abtastwerte bzw. Abtastungen aus dem ersten Signal wegfallen zu lassen. Die wellenform weist somit weniger Abtastwerte pro Sekunde auf und hat damit eine geringere Abtastrate. Angenommen das Nyquist-Kriterium wird durch das Ausgangs- bzw. Ausgabesignal erfüllt, ist es eine korrekte Darstellung des gleichen Signals wie des Eingangs bzw. der Eingabe. Dieser Prozess wird im Allgemeinen als „Dezimierung“ bezeichnet. Er ist jedoch auf Situationen beschränkt, in denen die Abtastrate des Eingangs ein ganzzahliges Vielfaches der Abtastrate des Ausgangs bzw. der Ausgabe ist.
  • Ein Prozess, der Interpolation genannt wird, kann verwendet werden, wenn die Abtastrate des Ausgangs ein ganzzahliges Vielfaches höher sein soll als die Abtastrate des Eingabesignals. In einer solchen Interpolationsoperation kann zunächst ein Zwischensignal erzeugt werden durch Füllen der Zeit zwischen den Abtastwerten des Eingangssignals mit Abtastwerten, denen willkürlich der Wert Null zugewiesen wird. Ein solches Zwischensignal wird als ein Signal „mit eingefügten Nullen“ oder „zerostuffed“-Signal bezeichnet. Da die Abtastwerte hinzugefügt werden, während die Zeitspanne beibehalten wird, weist das Signal mit eingefügten Nullen eine höhere Abtastrate auf als das Eingangssignal. Das Signal mit eingefügten Nullen, das eine höhere Frequenz hat, kann in einem digitalen Interpolationsfilter gefiltert werden, das die Unstetigkeiten glättet, die durch das Hinzufügen der zusätzlichen Abtastwerte verursacht werden. Das Ergebnis ist ein Digitalsignal, das die gleiche Form wie das Eingangssignal hat, jedoch mehr Abtastwerte pro Sekunde enthält.
  • Die Prozesse der Dezimierung und Interpolation können kombiniert werden. Beispielsweise könnte ein Schaltkreis um einen Faktor D dezimieren und um einen Faktor I interpolieren. Die sich ergebende Ausgabe hätte eine Abtastrate im Verhältnis von I/D zur Eingangsabtastrate. Ein derartiger Schaltkreis ist jedoch auf das Skalieren der Abtastrate durch eine rationale Zahl beschränkt. Noch wichtiger ist, dass es für ein digitales System praktische Grenzen für die Wertebereiche für D und I gibt. Der Dezimierungsfaktor D kann nicht so groß sein, dass das dezimierte Signal nicht mehr die Nyquist-Rate erfüllt. Zusätzlich kann der Interpolationsfaktor I nicht beliebig groß werden, da die erforderliche Komplexität des Interpolationsfilters zunimmt, wenn I größer wird (d.h. mehr Abgriffe bzw. Taps). Darüber hinaus wird angenommen, dass mindestens einer der verschiedenen Takte im Wesentlichen identisch zum Systemtakt (d.h. dem DSP-Takt bzw. Digitalsignalverarbeitungstakt) ist, oder zumindest in direkter Weise damit in Beziehung steht, wie beispielsweise mit dem Faktor 2. Das Beibehalten von Konsistenz zwischen den verschiedenen Abtastratentakten in derartigen Situationen verursacht eine Belastung für die Genauigkeit und die Komplexität der Hardware des Timing- bzw. Zeitsteuerungssystems.
  • JP H02 - 21 712 A beschreibt, dass eine Ausgabe-Sample-Folge dadurch erhalten wird, indem eine Prädiktionsberechnung auf ein Verhältnis von jedem von einem Eingangssamplezeitraum und einem Ausgangssamplezeitraum zu einem lokalen Taktzeitraum angewendet wird.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Fähigkeit, Daten in einem Drei-Takt-System präzise zu verarbeiten, gestattet eine Vereinfachung der Anforderungen für die echte Analogtakterzeugung unter Erhöhung der Komplexität der Digitalsignalverarbeitung. Im Allgemeinen sind Verringerungen der analogen Komplexität wünschenswert, das sie zu einer gesteigerten Systemzuverlässigkeit, größerer Flexibilität der Funktionalität und geringeren Systemkosten führen.
  • Hierin werden Systeme und Prozesse beschrieben, die gestatten, dass der Interpolationsfaktorp, der ein kritischer Parameter in Abtastratenwandlungssystemen ist, in einem Echtzeit-System berechnet wird, in dem eine komplexe Beziehung zwischen einem Digitalsignalverarbeitungstakt und den Datentakten besteht. Typischerweise werden zwei oder drei der Takte in einem solchen System einfache Beziehungen aufweisen (wie beispielsweise Takt 1 = 2 * Takt 2). Diese Beziehung führt zu abgeleiteten Fällen, in denen es tatsächlich nur zwei Takte gibt, die berücksichtigt werden müssen. Weiter gestatten die hierin beschriebenen Systeme und Verfahren, dass eine derartige Berechnung des Interpolationsfaktors mit Eingangsdatenraten auftritt, die höher sind als die Digitalsignalverarbeitungstaktrate. In zumindest einigen Ausführungsbeispielen kann eine beliebige Zeitverzögerung auf das Ausgangssignal angewendet werden.
  • Ein Ausführungsbeispiel der Erfindung bezieht sich auf einen Prozess zur Ratenkonvertierung abgetasteter Daten. Eingangsdaten, die gemäß einem Eingangsabtasttakt abgetastet wurden, werden empfangen. Ein Wert, der einen Ausgangsabtasttakt anzeigt, der vom Eingangsabtasttakt um einen Wert abweicht, der keine ganze Zahl sein muss, wird ebenfalls empfangen. Entsprechende Beziehungen werden zwischen jedem der Eingangs- und Ausgangsabtasttakte und einem Prozessortakt bestimmt. Jeder der Eingangs- und Ausgangstakte sind vom Prozessortakt unabhängig. Ein Interpolationsfaktor wird als eine Funktion des Eingangsabtasttaktes, des Ausgangsabtasttaktes und des Prozessortaktes bestimmt. Ausgangsdaten werden als eine Funktion der Eingangsdaten und des Interpolationsfaktors erzeugt, wobei die Ausgangsdaten den Eingangsdaten entsprechen, die gemäß dem Ausgangsabtasttakt abgetastet wurden.
  • Ein weiteres Ausführungsbeispiel der Erfindung bezieht sich auf ein System zum Konvertieren abgetasteter Daten von einer ersten Datenrate auf eine zweite Datenrate. Dies umfasst einen Ratenkonverter bzw. -wandler zum Empfangen von Eingangsdaten, die gemäß einem Eingangsabtasttakt abgetastet wurden, wobei der Ratenwandler konfiguriert ist, um Ausgangsdaten zu produzieren, die die Eingangsdaten anzeigen, die gemäß einem Ausgangsabtasttakt abgetastet wurden. Der Ratenwandler arbeitet mit einer Verarbeitungstaktrate, die sowohl von der Eingangsabtastrate als auch von der Ausgangsabtastrate unabhängig ist. Ein Akkumulationselement, das den Verarbeitungstakt empfängt, ist konfiguriert, um einen Zustand des Prozessortaktes zu überwachen und um jeweilige Verhältnisse von sowohl dem Eingangsabtasttakt als auch dem Ausgangsabtasttakt zum Prozessortakt zu bestimmen. Das System weist auch einen Interpolationsfaktorschaltkreis auf, der mit dem Akkumulationselement und dem Ratenwandler verbunden ist. Der Interpolationsschaltkreis ist konfiguriert, um von dem Akkumulationselement die jeweiligen Verhältnisse von sowohl dem Eingangsabtasttakt als auch dem Ausgangsabtasttakt zum Prozessortakt zu empfangen. Der Interpolationsschaltkreis ist auch konfiguriert, um einen Interpolationsfaktor als eine Funktion des Eingangsabtasttaktes, des Ausgangsabtasttaktes und des Prozessortaktes zu berechnen. Der Ratenwandler ist konfiguriert, um die Eingangsdaten in Ausgangsdaten als eine Funktion des Interpolationsfaktors zu konvertieren.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorhergehenden und andere Ziele, Merkmale und Vorteile der Erfindung werden aus der folgenden spezielleren Beschreibung von bevorzugten Ausführungsbeispielen der Erfindung offensichtlich werden, wie sie in den beigefügten Zeichnungen veranschaulicht sind, in denen sich gleiche Bezugszeichen über die verschiedenen Ansichten hinweg auf die gleichen Teile beziehen. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu, stattdessen wird Gewicht auf die Veranschaulichung der Prinzipien der Erfindung gelegt.
    • 1 ist ein Blockdiagramm, das ein Digitalisierungselement kombiniert mit einem Ausführungsbeispiel eines Abtastratenwandlers veranschaulicht.
    • 2 ist ein Blockdiagramm, das ausführlicher ein Ausführungsbeispiel eines Akkumulationselementes veranschaulicht, wie es in einem Abtastratenwandler verwendet werden kann.
    • 3 ist ein Zeitsteuerungs- bzw. Timingdiagramm, das ein Verhältnis zwischen verschiedenen Taktsignalen innerhalb eines Ausführungsbeispiels eines Abtastratenwandlers veranschaulicht.
    • 4 ist ein schematisches Diagramm, das ein Ausführungsbeispiel eines Formats eines Interpolationsfaktors veranschaulicht.
    • 5 ist ein Flussdiagramm, das ein Ausführungsbeispiel eines Prozesses zum Erreichen einer Abtastratenwandlung veranschaulicht.
    • 6 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Schaltkreises zum Bestimmen eines Interpolationsfaktors veranschaulicht, wie er in einem Abtastratenwandler verwendet werden kann.
    • 7 ist eine diagrammartige Darstellung von Registern, wie sie in dem Ausführungsbeispiel des Interpolationsfaktorschaltkreises der 6 verwendet werden können.
    • 8 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Digitalisierungsabtastratenwandlers veranschaulicht.
    • 9 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Quellenabtastratenwandlers veranschaulicht.
    • 10 ist ein schematisches Diagramm, das ein Ausführungsbeispiel des Interpolationsfaktorberechnungsschaltkreises von 8 oder 9 veranschaulicht.
    • 11 ist ein schematisches Diagramm, das ein Ausführungsbeispiel der Dual-Akkumulationselemente der 10 veranschaulicht.
    • 12 ist ein Blockdiagramm, das ein Ausführungsbeispiel des Akkumulationselementes und des Interpolationsberechnungsschaltkreises, der gemäß der vorliegenden Erfindung ein zweites Akkumulationselement aufweist, veranschaulicht.
    • 13 ist ein Blockdiagramm, das ein alternatives Ausführungsbeispiel eines Berechnungselementes zum Bestimmen eines Interpolationsfaktors aufweist.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Systeme und Prozesse zum Konvertieren von Daten mit einer Abtastrate in Daten mit einer zweiten Abtastrate werden hierin beschrieben. Im Stand der Technik setzen Implementierungen von Abtastratenwandlungssystemen einen Digitalsignalverarbeitungstakt ein, der gleich der Ausgangsabtastrate ist oder in einer direkten Verhältnis zu ihr steht, wie beispielsweise ein ganzzahliges Vielfaches davon ist. Vorteilhafterweise gestatten das hierin beschriebene System und die hier beschriebenen Techniken einen Systemverarbeitungstakt, der ein nicht triviales M/N-Verhältnis zur Ausgangsabtastrate aufweist. Zum Beispiel können M und N sehr große ganze Zahlen sein. In zumindest einigen Ausführungsbeispielen kann auch eine programmierbare Zeitverzögerung (die einen beliebigen Bereich und eine beliebige Auflösung aufweist) auf das Ausgangssignal angewendet werden.
  • Im Allgemeinen können die hierin beschriebenen Techniken auf jedes Echtzeit-System angewendet werden, das feste Wandlerfrequenzen und variable (oder sogar feste, aber verschiedene) Signaldatenraten aufweist. Die Verwendung des Ausdruckes Wandler umfasst allgemein Analog-Digital-Wandler bzw. ADC (ADC = analog-to-digital converter) und Digital-Analog-Wandler bzw. DAC (DAC = digitalto-analog converter), abhängig von der bestimmten Anwendung. In einem Quellenmodus beispielsweise liefert ein Digital-Analog-Wandler bzw. D/A-Wandler ein analoges Ausgangsstimulus- oder -impulssignal, das aus einer synthetisierten digitalen Darstellung des Stimulus- oder Impulssignals erhalten wurde. Alternativ konvertiert bzw. wandelt ein Analog-Digital-Wandler bzw. A/D-Wandler in einem Detektormodus ein empfangenes analoges Antwortsignal, wie es von einer Vorrichtung, die getestet wird, erhalten werden kann, in eine digitale Darstellung des empfangenen Antwortsignals zur weiteren Verarbeitung durch ein Testsystem. In jedem Fall würde wahrscheinlich eine dritte Systemtaktfrequenz eingesetzt werden, beispielsweise zur Digitalsignalverarbeitung, wobei die dritte Systemtaktfrequenz nicht -notwendigerweise mit entweder der Wandlerfrequenz oder der Signaldatenrate in einem Verhältnis steht. Andere Anwendungen weisen Abtastratenwandlungssysteme auf, in denen die bekannte Wandlerabtastrate in keinem Verhältnis zu dem bekannten Systemtakt oder Verarbeitungstakt steht.
  • Abtastratenwandlungstechniken, wie sie hierin beschrieben werden, gestatten es Nutzern, Basisbandwellenformen mit einer Rate (d. h. einem Timing) zu definieren, die eine große Breite und feine Auflösung im Verhältnis zu einer festen Taktrate haben, mit der die tatsächlichen Wandler arbeiten (z. B. die Wandlertaktrate). Diese Abtastratenwandlung kann erreicht werden durch Bestimmen eines nicht ganzzahligen Interpolationsfaktors basierend auf den Verhältnissen der drei unterschiedlichen Takte: des Wandlertaktes; des Nutzertaktes; und des System- oder Digitalsignalverarbeitungstaktes. Der Interpolationsfaktor wird von einem Interpolationsfilter verwendet. Beispielhafte Interpolationsfilter umfassen einen Mehrphasen-FIR-Filter bzw. mehrphasigen Filter mit endlicher Impulsantwort und ein Linearinterpolationselement auf der Quelle, und eine Kombination eines Mehrphasen-FIR-Filters, Linearinterpolationselementes und eines dezimierenden FIR-Filters auf dem Digitalisierungselement. Diese Filterkonfigurationen bringen eine gewünschte Ratenwandlung innerhalb eines Systems, das mit einer nicht im Verhältnis stehenden Prozessor- oder Digitalsignalverarbeitungstaktrate läuft.
  • Der Betrieb des Resamplers bzw. des Neuabtastungselementes ist dem Nutzer im Wesentlichen klar, so dass sich das Resampler-Instrument so verhält, als enthielte es einen herkömmlichen beliebigen Wellenformgenerator und ein Digitalisierungselement, wobei die Wandler mit entweder der Eingangs- oder der Ausgangstaktrate arbeiten. Daher hat der Resampler keine Kenntnis von besonderen Ereignissen, wie beispielsweise von einem Startbefehl, Nutzertaktrücksetzungsbefehlen und Ähnlichem, Abtastwertgrößen oder Signaleinhalt, außer den Bandbreiteneinschränkungen. Alle Fehler, die durch den Resampling-Prozess eingeführt werden, liegen unterhalb der Spezifikation des Spurious Free Dynamic Range (SFDR) bzw. des störungsfreien dynamischen Bereichs. Der Resampler ist bezüglich Eingangs- und Ausgangsfrequenzen relativ flexibel; die Resampling-Verhältnisse werden durch einen externen virtuellen Taktgenerator gesteuert, der für die verschiedenen Taktungsszenarien angepasst sein könnte.
  • In 1 weist ein Blockdiagramm eines Ausführungsbeispiels eines Resamplers 100 gemäß der vorliegenden Erfindung einen Ratenwandler 102, ein Akkumulationselement 104 und ein Interpolationsfaktormodul 106 auf. Auch ist ein Analog-Digital-Wandler 108 veranschaulicht, der an den Eingang des Resamplers 100 gekoppelt ist. Der Analog-Digital-Wandler 108 empfängt ein Eingangsanalogsignal S(t) und tastet es gemäß einer Eingangsabtastrate oder einem Wandlertakt ab, was hierein als ein erster Taktbereich oder eine erste Taktdomäne bezeichnet wird. Eine Dauer oder Periode des Eingangsabtastzyklus' ist als TRSI veranschaulicht. Der Ratenwandler 102 empfängt die abgetastete digitale Darstellung des Eingangssignals S(n) im ersten Wandlertaktbereich und konvertiert sie in eine Ausgangsdarstellung des gleichen Eingangssignals, aber in einem zweiten Nutzertaktbereich. Im Allgemeinen hat der zweite Taktbereich oder die zweite Taktdomäne eine Ausgangsabtastrate, die vom ersten Taktbereich verschieden ist. Eine Dauer oder Periode des Ausgangsabtastzyklus' ist als TRSO veranschaulicht. Die zwei Taktbereiche oder -domänen stehen praktisch nicht miteinander in Beziehung. Tatsächlich können sie voneinander um ein nicht ganzzahliges Verhältnis von zwei sehr großen Zahlen abweichen. Ein wichtiger Vorteil, der durch die vorliegende Erfindung geboten wird, ist dass der Ratenwandler 102 gemäß noch einem weiteren Verarbeitungstakt arbeitet, der hierein als ein dritter Taktbereich oder eine dritte Taktdomäne bezeichnet wird, der bzw. die als ein Systemtaktbereich oder Digitalsignalverarbeitungstaktbereich bezeichnet wird. Eine Dauer oder Periode des Prozessortaktzyklus' ist als TDSP veranschaulicht.
  • Das Akkumulationselement 104 empfängt mehrere Werte, oder diese sind vorgeladen. Ein solcher Wert stellt die Ausgangsabtastrate dar. Im Beispiel ist dieser Wert die Dauer oder Periode der Ausgangsabtastrate TRSO. Alternativ oder zusätzlich könnte die Ausgangsabtastfrequenz FRSO (d.h. das Inverse von TRSO) in das Akkumulationselement 104 vorgeladen sein. Ein weiterer derartiger vorgeladener Wert stellt die Eingangsabtastrate dar. Im Beispiel ist dieser Wert die Dauer oder Periode der Eingangsabtastrate TRSI (oder die Eingangsabtastfrequenz FRSI). Noch ein weiterer Wert, der in das Akkumulationselement 104 vorgeladen sein kann ist eine Dauer oder Periode des Prozessortaktes TDSP (oder die Prozessortaktfrequenz FDSP).
  • Der Akkumulator 104 verarbeitet einen oder mehrere der vorgeladenen Werte mit einer Digitalsignalverarbeitungstaktrate (DSP CLK), um mehrere Ausgangswerte zu erzeugen. Die Ausgangswerte weisen primär Bruchwerte auf, die ein Verhältnis zwischen den verschiedenen Taktbereichen oder -domänen anzeigen. Ein solcher Bruchwert FRACRSI wird aus einem Verhältnis der Eingangsabtastrate zum Prozessortakt erhalten. Ein weiterer derartiger Bruchwert FRACRSO wird aus einem Verhältnis der Ausgangstaktrate zum Prozessortakt erhalten. Die Periode und/oder Frequenz der Eingangs- und Ausgangstakte (TRSI, FRSI, TRSO, FRSO) können auch als Ausgangswerte vorgesehen werden. In dem veranschaulichenden Beispiel liefert das Akkumulationselement FRSI und TRSO als Ausgangswerte. In manchen Ausführungsbeispielen kann das Akkumulationselement 104 auch eine oder mehrere zusätzliche Eingaben empfangen, wie beispielsweise eine externe Timing- bzw. Zeitsteuerungsreferenz TREF und ein Reset- bzw. Rücksetzungssignal TRESET. Das Akkumulationselement 104 kann periodisch die Ausgangswerte FRACRSI, FRACRSO, FRSI, TRSO aktualisieren. Zum Beispiel werden in einigen Ausführungsbeispielen die Ausgangswerte durch das Akkumulationselement 104 während jedes Zyklus des Prozessortaktes TDSP aktualisiert.
  • Das Interpolationsfaktormodul oder der Interpolationsfaktorschaltkreis 106 empfängt die Ausgangswerte FRACRSI, FRACRSO, FRSI, TRSO vom Akkumulator 104 und leitet einen Interpolationsfaktor p aus einem oder mehreren der empfangenen Werte ab. Das Interpolationsfaktormodul 106 kann auch einen oder mehrere der Eingänge verarbeiten, um einen Ausgang gemäß dem Prozessortakt TDSP zu erzeugen. Der Ratenwandler 102 empfängt den Interpolationsfaktor p vom Interpolationsfaktormodul 106 und verwendet diesen Wert, um die erwünschte Abtastratenwandlung auszuführen.
  • In manchen Ausführungsbeispielen empfängt das Interpolationsfaktormodul 106 auch einen Verzögerungseingangswert TDELAY. Der Verzögerungswert kann von einem Nutzer geliefert werden, um einen Versatz zwischen den unterschiedlichen Taktbereichen oder -domänen einzuführen. Der Verzögerungswert kann auch verwendet werden, um beliebig das ausgegebene abgetastete Signal bezüglich des eingegebenen abgetasteten Signals zu verzögern. Die maximale Verzögerung, die von einem realisierbaren System vorgesehen werden kann, wird zumindest zu einem gewissen Ausmaß von den Vorgaben des bestimmten Ausführungsbeispiels abhängen. Beispielsweise kann ein Look-Ahead-Puffer bzw. vorausblickender Puffer umfasst sein, um solche Verzögerungswerte aufzunehmen, wie unten ausführlicher beschrieben wird. In solchen Ausführungsbeispielen kann die Tiefe des Look-Ahead-Puffers basierend auf der längsten angenommenen Verzögerung bestimmt werden. Längere Verzögerungen erfordern tiefere Look-Ahead-Puffer.
  • In 2 weist ein Ausführungsbeispiel eines Akkumulationselementes 150 gemäß der vorliegenden Erfindung, beispielsweise das in 1 gezeigte Akkumulationselement 104, ein Akkumulationsregister 152 auf. Das Akkumulationsregister 152 speichert einen Wert N, der mit jedem Prozessortaktzyklus erhöht wird. Der Wert von N kann eine binäre ganze Zahl sein, die nach jedem Prozessortaktzyklus um Eins erhöht wird. Der Wert von N kann auf den Empfang eines Reset- bzw. Rücksetzungssignals RESET an einem Reset- oder Rücksetzungseingang hin auf Null oder auf einen anderen Wert zurückgesetzt werden. Das Akkumulationselement 150 weist auch Register zum Speichern verschiedener Werte auf, wie beispielsweise ein Prozessorregister 154 zum Speichern eines Wertes, der die Prozessortaktdauer TDSP anzeigt, ein Eingangstaktbereichsregister 156 zum Speichern eines Wertes, der die Eingangsabtastdauer TRSI anzeigt, und ein Ausgangstaktbereichsregister 158 zum Speichern eines Wertes, der die Ausgansabtastdauer TRSO anzeigt. Die.Werte des Akkumulationsregisters 152 und die Prozessortaktdauer TDSP werden an ein Multiplikationselement 160 geliefert, das die Werte miteinander multipliziert und den sich ergebenden Wert TN in einem Prozessorzeitregister 162 speichert. Der gespeicherte Prozessorzeitwert TN wird an einen ersten Modulo-Arithmetik-Prozessor 164a geliefert zusammen mit dem TRSI Wert, der in dem Eingangstaktbereichsregister 156 gespeichert ist. Das Ergebnis der ersten Modu-Io-Operatiori ist FRACRSI, ein Bruchteilswert des Verhältnisses der zwei Werte TN und TRSI. Der sich ergebende Wert FRACRSIwird in einem Eingangsphasendiffe-renzregister 166 gespeichert. Auf ähnliche Weise wird auch der gespeicherte Pro-zessorzeitwert TN an einen zweiten Modulo-Arithmetik-Prozessor 164b geliefert zusammen mit dem TRSO-Wert, der in dem Ausgangstaktbereichsregister 158 gespeichert ist. Das Ergebnis der zweiten Modulo-Operation ist FRACRSO, ein Bruchteilswert des Verhältnisses der zwei Werte TN und TRSO. Der sich ergebende Wert FRACRSO wird in einem Ausgangsphasendifferenzregister 168 gespeichert.
  • In einigen Ausführungsbeispielen wird ein Inverses des im Eingangstaktbereichsregister 156 gespeicherten Wertes in einem Eingangstaktbereichsfrequenzregister 170 gespeichert. Auf ähnliche Weise wird in einigen Ausführungsbeispielen ein inverser Wert, der in dem Ausgangstaktbereichsregister 158 gespeichert ist, in einem Ausgangstaktbereichsfrequenzregister 172 gespeichert. Einer oder mehrere der gespeicherten Registerwerte FRACRSI, FRACRSO, FRSI, FRSO können an das Interpolationsfaktormodul 106 weitergeleitet werden (1). In dem veranschaulichenden Ausführungsbeispiel werden vier Werte an das Interpolationsfaktormodul 106 weitergeleitet: FRACRSI, FRACRSO, FRSI und TRSO.
  • Ein Timing- oder Zeitablauf-Diagramm, das ein beispielhaftes Verhältnis zwischen den verschiedenen Timing-Signalen gemäß der vorliegenden Erfindung veranschaulicht, ist in 3 veranschaulicht. Das Diagramm zeigt eine mögliche Beziehung zwischen den drei Takten, die von Interesse sind (obwohl der beschriebene Prozess auf beliebige Verhältnisse zwischen den Takten anwendbar ist). Insbesondere ist ein Abschnitt eines Prozessortaktes 200, der manchmal als ein Digitalsignalverarbeitungstakt bezeichnet wird, mit einer Dauer oder Periode TDSP gezeigt. Direkt unter dem Digitalsignalverarbeitungstakt ist ein überlappender Teil eines Eingangsabtasttaktes 202, der manchmal als ein Resampler-Eingangstakt bzw. „Resampler In Clock“ bezeichnet wird, mit einer Dauer oder Periode TRSI gezeigt. Schließlich ist am unteren Ende der Figur ein überlappender Abschnitt eines Ausgangsabtasttaktes 204, der manchmal als Resampler-Ausgangstakt bzw. „Resampler Out Clock“ bezeichnet wird, mit einer Dauer oder Periode TRSO gezeigt.
  • Der FRAC-Term wird verwendet, um die Zeit zu beschreiben, die von einem Ereignis zum nächsten Taktzyklus gemessen wird, im Gegensatz zum „Rest“, der sich aufgrund gewisser Konventionen auf die nach vorne gerichtete Zeit von einem Taktzyklus zum nächsten Ereignis bezieht. Die FRAC-Werte sind mit Bezug auf den Digitalsignalverarbeitungstakt vorgesehen, der von einem Takterzeugungsabschnitt erhalten wird, wie unten ausführlicher beschrieben wird. Somit ist FRACRSI die Zeit von einem Resampler-Eingangstaktereignis nach vorne blickend zum nächsten Digitalsignalverarbeitungstaktereignis. Auf ähnliche Weise ist FRACRSO die Zeit von einem Resampler-Ausgangstaktereignis nach vorne blickend zum nächsten Digitalsignalverarbeitungstaktereignis.
  • In einigen Ausführungsbeispielen berechnet das Interpolationsfaktorberechnungsmodul 106 (1) den Interpolationsfaktor p aus dem FRACRSI-Wert. des Wandlertaktes (Resampler-Eingang, TRSI) und dem FRACRSO des Nutzertaktes (Resampler-Ausgang, TRSO). Der Interpolationsfaktor ist definiert durch p = T x / T R S I
    Figure DE112008003098B4_0001
    Tx wird aus den FRAC-Werten abgeleitet durch T x = T R S O ( F R A C R S O F R A C R S I )
    Figure DE112008003098B4_0002
    wie aus der relativen Anordnung der Taktsignale, die in 3 veranschaulicht sind, zu sehen ist.
  • Der Wert von p, dem Interpolationsfaktor, kann aus den Resampler-Eingangs- und Resampler-Ausgangszeitakkumulationselementwerten FRACRSI und FRACRSO abgeleitet werden: p = T R S O F r a c R S O + F r a c R S I + T D E L A Y T R S I ,
    Figure DE112008003098B4_0003
    wobei TDELAY eine beliebige Verzögerung ist, die entsprechend einer beabsichtigten Anwendung eingeführt werden kann; F r a c R S O = T N T R S O ;
    Figure DE112008003098B4_0004
    F r a c R S I = T N T R S I .
    Figure DE112008003098B4_0005
  • Das Symbol ⊕ bezeichnet den Modulo-Operator. In einem Abtastratenwandlungssystem wird der ganzzahlige Teil von p als ein Eingangsdaten-Look-Ahead bzw. eine Eingangsdaten-Vorausschau interpretiert, und der Bruchteil wird als das Eindringen des aktuellen Ausgangstaktzyklus in den aktuellen Eingangstaktzyklus interpretiert. Ein Ausführungsbeispiel eines Interpolationsfaktors 210 ist in 4 veranschaulicht. Der Interpolationsfaktor 210 kann eine Anzahl von Positionsstellen aufweisen (d. h. Bits bei einem binären System), die so angeordnet sind, dass sie einen ganzzahligen Teil bzw. Vorkommateil 212 und einen Bruchteil bzw. Nachkommateil 214 aufweisen, die durch einen Radixpunkt 215 getrennt sind. Der Bruchteil 214 des Interpolationsfaktors 210 ist weiter unterteilt in einen oberen Bruchteil 216, der die höherwertigen Positionsstellen bzw. -ziffern (d. h. oberen Bits) des Bruchteils 214 des Interpolationsfaktors 210 aufweist, und in einen unteren Bruchteil 218, der die niedrigerwertigen Positionsstellen bzw. -ziffern (niedrigere Bits) des Bruchteils 214 des Interpolationsfaktors 210 aufweist. Die bestimmte Anzahl der Positionsstellen kann abhängig von der beabsichtigten Anwendung variieren. Manche Ausführungsbeispiele, wie beispielsweise die, die keinen Look-Ahead-Puffer aufweisen, weisen keinen ganzzahligen Teil 212 auf, da er nicht notwendig ist.
  • In einem Abtastratenwandlungssystem, das einen Mehrphasenfilter und ein Linearinterpolationselement einsetzt, wird der Interpolationsfaktor 210 als eine binäre Zahl implementiert, in der die oberen Bits 216 des Bruchteils 214 von p als die Mehrphasen-Sub-Filter-Zahl interpretiert wird, und in der die unteren Bits 218 des Bruchteils 214 von p als der Linearinterpolationsfaktor interpretiert werden. Der ganzzahlige Teil 212 kann, wenn er vorliegt, als ein Look-Ahead-Wert bzw. vorausschauender Wert interpretiert werden. Für einen beispielhaften Wert von p mit einer Genauigkeit von 24 Bits kann der ganzzahlige Teil 212 3 Bits aufweisen, der höchstwertige Bruchteil 216 kann 9 Bits aufweisen und der niedrigstwertige Bruchteil 218 kann 12 Bits aufweisen.
  • In 5 ist ein Flussdiagramm gezeigt, das einen beispielhaften Prozess 220 zum Ausführen einer Abtastratenumwandlung gemäß der vorliegenden Erfindung anzeigt. In einem ersten Schritt 222 werden abgetastete Eingangsdaten mit einer Eingangsabtastdatenrate TRSI empfangen. Im nächsten Schritt 224 wird ein Wert, der mit einer Nutzerausgangsabtastrate TRSO in Beziehung steht, empfangen. In manchen Ausführungsbeispielen kann dieser Wert von einem Nutzer programmiert sein. Beim Schritt 226 werden Phasenverhältnisse zwischen jeder der Eingangs- und Ausgangsabtastraten oder -bereiche und einem Prozessortakt oder -bereich bestimmt. Diese Phasenverhältnisse können als die Bruchwerte FRACRSI und FRACRSO dargestellt werden, die oben mit Bezug auf die 3 beschrieben wurden. In einem nachfolgenden Schritt 228 wird ein Interpolationsfaktor p aus den bestimmten Phasenverhältnissen FRACRSI, FRACRSO und den Eingangstaktbereichs- und Ausgangstaktbereichswerten TRSI, TRSO bestimmt. Sobald er erhalten wurde, kann der Interpolationsfaktor p in einem nachfolgenden Schritt 230 verwendet werden, um abgetastete Ausgangsdaten zu erzeugen, die die abgetasteten Eingangsdaten anzeigen, die auf die Ausgangsabtastdaten resampled bzw. neu abgetastet sind.
  • In 6 ist ein Blockdiagramm eines beispielhaften Schaltkreises 240 zum Bestimmen eines Interpolationsfaktors veranschaulicht, wie beispielsweise das Interpolationsfaktormodul 106 (1). Der Interpolationsfaktorschaltkreis 240 weist ein Vorzeichenumkehr- bzw. -inversionselement 242 auf, das ein Vorzeichen eines digitalen Eingangswertes i_frac_rso umkehrt, welcher den FRACRSO-Wert anzeigt. Der Betrieb des Vorzeichenumkehrelementes 242 würde von der Art und Weise abhängen, auf die die digitalen Daten gespeichert werden. Der digitale Eingangswert mit umgekehrtem Vorzeichen i_frac_rso(FRACRSO) wird dann kombiniert mit dem digitalen Eingangswert i_frac_rsi, der FRACRSI anzeigt, und mit dem digitalen Eingangswert i_t_rso, der TRSO anzeigt, und zwar in einem Kombinationselement, wie dem gezeigten Summierer 244. Der Ausgangswert des Summierers 244 ist ein digitales Wort, das den Wert Tx anzeigt (3). Der Interpolationsfaktorschaltkreis 240 weist auch ein Multiplikationselement 246 auf, der das digitale Wort, das den Wert Tx anzeigt, mit einem digitalen Eingangswert i_f_rsi multipliziert, der FRSI anzeigt. In manchen Ausführungsbeispielen weist der Interpolationsfaktorschaltkreis 240 statt dem Multiplikationselement 246 ein Divisionselement auf. In solchen Ausführungsbeispielen würde der i_f_rsi-Wert durch den Wert TRSI ersetzt werden, was das Inverse von i_f_rsi ist, wie in 10 gezeigt ist. Der Wert, der vom Multiplikationselement (Divisionselement) ausgegeben wird, ist der Interpolationsfaktor p.
  • In 7 ist eine diagrammartige Darstellung von beispielhaften Registern veranschaulicht, die im Interpolationsfaktorschaltkreis der 6 verwendet werden. In manchen Ausführungsbeispielen hat die p-Verhältnisberechnung einen 40-Bit-Eingang, der aus der Tx-Berechnung folgt, der hier mit 15 Ganzzahl-Bits bzw. Vorkommabits und 25 Bruch-Bits bzw. Nachkommabits gezeigt ist. Die p-Verhältnisberechnung hat auch einen 40-Bit-Eingang vom FRSI-Wert, von dem 2 Bits ganzzahlig bzw. Vorkommabits sind und 38 Bits Bruchbits bzw. Nachkommabits sind. Eine 25-Bit-genaue Multiplikation kann wie gezeigt von diesen zwei 40-Bit-Eingängen ausgeführt werden. Ein Hardware-Multiplikationselementblock, der kommerziell von der Altera Corp. aus San Jose, CA erhältlich ist, sieht eine 36-Bit-genaue Multiplikation vor, was für diesen Zweck ausreichend ist.
  • In 8 ist ein Blockdiagramm eines Ausführungsbeispiels eines Ratenwandlungsdigitalisierungselementes 300 gezeigt. Das Ratenwandlungsdigitalisierungselement 300 weist einen Look-Ahead-Puffer 302 auf, der abgetastete Eingangsdaten i_converter_data [23:0] aufnimmt. Der Look-Ahead-Puffer 302 weist einen oder mehrere Ausgänge auf, die an einen oder mehrere digitale Filter gekoppelt sind. Zum Beispiel weist der Look-Ahead-Puffer 302 einen ersten Ausgang an ein Mehrphasen-Filter 304 und einen zweiten Ausgang an ein Deltafilter 306 auf. Jedes der Filter 304, 306 empfängt einen jeweiligen Eingang von dem Look-Ahead-Puffer 302. Die Filterausgänge werden in ein Linearinterpolationselement 308 eingegeben, das eine Ausgabe an ein dezimierendes FIR-Tiefpassfilter vorsieht. In manchen Ausführungsbeispielen werden Teile des Ratenwandlungskonvertierungselementes 300 im Wesentlichen dupliziert, was mehr als einen Pfad bildet, so wie beispielsweise getrennte Hochfrequenz- und Niedrigfrequenzpfade, von denen jeder auf die jeweiligen Betriebsparameter zugeschnitten ist. Wenn mehr als ein Pfad vorgesehen ist (nicht gezeigt), wird ein Multiplexer oder eine andere geeignete Auswahlvorrichtung verwendet, um zwischen den unterschiedlichen Pfaden auszuwählen. In manchen Ausführungsbeispielen kann eine solche Auswahlvorrichtung konfiguriert sein, um einen Umgehungspfad auszuwählen, der die Ratenwandlungsverarbeitung im Wesentlichen umgeht.
  • Ein Interpolationsfaktorberechnungsmodul 312 ist ebenfalls enthalten. Das Interpolationsfaktorberechnungsmodul 312 empfängt vier digitale Eingangswerte von einem oder mehreren (nicht gezeigten) Akkumulationselementen, wie beispielsweise: i_frac_rsi [39:0], das FRACRSI anzeigt; i_frac_rso [32:0], das FRACRSO anzeigt; i_f_rsi [39:0], das FRSI anzeigt; und i_t_rso [32:0], das TRSO anzeigt. Das Interpolationsfaktorberechnungsmodul 312 liefert einen Interpolationsfaktor p als eine Ausgabe, die aus den verschiedenen Eingangswerten berechnet ist. Jegliche Komplexität dieser Funktion auf dem Ratenwandlungsschaltkreis gründet auf der Tatsache, dass die Digitalisierungselement-Digitalsignalverarbeitungstakt vom Wandlertakt unterschiedlich sein kann. In manchen Ausführungsbeispielen wird zumindest ein Teil bzw. Abschnitt des Interpolationsfaktors an den Look-Ahead-Puffer 302, das Mehrphasenfilter 304, das Deltafilter 306 und das Linearinterpolationselement 308 geleitet. Der Interpolationsfaktor p stellt die Position des Ausgangsabtasttaktes oder des Nutzertaktes im Verhältnis zum Eingangsabtasttaktzyklus oder Wandlertaktzyklus (beispielsweise Analog-Digital-WandlerTaktzyklus). Die oberen Bits des Nachkomma- bzw. Bruchteils des Interpolationsfaktors p können verwendet werden, um aus dem Mehrphasen- und Deltafiltersatz 304, 306 auszuwählen. Die unteren Bits des Nachkomma- bzw. Bruchteils des Interpolationsfaktors p können verwendet werden, um das Linearinterpolationselement 308 zu skalieren. In dem Ratenwandlungsdigitalisierungselement 300 wird der Vorkomma- bzw. Ganzzahlteil von p als Daten-Look-Ahead interpretiert. Somit wird ein Ganzzahlteil des Interpolationsfaktors p an den Look-Ahead-Puffer 302 weitergeleitet, ein erster Bruch- bzw. Nachkommateil, die höchstwertigsten Bits, eines Bruchteils des Interpolationsfaktors wird an die Mehrphasen- und Deltafilter 304, 306 geleitet und ein zweiter Bruch- bzw. Nachkommateil, die niedrigstwertigsten Bits, des Bruchteils des Interpolationsfaktors wird an das Linearinterpolationselement 308 geleitet.
  • Der gesamte oder zumindest ein Teil des Ratenwandlungsdigitalisierungselementes 300 kann als ein FPGA (FPGA = field-programmable gate array) bzw. eine feldprogrammierbare Gatteranordnung implementiert werden, der Digitalsignalverarbeitungstechniken verwendet, die dem Fachmann bekannt sind. Eines oder mehrere der Mehrphasenfilter 304, Deltafilter 306 und jeglicher anderer Filter, wie beispielsweise ein Tiefpassfilter oder Anti-Aliasing-Filter können digitale Filter sein. Als digitale Filter sind sie zumindest teilweise durch Filterkoeffizienten definiert. Solche Filterkoeffizienten können gemäß Standardkonstruktionspraktiken für die Konstruktion digitaler Filter bestimmt werden. Zum Beispiel hat das Mehrphasenfilter 304 16 Taps bzw. Abgriffe und 512 Phaseneinstellungen, was zu 8192 Koeffizienten führt. Lokale Speicher 318a, 318b, 318c (allgemein 318) zum Speichern der Filterkoeffizienten sind vorgesehen. Die Konfiguration oder das Layout des Koeffizientenspeichers 318 kann für die Verwendung der verfügbaren Speicherblöcke optimiert werden. Diese Speicherblöcke werden bei der FPGA-Konstruktion als ROM (ROM = read-only memory) bzw. Nur-Lese-Speicher behandelt, so dass kein expliziter Steuerschaltkreis notwendig ist, um sie zu laden.
  • Das Ratenwandlungsdigitalisierungselement 300 wandelt bzw. konvertiert Daten von einem Analog-Digital-Wandler mit fester Abtastrate mittels eines M/N-Interpolationsmehrphasenfilters 304, eines Linearinterpolationselementes 308 und eines Dezimierungs-FIR-Filters. Die Theorie und der Betrieb des Mehrphasenfilters, des Linearinterpolationselementes und des Dezimierungs-FIR-Filters sind dem Fachmann bekannt. Siehe beispielsweise Kapitel 10, Introduction to Digital Signal Processing, von J.G. Proakis und D.K. Manolakis, 2. Auflage, 1992, das hierin in seiner Gesamtheit durch Bezugnahme mit aufgenommen sei.
  • Die Look-Ahead-Leitung 302 gestattet, wenn sie vorgesehen ist, Interpolationsfak-torwerte, die größer als Eins sind. In einigen Ausführungsbeispielen speichert die Look-Ahead-Leitung 302 einfach einen oder mehrere zusätzliche Abtastwerte in einer Mehrphasenfiltereingangsverzögerungsleitung, und bietet somit die Möglichkeit, ein oder mehrere Abtastungen „vorherzusehen“, wenn dies notwendig ist. Der Vorkommateil bzw. Ganzzahlteil des Interpolationsfaktors steuert einen Multiplexer, um den geeigneten Datensatz auszuwählen.
  • Das Linearinterpolationselement kann implementiert werden durch Bestimmen (z. B. Berechnen) des aktuellen Mehrphasenfilterausgangs und des Ausgangs eines zukünftigen Koeffizientensatzes, und dann Berechnen eines Mittelwertes dieser zwei Werte, gewichtet mit dem Feininterpolationsfaktor. Um Multiplikationselementressourcen einzusparen, kann diese Funktion wie gezeigt als ein Deltafilter 306 implementiert sein. In dieser Implementierung ist die Differenz zwischen den Koeffizientensätzen vorberechnet, was zu einem geringen Differenzwert führt, der mit einem kleinen Multiplikationselement verarbeitet werden kann anstatt mit einem normal großen Multiplikationselement.
  • In manchen Ausführungsbeispielen wird ein analoges Eingangssignal zunächst durch einen (nicht gezeigten) analogen Anti-Aliasing-Filter bandbegrenzt. Eine Konstruktionseinschränkung für den analogen Filterungssperrbereich ist, dass im Wesentlichen keine Analog-Digital-Alias-Signale unter dem höchsten Dezimierungs-FIR-Sperrbereich auftreten können. In diesem Fall wäre diese Frequenz genau A/D Nyquist.
  • Eine Ratenwandlungsquellenkonfiguration 340 ist in 9 veranschaulicht. Eine Quellenkonfiguration bezieht sich auf die Abtastungswandlung bzw. -konvertierung, bei der die Ratenwandlungsquelle 300 Nutzerdaten mit einer Rate Fuser aufnimmt und Daten mit einer Modulationsquellen- oder Wandlerrate erzeugt. Die Theorie und die Implementierung des Quellen-Resamplers sind ähnlich denen des Ratenwandlungsdigitalisierungselementes 300 (8), wobei es mindestens drei Hauptunterschiede gibt. Erstens kann die Anzahl der Filtertaps bzw. -abgriffe abweichen; die Filterkoeffizientenwerte können abweichen; und es gilt, dass die Resampler-Ausgangsfrequenz ein aliquoter Teil der Digitalsignalverarbeitungstaktrate sein kann (z. B. FDSP = N FRSO). Der letzte Unterschied vereinfacht die Ratenwandlungsquellenarchitektur dadurch, dass der Interpolationsfaktor p ein positiver Wert kleiner Eins ist, d. h. 0 ≤ p ≤ 1.
  • In dem Ausführungsbeispiel wird der digitale Wert i_user_date [23:0] empfangen, der Nutzerdaten mit der Rate Fuser anzeigt. Die Nutzerdaten können in einer Look-Ahead-Leitung 342 aufgenommen werden, wie gezeigt ist. Die Quellenkonfiguration 340 weist auch ein Mehrphasenfilter 344, ein Deltafilter 316, ein Linearinterpolationselement 348 und ein Interpolationsfaktorberechnungsmodul 352 auf, ähnlich der Anordnung, die oben mit Bezug auf 8 beschrieben wurde. Da der Interpolationsfaktor weniger als Eins ist, besteht keine Notwendigkeit, den Vorkommateil an die Look-Ahead-Leitung 342 weiterzuleiten. Die oberen und unteren Bits des Interpolationsfaktors werden an die Filterbank 344, 346 und das Linearinterpolationselement 348 geleitet, wie ebenfalls oben mit Bezug auf 8 beschrieben wurde. Ein re-sampeltes bzw. neu abgetastetes Ausgangsdigitalsignal ist an einem Ausgang des Linearinterpolationselementes 348 verfügbar, was hierein als o_converter_data [23:0] bezeichnet wird.
  • Ein schematisches Diagramm eines Ausführungsbeispiels eines Interpolationsfaktorberechnungsmoduls 360 ist in 10 veranschaulicht. Das Modul 360 weist Eingangs- und Ausgangsakkumulationselemente 362a, 362b, ein Drei-Eingänge-Additionselement 364 und ein Divisionselement 366 auf. Das Modul 360 empfängt getrennte digitale Eingangswerte, die die Eingangsabtastdauer TRSI und die Ausgangsabtastdauer TRSO anzeigen. Diese Abtastdauerwerte TRSI, TRSO können in jeweiligen Registern 368a, 368b gespeichert werden. Das Modul 360 empfängt auch einen digitalen Eingang, der den Systemtakt (d.h. Digitalsignalverarbeitungstakt) TDSP anzeigt. Die Eingangsabtastdauer TRSI wird als eine Grenze in das Eingangsakkumulationselement 362a eingegeben. Das Eingangsakkumulationselement 362a wird gemäß dem Verarbeitungstakt TDSP erhöht bzw. inkrementiert. Das Eingangsakkumulationselement 362a berechnet einen Bruch-Ausgangswert FRACRSI, den es als eine Ausgabe an einen ersten Eingang des Additionselementes 362b liefert. Auf ähnliche Weise wird die erste Ausgangsabtastdauer TRSO als eine Grenze in das Ausgangsakkumulationselement 362b eingegeben. Das Ausgangsakkumulationselement 362b wird auch gemäß dem Verarbeitungstakt TDSP erhöht bzw. inkrementiert. Das Ausgangsakkumulationselement 362b berechnet einen Bruch-Ausgangswert FRACRSO, den es als eine Ausgabe an den zweiten Eingang des Additionselementes 364 liefert. Der zweite Eingang des Additionselementes 364 wird durch Techniken, die dem Fachmann bekannt sind, vorzeichenmäßig umgekehrt, wodurch der FRACRSO-Wert von der bestimmten Summe abgezogen wird. Der Eingangswert TRSO wird in einen dritten Eingang des Additionselementes 354 eingegeben, so dass der Ausgang des Additionselementes 364 den Wert Tx darstellt (3). In manchen Ausführungsbeispielen wird der Ausgang des Additionselementes 364 in einen ersten Dividenden-Anschluss eines Divisionselementschaltkreises 366 eingegeben. Der Eingangswert TRSI kann in einen zweiten Divisor-Eingang des Divisionselementschaltkreises 366 eingegeben werden, so dass der Ausgangswert des Divisionselementschaltkreises den Interpolationsfaktor p darstellt.
  • 11 ist ein schematisches Diagramm, das ein Ausführungsbeispiel eines Akkumulationselementes 400 veranschaulicht, das für jedes der Akkumulationselemente 362a, 362b der 10 geeignet ist. Ein erstes Akkumulationselement 400 (362a) empfängt TRSI als einen Grenzwert und TDSP als einen Inkrementierungswert. Die Eingangswerte werden gemäß der diagrammartigen Darstellung verarbeitet, was den Wert FRACRSI ergibt. Auf ähnliche Weise empfängt ein zweites Akkumulationselement 400 (362b) TRSO als einen Grenzwert und TDSP als einen Inkrementierungswert. Die Eingangswerte werden gemäß der diagrammartigen Darstellung verarbeitet, was den Wert FRACRSO ergibt. Tabelle 1
    Signal Definition
    i_f_rsi (FRSI/Fref)/[log2(FRSI/Fref)]
    i_t_rso Fref/FRSI
    i_frac_rsi Zeit vom letzten RSI-Takt zum aktuellen DSP-Takt
    i_frac_rso Zeit vom letzten RSO-Takt zum aktuellen DSP-Takt
    i_t_skew Tskew/Tref
    i_shift_multiplicand -|log2(TRSO + TRSI + Tskew,max)|
    i_shift_product [log2 FRSI + |log2 (TRSO + TRSI + Tskew,max)|
  • Der Interpolationsfaktor p kann auf 21-Bit-Genauigkeit (rechts des binären Punktes bzw. Kommas) mit einem Bereich von 0 bis 1,5 berechnet werden. Die Berechnung von p lautet: p = T R S O F r a c R S O + F r a c R S I T R S I
    Figure DE112008003098B4_0006
  • Um eine Teilungsoperation zu vermeiden, kann das Inverse bzw. der Umkehrwert von TRSI vorberechnet werden. p = ( T R S O F r a c R S O + F r a c R S I ) ( F R S I )
    Figure DE112008003098B4_0007
  • In Anwendungen, in denen die Bereiche der Eingangs- und Ausgangsfrequenzen einen großen Bereich abdecken, kann die Genauigkeit der Interpolationsfaktorberechnung durch geeignete binäre Skalierung der Interpolationsfaktorfaktoren beibehalten werden, wie in 13 gezeigt ist.
  • In einigen Ausführungsbeispielen führt ein ganzzahliges Verhältnis zwischen dem Digitalsignalverarbeitungstakt und der Resampler-Ausgangsfrequenz (FDSP= N FRSO) zu Vereinfachungen bei der Interpolationsfaktorberechnung. Für die Quelle kann sichergestellt werden, dass 0 ≤ p ≤ 1; somit besteht keine Notwendigkeit für eine Look-Ahead-Leitung.
  • Im folgenden Beispiel erzeugt ein Nutzer ein 40-MHz-BW-Signal, das mit 200 MHz gesampled bzw. abgetastet wird. An die Nutzerdaten werden Nullen angehängt, um so die Abtastrate auf 102 GHz (512 x 200 MHz) zu bringen. Die 200-MHz-Abtastratenbilder werden durch ein Mehrphasen-FIR-Filter gedämpft. Das Signal wird an den Wandler angelegt, der ein internes Vierfach-Interpolationsfilter bzw. 4X-Interpolationsfilter enthält. Das interpolierte Signal, jetzt mit einer 533 MHz-Abtastrate, wird mit einer Halteantwort nullter Ordnung (sin x / x) in ein analoges Signal umgewandelt. Zuletzt entfernt das analoge Tiefpassfilter die Wanderratenabtastbilder.
  • Mit Bezug auf den in 8 gezeigten Abtastratenwandler, multipliziert das Linearinterpolationselement 308 den Ausgang des Deltafilters 306 mit den unteren Bits des Linearinterpolationsfaktors (d. h. den unteren Bits 218, die in 4 gezeigt sind). Der beispielhafte 14-Bit-Linear-Interpolationsfaktor liegt im Bereich von (0,1). In dem Ausführungsbeispiel wird der Ausgang des Linearinterpolationselementes 308 um eine Anzahl von Bits, zum Beispiel 7 Bits, nach rechts verschoben (und es wird eine Vorzeichenerweiterung vorgenommen). Dies wird durchgeführt, um Situationen auszugleichen, in denen die Deltafilterkoeffizienten um den gleichen Betrag größer skaliert wurden (z. B. um einen Faktor 27), bevor sie in dem ROM 318b gespeichert wurden. Die Ausgangsdaten aus diesem Block werden dann zum Ausgang des Hauptmehrphasenfilters 304 addiert.
  • In manchen Ausführungsbeispielen weist der Abtastratenwandler einen Umgehungsmodus auf. Wenn der Umgehungsmodus eingestellt ist, wird mindestens ein wesentlicher Teil des Abtastratenwandlers, einschließlich der Mehrphasen- und Dezimierungs-FIR-Filter umgangen. Daten treten in den Resampler mit der FA/D-Rate ein und verlassen den Resampler mit der gleichen Rate ohne jegliche Resampler-Verarbeitung. Dieser Modus sieht einen Nutzerzugriff auf die Roh-A/D-Wandler-Abtastwerte vor. Solch ein Zugriff wäre nützlich, wenn der Nutzer vorhätte eine FFT auf den erfassten Daten auszuführen, und der Nutzer würde den Frequenzgehalt bis zum Wandler-Nyquist (FA/D/2) sehen. Ein Umgehungsmodus gestattet es dem Nutzer auch, den Datenratenwandler in einer Unterabtastungsweise einzusetzen, wenn das analoge Front-End bzw. der analoge Eingang diese Situation gestattet. Ein Ton am Analog-Digital-Wandler-Eingang, der größer ist als der Wandler-Nyquist, wird zurück in das Band zwischen DC und FA/D/2 aliased bzw. ausgegeben. An diesem Punkt wird der Datenrätenwandler im Umgehungsmodus keine Verarbeitung dieser erfassten Daten durchführen.
  • In einigen Ausführungsbeispielen werden die Resampler-Niedrigfrequenzeingangsleitung, der Daten-Look-Ahead, das Linearinterpolationselement und das Mehrphasenfilter mit einer Multizyklus-Zustandsmaschine implementiert. Zum Beispiel verwendet eine Multizyklus-Zustandsmaschine ein 36x36-Bit-Multiplikationselement, durch welches alle Signale verarbeitet werden können. Eine derartige Hardwareeffizienz ist möglich, da die erforderliche Ausgangsdatenrate wesentlich niedriger ist als die FPGA-Digitalsignalverarbeitungstaktrate bzw. FGPA-DSP-Taktrate.
  • In 12 ist ein Blockdiagramm gezeigt, das ein alternatives Ausführungsbeispiel eines Akkumulations- und Interpolationselementberechnungsschaltkreises 600 zeigt. Das Phasenakkumulationselement 600 verfolgt den Zustand des Echtzeit-Wandlertaktes, der virtuellen Nutzertakte und der relativen Phasen zwischen diesen Takten. Diese Zustands- und die relative Phaseninformation kann von einem Abtastratenwandler 300, 340 (8, 9) verwendet werden, um die Signale des Nutzers zwischen den Wandlertakt- und Nutzertaktbereichen umzuwandeln. Der Resampler 300, 340 weist eine Eingangsdatenleitung mit einem Look-Ahead 302, 342, einem Mehrphasen-FIR-Filter 304, 344, und einem Linearinterpolationselement 308, 348 auf (8, 9). Der Resampler 340 auf einem Quellenkanal (z. B. 9) nimmt Daten mit einer virtuellen Nutzerrate an und erzeugt eine Datenausgabe mit einer festen Wandlerrate. Der Resampler 300 auf einem Erfassungskanal (z. B. 8) nimmt Daten mit einer festen Wandlerrate vom A/D-Wandler an und erzeugt eine Datenausgabe mit einer virtuellen Nutzerrate.
  • Das Akkumulationselement kann Resampler-Eingangsdaten synchron mit dem Digitalsignalverarbeitungstakt qualifizieren. Zum Beispiel kann es 0, 1 oder 2 Eingangsdatenpunkte geben, die für jeden Digitalsignalverarbeitungstakt qualifiziert sind. Es kann 0 oder 1 Ausgangsdatenpunkte geben, die für jeden Digitalsignalverarbeitungstakt qualifiziert sind. Das Akkumulationselement 600 verfolgt auch den Zustand den Echtzeit-Wandlertaktes. Zum Beispiel verfolgt das Akkumulationselement 600 den Zustand jedes Wandlertaktes. Ein Wandlertakt-Resetereignis bzw. -Rücksetzungsereignis setzt die Wandlertaktakkumulationselemente und die Wandertakte zurück, so dass die beiden synchronisiert sind. Dieses ResetEreignis definiert auch t0. Ein Wandlertakt-Reset-Ereignis tritt typischerweise nach einem Leistungszyklus auf, oder nach einem katastrophalen Ereignis. Das Phasenakkumulationselement muss genau auf die Wandlertaktfrequenzen abgestimmt sein.
  • Das Akkumulationselement 600 verfolgt den Zustand des virtuellen Nutzertaktes. Der Nutzertakt kann zurückgesetzt werden entsprechend der Zeit t0. Ein Reset des Nutzertaktes setzt die Nutzertaktakkumulationselemente so zurück, dass die genaue Wiederholbarkeit des Timings von Durchlauf zu Durchlauf sichergestellt werden kann. Ein solcher Nutzertakt-Reset kann bei natürlichen Unterbrechungspunkten während des normalen Betriebs auftreten, wie beispielsweise zu Beginn einer Testsequenz bei Testanwendungen. Der Nutzertakt kann bezüglich der feinen Auflösung oder ganzzahligen Bruchteilen davon verfolgt werden. Vorzugsweise basiert die Nutzertaktfrequenzprogrammierbarkeit auf Perioden binärer Brüche.
  • In einem Ausführungsbeispiel hat die Nutzertaktdauer bzw. -periode eine Auflösung von mindestens 10 ns/244, und der Nutzertaktbereich ist 5 kHz bis 400 MHz.
  • In einigen Ausführungsbeispielen kann ein Verzögerungs- oder Versatzwert TDELAY hinzugefügt werden. Ein solcher Verzögerungs- oder Versatzwert wird die analoge Wellenform effektiv zeitlich relativ zu einer digitalen Subsystemreferenz verschieben. Vorteilhafterweise kann ein solcher Verzögerungswert verändert werden, ohne einen nachfolgenden Reset des Nutzertaktes oder des Wandlertaktes zu benötigen. In einigen Ausführungsbeispielen weist der Versatzwert einen Bereich von 4 ns und eine Auflösung von mindestens ungefähr 10 ns/232 (d. h. 0,0023 fs) auf. In einigen Ausführungsbeispielen kann der Wert TDELAY auf Null gesetzt werden oder vollständig ignoriert werden. Für jeden Resampler-Ausgangsdatenpunkt wird der Resampler-Interpolationsfaktor berechnet p = ( T x + T D E L A Y ) / T R S I ,
    Figure DE112008003098B4_0008
    wobei TRSI die Resampler-Eingangstaktdauer ist und Tx die Zeit vom letzten Resampler-Eingangstakt, der dem aktuellen Digitalsignalverarbeitungstakt vorausgeht, bis zum nächsten Resampler-Ausgangstakt im aktuellen Digitalsignalverarbeitungstaktzyklus ist.
  • Für Anwendungen, bei denen ein Nachverfolgen des Nutzertaktes in Bezug auf einen hohen bzw. feinen Auflösungswert benötigt wird, ist es notwendig, genaue Zeitakkumulationselemente zu haben, die in einem genau darunterliegenden Taktbereich arbeiten. Daher wird der Nutzertakt mit einer konstanten Periodenauflösung synthetisiert. Ein Verfahren zum Umwandeln der zugrundeliegenden Ereignisse in den Digitalsignalverarbeitungstaktbereich wird benötigt. Eine solche Implementierung sieht einen zweiten Satz von (genauen) Phasenakkumulationselementen 602 vor, die in einem Digitalsignalverarbeitungstaktbereich arbeiten, die mit dem zugrundeliegenden Systemtaktbereich synchronisiert sind, und zwar am Kongruenzpunkt zwischen zwei Bereichen. Eine zweite Implementierung wäre es, jeden Nutzertaktzustand der drei zugrundenliegenden Systemtaktbereiche direkt in acht Nutzertaktzustände des Digitalsignalverarbeitungsbereichs abzubilden.
  • Die Komplikation dabei, dass der Interpolationsfaktor von den Zuständen von zwei Zeitakkumulationselementen berechnet werden muss, kommt von der Tatsache, dass der Digitalsignalverarbeitungstakt, die Resampler-Eingangs- und Resampler-Ausgangsfrequenzen alle unterschiedlich sind. Diese Situation wird für Ausführungsbeispiele vereinfacht, in denen der Resampler-Ausgangstakt gleich dem Digitalsignalverarbeitungstakt oder ein einfaches Vielfaches davon ist.
  • Die Funktion des zugrundeliegenden Nutzertaktzeitakkumulationselementes des Systemtaktbereiches ist es, den Zustand der Nutzertakte in Bezug auf zugrundeliegende Systemtaktzyklen nachzuverfolgen (t0 wird gemäß dem Wert eines zugrundeliegenden Systemtaktereignisses plus einem Präzisionssystemtaktphasenwert beim Benutzertakt-Reset-Ereignis definiert). Zu jedem gegebenen zugrundeliegenden Systemtaktereignis muss die Gesamtzahl der Feinauflösungszählungen seit t0 bekannt sein, um in der Lage zu sein, auf deterministische Weise einen Nutzertaktzyklus auszuwählen, so dass er mit einem zugrundeliegenden Systemtaktereignis abgestimmt ist. Die Zeit relativ zum Nutzertakt muss als ein Eingang in die Resampler-Interpolationsfaktorberechnung ebenfalls bekannt sein. Für diese beiden Anforderungen wird die Zeit von t0 bis zum aktuellen zugrundeliegenden Systemtaktereignis tatsächlich gemessen. t N = N T r e f
    Figure DE112008003098B4_0009
    wobei tN die Zeit seit t0 beim N-ten zugrundeliegenden Systemtaktereignis ist, N die Anzahl der zugrundeliegenden Systemtaktzyklen seit t0 ist, Tref die Dauer bzw. Periode des Systemtaktes ist, des zugrundeliegenden Systemtaktes, d. h. 10 ns.
  • Durch Ausdrücken von tN anhand der Nutzertaktdauer kann der Bruch- bzw. Nachkommawert FRAC die Zeit seit dem letzten Nutzertakt bestimmen (im Gegensatz zum Rest, der die Zeit bis zum nächsten Nutzertakt wäre). Dies kann mathematisch dargestellt werden als F r a c u s e r = t N T u s e r ,
    Figure DE112008003098B4_0010
    wobei FRACuser die Zeit seit dem letzten Nutzertakt ist, Tuser die Nutzertaktdauer oder -periode ist und ⊕ der Modulo-Operator ist. Das Verfahren der Zeitmessung seit dem letzten Nutzertakt ist gegenüber dem Rest-Verfahren für diese Anwendung vorzuziehen, und zwar aufgrund der Situation, in der es viele virtuelle Taktereignisse pro Referenztakt gibt. In diesem Fall müssten mehrere Rest-Werte erzeugt werden, wohingegen eine einzelne Zeit seit dem letzten Nutzertaktwert (d.h. FRAC) ausreichend ist.
  • Im Allgemeinen wird ein Nutzertakt, der aus einem Referenztakt synthetisiert ist, ein rationaler Bruch des Referenztaktes sein, d. h. F u s e r = F r e f A B ,
    Figure DE112008003098B4_0011
    oder bezüglich der Zeit T u s e r = T r e f B A .
    Figure DE112008003098B4_0012
  • Der Term A kann festgelegt sein, so dass Tref ausgedrückt werden kann als A Tresolution, wodurch man durch Kombinieren der Gleichungen (9), (10) und (12) Folgendes erhält: F r a c u s e r = N   A T r e s o l u t i o n A T r e s o l u t i o n B A
    Figure DE112008003098B4_0013
    F r a c u s e r = T r e s o l u t i o n ( N   A B )
    Figure DE112008003098B4_0014
  • Die Funktion N A ⊕ B ist als Hardware als Modulo-B-Akkumulationselement implementiert, wobei der Wert A= Tref / Tresolution vorberechnet wird und dann auf jedem zugrundeliegenden Systemtaktzyklus akkumuliert wird.
  • Da die Resampler-Operationen auf System- oder Digitalsignalverarbeitungstaktzyklen stattfinden, werden die Zeitakkumulationselementwerte des zugrundeliegenden Systemtaktbereichs auf den DSP-Taktbereich abgebildet. Wenn dieses Abbilden bzw. Mapping ohne Langzeit-Rückkoppelung bzw. -Feedback geschieht, dann werden sich irgendwelche eingeführten Fehler nicht akkumulieren; somit kann das Abbilden approximativ sein. Die unten gezeigten Werte sind für beispielhafte Taktfrequenzen eines Resampler-Instruments. F r a c u s e r ' T r e s o l u t i o n ( N   A ' B )
    Figure DE112008003098B4_0015
    A ' = T D S P T r e s o l u t i o n = 3 8 A ( Quelle )
    Figure DE112008003098B4_0016
    A ' = T D S P T r e s o l u t i o n = 3 9 A ( Digitalisierungselement )
    Figure DE112008003098B4_0017
  • Die Wandlertaktzeitakkumulationselemente sind die gleichen wie die Nutzertaktzeitakkumulationselemente, außer dass die Wandlertaktzeitakkumulationselemente vom Wandlertakt-Reset-Ereignis zurückgesetzt werden, und nicht vom Nutzertakt-Reset-Ereignis. Die Wandlertaktfrequenzen sind wesentlich eingeschränkter als die Nutzertaktfrequenzen, so dass ein Akkumulationselement mit niedriger Auflösung akzeptabel ist.
  • Der Fall, in dem der Resampler-Ausgangstakt mit dem Digitalsignalverarbeitungstakt zusammenfällt, wird als der virtuelle Resampler-Takt behandelt, der „nach“ dem Digitalsignalverarbeitungstakt auftritt, was zu der Konsequenz führt, dass FRAC-Werte immer größer als Null sind.
  • In einem Ausführungsbeispiel ist eine Maßgabe für den Nutzertaktbereich von 340 MHz bis auf 5 kHz. Das Nutzertaktzeitakkumulationselement muss daher in der Lage sein, Folgendes zu zählen 1 / ( 5  kHz ) 10  ns = 20,000 < 2 15 1,
    Figure DE112008003098B4_0018
    somit werden 14 Bits benötigt, um diesen Bereich abzudecken.
  • In einigen Ausführungsbeispielen basieren Nutzertakte auf ganzzahligen Inkrementen von Perioden. Im Allgemeinen wird es nicht gelingen, eine Kohärenz zwischen den analogen und digitalen Takten zu erreichen, jedoch kann man für unsere Anwendungen nahe genug daran kommen. Die Bereiche, die wichtig sind, sind, dass (1) FFT-Ausgaben „Leckage“ aufweisen, und daher fehlerhafte Ergebnisse liefern, und dass es (2) eine langsame Phasenverschiebung über die Zeit zwischen analogen und digitalen Signalen gibt.
  • Der Effekt der Phasengenauigkeit auf ein Sinuswellen-Signal-zu-Rausch-Verhältnis bzw. -SNR, wie von einem FFT-Analyse mit rechtwinkligem Fenster gemessen, ist bekanntermaßen approximativ. Siehe beispielsweise „When ‚Almost‘ is Good Enough: a Fresh Look at DSP Clock Rates“, Rosenfeld und Max, International Test Conference, 1998. S N R = T / 2 ( T 3 / 24 ) ( ω 1 ω 2 ) 2
    Figure DE112008003098B4_0019
    wobei T die Dauer des erfassten und analysierten Signals ist, ω1 die tatsächliche Sinuswellenfrequenz ist und ω2 die ideale Sinuswellenfrequenz ist, die ausgedrückt werden kann als S N R = 3 M 2 e 2 π 2
    Figure DE112008003098B4_0020
    wobei M die Anzahl der analysierten Sinuswellenzyklen ist, und e der relative Frequenzfehler ist.
  • Ausgeführte Tests, die eine Simulationssoftwareanwendung verwenden, haben anzeigt, dass die Korrelation größer als 0,1 dB ist. Für eine Nyquist-Frequenz ist etwa die Hälfte der Rauschleistung im M-1-Bin konzentriert, so dass es eine SFDR-Einschränkung von SNR + 3 dB gibt. Mit großen FFTs (unter Beachtung eines praktischen Limits von 64k) und Instrumenten mit geringem Rauschen, sollte die SFDR-Einschränkung aufgrund nicht kohärenter Takte besser als 160 dB sein.
  • Eine Nutzertaktauflösung von 10 ns/244 (5,6 E-22 Sekunden) ist erforderlich, um einen Rauschabstand oder SNR von 157 dB zu erreichen. Unter Verwendung der Nutzertaktdauerauflösungsanforderung von 5,6 E-22 Sekunden wird die Phasenverschiebung im schlechtesten Fall wie folgt sein Phasenverschiebung = Aufl o ¨ sung 2 ( Sekunden Zyklus ) Taktfrequenz ( Zyklen Sekunde )
    Figure DE112008003098B4_0021
    Phasenverschiebung = 5,6 E 22 2 ( Sekunden Zyklus ) 400 E 6 ( Zyklen Sekunde ) = 114 fs Sekunde
    Figure DE112008003098B4_0022
    oder 6,8 ps/Minute; 400 ps/Stunde.
  • Der Bereich von p ist von den Extremwerten seiner entscheidenden Faktoren abgeleitet. Wenn man TDELAY ignoriert, ergibt sich der minimale p-Wert aus p M I N = T x M I N T R S I
    Figure DE112008003098B4_0023
    T x M I N = T R S O F r a c R S O M A X + F r a c R S I M I N
    Figure DE112008003098B4_0024
    FRAC-Werte reichen von (0,T], somit ist pMIN nahezu Null. Der maximale Wert von p folgt aus dem maximalen Wert von Tx und konsequenter Weise aus dem minimalen Wert von FRACRSO. Nämlich p M A X = T x M A X T R S I  und
    Figure DE112008003098B4_0025
    T x M A X = T R S O F r a c R S O M I N + F r a c R S I M A X .
    Figure DE112008003098B4_0026
  • Der minimale Wert FRACRSO tritt auf, wenn der Resampler-Ausgangstakt direkt vor dem Digitalsignalverarbeitungstakt auftritt, dann gilt FRACRSO = TRSO - TDSP. Somit gilt p M A X = T D S P + T R S I T R S I .
    Figure DE112008003098B4_0027
  • Es sei bemerkt, dass für den speziellen Fall, der unten gezeigt ist, in dem gilt, dass TRSO = K TDSP, wobei K eine ganze Zahl ist, und wenn der Resampler-Eingangstakt TRSO und der Digitalsignalverarbeitungstakt TDSP in Phase ausgerichtet sind, FRACRSO immer gleich TRSO ist. In einem solchen Fall gilt p M A X = T R S O T R S O + T R S I R R S I = 1.
    Figure DE112008003098B4_0028
  • Der Interpolationsfaktor p stellt die relative Phase des Resampler-Ausgangstakts zum Resampler-Eingangstakt dar. Der Resampler interpoliert den Ausgangswert durch Anwenden von zweien von Gesamtdurchlass-Mehrphasen-Subfiltern (mit inkrementellen Verzögerungswerten, die die ideale relative Phase einschließen) und dann durch lineares Interpolieren zwischen den zwei Ergebnissen. Das Signal-zu-Rauschverhältnis bzw. SNR eines solchen Resamples ist bekanntermaßen S N R f i l t e r 80   I f i l t e r 4 ω x 4 ,
    Figure DE112008003098B4_0029
    wobei Ifilter die Anzahl von Mehrphasen-Subfiltern ist und ωx die relative Bandbreite 2πBWuser/FRSI ist. Siehe beispielsweise Introduction to Digital Signal Processing von J.G. Proakis und D.K. Manolakis, 2. Auflage, 1992. Weiter ist das Linearinterpolations-element selbst tatsächlich ein Mehrphasenfilter mit einem SNR von S N R i n t e r p o l a t o r 12   I i n t e r p o l a t o r 2 ω x 2 ,
    Figure DE112008003098B4_0030
  • Jegliche automatisierte Testausstattung, Messausrüstung oder jedes Kommunikationssystem würde von dieser Erfindung profitieren, da sie zu Vereinfachungen in der Konstruktion und bei der Implementierung von Wellenformdigitalisierern, von beliebigen Wellenformgeneratoren, von Modulations- und von Demodulationssystemen führt.

Claims (21)

  1. Verfahren (200) zur Ratenwandlung bzw. -konvertierung abgetasteter bzw. gesampelter Daten, das Folgendes aufweist: Empfangen (222) von Eingangsdaten, die gemäß einem Eingangsabtasttakt abgetastet wurden, Empfangen (224) eines Werts, der einen Ausgangsabtastwert anzeigt, der vom Eingangsabtasttakt um einen nicht ganzzahligen Wert abweicht; Bestimmen (226) der jeweiligen Verhältnisse zwischen jedem Eingangs- und Ausgangsabtasttakt und einem Prozessortakt, wobei jeder der Eingangs- und Ausgangstakte unabhängig vom Prozessortakt ist, Bestimmen (228) eines Interpolationsfaktors als eine Funktion des Eingangsabtasttaktes, des Ausgangsabtasttaktes und der bestimmten Verhältnisse zwischen jedem der Eingangs- und Ausgangsabtasttakte und dem Prozessortakt, und Erzeugen (230) von Ausgangsdaten als eine Funktion der Eingangsdaten und des Interpolationsfaktors, wobei die Ausgangsdaten den Eingangsdaten entsprechen, die gemäß dem Ausgangsabtasttakt abgetastet wurden, wodurch die Eingangsdaten vom Eingangsabtasttakt auf den Ausgangsabtasttakt ratenumwandelt werden.
  2. Verfahren (200) nach Anspruch 1, wobei das Bestimmen (226) der jeweiligen Verhältnisse zwischen jedem der Eingangs- und Ausgangsabtasttakte und dem Prozessortakt Folgendes aufweist: Bestimmen eines Eingangsphasenwertes, der die Verzögerung zwischen dem Eingangsabtasttakt und dem Prozessortakt anzeigt, und Bestimmen eines Ausgangsphasenwertes, der eine Verzögerung zwischen dem Ausgangsabtasttakt und dem Prozessortakt anzeigt.
  3. Verfahren (200) nach Anspruch 2, wobei das Bestimmen eines Eingangsphasenwertes und/oder das Bestimmen eines Ausgangsphasenwertes das Verwenden eines Akkumulationselementes (104, 150) aufweist.
  4. Verfahren (200) nach Anspruch 1, wobei das Bestimmen (228) des Interpolationsfaktors Folgendes aufweist: Bestimmen einer Größe als eine Differenz zwischen dem Ausgangsphasenwert und dem Eingangsphasenwert und Subtrahieren der bestimmten Differenz von einer Dauer oder Periode des Ausgangsabtasttaktes; und Dividieren der bestimmten Größe durch eine Dauer oder Periode des Eingangsabtasttaktes.
  5. Verfahren (200) nach Anspruch 4, wobei das Bestimmen der Größe Folgendes aufweist: Bestimmen einer Differenz zwischen dem Ausgangsphasenwert und dem Eingangsphasenwert; Subtrahieren einer Differenz zwischen dem Ausgangsphasenwert und dem Eingangsphasenwert von einer Dauer oder Periode des Ausgangsabtasttaktes; und Addieren eines Verzögerungswerts zu dem subtrahierten Ergebnis, wobei die abgetasteten Ausgangswerte proportional zu dem Verzögerungswert zeitlich verzögert werden.
  6. Verfahren (200) nach Anspruch 5, wobei der Verzögerungswert auswählbar ist.
  7. Verfahren (200) nach Anspruch 1, das weiter das Speichern mehr als eines sequenziellen Satzes von abgetasteten Eingangsdaten in einer abgegriffenen (tapped) Verzögerungsleitung aufweist, wobei jeder Satz von abgetasteten Eingangsdaten mit einem jeweiligen Abgriff bzw. Tap assoziiert ist, wobei auf unterschiedliche sequentielle Sätze von Daten durch jeweilige Abgriffe bzw. Taps zugegriffen werden kann.
  8. Verfahren (200) nach Anspruch 1, das weiter das Interpretieren eines ganzzahligen Teils des Interpolationsfaktors als Eingangsdaten-Look-Ahead aufweist.
  9. Verfahren (200) nach Anspruch 1, das weiter das Ausführen einer Mehrphasenfilterselektion gemäß einem oberen Bruchteil bzw. Nachkommateil des Interpolationsfaktors aufweist.
  10. Verfahren (200) nach Anspruch 9, das weiter das Interpretieren eines unteren Bruchteils bzw. Nachkommateils des Interpolationsfaktors als ein Linearinterpolationsskalierungsfaktor aufweist.
  11. Verfahren (200) nach Anspruch 1, wobei das Bestimmen (228) des Interpolationsfaktors während verschiedener Abtastungen des eines Eingangsabtasttaktes und/oder des Ausgangsabtasttaktes und/oder des Prozessortaktes wiederholt wird.
  12. Verfahren (200) nach Anspruch 11, wobei das Bestimmen (228) des Interpolationsfaktors für jeden Abtastwert des Ausgangsabtasttaktes wiederholt wird.
  13. Vorrichtung (100) zum Konvertieren bzw. Wandeln abgetasteter Daten von einer Rate zu einer zweiten Rate, die Folgendes aufweist: einen Ratenwandler (102), der Eingangsdaten empfängt, die gemäß einem Eingangsabtasttakt abgetastet wurden, und der konfiguriert ist, um Ausgangsdaten zu erzeugen, die die Eingangsdaten anzeigen, die gemäß einem Ausgangsabtasttakt abgetastet wurden, wobei der Ratenwandler (102) mit einer Prozessortaktrate arbeitet, die von sowohl dem Eingangsabtasttakt als auch dem Ausgangsabtasttakt unabhängig ist; ein Akkumulationselement (104, 150), das den Prozessortakt empfängt und das konfiguriert ist, um einen Zustand des Prozessortaktes zu überwachen und jeweilige Verhältnisse von jeweils dem Eingangsabtasttakt und dem Ausgangsabtasttakt zum Prozessortakt zu bestimmen; und einen Interpolationsfaktorschaltkreis (106), der mit dem Akkumulationselement (104, 150) und dem Ratenwandler (102) in Verbindung steht, wobei der Interpolationsfaktorschaltkreis (106) die jeweiligen Verhältnisse von jeweils dem Eingangsabtasttakt und dem Ausgangsabtasttakt zum Prozessortakt empfängt und konfiguriert ist, um einen Interpolationsfaktor zu berechnen, der zumindest einen oberen Bruchteil und einen unteren Bruchteil aufweist, wobei der Interpolationsfaktor als eine Funktion des Eingangsabtasttaktes, des Ausgangsabtasttaktes und des Prozessortaktes berechnet wird, wobei der Ratenwandler (102) konfiguriert ist, um die Eingangsdaten als eine Funktion des Interpolationsfaktors in die Ausgangsdaten umzuwandeln.
  14. Vorrichtung (100) nach Anspruch 13, wobei das Akkumulationselement (104, 150) eine Vielzahl von Registern aufweist, die konfiguriert sind, um Werte zu speichern, die mit dem Eingangsabtasttakt, dem Ausgangsabtasttakt und den jeweiligen Verhältnissen von jeweils dem Eingangsabtasttakt und dem Ausgangsabtasttakt zum Prozessortakt in Beziehung stehen.
  15. Vorrichtung (100) nach Anspruch 14, wobei das Akkumulationselement (104, 150) eine Modulo-Arithmetikfunktion aufweist.
  16. Vorrichtung (100) nach Anspruch 13, wobei der Ratenwandler (102) Folgendes aufweist: Ein digitales Eingangsfilter, das mit dem Interpolationsfaktorschaltkreis (106) verbunden ist, wobei das digitale Eingangsfilter den oberen Bruchteil des Interpolationsfaktors empfängt und konfiguriert ist, um Eingangsdaten zu filtern, die gemäß einem Eingangsabtasttakt abgetastet wurden, ein Linearinterpolationselement, das mit einem Ausgang des digitalen Eingangsfilters und mit dem Interpolationsfaktorschaltkreis (106) verbunden ist, wobei das Linearinterpolationselement den unteren Bruchteil des Interpolationsfaktors empfängt, und ein Tiefpassfilter, das mit einem Ausgang des Linearinterpolationselementes verbunden ist, wobei der mit einem Eingangsdatentakt abgetastete Dateneingang ratenumgewandelt wird in entsprechende Ausgangsdaten, die mit einem Ausgangsabtasttakt abgetastet sind.
  17. Vorrichtung (100) nach Anspruch 16, die weiter einen Look-Ahead-Puffer zwischen den empfangenen Eingangsdaten und dem digitalen Eingangsfilter aufweist, wobei der Look-Ahead-Puffer auch mit dem Interpolationsfaktorschaltkreis (106) verbunden ist und einen Ganzzahlteil bzw. Vorkommateil des Interpolationsfaktors empfängt.
  18. Vorrichtung (100) nach Anspruch 16, wobei das digitale Eingangsfilter ein Mehrphasenfilter und ein Deltafilter aufweist.
  19. Vorrichtung (100) nach Anspruch 13, die weiter mindestens einen Speicherblock aufweist, der konfiguriert ist, um Filterkoeffizienten für das digitale Eingangsfilter zu speichern.
  20. Vorrichtung (100) nach Anspruch 13, die weiter einen Digitalsignalprozessor aufweist, der den Ratenwandler und/oder das Akkumulationselement (104, 150) und/oder den Interpolationsfaktorschaltkreis (106) implementiert.
  21. Vorrichtung (100) zum Wandeln abgetasteter Daten von einer ersten Rate auf eine zweite Rate, die Folgendes aufweist: Mittel zum Empfangen (222) von Eingangsdaten, die gemäß einem Eingangsabtasttakt abgetastet wurden, Mittel zum Empfangen (224) eines Wertes, der einen Ausgangsabtasttakt anzeigt, der vom Eingangsabtasttakt um einen nicht ganzzahligen Wert abweicht; Mittel zum Bestimmen (226) eines jeweiligen Verhältnisses von jedem der Eingangs- und Ausgangsabtasttakte zu einem Prozessortakt, wobei jeder der Eingangs- und Ausgangstakte unabhängig vom Prozessortakt ist, Mittel zum Bestimmen (228) eines Interpolationsfaktors als eine Funktion des Eingangsabtasttaktes, des Ausgangsabtasttaktes und des bestimmten Verhältnisses zwischen jedem der Eingangs- und Ausgangsabtasttakte und dem Prozessortakt, und Mittel zum Erzeugen (230) von Ausgangsdaten als eine Funktion der Eingangsdaten und des Interpolationsfaktors, wobei die Ausgangsdaten den Eingangsdaten entsprechen, die mit dem Ausgangsabtasttakt abgetastet wurden, wodurch die Eingangsdaten vom Eingangsabtasttakt in den Ausgangsabtasttakt ratenumgewandelt werden.
DE112008003098.7T 2007-11-16 2008-11-14 Verfahren und Vorrichtung zur Berechnung von Interpolationsfaktoren in Abtastratenwandlungssystemen Active DE112008003098B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US98877207P 2007-11-16 2007-11-16
US60/988,772 2007-11-16
US12/271,436 2008-11-14
PCT/US2008/083619 WO2009065027A1 (en) 2007-11-16 2008-11-14 Method and apparatus for computing interpolation factors in sample rate conversion systems
US12/271,436 US7719446B2 (en) 2007-11-16 2008-11-14 Method and apparatus for computing interpolation factors in sample rate conversion systems

Publications (2)

Publication Number Publication Date
DE112008003098T5 DE112008003098T5 (de) 2010-12-09
DE112008003098B4 true DE112008003098B4 (de) 2023-12-28

Family

ID=40639167

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008003098.7T Active DE112008003098B4 (de) 2007-11-16 2008-11-14 Verfahren und Vorrichtung zur Berechnung von Interpolationsfaktoren in Abtastratenwandlungssystemen

Country Status (7)

Country Link
US (1) US7719446B2 (de)
JP (1) JP5563469B2 (de)
KR (1) KR101472822B1 (de)
CN (1) CN101911499B (de)
DE (1) DE112008003098B4 (de)
TW (1) TWI450499B (de)
WO (1) WO2009065027A1 (de)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) * 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
JP2009232426A (ja) * 2008-03-25 2009-10-08 Toshiba Corp サンプルレート変換器及びこれを用いた受信機
US8271568B2 (en) * 2008-08-29 2012-09-18 Infineon Technologies Ag Digital filter
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8743977B2 (en) * 2009-06-23 2014-06-03 Intel Corporation Efficient tuning and demodulation techniques
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
KR102014074B1 (ko) * 2012-12-10 2019-10-21 삼성전자 주식회사 데이터 처리 장치 및 방법
CN103888102B (zh) * 2012-12-21 2018-02-16 上海大郡动力控制技术有限公司 车用电机系统信号处理方法
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
JP6321181B2 (ja) 2013-09-12 2018-05-09 ドルビー ラボラトリーズ ライセンシング コーポレイション オーディオ・コーデックのシステム側面
US9793879B2 (en) * 2014-09-17 2017-10-17 Avnera Corporation Rate convertor
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
DE102015110275B4 (de) 2015-06-25 2025-11-20 Apple Inc. Vorrichtungen und Verfahren zum Verschieben eines digitalen Signals um eine Verschiebungszeit zum Bereitstellen eines verschobenen Signals
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
US10097200B1 (en) * 2017-05-12 2018-10-09 Analog Devices Global Resynchronization of sample rate converters
JP7139675B2 (ja) * 2018-04-27 2022-09-21 セイコーエプソン株式会社 リサンプリング回路、物理量センサーユニット、慣性計測装置及び構造物監視装置
JP2019191070A (ja) * 2018-04-27 2019-10-31 セイコーエプソン株式会社 リサンプリング回路、物理量センサーユニット、慣性計測装置及び構造物監視装置
EP3573342B1 (de) * 2018-05-25 2021-03-31 Harman Becker Automotive Systems GmbH Synchronisierung eines mehrratigen digitalsensors
CN109361377B (zh) * 2018-10-17 2020-11-17 深圳锐越微技术有限公司 滤波器的滤波方法、装置、滤波器及存储介质
US11803168B2 (en) * 2019-03-08 2023-10-31 General Electric Company Distributed control modules with cumulating command references
CN112953461B (zh) * 2021-01-19 2022-06-14 电子科技大学 一种基于采样率转换技术的任意波形合成方法
US11799487B2 (en) 2021-03-23 2023-10-24 Ningbo Aura Semiconductor Co., Limited Fractional sampling-rate converter to generate output samples at a higher rate from input samples
CN113961137A (zh) * 2021-10-19 2022-01-21 西人马(西安)测控科技有限公司 数据采集方法、装置及电子设备
US20250150060A1 (en) * 2023-11-03 2025-05-08 Litepoint Corporation Converting a digital signal from a first sampling rate to a second sampling rate
CN118138010B (zh) * 2024-03-19 2025-03-25 中国科学技术大学 一种基于交叠流水的单时钟高速率半带内插器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0221712A (ja) 1988-07-11 1990-01-24 Sony Corp 標本化周波数変換装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8421378D0 (en) * 1984-08-23 1984-09-26 British Broadcasting Corp Variable speed replay
JP3041564B2 (ja) * 1993-01-07 2000-05-15 日本プレシジョン・サーキッツ株式会社 サンプリングレートコンバータ
JP3221034B2 (ja) * 1992-02-17 2001-10-22 ヤマハ株式会社 サンプリング周波数変換器
JP3252581B2 (ja) * 1994-01-26 2002-02-04 ソニー株式会社 標本化周波数変換装置
US6005901A (en) * 1997-02-27 1999-12-21 Advanced Micro Devices Arrangement for asynchronous decimation using a frequency ratio estimator and method thereof
US6000834A (en) * 1997-08-06 1999-12-14 Ati Technologies Audio sampling rate conversion filter
SE519885C2 (sv) * 2000-03-27 2003-04-22 Ericsson Telefon Ab L M Förfarande och anordning för omvandling av samplingsfrekvens
DE10045546A1 (de) * 2000-09-14 2002-04-04 Infineon Technologies Ag Verfahren zur systemunabhängigen digitalen Auswertung von Mobilkommunikations-Empfangssignalen verschiedener Mobilfunkstandards
KR101102410B1 (ko) * 2003-03-31 2012-01-05 칼라한 셀룰러 엘.엘.씨. 샘플링 레이트 컨버터, 변환 방법 및 컴퓨터 판독 가능한 기록 매체치
US6847313B2 (en) * 2003-06-30 2005-01-25 Intel Corporation Rational sample rate conversion
DE102004024645B4 (de) * 2004-05-18 2010-03-11 Infineon Technologies Ag Verfahren und Vorrichtung zur Reduzierung der Signalbilder am Ausgang eines Digital-Analog-Umsetzers
FR2886076B1 (fr) * 2005-05-23 2007-10-19 Anagram Technologies Sa Procede et dispositif de conversion de frequence d'echantillonnage d'un signal numerique
JP2007067646A (ja) * 2005-08-30 2007-03-15 Oki Electric Ind Co Ltd サンプリングレート変換方法及びその回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0221712A (ja) 1988-07-11 1990-01-24 Sony Corp 標本化周波数変換装置

Also Published As

Publication number Publication date
TWI450499B (zh) 2014-08-21
JP5563469B2 (ja) 2014-07-30
JP2011504340A (ja) 2011-02-03
KR101472822B1 (ko) 2014-12-15
KR20100110299A (ko) 2010-10-12
DE112008003098T5 (de) 2010-12-09
US20090128379A1 (en) 2009-05-21
CN101911499B (zh) 2013-07-10
US7719446B2 (en) 2010-05-18
TW200924389A (en) 2009-06-01
WO2009065027A1 (en) 2009-05-22
CN101911499A (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
DE112008003098B4 (de) Verfahren und Vorrichtung zur Berechnung von Interpolationsfaktoren in Abtastratenwandlungssystemen
DE3853669T2 (de) Schaltung und Verfahren zur Umsetzung der Abtastratenfrequenz.
DE3882767T2 (de) Bandpass-Digitaloszilloskop.
DE68927120T2 (de) Interpolator und Verfahren zur Interpolierung von digitalen Signalmustern
DE69002766T2 (de) Dezimationsfilter für einen sigma-delta-analog-digital-wandler.
DE3888336T2 (de) Einseitenbandsignal-Generatoranordnung.
DE69736344T2 (de) Abtastfrequenz-Umsetzeinrichtung
DE60221927T2 (de) Vorrichtung und Programm zur Schallcodierung
DE102013217181A1 (de) Verfahren und System zum Durchführen einer Spektralanalyse eines nicht stationären Signals in Echtzeit
DE102012217582A1 (de) Kalibrierung eines rekonstruierten Signals unter Anwendung eines Mehrton-Kalibriersignals
DE69422650T2 (de) Als dreistufiges transversales Filter anwendbare digitale Filterschaltung
DE102015116269A1 (de) Abtastratenwandler, analog-digital-wandler mit einem abtastratenwandler und verfahren zum umwandeln eines datenstroms von einer datenrate in eine andere datenrate
DE102008010962A1 (de) Subharmonische Spiegelunterdrückung in Digital/Analog-Umwandlungssystemen
DE102012100460A1 (de) Prüfanordnung und Prüfverfahren zur zerstörungsfreien Erfassung eines Fehlers in einem Prüfling mittels eines Wirbelstroms
DE102006043411B4 (de) Konzept zur realistischen Simulation eines Frequenzspektrums
DE69517604T2 (de) Zeitgeber mit mehreren kohärenten synchronisierten takten
EP0696848A1 (de) Verfahren zur digitalen Interpolation von Signalen
DE3785654T2 (de) Tonsignalerzeugungsvorrichtung mit einem digitalen Filter.
DE102017203804A1 (de) Umwandlung digitaler Abtastrate
EP0215810B1 (de) Schaltungsanordnung zur mittelwertbildung
DE60310535T2 (de) System zum Anpassen von Digitalisierern in verzahnten Systemen
DE3917020C2 (de)
DE19521610B4 (de) Dezimationsfilter unter Verwendung einer Nullfüllschaltung zur Lieferung eines wählbaren Dezimationsverhältnisses sowie Verfahren zur Dezimationsfilterung
EP1794602B1 (de) Verfahren und vorrichtung zur spektrumanalyse eines nutz- oder rauschsignals
DE3836504C2 (de)

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: FISH & RICHARDSON P.C., DE

R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H03M0007000000

Ipc: H03H0017000000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final