DE69722719T2 - Interpolationsfilter - Google Patents

Interpolationsfilter Download PDF

Info

Publication number
DE69722719T2
DE69722719T2 DE69722719T DE69722719T DE69722719T2 DE 69722719 T2 DE69722719 T2 DE 69722719T2 DE 69722719 T DE69722719 T DE 69722719T DE 69722719 T DE69722719 T DE 69722719T DE 69722719 T2 DE69722719 T2 DE 69722719T2
Authority
DE
Germany
Prior art keywords
discrete time
signal
samples
pair
signal samples
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.)
Expired - Fee Related
Application number
DE69722719T
Other languages
English (en)
Other versions
DE69722719D1 (de
Inventor
Anthony Peter Hulbert
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.)
Nokia Solutions and Networks GmbH and Co KG
Original Assignee
Roke Manor Research Ltd
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 Roke Manor Research Ltd filed Critical Roke Manor Research Ltd
Publication of DE69722719D1 publication Critical patent/DE69722719D1/de
Application granted granted Critical
Publication of DE69722719T2 publication Critical patent/DE69722719T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/065Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer
    • H03H17/0657Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer where the output-delivery frequency is higher than the input sampling frequency, i.e. interpolation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Color Image Communication Systems (AREA)
  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Filters That Use Time-Delay Elements (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf digitale Signalprozessoren, die betrieben werden, um diskrete Zeitsignale zu interpolieren.
  • Fachleuten ist wohlbekannt, daß eine Interpolation ein Verfahren ist, bei dem ein Wert einer Funktion oder eines Signals an einem bestimmten Punkt aus schon bekannten Werten der Funktion oder des Signals geschätzt wird. Im Kontext der Digitalsignalverarbeitung wird eine Interpolation verwendet, um die Abtastrate eines Signals, das durch diskrete Zeitsignal-Abtastwerte repräsentiert wird, zu erhöhen. Die das Signal repräsentierenden diskreten Zeitsignal-Abtastwerte sind typisch entsprechend einem Abtastintervall des Signals zeitlich um regelmäßige Intervalle versetzt. Das Abtastintervall, und daher die Abtastrate, ist durch die Frequenzbandbreite bestimmt, die das Signal umfaßt, wie durch das dem Fachmann wohlbekannte Nyquist-Abtasttheorem bestimmt ist. Deshalb muß, um die Abtastrate eines diskreten Zeitsignals zu erhöhen, das Signal interpoliert werden, um Signalabtastwerte an Zeitpunkten bereitzustellen, die zwischen den bekannten Signalabtastwerten liegen.
  • Bekannte Interpolatoren für diskrete Zeitsignale verkörpern Filter mit begrenztem Impulsansprechverhalten (FIRs), bei denen bekannte Signalabtastwerte einem im Rahmen des Filters verwirklichten Schieberegister zugeführt werden und entsprechend den in dem Schieberegister vorliegenden Signalabtastwerten ein Interpolationsverfahren vorgesehen ist, um interpolierte Signalabtastungen an zeitlich verschobenen Zwischenwerten zu erzeugen. Die interpolierten Signalabtastwerte werden berechnet, indem die in dem Schieberegister gehaltenen diskreten Zeitsignal-Abtastwerte mit einer Impulsantwort gefaltet werden, die für die Interpolationsfunktion repräsentativ ist.
  • Eine bekannte Technik, um eine Verringerung der Komplexität derartiger Interpolationsfilter oder wirklich jedes Filters mit begrenztem Impulsansprechverhalten (FIR), bei dem die Impulsantwort des Filters eine lineare Phase aufweist, zu schaffen, ist als "vorausgehende Addition" bekannt. Ein Merkmal einer Impulsantwort mit linearer Phase ist, daß die Koeffizienten der Impulsantwort symmetrisch um einen zentralen Punkt oder Referenzpunkt verteilt sind. Eine Struktur der vorausgehenden Addition nutzt die Symmetrie der Impulsantwort der linearen Phase, die dadurch gekennzeichnet ist, daß jeder Impulsantwortkoeffizient ai gleich einem Impulsantwortkoeffizienten in einer äquivalenten zeitlichen Position um den zentralen Punkt oder Referenzpunkt ist. Folglich ist für eine Impulsantwort der linearen Phase ai = a–i. Die Struktur der vorausgehenden Addition wirkt so, daß ein Interpolator mit reduzierter Komplexität geschaffen wird, indem Paare von diskreten Zeitsignal-Abtastwerten, die in dem Schieberegisters des FIR-Interpolators gehalten werden, summiert werden, bevor sie mit den Koeffizienten der Impulsantwort multipliziert werden, wobei die Paare der Signalabtastwerte symmetrischen Paaren von Koeffizienten der Impulsantworten des Interpolators entsprechen – oder in anderen Worten – wobei ai gleich a–i ist.
  • 1 zeigt zur Veranschaulichung ein Beispiel eines Interpolationsfilters mit begrenztem Impulsansprechverhalten mit einer Struktur der vorausgehenden Addition. In 1 ist ein Schieberegister 1' gezeigt, das acht Stufen 1, 2, 3, 4, 5, 6, 7, 8 umfaßt und dem über einen Leiter 9 diskrete Zeitsignal-Abtastwerte zugeführt werden. Außerdem ist in 1 eine Reihe von Leitungen 10, 11, 12, 13, 14, 15, 16, 17 gezeigt, wovon jede eine diskrete Referenz repräsentiert, die zeitlich der Relativposition jeder der Stufen 1, 2, 3, 4, 5, 6, 7, 8 des Schieberegisters 1' entspricht. Jede der Leitungen 10, 11, 12, 13, 14, 15, 16, 17 ist mit einem Signalabtastwert gezeigt, der als xi dargestellt ist, wobei i die zeitliche Relativposition der Impulsantwort des Filters in bezug auf einen zentralen Punkt oder Referenzpunkt x0 angibt. Außerdem ist in 1 eine schematische Kurve 18 gezeigt, die eine Interpolationsfiunktion darstellt. Die Interpolationsfunktion 18 ist als symmetrisch um die zentrale Position oder Referenzposition y0 dargestellt, die einer zeitlichen Position eines zu berechnenden interpolierten Signalabtastwerts entspricht. Infolge der Symmetrie der Interpolationsfunktion 18 ist jeder der die Impulsantwort der Interpolationsfunktion repräsentierenden Koeffizienten in der Hinsicht sym metrisch, wie oben erwähnt worden ist, daß a1 = a–1, a2 = a–2 und so weiter ist, so daß ai = a–1 gilt. An das Schieberegister 1' sind mehrere Summierverstärker 19, 20, 21, 22 angeschlossen, welche die Ausführung einer vorausgehenden Addition von diskreten Zeitsignal-Abtastwerten für die entsprechenden Koeffizienten der Impulsantwort der Interpolationsfunktion 18 bewirken, die insoweit symmetrisch sind, als ai = a–i ist. An einem Ausgang jedes der Summierverstärker 19, 20, 21, 22 wird anschließend die durch die vorausgehende Addition gebildete Summe durch entsprechend zusammengesetzte Koeffizienten ai der Interpolationsfunktion von einer entsprechenden Anzahl an Multiplizierern 23, 24, 25, 26 skaliert. Jedes Ausgangssignal der Multiplizierer 23, 24, 25, 26 wird einem Endsummierer 27 zugeführt, der das Summieren der entsprechenden Ausgangssignale von den Multiplizierern bewirkt, um den interpolierten Signalabtastwert y0 auf einem Leiter 28 zu erzeugen.
  • Die Struktur der vorausgehenden Addition, die durch das in 1 gezeigte interpolierende Filter mit begrenztem Impulsansprechverhalten veranschaulicht ist, schafft daher eine Verringerung der Komplexität, der Kosten und der Zeit für die Interpolation in der Größenordnung eines Faktors von zwei. Diese Einsparung wird dadurch erreicht, daß im voraus jedes Paar diskreter Zeitsignal-Abtastwerte xi, dem ein entsprechendes Paar symmetrischer Impulsantwortkoeffizienten ai zugeordnet ist, addiert wird und diese im voraus addierten Abtastungen mit einem Koeffizienten des entsprechenden Paares von Impulsantwortkoeffizienten multipliziert werden. Die Ergebnisse dieser Multiplikationen jedes Paares diskreter Zeitsignal-Abtastungen werden danach summiert, um einen interpolierten Signalabtastwert zu bilden.
  • Ein interpolierendes Filter mit begrenztem Impulsansprechverhalten, das mit einer Struktur der vorausgehenden Addition wie oben beschrieben versehen ist, würde den Vorteil einer weniger komplexen Implementierung haben. Jedoch ist die Bereitstellung einer Struktur der vorausgehenden Addition an die Voraussetzung geknüpft, daß die Impulsantwort des Interpolationsfilters eine Antwort der linearen Phase ist und demnach die erforderliche Symmetrie besitzt. Obwohl eine Interpolationsfunktion eines Interpolationsfilters eine lineare Phase zeigen könnte, ist eine Impulsantwort, die eine abgetastete Version der Interpolationsfunktion repräsentiert, eventuell nicht symmetrisch um einen Interpolationspunkt der Funktion, der einer zeitlichen Position eines interpolierten Abtastwerts entspricht, was die Verwendung einer Struktur der vorausgehenden Addition verhindert.
  • Eine Aufgabe der vorliegenden Erfindung, die durch das Verfahren nach Anspruch 1 und das Interpolationsfilter nach Anspruch 11 definiert ist, besteht darin, einen Interpolator mit niedrigerer Komplexität zu schaffen.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zum Interpolieren eines diskreten Zeitsignals geschaffen, das die folgenden Schritte umfaßt: (i) Identifizieren mehrerer Interpolationspunkte, die um einen zentralen Referenzpunkt (x0) mehrerer diskreter Zeitabtastwerte (x–4 bis x3) eines Signals, für das interpolierte Signalabtastwerte (y0, y1) an den Interpolationspunkten berechnet werden sollen, zeitlich im wesentlichen gleich verschoben sind; (ii) für jeden der Interpolationspunkte Bestimmen mehrerer Impulsantwortkoeffizienten (a–4 bis a4), die zu einer Interpolationsfunktion an jedem entsprechenden Abtastzeitpunkt der mehreren Signalabtastwerte (x–4 bis x3) gehören, und (iii) gleichzeitiges Berechnen der interpolierten Signalabtastwerte (y0, y1), die den Interpolationspunkten entsprechen, in Kombination mit Summen- und Differenzoperationen wenigstens eines Paars von Impulsantwortkoeffizienten und wenigstens eines Paars diskreter Zeitsignal-Abtastwerte, wobei der Schritt (iii) des Verfahrens die folgenden Schritte umfaßt: (iv) Bilden erster Zwischendaten α in Übereinstimmung mit wenigstens einem summierten Paar diskreter Zeitsignal-Abtastwerte in Kombination mit wenigstens einem summierten Paar entsprechender Impulsantwortkoeffizienten; (v) Bilden zweiter Zwischendaten β in Übereinstimmung mit einer Differenz zwischen wenigstens einem Paar diskreter Zeitsignal-Abtastwerte in Kombination mit einer Differenz zwischen wenigstens einem Paar entsprechender Impulsantwortkoeffizienten, und (vi) Berechnen der interpolierten Signalabtastwerte in Übereinstimmung mit einer Summe aus den ersten Zwischendaten α und den zweiten Zwi schendaten β und einer Differenz zwischen den ersten Zwischendaten α und den zweiten Zwischendaten β.
  • Durch das Auswählen mehrerer Interpolationspunkte, wovon jeder von einem zentralen Referenzpunkt um einen gleichen Betrag zeitlich verschoben ist, könnte die Berechnung interpolierter Signalabtastwerte, die den Interpolationspunkten entsprechen, wesentlich reduziert werden, indem eine relative Symmetrie der Impulsantwortkoeffizienten ausgenutzt wird, die den entsprechenden Interpolationspunkten zugeordnet sind.
  • Gemäß der Erfindung wird außerdem ein Interpolationsfilter zum Erzeugen mehrerer interpolierter Signalabtastwerte (y0, y1) eines diskreten Zeitsignals geschaffen, mit einem Schieberegister, das dazu dient, Abtastwerte (x–4 bis x3) des ihm zugeführten diskreten Zeitsignals zu speichern, mit mehreren umschaltbaren Addierern/Subtrahierern, die an das Schieberegister angeschlossen sind und wovon jeder in einer ersten Betriebsart arbeitet, um ein Paar Signalabtastwerte, die vom Schieberegister geliefert werden und um einen zentralen Referenzpunkt zeitlich im wesentlichen gleich verschoben sind, zu addieren, und in einer zweiten Betriebsart arbeitet, um das Paar von Signalabtastwerten voneinander zu subtrahieren, wobei die Addierer/Subtrahierer zwischen der ersten und der zweiten Betriebsart in Übereinstimmung mit einem Steuersignal umgeschaltet werden, mehreren Skalierungsmitteln, wovon jedes in der Weise arbeitet, daß es Signale, die von einem Ausgang eines entsprechenden der Addierer/Subtrahierer geliefert werden, mit Daten, die von einem von mehreren steuerbaren Schaltern geliefert werden, skaliert, wobei die von jedem steuerbaren Schalter gelieferten Daten entweder, in einer ersten Stellung des Schalters, eine Summe zweier Interpolationskoeffizienten sind, um von dem entsprechenden Addierer/Subtrahierer erzeugte Signale zu skalieren, wenn er in der ersten Betriebsart arbeitet, oder, in einer zweiten Stellung des Schalters, eine Differenz zwischen den Interpolationskoeffizienten sind, um von dem entsprechenden Addierer/Subtrahierer erzeugte Signale zu skalieren, wenn er in der zweiten Betriebsart arbeitet, wobei die Stellung des Schalters in Übereinstimmung mit dem Steuersignal gesteuert wird, einem Sum mierer, der an einen Ausgang jedes der mehreren Skalierungsmittel angeschlossen ist und in der Weise arbeitet, daß er skalierte Ausgänge von den Addierern/Subtrahierern summiert, und einer Interpolationssteuereinheit, die in der Weise arbeitet, daß sie das Steuersignal und die interpolierten Signalabtastwerte in Übereinstimmung mit den Summen- und Differenzoperationen an am Ausgang des Summierers bereitgestellten Signalen erzeugt.
  • Nun wird eine Ausführungsform der vorliegenden Erfindung beispielhaft mit Bezug auf die beigefügte Zeichnung beschrieben, worin
  • 2 eine Darstellung zweier Versionen einer Interpolationsfunktion mit zugeordneten Koeffizienten ist, die zwei Interpolationspunkten bei Verwendung eines Interpolators ungerader Ordnung entsprechen;
  • 3 eine Darstellung zweier Versionen einer Interpolationsfunktion mit zugeordneten Koeffizienten ist, die zwei Interpolationspunkten bei Verwendung eines Interpolators gerader Ordnung entsprechen; und
  • 4 ein schematischer Blockschaltplan eines Interpolationsfilters gerader Ordnung ist.
  • Ein Filter mit begrenztem Impulsansprechverhalten (FIR), das eine Faltung einer Impulsantwort des Filters mit einem diskreten Zeitsignal ausführt, könnte ein Filter gerader Ordnung oder ein Filter ungerader Ordnung sein. Ein Filter gerader Ordnung umfaßt eine Impulsantwort mit einer geraden Anzahl von Impulsantwortkoeffizienten, wohingegen ein Filter ungerader Ordnung eine Impulsantwort mit einer ungeraden Anzahl von Impulskoeffizienten verwirklicht. Eine Impulsantwort ungerader Ordnung ist durch die Tatsache gekennzeichnet, daß ein diskreter Zeitabtastwert im Zentrum der Impulsantwort des Filters liegen wird. Eine Impulsantwort gerader Ordnung ist dadurch gekennzeichnet, daß kein Abtastwert im Zentrum der Impulsantwort des Filters liegt.
  • Eine veranschaulichende Darstellung einer Interpolationsfunktion in zeitlich stetiger Form ist in 2 gezeigt. In 2 sind zwei Versionen 29a, 29b der In terpolationsfunktion gezeigt, die einer Berechnung zweier interpolierter Signalabtastwerte y0 und y1 entsprechen. Außerdem sind in 2 mehrere durch Linien veranschaulichte diskrete Zeitsignal-Abtastpunkte gezeigt, die mit x–i bezeichnet sind, wobei der Index i im Bereich von –3 bis 3 ist. In diesem Fall ist ein Interpolator zum Interpolieren des Signalabtastwerts ein Interpolator ungerader Ordnung. An jedem der diskreten Zeitsignal-Abtastpunkte x–3, x–2, x–1, x0, x1, x2, x3 ist ein entsprechender Abtastwert der Interpolationsfunktionen 29a, 29b als Impulsantwortkoeffizient ai dargestellt, wobei i ebenfalls im Bereich von –3 bis 3 ist. Die Impulsantwortkoeffizienten ai bilden eine Impulsantwort, die einer diskreten zeitlichen Darstellung der Interpolationsfunktion 29a, 29b entspricht, die zur Bildung der interpolierten Abtastwerte y0, y1 verwendet wird. Infolge der Tatsache, daß die interpolierten Abtastwerte y0, y1 in bezug auf den diskreten Abtastzeitpunkt x0 um einen gleichen Betrag zeitlich verschoben sind, sind die Impulsantwortkoeffizienten für jeden der Interpolationspunkte y1, y0 im wesentlichen gleich, da die Koeffizienten ai, wobei i gleich –3 bis 3 ist, für eine Berechnung eines interpolierenden Abtastwerts im Interpolationspunkt y0 die gleichen wie für den Interpolationspunkt y1 sind. Die Koeffizienten für die Berechnung der entsprechenden interpolierten Abtastwerte y0, y1 sind daher symmetrisch. Genau diese Symmetrie bei der Berechnung der interpolierten Abtastwerte liefert gemäß dem folgenden Verfahren Einsparungen bei der Berechnung der interpolierten Abtastwerte in den Punkten y0, y1.
  • In dem in 2 gezeigten Beispiel entspricht der Interpolationspunkt y0 einer zeitlichen Position, die ein Viertel des Abtastintervalls früher als eine x0 entsprechende Position eines aktuell eingehenden Signalabtastwerts ist.
  • Der Interpolatorpunkt y1 entspricht einer zeitlichen Position, die ein Viertel des Abtastintervalls später als die x0 entsprechende Position des aktuell eingehenden Signalabtastwerts ist. Die Koeffizienten für den Interpolationspunkt sind in dem Diagramm als ai mit i ∊ {–3 ... 3} dargestellt.
  • Folglich ist
    Figure 00080001
    und allgemeiner ist für einen Interpolator ungerader Ordnung
    Figure 00080002
    wobei die Ordnung des Filters 2k + 1 ist. Die Untersuchung von
  • 2 zeigt eine Form der Symmetrie zwischen den Koeffizienten des Interpolationspunktes für frühe Abtastwerte y0 sowie diejenige für den Interpolationspunkt für späte Abtastwerte y1.
  • Folglich ist festzustellen, daß
    Figure 00080003
    und allgemeiner
    Figure 00080004
    ist.
  • Die obigen Gleichungen könnten folgendermaßen geschrieben werden:
    Figure 00080005
  • Nun wird
    Figure 00080006
    gebildet, wobei a'i = a0/2 für i = 0 und
    Figure 00080007
    für i > 0 ist, und es wird
    Figure 00080008
    gebildet, wobei
    Figure 00090001
    ist.
  • Die interpolierten Signalabtastwerte, die den Abtastpunkten y0, y1 entsprechen, werden danach in Übereinstimmung mit der Summe aus α und β für y0 und einer Differenz zwischen α und β für y1 berechnet, wie durch die Gleichungen (5) und (6) dargestellt ist: y0 = α + β (5) y1 = α – β (6)
  • Eine Darstellung zweier Versionen der Interpolationsfunktion für die Berechnung von zwei interpolierten Abtastwerten an den Positionen y0, y1 für eine Impulsantwort gerader Ordnung ist in 3 gezeigt, wo Teile oder Elemente, die auch in 2 gezeigt sind, gleiche numerische oder alphanumerische Bezeichnungen tragen. In 3 ist die Interpolationsfunktion 29a, 29b wie in 2 als in Übereinstimmung mit mehreren diskreten Zeitabtastpositionen xi abgetastet gezeigt, wobei es jedoch nun anders als in 2 acht Abtastpositionen gibt und dementsprechend die Impulskoeffizienten ai für jede dieser Abtastpositionen gerader Anzahl in Übereinstimmung mit der zeitlichen Position jedes der diskreten Zeitabtastwerte xi angepaßt sind, wobei i nun im Bereich von –4 bis +3 ist. In diesem Fall ergibt sich
    Figure 00090002
    für ein Filter der Ordnung 2k (k = 3 in 3). Mit einer Symmetrie, die derjenigen, die an früherer Stelle beschrieben worden ist, ähnlich ist, ergibt sich
    Figure 00090003
    . Die obige Gleichung kann folgendermaßen geschrieben werden:
    Figure 00090004
    Figure 00100001
  • Nun wird
    Figure 00100002
    gebildet, wobei
    Figure 00100003
    ist, und es wird
    Figure 00100004
    gebildet, wobei
    Figure 00100005
    ist.
  • Folglich ergibt sich wie für den Fall des ungeraden Interpolators y0 = α + β und y1 = α – β, wobei α und β jeweils nur mit k Multiplikationen errechnet worden sind.
  • Es wird nun eine Hardware- (oder Software-) Implementierung betrachtet, welche die letzteren Ausdrücke verwendet, um α und β zu berechnen. Für α wird eine vorausgehende Addition der Abtastwerte ausgeführt (wobei aus praktischen Gründen der mittige Abtastwert zu sich selbst addiert wird), und die Ergebnisse werden mit den abgegriffenen Werten a'i, i ∊ {0 ... k} multipliziert. Folglich werden k + 1 Multiplikationen ausgeführt, um a zu erhalten. Für β wird eine vorausgehende Subtraktion der Abtastwerte ausgeführt (wobei in diesem Fall die Subtraktion des mittigen Abtastwerts von sich selbst null ergibt, weshalb dieser Term vernachlässigt wird), und die Ergebnisse werden mit den bei ai'', i ∊ {1 ... k}, abgegriffenen Werten multipliziert. Folglich werden k Multiplikationen ausgeführt, um β zu bilden. Insgesamt werden 2k + 1 Multiplikationen ausgeführt, um α und β zu berechnen. Wenn α und β vorliegen, können y0 und y1 leicht abgeleitet werden, da wie zuvor erläutert y0 = α + β und y1 = α – β ist. Folglich sind sowohl y0 und y1 berechnet worden, indem nur 2k + 1 Multiplikationen ausgeführt worden sind, während bei der üblichen Implementierung jeweils 2k + 1 Multiplikationen erforderlich sind. Dieser Lösungsweg führt folglich zu einer Halbierung der Anzahl an Multiplikationen.
  • Eine entsprechende Implementierung eines FIR-Interpolationsfilters zur Ausführung der Interpolation einer Impulsantwort gerader Ordnung ist in 4 gezeigt. Der obige Ansatz, um interpolierte Abtastwerte zu erzielen, könnte in einer Vielzahl von effizienten Hardware- oder Software-Ausführungsformen umgesetzt werden. 4 zeigt die Architektur für eine Interpolator-Hardware-Ausführungsform achter Ordnung (k = 4) für einen Interpolator, der gemäß dem zuvor beschriebenen Interpolationsverfahren für einen Interpolator gerader Ordnung arbeitet.
  • In 4 wird von einem Leiter 30 ein diskretes Zeitsignal einem Schieberegister 58 zugeführt, das acht Stufen 31, 32, 33, 34, 35, 36, 37, 38 umfaßt. Außerdem sind in 4 vier steuerbare Addierer/Subtrahierer 39, 40, 41, 42 gezeigt. Ein erster Addierer/Subtrahierer 39 ist mit einer ersten Stufe 31 und mit der achten Stufe 38 des Schieberegisters 58 verbunden. Der Addierer/Subtrahierer 40 ist mit einer zweiten Stufe 32 und mit der siebten Stufe 37 des Schieberegisters 58 verbunden, während der dritte Addierer/Subtrahierer 41 mit der dritten Stufe 33 und mit der sechsten Stufe 36 des Schieberegisters 58 verbunden ist. Schließlich ist der vierte Addierer/Subtrahierer 42 mit der vierten Stufe 34 und mit der fünften Stufe 35 des Schieberegisters 58 verbunden. Ein Ausgang jedes der vier Addierer/Subtrahierer 39, 40, 41, 42 ist jeweils an einen Eingang eines der vier Multiplizierer 43, 44, 45 und 46 angeschlossen. Ein Ausgang jedes der vier Multiplizierer 43, 44, 45, 46 ist an einen Eingang eines Addierers 47 angeschlossen. Ein Ausgang des Addieren 47 ist an einen positiven Eingang einer ersten Arithmetikeinheit 48 angeschlossen. Der Ausgang des Addierens 47 ist außerdem an einen negativen Eingang einer zweiten Arithmetikeinheit 49 angeschlossen. Der Ausgang des Addierer 47 ist außerdem an einen Eingang des Auffang-Flip-Flops 50 angeschlossen. Ein Ausgang des Auffang-Flip-Flops 50 ist mit einem zweiten positiven Eingang der ersten Arithmetikeinheit 48 und mit einem zweiten positiven Eingang der zweiten Arithmetikeinheit 49 verbunden. Ein Takteingang des Auffang-Flip-Flops ist über einen Leiter 51 an einen Haupttaktgenerator angeschlossen, wobei der Leiter 51 außerdem an einen Takteingang eines durch zwei dividierenden Verzögerungsglieds 56 angeschlossen ist. Ein Ausgang Q des Verzögerungsglieds ist mit einem Takteingang des Schieberegister 58 und jeweils mit einem Steuereingang jedes der Addierer/Subtrahierer 39, 40, 41, 42 verbunden. Außerdem ist der Ausgang Q des Verzögerungsglieds mit einem Steuereingang jedes der vier Schalter 52, 53, 54, 55 verbunden. Jeweils ein Ausgang jedes der Schalter 52, 53, 54, 55 ist mit einem zweiten Eingang jedes der Multiplizierer 43, 44, 45, 46 verbunden.
  • In 4 taktet das Schieberegister 58 Signalabtastungen xi ein, wobei i ∊ {–4 ... 3}. Der Haupttaktgenerator läuft mit der doppelten Abtastfrequenz. Der Abtasttakt, der das Schieberegister 58 steuert, ist aus einer Version des Haupttaktes abgeleitet, die von dem durch zwei dividierenden Verzögerungsglieds 56 geteilt worden ist, um einen den Haupttakt repräsentierenden Abtasttakt mit der halben Frequenz zu erzeugen. Mit der ansteigenden Flanke des Abtasttaktes wird ein neuer Signalabtastwert in das Schieberegister geschoben.
  • Die vier Addierer/Subtrahierer 39, 40, 41, 42 sind so beschaffen, daß sie in Abhängigkeit vom Zustand des Abtasttaktes xi ± x–(i+1) ausgeben. Ein Addierer/Subtrahierer summiert seine Eingangssignale auf, wenn er so konfiguriert ist, daß er addiert (Abtasttakt auf hohem Pegel), und subtrahiert das rechts gezeigte Eingangssignal vom links gezeigten Eingangssignal, wenn er so konfiguriert ist, daß er subtrahiert (Abtasttakt auf niedrigem Pegel). Der am weitesten rechts befindliche Addierer/Subtrahierer liefert das Ausgangssignal für i = 0, und der Index steigt von rechts nach links. Für jede Position i wird der Ausgang entweder mit ai' (wenn der Addierer/Subtrahierer gerade addiert) oder mit ai'' (wenn der Addierer/Subtrahierer gerade subtrahiert) multipliziert. Die Wahl zwischen ai' und ai'' erfolgt entsprechend dem Zustand der Schalter.
  • Während des Zeitraums zwischen aufeinanderfolgenden Zyklen des Abtasttaktes liegen zwei Betriebsphasen des Haupttaktgenerators. Während der ersten Phase ist der Abtasttakt auf hohem Pegel und die Schaltung ist so beschaffen, daß sie den aktuellen Wert von α berechnet. Die zweite Phase beginnt mit der nächsten ansteigenden Flanke des Haupttaktes. Diese taktet den Wert von α in das Auffang-Flip-Flop 57 und setzt den Abtasttakt auf niedrigen Pegel. In diesem Zustand ist die Schaltung so beschaffen, daß sie den Wert von β berechnet. Wenn der berechnete Wert von β Gültigkeit erlangt (gegen Ende des Haupttaktzyklus), liefern die Ausgänge des Addierers und Subtrahierers y0 = α + β bzw. y1 = α – β. Folglich werden bei dieser Implementierung die beiden Ausgangssignale gleichzeitig erzeugt.
  • Wie für Fachleute leicht nachzuvollziehen sein wird, könnten an der Anordnung des Interpolationsfilters verschiedene Modifikationen vorgenommen werden, ohne vom Umfang der Erfindung, wie sie in den beigefügten Ansprüchen definiert ist, abzuweichen, wobei es insbesondere angebracht sein könnte, mehrere Werte zwischen den regulär eingehenden Abtastwerten zu interpolieren. Es könnte trotzdem eine Symmetrie der Koeffizienten verbleiben, die erforderlich sind, um die eine Hälfte einer Teilmenge dieser Abtastwerte sowie die andere Hälfte dieser Teilmenge zu erzeugen. Die hier beschriebenen Prinzipien könnten deshalb auf diesen Fall ausgedehnt werden, indem die gleichen Filteroperationen ausgeführt werden, um jedes geeignete Paar interpolierter Werte zu erzeugen. Es ist jedoch der Tatsache Beachtung zu schenken, daß in diesem Fall weitere Einsparungen möglich sind, da die erforderlichen vorausgehenden Additions- und Subtraktionsoperationen allen geforderten interpolierten Werten gemeinsam sind. Folglich brauchen diese Operationen nur einmal ausgeführt zu werden.

Claims (11)

  1. Verfahren zum Interpolieren eines diskreten Zeitsignals, das die folgenden Schritte umfaßt: (i) Identifizieren mehrerer Interpolationspunkte, die um einen zentralen Referenzpunkt (x0) mehrerer diskreter Zeitabtastwerte (x–4 bis x3) eines Signals, für das interpolierte Signalabtastwerte (y0, y1) an den Interpolationspunkten berechnet werden sollen, zeitlich im wesentlichen gleich verschoben sind; (ii) für jeden der Interpolationspunkte Bestimmen mehrerer Impulsantwortkoeffizienten (a–4 bis a4), die zu einer Interpolationsfunktion an jedem entsprechenden Abtastzeitpunkt der mehreren Signalabtastwerte (x–4 bis x3) gehören, und (iii) gleichzeitiges Berechnen der interpolierten Signalabtastwerte (y0, y1), die den Interpolationspunkten entsprechen, in Kombination mit Summen- und Differenzoperationen wenigstens eines Paars von Impulsantwortkoeffizienten und wenigstens eines Paars diskreter Zeitsignal-Abtastwerte, wobei der Schritt (iii) des Verfahrens die folgenden Schritte umfaßt: (iv) Bilden erster Zwischendaten α in Übereinstimmung mit wenigstens einem summierten Paar diskreter Zeitsignal-Abtastwerte in Kombination mit wenigstens einem summierten Paar entsprechender Impulsantwortkoeffizienten; (v) Bilden zweiter Zwischendaten β in Übereinstimmung mit einer Differenz zwischen wenigstens einem Paar diskreter Zeitsignal-Abtastwerte in Kombination mit einer Differenz zwischen wenigstens einem Paar entsprechender Impulsantwortkoeffizienten, und (vi) Berechnen der interpolierten Signalabtastwerte in Übereinstimmung mit einer Summe aus den ersten Zwischendaten α und den zweiten Zwischendaten β und einer Differenz zwischen den ersten Zwischendaten α und den zweiten Zwischendaten β.
  2. Verfahren zum Interpolieren eines diskreten Zeitsignals nach Anspruch 1, bei dem die mehreren Impulsantwortkoeffizienten der Interpolationsfunktion, die im Schritt (ii) des Verfahrens bestimmt werden, für jeden der Interpolationspunkte im wesentlichen gleich sind.
  3. Verfahren zum Interpolieren eines diskreten Zeitsignals nach Anspruch 1, bei dem die Interpolationspunkte (y0, y1) um einen (x0) der mehreren diskreten Zeitabtastwerte (x–4 bis x3) zeitlich im wesentlichen gleich verschoben sind.
  4. Verfahren zum Interpolieren eines diskreten Zeitsignals nach Anspruch 1, 2 oder 3, bei dem jeder Signalabtastwert des Paars aus wenigstens einem Paar von Signalabtastwerten im Schritt (iv) des Verfahrens zum Bilden der ersten Zwischendaten α in bezug auf den zentralen Referenzpunkt (x0) zeitlich im wesentlichen gleich verschoben ist und das wenigstens eine Paar von Impulsantwortkoeffizienten Abtastwerte der Interpolationsfunktion an zeitlichen Positionen repräsentiert, die der zeitlichen Verschiebung des wenigstens einen Paars von Signalabtastwerten in Bezug auf den zentralen Referenzpunkt (x0) entsprechen.
  5. Verfahren zum Interpolieren eines diskreten Zeitsignals nach einem der Ansprüche 1 bis 4, bei dem jeder Signalabtastwert des Paars aus wenigstens einem Paar von Signalabtastwerten im Schritt (v) des Verfahrens zum Bilden der zweiten Zwischendaten β in Bezug auf den zentralen Referenzpunkt (x0) zeitlich im wesentlichen gleich verschoben ist und das wenigstens eine Paar von Impulsantwortkoeffizienten Abtastwerte der Interpolationsfunktion an zeitlichen Positionen repräsentiert, die zu der zeitlichen Verschiebung des wenigstens einen Paars von Signalabtastwerten in Bezug auf den zentralen Referenzpunkt (x0) gehören.
  6. Verfahren zum Interpolieren eines diskreten Zeitsignals nach einem vorhergehenden Anspruch, bei dem jedes der Paare von Signalabtastwerten im Schritt (iv) des Verfahrens zum Bilden der ersten Zwischendaten α im wesentlichen gleich einem der Paare von Signalabtastwerten im Schritt (v) des Verfahrens zum Bilden der zweiten Zwischendaten β ist.
  7. Verfahren zum Interpolieren eines diskreten Zeitsignals nach einem vorhergehenden Anspruch, bei dem jedes der Paare von Impulsantwortkoeffizienten im Schritt (iv) des Verfahrens zum Bilden der ersten Zwischendaten α im wesentlichen gleich einem der Paare von Impulsantwortkoeffizienten im Schritt (v) des Verfahrens zum Bilden der zweiten Zwischendaten β ist.
  8. Verfahren zum Interpolieren eines diskreten Zeitsignals nach Anspruch 7, bei dem die mehreren diskreten Zeitsignal-Abtastwerte in einer ungeraden Anzahl von Signalabtastwerten vorhanden sind, die durch 2k + 1 repräsentiert werden, wobei k eine ganze Zahl ist, und im Schritt (iv) des Verfahrens zum Bilden der ersten Zwischendaten a die Berechnung in Übereinstimmung mit der folgenden Gleichung (1) erfolgt:
    Figure 00160001
    und wobei ai den i-ten Impulsantwortkoeffizienten der Interpolationsfunktion repräsentiert und xi den i-ten Signalabtastwert repräsentiert, und die Berechnung im Schritt (v) des Verfahrens zum Bilden der zweiten Zwischendaten β in Übereinstimmung mit der folgenden Gleichung (2) erfolgt:
    Figure 00160002
    Figure 00170001
  9. Verfahren zum Interpolieren eines diskreten Zeitsignals nach Anspruch 7, bei dem die mehreren Zeitsignal-Abtastwerte in einer geraden Anzahl von Signalabtastwerten vorhanden sind, die durch 2k repräsentiert wird, wobei k eine ganze Zahl ist, und die Berechnung im Schritt (iv) des Verfahrens zum Bilden der ersten Zwischendaten α in Übereinstimmung mit der folgenden Gleichung (3) erfolgt:
    Figure 00170002
    und wobei ai den i-ten Impulsantwortkoeffizienten der Interpolationsfunktion repräsentiert und xi den i-ten Signalabtastwert repräsentiert, und die Berechnung im Schritt (v) des Verfahrens zum Bilden der zweiten Zwischendaten β in Übereinstimmung mit der folgenden Gleichung (4) erfolgt:
    Figure 00170003
  10. Verfahren zum Interpolieren eines diskreten Zeitsignals nach den Ansprüchen 8 oder 9, bei dem die mehreren Interpolationspunkte zwei Interpolations punkte sind, die mit y0 und y1 bezeichnet sind, und bei dem y0 = α + β und y1 = α – β.
  11. Interpolationsfilter zum Erzeugen mehrerer interpolierter Signalabtastwerte (y0, y1) eines diskreten Zeitsignals, mit einem Schieberegister (58), das dazu dient, Abtastwerte (x–4 bis x3) des an es geliefertem diskreten Zeitsignals zu speichern, mehreren umschaltbaren Addierern/Subtrahierern (39 bis 42), die an das Schieberegister (58) angeschlossen sind und wovon jeder in einer ersten Betriebsart arbeitet, um ein Paar Signalabtastwerte, die vom Schieberegister geliefert werden und um einen zentralen Referenzpunkt zeitlich im wesentlichen gleich verschoben sind, zu addieren, und in einer zweiten Betriebsart arbeitet, um das Paar von Signalabtastwerten voneinander zu subtrahieren, wobei die Addierer/Subtrahierer (39 bis 42) zwischen der ersten und der zweiten Betriebsart in Übereinstimmung mit einem Steuersignal umgeschaltet werden, mehreren Skalierungsmitteln (43 bis 46), wovon jedes in der Weise arbeitet, daß es Signale, die von einem Ausgang eines entsprechenden der Addierer/Subtrahierer (39 bis 42) geliefert werden, mit Daten, die von einem von mehreren steuerbaren Schaltern (52 bis 55) geliefert werden, skaliert, wobei die von jedem steuerbaren Schalter (52 bis 55) gelieferten Daten entweder, in einer ersten Stellung des Schalters, eine Summe zweier Interpolationskoeffizienten sind, um von dem entsprechenden Addierer/Subtrahierer erzeugte Signale zu skalieren, wenn er in der ersten Betriebsart arbeitet, oder, in einer zweiten Stellung des Schalters, eine Differenz zwischen den Interpolationskoeffizienten sind, um von dem entsprechenden Addierer/Subtrahierer erzeugte Signale zu skalieren, wenn er in der zweiten Betriebsart arbeitet, wobei die Stellung des Schalters (52 bis 55) in Übereinstimmung mit dem Steuersignal gesteuert wird, einem Summierer (47), der an einen Ausgang jedes der mehreren Skalierungsmittel (43 bis 46) angeschlossen ist und in der Weise arbeitet, daß er skalierte Ausgänge von den Addierern/Subtrahierern (29 bis 42) summiert, und einer Interpolationssteuereinheit (56), die in der Weise arbeitet, daß sie das Steuersignal und die interpolierten Signalabtastwerte in Übereinstim mung mit den Summen- und Differenzoperationen an am Ausgang des Summierers bereitgestellten Signalen erzeugt.
DE69722719T 1996-07-17 1997-07-10 Interpolationsfilter Expired - Fee Related DE69722719T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9615021 1996-07-17
GB9615021A GB2315625B (en) 1996-07-17 1996-07-17 Improvements in or relating to interpolating filters

Publications (2)

Publication Number Publication Date
DE69722719D1 DE69722719D1 (de) 2003-07-17
DE69722719T2 true DE69722719T2 (de) 2004-05-13

Family

ID=10797069

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69722719T Expired - Fee Related DE69722719T2 (de) 1996-07-17 1997-07-10 Interpolationsfilter

Country Status (4)

Country Link
EP (1) EP0820145B1 (de)
AT (1) ATE242937T1 (de)
DE (1) DE69722719T2 (de)
GB (1) GB2315625B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2363924A (en) * 2000-06-20 2002-01-09 Virata Ltd Processor for FIR filtering
US6766339B2 (en) * 2001-01-11 2004-07-20 Asml Holding N.V. Method and system for efficient and accurate filtering and interpolation
US6718355B2 (en) * 2001-02-05 2004-04-06 Conexant Systems, Inc. Systems and methods for a partial sum digital fir filter

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2236452B (en) * 1989-07-14 1993-12-08 Tektronix Inc Coefficient reduction in a low ratio sampling rate converter
GB2267193B (en) * 1992-05-21 1995-09-27 Sony Broadcast & Communication Multi-tap oversampling filter

Also Published As

Publication number Publication date
GB2315625A (en) 1998-02-04
EP0820145B1 (de) 2003-06-11
EP0820145A2 (de) 1998-01-21
EP0820145A3 (de) 2000-01-26
DE69722719D1 (de) 2003-07-17
GB2315625B (en) 2001-02-21
ATE242937T1 (de) 2003-06-15
GB9615021D0 (en) 1996-09-04

Similar Documents

Publication Publication Date Title
DE3121972C2 (de)
DE69504371T2 (de) Digitales videoumwandlungsschaltsystem
DE69426680T2 (de) Rekonfigurierbare, programmierbare digitale Filterarchitektur
DE69428987T2 (de) Digital/Digital-Abtastratenumsetzer
DE2145404A1 (de) Nichtrekursive Digitalfiltereinrichtung mit Verzögerungs- und Addier-Anordnung
DE102009039428B4 (de) Digitalfilter
DE102015116269B4 (de) Abtastratenwandler, analog-digital-wandler mit einem abtastratenwandler und verfahren zum umwandeln eines datenstroms von einer datenrate in eine andere datenrate
DE69105774T2 (de) Abtastratenumsetzer.
DE68926154T2 (de) Pipelineprozessor zur Durchführung des LMS Algorithmus
DE2616660C3 (de) Arithmetische Einheit
DE69422650T2 (de) Als dreistufiges transversales Filter anwendbare digitale Filterschaltung
EP0491422B1 (de) Schaltungsanordnung zur Taktumsetzung eines digitalen Signals
DE2831059C2 (de) Integrierender Kodeumsetzer
DE1909657C3 (de) Digitales Filter
DE69623871T2 (de) Hardwareeffizientes Interpolationsfilter
DE69320218T2 (de) Digitales Filter
DE19919575C1 (de) Kammfilteranordnung zur Dezimation einer Folge von digitalen Eingangswerten in eine Folge von digitalen Ausgangswerten um einen nicht ganzzahligen Faktor
DE69722719T2 (de) Interpolationsfilter
DE69418711T2 (de) Verarbeitung von videosignalen
EP0889587A1 (de) Einrichtung zur Reduktion der Datenrate
DE69611155T2 (de) Digitales filter
DE69316186T2 (de) Verfahren zur Filterung von hochauflösenden digitalen Signalen und entsprechende digitale Filterarchitektur
DE3586692T2 (de) Arithmetische konvolutionsschaltung fuer digitale signalverarbeitung.
DE2655735C2 (de) Diskrete Amplitudenwerte verarbeitendes Transversalfilter
DE19741427C2 (de) Linearer Interpolator zur Interpolation eines abgetasteten Signals und lineares Interpolationsverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NOKIA SIEMENS NETWORKS GMBH & CO.KG, 81541 MUE, DE

8339 Ceased/non-payment of the annual fee