DE112011104978T5 - Kaskadierte Digitalfilter mit verringerter Latenz - Google Patents

Kaskadierte Digitalfilter mit verringerter Latenz Download PDF

Info

Publication number
DE112011104978T5
DE112011104978T5 DE112011104978.1T DE112011104978T DE112011104978T5 DE 112011104978 T5 DE112011104978 T5 DE 112011104978T5 DE 112011104978 T DE112011104978 T DE 112011104978T DE 112011104978 T5 DE112011104978 T5 DE 112011104978T5
Authority
DE
Germany
Prior art keywords
filter
term
signal value
biquad
received signal
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.)
Withdrawn
Application number
DE112011104978.1T
Other languages
English (en)
Inventor
Christopher Ryan
Daniel Y. Abramovitch
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies 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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE112011104978T5 publication Critical patent/DE112011104978T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0219Compensation of undesirable effects, e.g. quantisation noise, overflow
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0294Variable filters; Programmable filters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/04Recursive filters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0219Compensation of undesirable effects, e.g. quantisation noise, overflow
    • H03H2017/022Rounding error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H2220/00Indexing scheme relating to structures of digital filters
    • H03H2220/02Modular, e.g. cells connected in cascade

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

Es werden ein Filter und ein Verfahren zum Filtern eines Signals offenbart. Das Filter ist äquivalent zu einer Mehrzahl von in Reihe geschalteten Biquad-Filtern und ist an einem Digitalprozessor implementiert, der eine Sequenz von Signalwerten mit einer Abtastrate empfängt, die durch ein Abtastintervall gekennzeichnet ist, und der auf den Empfang jedes empfangenen Signalwerts hin einen gefilterten Signalwert erzeugt. Das Filter weist eine Latenz auf, die geringer ist als das Abtastintervall. Die gefilterten Werte können erzeugt werden, indem ein Term zu einem empfangenen Signalwert addiert wird und indem die Summe mit einer Gewinnkonstanten multipliziert wird, die von den Filterkonstanten abhängt. Der addierte Term hängt nicht von dem aktuellen empfangenen Signalwert ab. Das Filter kann in Festkommaganzzahlarithmetik implementiert werden.

Description

  • Hintergrund der Erfindung
  • Digitale Implementierungen von Filtern liefern viele Vorteile gegenüber herkömmlichen analogen Implementierungen. Bei einer digitalen Implementierung eines analogen Filters, das an ein elektrisches Signal angelegt wird, wird das elektrische Signal periodisch abgetastet, und die Abtastwerte werden digitalisiert, um einen digitalen Strom zu bilden, der in eine Rechenschaltung eingegeben wird, die die Filterberechnungen an den digitalisierten Abtastwerten durchführt, um einen digitalen Ausgangsstrom zu erzeugen, der dann wieder in ein analoges Signal umgewandelt werden kann. Für die Zwecke dieser Erörterung wird der Begriff Filterlatenz als Zeitverzögerung zwischen der Eingabe eines digitalen Abtastwerts in die Rechenmaschine und der Erzeugung des nächsten digitalen Ausgangsabtastwertes, der von dem betreffenden Eingangsabtastwert abhing, definiert.
  • Diese Zeitverzögerung ist besonders wichtig für Filter, die in Systemen verwendet werden, die mittels Rückkopplungsschleifen gesteuert werden. Ein Filter kann man sich so vorstellen, dass es Signalkomponenten bei gewählten Frequenzen verringert oder verstärkt. Alternativ kann man es sich so vorstellen, dass es eine Übertragungsfunktion einer gewünschten Gestalt in dem Frequenzbereich erzeugt. Falls ein digital implementiertes Filter in der Steuerschleife platziert wird, kann die durch das Filter bewirkte Verzögerung dazu führen, dass das Steuersystem instabil wird, was zu Oszillationen in dem Parameter, der zu steuern war, führt. Im Wesentlichen versucht das Steuersystem, das System auf der Basis von Daten zu regulieren, die zu alt sind, um gültig zu sein, und somit überkompensiert oder unterkompensiert das Steuersystem das betreffende System.
  • Ein weiteres Problem bei digital implementierten Filtern ist die Rechengenauigkeit, die seitens der Rechenmaschine benötigt wird, um den gefilterten Datenstrom präzise zu erzeugen. Diese Probleme können minimiert werden, indem Rechenmaschinen verwendet werden, die Hochpräzisions-Gleitkommaarithmetikeinheiten aufweisen. Jedoch sind derartige Rechenmaschinen für viele Anwendungen wirtschaftlich unattraktiv und beinhalten oft beträchtlich mehr rechentechnische Latenz als Festkommaeinheiten. Somit werden Implementierungen bevorzugt, die in Festkommaarithmetik ausgeführt werden können.
  • Diese beiden Probleme verstärken sich noch bei Anwendungen, bei denen eine Mehrzahl von Filtern kaskadiert werden muss, um die Effekte von Mehrfachresonanzen und Antiresonanzen innerhalb des gesteuerten Systems zu beseitigen. Falls zwei Filter kaskadiert sind, beträgt die Latenz des Filterpaars das Doppelte eines einzelnen Filters. Falls das kaskadierte Paar durch ein einzelnes Filter ersetzt wird, das dieselbe Filteroperation implementiert, ist die Länge des einzelnen Filters länger als die jedes der ursprünglichen Filter. Beispielsweise würden zwei kaskadierte Biquad-Filter durch ein einzelnes Filter ersetzt, dessen Zähler und Nenner Polynome der vierten Ordnung implementierten. In manchen Fällen nimmt die numerische Genauigkeit, die zum Implementieren des Filters in Festkommaarithmetik erforderlich ist, beträchtlich zu.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung umfasst ein Filter und ein Verfahren zum Filtern eines Signals. Das Filter ist äquivalent zu einer Mehrzahl von in Reihe geschalteten Biquad- oder bilinearen Filtern und ist an einem Digitalprozessor implementiert, der eine Sequenz von Signalwerten mit einer Abtastrate empfängt, die durch ein Abtastintervall gekennzeichnet ist, und der auf den Empfang jedes empfangenen Signalwerts hin einen gefilterten Signalwert erzeugt. Das Filter weist eine Latenz auf, die geringer ist als das Abtastintervall. Die gefilterten Werte können erzeugt werden, indem ein Term zu einem empfangenen Signalwert addiert wird und indem die Summe mit einer Gewinnkonstanten multipliziert wird, die von den Filterkonstanten abhängt. Der addierte Term hängt nicht von dem aktuellen empfangenen Signalwert ab. Das Filter kann in Festkommaganzzahlarithmetik implementiert werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 veranschaulicht den Rechenfluss eines digitalen Biquad-Filters.
  • 2A veranschaulicht eine Serie von Biquad-Filtern, die kaskadiert sind.
  • 2B veranschaulicht ein Filter gemäß der vorliegenden Erfindung, das als Kaskade von Biquads mit einem Direktdurchführungsgewinn von Eins implementiert ist.
  • 2C veranschaulicht ein weiteres Ausführungsbeispiel eines kaskadierten Filters gemäß der vorliegenden Erfindung.
  • 3 veranschaulicht ein weiteres Ausführungsbeispiel eines Filters gemäß der vorliegenden Erfindung.
  • 4 ist ein Flussdiagramm des bei einem Ausführungsbeispiel der vorliegenden Erfindung verwendeten Rechenalgorithmus.
  • Ausführliche Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung
  • Die Art und Weise, auf die die vorliegende Erfindung ihre Vorteile bietet, werden unter Bezugnahme auf 1 besser verständlich, die den Rechenfluss eines Biquad-Filters veranschaulicht. Ein Filter 20 empfängt eine Sequenz von digitalen Signalwerten u(k) und erzeugt eine Sequenz von gefilterten digitalen Werten y(k). Die am Erzeugen der gefilterten Werte beteiligte mathematische Berechnung lässt sich wie folgt zusammenfassen: d(k) = –a1d(k – 1) – a2d(k – 2) + u(k), (1) y ~(k) = d(k) + b ~1d(k – 1) + b ~2d(k – 2), (2) und y(k) = b0y ~(k) (3) wobei b0 insofern als Direktdurchführungsgewinn bezeichnet wird, als es die Skalierung des Eingangs u(k) ist, die sich ohne Verzögerung an dem Ausgang y(k) zeigt.
  • Alternativ dazu kann Gleichung (2) durch y ~(k) = b ~1d(k – 1) + b ~2d(k – 2) – a1d(k – 1) – a2d(k – 2) + u(k) (2a) oder y ~(k) = (b ~1 – a1)d(k – 1) + (b ~2 – a2)d(k – 2) + u(k). (2b) ersetzt werden. Die Parameter a1, a2, b0, b1, b2 werden durch die gewünschten Pole und Nullen des digitalen Filters bestimmt, die wiederum Eigenschaften wie beispielsweise die Mittenfrequenz usw. liefern. Bei einem Ausführungsbeispiel kann festgelegt werden, dass das Filter ein Antiresonanz/Resonanz-Paar ist, das die Effekte eines Resonanz/Antiresonanz-Paars in der Systemdynamik ausgleicht. Bei einem anderen Ausführungsbeispiel kann festgelegt werden, dass das Filter ein Filter mit einfachem Vorhalt/einfacher Verzögerung oder ein Filter mit doppeltem Vorhalt/doppelter Verzögerung ist. Bei einem anderen Ausführungsbeispiel kann das Filter ein Filter mit einfachem Vorhalt/einfacher Verzögerung oder mit doppeltem Vorhalt/doppelter Verzögerung sein. Bei einem weiteren Ausführungsbeispiel kann das Filter so geformt sein, dass es ein Bandpass- oder ein Bandsperrfilter ist. Die Art und Weise, wie diese Parameter ausgewählt werden, wird nachstehend ausführlicher erörtert.
  • Es sollte erwähnt werden, dass die Quantität –a1d(k – 1) – a2d(k – 2) berechnet werden kann, sobald u(k – 1) empfangen wird, und somit beträgt die Latenz beim Berechnen von d(k) genau die Zeit zum Durchführen einer einzelnen Addition. Desgleichen kann b ~1d(k – 1) + b ~2d(k – 2) berechnet werden, sobald u(k – 1) empfangen wird, und (b ~1 – a1)d(k – 1) + (b ~2 – a2)d(k – 2) kann berechnet werden, sobald u(k – 1) empfangen wird. Somit ist aus den Gleichungen 2a, 2b und 3 ersichtlich, dass die Gesamtlatenz beim Berechnen von y(k) die Zeit für eine Addition und eine Multiplikation ist.
  • Die Art und Weise, wie das Rechenverfahren der vorliegenden Erfindung seine Vorteile liefert, wird durch Definieren einer Sequenz von Verzögerungsvektoren besser verständlich. Für ein einzelnes Biquad-Filter sei die Sequenz von Vektoren
    Figure DE112011104978T5_0002
    definiert, deren Komponenten durch d ~1(k) = d ~(k) (4) d ~2(k) = d ~1(k – 1) (5) gegeben sind. Diese Vektoren werden in der folgenden Erörterung als „D-Vektoren” bezeichnet. Jedes Mal, wenn ein neuer Signalwert u(k) empfangen wird, wird der D-Vektor wie folgt aktualisiert:
    Figure DE112011104978T5_0003
    und der gefilterte Wert wird gemäß
    Figure DE112011104978T5_0004
    berechnet.
  • Die durch die Produkte
    Figure DE112011104978T5_0005
    definierten Vektoren können berechnet werden, sobald u(k – 1) empfangen wird, und somit ist die Latenz die Zeit, die für eine skalare Addition und die abschließende Multiplikation benötigt wird, um y(k) zu erhalten. Ferner sei erwähnt, dass die mehreren skalaren Additionen parallel durchgeführt werden können und somit durchgeführt werden können, ohne die Filterlatenzzeit zu erhöhen.
  • Ein einzelnes Biquad-Filter sieht ein Filtern für ein Resonanz/Antiresonanz-Paar vor. Um mehrere Paare herauszufiltern oder eine Übertragungsfunktion einer höheren Ordnung zu implementieren, kann eine Serie von Biquad-Filtern kaskadiert sein, wie in 2A gezeigt ist. Bei diesem Beispiel gibt es N Biquad-Filter; beispielhafte Filter sind bei 4143 gezeigt. Der Eingang in das i.te Filter ist der Ausgang des (i – 1.ten) Filters. Der Eingang des ersten Filters ist der Eingangsstrom, und der Ausgang des N.ten Filters ist der gefilterte Ausgang aus der Kaskade.
  • Ein einzelnes Biquad wird durch die Übertragungsfunktion:
    Figure DE112011104978T5_0006
    dargestellt, die, wie oben erwähnt wurde, im Zeitbereich als: d(k) = –a1d(k – 1) – a2d(k – 2) + u(k), (11) y(k) = b0d(k) + b1d(k – 1) + b2d(k – 2), (12) implementiert werden kann.
  • Bei einem Ausführungsbeispiel wird b0 ausgeklammert, und somit gilt:
    Figure DE112011104978T5_0007
  • In diesem Fall gilt: d(k) = –a1d(k – 1) – a2d(k – 2) + u(k), (14) y ~(k) = d(k) + b ~1d(k – 1) + b ~2d(k – 2), and (15) y(k) = b0y ~(k) (16)
  • In der folgenden Erörterung wird ein Filter, das die Übertragungsfunktionsform
    Figure DE112011104978T5_0008
    aufweist, als Biquad-Filter mit einem Direktdurchführungsgewinn von Eins bezeichnet, da sein Wert für den Direktdurchführungsgewinn b0 auf 1 festgelegt ist. Nun sei auf 2B Bezug genommen, die ein Filter gemäß der vorliegenden Erfindung veranschaulicht, das als Kette von Biquads implementiert ist. Ein Filter 70 ist aus N Biquads mit einem Direktdurchführungsgewinn von Eins aufgebaut, die bei 7173 gezeigt sind. Der Ausgang des letzten Biquads wird durch eine Gewinnstufe 74 verstärkt, die den Ausgang anpasst, um den gewünschten Gesamtgewinn bereitzustellen.
  • Es ist zu beachten, dass der Zähler der Gleichung (10) Signale in einem Frequenzband, das der Kerbe entspricht, dämpft. Der Nenner liefert den Gewinn in einem zweiten Frequenzband. Die Koeffizienten ai und bi sind auf die Eigenschaften dieser Bänder bezogen. Der b0-Koeffizient ist per definitionem der Direktdurchführungsgewinn des Biquads. Durch Ausklammern des b0-Terms kann eine Kaskade von Biquads, die denselben Direktdurchführungsgewinn (von Eins) aufweisen, implementiert werden, auf die eine Einzelgewinnstufe folgt. Dies ermöglicht Implementierungen, bei denen ein allgemeiner Filterprozessor bereitgestellt wird, der ansprechend darauf, dass der Nutzer die Parameter für jedes Biquad und den Gesamtgewinn des Systems eingibt, die Kaskade implementiert.
  • Um die folgende Erörterung zu vereinfachen, werden in einer Kette von Biquads zusätzliche Tiefstellungen verwendet, um die jeweilige Quantität, die den individuellen Biquads zugeordnet ist, zu benennen. Die interessierenden Quantitäten lauten wie folgt: u0(k) = u(k), (17) u1(k) = y ~0(k), (18) u2(k) = y ~1(k), ... (19) uN-1(k) = y ~N-2(k), u ~N-1(k) = y~N-2(k), (20) y ~(k) = y ~N-1(k), und (21) y(k) = (bN-1,0bN-2,0...b1,0b0,0)y ~(k) (22) di(k) = –ai,1d(k – 1) – ai,2d(k – 2) + ui(k) (23) y ~i(k) = di(k) + b ~i,1di(k – 1) + b ~i,2di(k – 2) (24)
  • Für jedes di(k) werden zwei Komponenten di,1(k) und di,2(k) wie folgt definiert: d ~i,1(k) = di(k) (25) d ~i,2(k) = d ~i,1(k – 1) (26)
  • Die Koeffizienten ai,1, ai,2, bi,1, bi,2 und bi,0 werden anhand der gewünschten Filtereigenschaften wie folgt ermittelt. Für das i.te Filter wird zunächst Folgendes benannt:
    Figure DE112011104978T5_0009
  • Die betreffenden Parameter werden dann wie folgt auf diese Filterparameter bezogen:
    Figure DE112011104978T5_0010
  • Die Art und Weise, auf die die vorliegende Erfindung ihre Vorteile liefert, lässt sich anhand eines Vektors leichter nachvollziehen.
  • Figure DE112011104978T5_0011
  • Aus den obigen Definitionen lässt sich zeigen, dass D ~(k) = MD·D(k – 1) + u(k)CD (28)
  • Hier ist MD eine Matrix und CD ist ein konstanter Vektor. Beispielsweise kann in dem Fall, in dem drei Biquads kaskadiert sind, gezeigt werden, dass
    Figure DE112011104978T5_0012
  • Es ist zu beachten, dass das Matrixprodukt MD·D(k – 1) berechnet werden kann, sobald u(k – 1) empfangen wird. Somit vermeidet diese Formulierung die erhöhte Latenz, die mit einer Kaskade von Biquads zusammenhängt.
  • Desgleichen sei ein Vektor
    Figure DE112011104978T5_0013
    definiert. Es kann gezeigt werden, dass Y(k) = My·D(k – 1) + u(k)·Cy (29)
  • Hier ist My eine Matrix und Cy ist eine konstanter Vektor.
  • Beispielsweise kann in dem Fall, in dem drei Biquads kaskadiert sind, gezeigt werden, dass
    Figure DE112011104978T5_0014
  • Das Matrixprodukt My·D(k – 1) kann berechnet werden, sobald D(k – 1) bekannt ist. Wie oben angegeben wurde, kann D(k – 1) berechnet werden, sobald u(k – 1) empfangen wird. Angenommen, dass die Berechnungen an einem Computer durchgeführt werden, der eine Zykluszeit aufweist, die viel schneller ist als die Geschwindigkeit, mit der Abtastwerte empfangen werden, können sie in einem Zeitraum abgeschlossen werden, der geringer ist als die Zeitdifferenz zwischen aufeinander folgenden Abtastwerten. Somit sind die vorab berechneten Teile des Filters bereit, und die Zeit, die benötigt wird, um auf den jüngsten Abtastwert anzusprechen, ist einfach die Zeit für eine Addition und eine Multiplikation. Diesbezüglich ist zu erwähnen, dass die Matrixmultiplikationen und -additionen parallel auf einer Maschine, die mehrere Prozessoren aufweist, oder in einer programmierbaren Logik wie beispielsweise einem feldprogrammierbaren Gatterarray (FPGA – Field Programmable Gate Array) ausgeführt werden können.
  • Ferner ist zu beachten, dass der Filterausgang lediglich von y ~2(k) abhängt, d. h. y(k) = b 0y ~(k) = (b2,0b1,0b0,0)y ~2(k), und dass der Ausgang somit berechnet werden kann, indem ein Term, der lediglich von den zuvor empfangenen Werten der Eingangssequenz abhängt, zu u(k) addiert wird und indem anschließend das Ergebnis skaliert wird, um den Ausgang zu liefern.
  • Die tatsächlichen numerischen Berechnungen können vereinfacht werden, indem beachtet wird, dass zwei Quantitäten für jedes Biquad eine bestimmte Anzahl von Malen in den Matrixprodukten wiederholt werden und dass diese Quantitäten somit einmal berechnet werden können und zum Berechnen der Matrixprodukte verwendet werden können. Insbesondere sind die Quantitäten pr ~eci,1(k) = ai,1d ~i,1(k – 1) + ai,2d ~i,2(k – 1) and (31a) pr ~eci,2(k) = b ~i,1d ~i,1(k – 1) + b ~i,2d ~i,2(k – 1) (31b) nützlich beim Verringern der rechentechnischen Komplexität insofern, als die Matrix-D-Vektorprodukte anhand von Summen und Differenzen dieser Quantitäten geschrieben werden können. Beispielsweise gilt im Fall von drei kaskadierten Biquads:
    Figure DE112011104978T5_0015
  • Eine Implementierung des in 2B gezeigten Filters unter Verwendung dieser vorab berechneten Quantitäten ist in 2C gezeigt.
  • Falls die Abtastrate im Vergleich zu den Frequenzen der zu filternden Dynamik (beispielsweise das Biquad, das ein Kerbe/Resonanz-Paar bereitstellt) hoch ist und die Berechnungen in einer Festkommaganzzahlarithmetik ausgeführt werden, können die oben erörterten Summen und Differenzen Rundungsfehler aufweisen, da b ~i,1 ≈ –2 und b ~i,2 ≈ 1 und ai,1 ≈ –2 und ai,2 ≈ 1.
  • Für die Zwecke dieser Erörterung wird die Abtastrate im Vergleich zu den Frequenzen der zu filternden Dynamik als hoch bezeichnet, falls die Abtastrate größer als das Zehnfache der Frequenz der niedrigsten Frequenzkerbe ist. Man betrachte den Term: b ~0,1 – a0,1, der in Gleichung (30) erscheint. Dieser Term beinhaltet die Differenz zweier Quantitäten, die nahezu gleich sind. Somit kann die Differenz in der Festkommaarithmetik sogar dann eine Zahl mit einer Genauigkeit von lediglich einigen wenigen Bits sein, wenn die betreffenden Quantitäten durch Zahlen dargestellt werden, die 10 oder 12 Bits aufweisen.
  • Bei einem Aspekt der vorliegenden Erfindung werden die Rundungsfehlerprobleme beträchtlich verringert, indem man Folgendes ersetzt: b ~i,1 = 1 + b ~i,1Δ b ~i,2 = 1 + b ~i,2Δ ai,1 = –2 + ai,1Δ ai,2 = 1 + ai,2Δ
  • Bezüglich oben beschriebener vorab berechneter Quantitäten nutzt die neue Form von pr ~eci,1(k) und pr ~eci,2(k) diese Koeffizienten:
    Figure DE112011104978T5_0016
  • Hier verwendet pr ~eci,1F(k) skalierte Koeffizienten für eine genauere Multiplikation:
    Figure DE112011104978T5_0017
    und anschließend wird die Skalierung vor einer Addition zu pr ~eci,1W(k) beseitigt:
    Figure DE112011104978T5_0018
  • Hier ist der Koeffizient Ei derart gewählt, dass die Multiplikationen die gewünschte Genauigkeit aufweisen. Ferner ist es möglich, für jeden Koeffizienten in der Gleichung einen anderen Wert Ei zu wählen. Desgleichen gilt:
    Figure DE112011104978T5_0019
  • Nun sei auf 3 Bezug genommen, die ein Ausführungsbeispiel eines Filters gemäß der vorliegenden Erfindung veranschaulicht. Ein Filter 50 verarbeitet ein elektrisches oder optisches Signal von einer Quelle 55. Falls die Quelle 55 ein analoges Signal liefert, wird das Signal durch einen A/D 54 digitalisiert. Falls die Quelle bereits ein digitales Signal erzeugt, kann auf den A/D 54 verzichtet werden. Ein Prozessor 51 berechnet das gefilterte Signal aus Filterkoeffizienten, die in einem Speicher 52 gespeichert sind. Der Prozessor 51 kann in einer Spezial-Signalverarbeitungshardware oder als herkömmliche Rechenmaschine implementiert sein. Jedes Mal, wenn ein neuer Signalwert in den Prozessor 51 eingegeben wird, erzeugt der Prozessor 51 ein digitales Ausgangssignal. Falls der gewünschte Ausgang des Filters 50 ein analoges Signal ist, kann ein D/A-Wandler 53 in dem Filter 52 enthalten sein.
  • Nun wird auf 4 Bezug genommen, die ein Flussdiagramm für ein Ausführungsbeispiel des Verarbeitungsalgorithmus der vorliegenden Erfindung ist. Anfänglich warten die Prozessschleifen auf den nächsten Eingangswert u(k), wie bei 61 gezeigt ist. Wenn ein neuer Wert u(k) empfangen wird, gewinnt der Prozessor die berechneten Vektoren, die am Ende des letzten Verarbeitungszyklus erzeugt wurden, wieder, wie bei 62 gezeigt ist, und erzeugt einen neuen Ausgangswert y(k), wie bei 63 gezeigt ist. Der neue Eingangswert wird dann dazu verwendet, Vektoren, die zum Verarbeiten des nächsten Eingangswerts benötigt werden, vorab zu berechnen, wie bei 64 gezeigt ist. Diese Werte werden anschließend gespeichert, und der Prozessor kehrt in den Zustand zurück, in dem er auf den nächsten Eingangswert wartet. Die Verarbeitungszeit zum Berechnen der vorab berechneten Vektoren muss geringer sein als die Zeit zwischen Abtastwerten. Wie oben erwähnt wurde, könnte Spezialhardware wie beispielsweise FPGAs verwendet werden, um die Verarbeitungszeit unter Verwendung einer parallelen Verarbeitungsanordnung zu verringern.
  • Obwohl die oben beschriebenen Ausführungsbeispiele der vorliegenden Erfindung auf Filter abzielen, die Kerben und Resonanzen aufweisen, kann das Verfahren der vorliegenden Erfindung auf die Berechnung eines beliebigen Filters angewendet werden, das zu einer Serie von Biquad-Filtern äquivalent ist. Desgleichen kann eine beliebige Biquad-Stufe dazu verwendet werden, ein bilineares Filter (mit einem Pol und einer Null) zu implementieren, indem ai,2 und b ~i,2 auf 0 gesetzt werden. In diesem Fall gilt:
    fN,i Nullfrequenz des Zählers (Hz)
    ωN,i = 2πfN,i Nullfrequenz des Zählers (rad/s)
    fD,i Polfrequenz des Nenners (Hz)
    ωD,i = 2πfD,i Polfrequenz des Nenners (rad/s)
    was zu Koeffizientenwerten
    Figure DE112011104978T5_0020
    führt.
  • Nun konnte dieselbe Filterstruktur wie zuvor berechnet werden. Zum Zweck einer verbesserten Genauigkeit ist es jedoch möglich, die Berechnung der Δ-Koeffizienten zu verändern. Für hohe Abtastraten im Vergleich zu den zu filternden Dynamiken gilt dann: ai,1, b ~i,1 ≈ –1, was bedeutet, dass eine erhöhte Genauigkeit erhalten werden kann, indem Folgendes berechnet wird: ai,1 = –1 + ai,1Δ so ai,1Δ = ai,1 + 1, ai,2 = 0 so ai,2Δ = 0, b ~i,1 = –1 + b ~i,1Δ so b ~i,1Δ = b ~i,1 + 1, und schließlich b ~i,2 = 0 so b ~i,2Δ = 0.
  • Für diesen Biquad-Abschnitt gilt:
    Figure DE112011104978T5_0021
    wobei der Koeffizient Ei so gewählt ist, dass die Multiplikationen die gewünschte Präzision aufweisen, und desgleichen
    Figure DE112011104978T5_0022
  • Wiederum ist es möglich, für jeden Koeffizienten einen anderen Wert Ei in den Gleichungen zu wählen.
  • Obwohl Ausführungsbeispiele oben ein Filter mit einem einzigen Eingang und einem einzigen Ausgang (SISO-Filter, SISO = Single-Input, Single-Output) erörterten, versteht es sich, dass diese Erfindung auf Filter mit mehreren Eingängen (MI – Multiple Inputs), mehreren Ausgängen (MO – Multiple Outputs) oder beides (MIMO) angewendet werden kann.
  • Die Software oder Logikblöcke, die zum Implementieren der vorliegenden Erfindung verwendet werden, kann bzw. können für eine Zustandsraumimplementierung (wie beispielsweise Gleichungen 28–30) oder Übertragungsfunktionsform-Implementierungen (beispielsweise Gleichungen 17–24) oder irgendetwas dazwischen (beispielsweise Gleichungen 31–32) optimiert werden. Aus der obigen Erörterung wird deutlich, dass diese Berechnungen in beliebigen dieser Formen oder in anderen, ähnlichen Formen implementiert werden können.
  • Die oben beschriebenen Ausführungsbeispiele der vorliegenden Erfindung wurden bereitgestellt, um diverse Aspekte der Erfindung zu veranschaulichen. Jedoch versteht es sich, dass verschiedene Aspekte der vorliegenden Erfindung, die in verschiedenen spezifischen Ausführungsbeispielen gezeigt sind, kombiniert werden können, um andere Ausführungsbeispiele der vorliegenden Erfindung zu liefern. Außerdem ergeben sich aus der vorstehenden Beschreibung und den beiliegenden Zeichnungen diverse Modifikationen der vorliegenden Erfindung. Demgemäß soll die vorliegende Erfindung lediglich durch den Schutzumfang der folgenden Patentansprüche beschränkt sein.

Claims (20)

  1. Ein Filter, das eine beliebige positive ganzzahlige Anzahl von Polen und Nullen aufweist, wobei dieses Filter äquivalent zu einer Mehrzahl von Biquad- und/oder bilinearen Filtern ist, die in Reihe geschaltet sind, wobei das Filter an einem Digitalprozessor implementiert ist, der eine Sequenz von Signalwerten mit einer Abtastrate empfängt, die durch ein Abtastintervall gekennzeichnet ist, und der auf den Empfang jedes empfangenen Signalwerts hin einen gefilterten Signalwert erzeugt, wobei das Filter eine Latenz aufweist, die geringer ist als das Abtastintervall.
  2. Das Filter gemäß Anspruch 1, wobei das Filter durch eine Anzahl von Parametern gekennzeichnet ist und wobei die Latenz unabhängig von der Anzahl von Parametern ist.
  3. Das Filter gemäß Anspruch 1, bei dem der Prozessor jeden gefilterten Signalwert erzeugt, indem er einen Term zu einem empfangenen Signalwert addiert und die Summe mit einer Gewinnkonstanten multipliziert, die von den Konstanten abhängt, wobei der Term nicht von dem empfangenen Signalwert abhängt.
  4. Das Filter gemäß Anspruch 3, bei dem der Term von zuvor empfangenen Signalwerten und Konstanten abhängt, die die in Reihe geschalteten Biquad-Filter kennzeichnen.
  5. Das Filter gemäß Anspruch 1, bei dem die Mehrzahl von Biquad-Filtern eine Mehrzahl von Biquad-Filtern mit einem Direktdurchführungsgewinn von Eins aufweist, die seitens einer Gewinnstufe geströmt wird.
  6. Das Filter gemäß Anspruch 5, bei dem eine Mehrzahl der Biquad-Filter mit einem Direktdurchführungsgewinn von Eins ein bilineares Filter implementiert.
  7. Das Filter gemäß Anspruch 3, bei dem der Prozessor den Term erzeugt, der dazu verwendet wird, den nächsten gefilterten Wert vor Empfang des nächsten Signalwerts zu berechnen.
  8. Das Filter gemäß Anspruch 3, bei dem der Prozessor eine Festkommaganzzahlarithmetik verwendet, um den Term zu berechnen.
  9. Das Filter gemäß Anspruch 8, wobei das Biquad-Filter ein Filter aufweist, das eine Frequenzkerbe oder Resonanz bei einer vorbestimmten Frequenz liefert, wobei die Abtastrate im Vergleich zu der vorbestimmten Frequenz hoch ist, und wobei der Term berechnet wird, indem eine der Konstanten vor Berechnen des Terms mit einem Skalierungsfaktor multipliziert wird, wobei der Skalierungsfaktor dahin gehend gewählt wird, einen Rundungsfehler in dem Term zu verringern.
  10. Das Filter gemäß Anspruch 1, wobei das Filter unter Verwendung einer Zustandsraumform implementiert ist.
  11. Das Filter gemäß Anspruch 1, wobei das Filter unter Verwendung einer Übertragungsfunktionsform implementiert ist.
  12. Das Filterverfahren Anspruch 8, bei dem das Biquad-Filter ein Filter aufweist, das eine Formgebung der Frequenzantwort in einem gewünschten Frequenzbereich liefert, wobei die Abtastrate im Vergleich zu dem gewünschten Frequenzbereich hoch ist, und bei dem der Term berechnet wird, indem eine der Konstanten vor Berechnen des Terms mit einem Skalierungsfaktor multipliziert wird, wobei der Skalierungsfaktor dahin gehend gewählt wird, einen Rundungsfehler in dem Term zu verringern.
  13. Ein Verfahren zum Filtern eines Signals, um ein gefiltertes Signal zu erzeugen, das sich an die Ergebnisse des Filterns des Signals durch eine in Reihe geschaltete Folge von Biquad- oder bilinearen Filtern annähert, wobei das Verfahren Folgendew aufweist: Empfangen einer Sequenz von Signalwerten mit einer Abtastrate, die durch ein Abtastintervall gekennzeichnet ist; Erzeugen eines gefilterten Signalwerts, der jedem empfangenen Signalwert entspricht, indem ein Term zu dem empfangenen Signalwert addiert wird und das Ergebnis skaliert wird, um den gefilterten Signalwert zu liefern, wobei der Term unabhängig von dem entsprechenden empfangenen Signalwert ist; Ausgeben des gefilterten Signalwerts; und Erzeugen des Terms, der dem nächsten Signalwert entspricht, vor Empfang des nächsten Signalwerts.
  14. Das Verfahren gemäß Anspruch 13, bei dem der Term von zuvor empfangenen Signalwerten und Konstanten abhängt, die die in Reihe geschalteten Biquad-Filter kennzeichnen.
  15. Das Verfahren gemäß Anspruch 13, bei dem das Erzeugen des Terms lediglich arithmetische Operationen in Festkommaganzzahlarithmetik aufweist.
  16. Das Verfahren gemäß Anspruch 15, bei dem das Biquad-Filter ein Filter aufweist, das eine Frequenzkerbe oder Resonanz bei einer vorbestimmten Frequenz liefert, wobei die Abtastrate im Vergleich zu der vorbestimmten Frequenz hoch ist, und wobei der Term berechnet wird, indem eine der Konstanten vor Berechnen des Terms mit einem Skalierungsfaktor multipliziert wird, wobei der Skalierungsfaktor dahin gehend gewählt wird, einen Rundungsfehler in dem Term zu verringern.
  17. Das Verfahren gemäß Anspruch 15, bei dem das Biquad-Filter ein Filter aufweist, das eine Formgebung der Frequenzantwort in einem gewünschten Frequenzbereich liefert, wobei die Abtastrate im Vergleich zu dem gewünschten Frequenzbereich hoch ist, und bei dem der Term berechnet wird, indem eine der Konstanten vor Berechnen des Terms mit einem Skalierungsfaktor multipliziert wird, wobei der Skalierungsfaktor dahin gehend gewählt wird, einen Rundungsfehler in dem Term zu verringern.
  18. Das Verfahren gemäß Anspruch 13, bei dem eine Mehrzahl der Biquad-Filter mit einem Direktdurchführungsgewinn von Eins ein bilineares Filter implementiert.
  19. Das Verfahren gemäß Anspruch 13, bei dem das Filter unter Verwendung einer Zustandsraumform implementiert wird.
  20. Das Verfahren gemäß Anspruch 13, bei dem das Filter unter Verwendung einer Übertragungsfunktionsform implementiert wird.
DE112011104978.1T 2011-02-28 2011-02-28 Kaskadierte Digitalfilter mit verringerter Latenz Withdrawn DE112011104978T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/026555 WO2012118483A1 (en) 2011-02-28 2011-02-28 Cascaded digital filters with reduced latency

Publications (1)

Publication Number Publication Date
DE112011104978T5 true DE112011104978T5 (de) 2014-01-23

Family

ID=46758228

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011104978.1T Withdrawn DE112011104978T5 (de) 2011-02-28 2011-02-28 Kaskadierte Digitalfilter mit verringerter Latenz

Country Status (3)

Country Link
JP (1) JP2014511064A (de)
DE (1) DE112011104978T5 (de)
WO (1) WO2012118483A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678103B2 (en) 2011-10-28 2017-06-13 Keysight Technologies, Inc. Automatic tuning of atomic force microscope

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0344347B1 (de) * 1988-06-02 1993-12-29 Deutsche ITT Industries GmbH Einrichtung zur digitalen Signalverarbeitung
JP2659232B2 (ja) * 1988-10-21 1997-09-30 日本電気株式会社 高次元デジタルフィルタ
US5652770A (en) * 1992-09-21 1997-07-29 Noise Cancellation Technologies, Inc. Sampled-data filter with low delay
JPH0851338A (ja) * 1994-05-31 1996-02-20 Icom Inc 帯域通過楕円ディジタルフィルタシステム
US6184748B1 (en) * 1998-09-30 2001-02-06 Lsi Logic Corporation Magnitude and group delay shaping circuit in continuous-time read channel filters
JP2000285360A (ja) * 1999-03-31 2000-10-13 Anritsu Corp 信号処理装置
US7613311B2 (en) * 2004-12-15 2009-11-03 Cirrus Logic, Inc Digital implementation of a fourth order Linkwitz-Riley network with a low cutoff frequency

Also Published As

Publication number Publication date
WO2012118483A1 (en) 2012-09-07
JP2014511064A (ja) 2014-05-01

Similar Documents

Publication Publication Date Title
DE69332975T2 (de) Digitales filter mit hoher genauigkeit und effizienz
DE2135590C3 (de) Schaltungsanordnung zum Interpolieren des Wertes einer Funktion einer unabhängigen Veränderlichen
EP0320517B1 (de) Digitales Dezimationsfilter
DE60210494T2 (de) Hochgeschwindigkeitsberechnung in einer arithmetik- und logikschaltung
DE2145404A1 (de) Nichtrekursive Digitalfiltereinrichtung mit Verzögerungs- und Addier-Anordnung
EP0052847A2 (de) Verfahren und Schaltungsanordnung zur Umsetzung der Abtastfrequenz einer Abtastfolge unter Umgehung der Konversion in ein kontinuierliches Signal
DE102017203804A1 (de) Umwandlung digitaler Abtastrate
DE102008063295A1 (de) Motorregeleinrichtung und Motorregelsystem
DE102015116269A1 (de) Abtastratenwandler, analog-digital-wandler mit einem abtastratenwandler und verfahren zum umwandeln eines datenstroms von einer datenrate in eine andere datenrate
DE102019214994A1 (de) Vorrichtung für maschinelles lernen; steuerungsvorrichtung; und verfahren für maschinelles lernen
EP0344347B1 (de) Einrichtung zur digitalen Signalverarbeitung
DE102014201233B4 (de) Entzerrungsfilter
EP0234452B1 (de) Digitale Schaltungsanordung zur Abtastratenänderung und Signalfilterung und Verfahren zu ihrem Entwurf
DE10357661A1 (de) Modularer Montgomery-Multiplizierer und zugehöriges Multiplikationsverfahren
EP2302526B1 (de) Verfahren zur verteilung der rechenlast in datenverarbeitungseinrichtungen bei einer durchführung von blockbasierten rechenvorschriften
DE112011104978T5 (de) Kaskadierte Digitalfilter mit verringerter Latenz
DE19962764A1 (de) Abstimmungsverfahren für Filter mit mehreren gekoppelten Resonatoren
DE102009039430B4 (de) Vorrichtung und Verfahren mit ersten und zweiten Zeittakten
DE102009055889A1 (de) Signalverarbeitungsschaltung zur Erzeugung eines Lautsprechersignals und Signalverarbeitungsverfahren
EP2667509B1 (de) Digitales Filter
DE4022381C2 (de) Verwendung langer Digitalfilter bei Vorkommnis von Abrundungsfehlern
DE112020000202T5 (de) Komprimierungsvorrichtung für neuronale Netze
DE19925464C2 (de) Verfahren und Schaltungsanordnung zur Abtastratenanpassung digitaler Signale
Galletti et al. An algorithm for gaussian recursive filters in a multicore architecture
DE102022110990A1 (de) Vorrichtungen, systeme und verfahren zum digitalen filtern

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140902