DE19702321A1 - Verfahren zum adaptiven Filtern einer Eingangsfolge aus Abtastwerten - Google Patents

Verfahren zum adaptiven Filtern einer Eingangsfolge aus Abtastwerten

Info

Publication number
DE19702321A1
DE19702321A1 DE1997102321 DE19702321A DE19702321A1 DE 19702321 A1 DE19702321 A1 DE 19702321A1 DE 1997102321 DE1997102321 DE 1997102321 DE 19702321 A DE19702321 A DE 19702321A DE 19702321 A1 DE19702321 A1 DE 19702321A1
Authority
DE
Germany
Prior art keywords
matrix
inverse
new
coefficients
input
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.)
Granted
Application number
DE1997102321
Other languages
English (en)
Other versions
DE19702321C2 (de
Inventor
Alfred Dipl Ing Kraker
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.)
KRAKER, ALFRED, ING., WIEN, AT
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE1997102321 priority Critical patent/DE19702321C2/de
Publication of DE19702321A1 publication Critical patent/DE19702321A1/de
Application granted granted Critical
Publication of DE19702321C2 publication Critical patent/DE19702321C2/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
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters

Landscapes

  • Filters That Use Time-Delay Elements (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft ein Verfahren zum adaptiven Filtern einer Eingangs folge aus Abtastwerten, bei dem mindestens zwei Koeffizienten die Filtercharakteristik definieren.
Bei derartigen Filtern werden die Abtastwerte der Eingangs­ folge gemäß der jeweiligen Filtercharakteristik schrittweise gefiltert, wobei jeweils ein Ausgangswert einer Ausgangsfolge erzeugt wird. Die Bearbeitung der Eingangsfolge erfolgt nach Art eines FIR-Filters (Finite Impulse Response). Letztlich werden die Abtastwerte eines jeweils bearbeiteten Abschnitts der Eingangsfolge mit einem jeweils zugeordneten Koeffizien­ ten multipliziert, so daß als Ausgangswert bei einer Vektor-Betrach­ tungsweise das Skalarprodukt aus einem jeweiligen Ein­ gangsvektor und einem jeweiligen Koeffizientenvektor gebildet wird. Diese Art der Signalverarbeitung ist auch unter dem Namen adaptiver linearer Kombinierer (Adaptive Linear Combi­ ner) bekannt. Adaptiv bedeutet in diesem Zusammenhang, daß die Koeffizienten so angepaßt werden, daß die Ausgangswerte der Ausgangsfolge so wenig wie möglich von den Vorgabewerten einer Referenzfolge abweichen. Die Vorgabewerte der Referenzfolge ergeben sich dabei aus der jeweiligen Anwen­ dung, z. B. einer Echounterdrückung in einem Telekommunika­ tionssystem.
Die Abtastwerte des jeweils bearbeiteten Abschnitts werden zu einem Eingangsvektor zusammengefaßt. Die Eingangsvektoren aufeinanderfolgender Filter-Schritte bilden eine Eingangsvek­ torfolge.
Als Fehlerwert wird gewöhnlich die Differenz aus Vorgabewert und zugehörigem Ausgangswert definiert. Die oben genannte Anforderung bezüglich der Ausgangswerte läßt sich mit Hilfe der Fehlerwerte neu so formulieren, daß eine Summe aus den Quadraten ausgewählter Fehlerwerte minimiert wird.
Die Anwendungen derartiger Filter sind meist so, daß die An­ passung der Koeffizienten in einer sehr kurzen Zeit erfolgen muß. Bekannt sind deshalb Verfahren, bei denen die Koeffizi­ enten nicht für jeden Schritt neu berechnet werden, sondern bei denen aus den Koeffizienten für den jeweils nächsten Be­ arbeitungsschritt neue Koeffizienten berechnet werden. Die Berechnung der Koeffizienten erfolgt somit rekursiv. Während der rekursiven Berechnung der Koeffizienten sind Berechnungen durchzuführen, die unter anderen die Invertierung von Matri­ zen mit einer Vielzahl von Zeilen und Spalten einschließen, z. B. von 20 Zeilen und 20 Spalten. Eine Beschleunigung wird erreicht, wenn auch die Berechnung einer benötigten inversen Matrix, auch Inverse genannt, rekursiv durchgeführt wird, d. h., daß aus der Inversen für die Koeffizientenbestimmung im jeweils nächsten Bearbeitungsschritt eine neue Inverse be­ rechnet wird. Die Inverse gehört zu einer sogenannten Korre­ lationsmatrix, die jedoch nicht explizit berechnet wird. Die Elemente dieser nicht explizit berechneten Korrelationsmatrix geben die Korrelationen zwischen den Abtastwerten der Ein­ gangsvektoren an, die bereits bearbeitet wurden. Das eben beschriebene Verfahren mit zweifacher Rekursion ist auch unter dem Namen RLS-Algorithmus (Recursive Least Sguare) bekannt.
Bei der Grundform des bekannten RLS-Algorithmus werden die Koeffizienten so bestimmt, daß die Summe aus den Quadraten sämtlicher Fehlerwerte minimiert wird, die zu bereits gefil­ terten Eingangsvektoren eines ständig größer werdenden Aus­ schnitts aus der Eingangsvektorfolge gehören. Die Eingangs­ vektorfolge umfaßt dabei sämtliche bearbeitete und unbearbei­ tete Eingangsvektoren. Nachteilig an diesem Verfahren ist, daß eine sich ändernde Signalstatistik in den Abtastwerten der Eingangsvektoren bei der Anpassung der Koeffizienten ungenügend berücksichtigt wird. Das äußert sich auch darin, daß auch in der inversen Korrelationsmatrix sämtliche, bisher bearbeiteten Eingangsvektoren berücksichtigt werden. Ändert sich die Signalstatistik, indem z. B. beim Telefonieren nach einer Frauenstimme eine Männerstimme auftritt, so wird beiden Stimmen das "gleiche Gewicht" beigemessen, obwohl momentan nur die Abtastwerte der Männerstimme bearbeitet werden sol­ len.
Zur Lösung dieses Problems wurde vorgeschlagen, Abtastwerte, die weiter zurückliegen, durch Verwenden eines sogenannten "Vergessensfaktors" geringer zu wichten als momentan bearbei­ tete Abtastwerte. Diese Lösung führt jedoch nicht in jedem Fall zu verbesserten Ergebnissen, da durch den "Vergessensfaktor" Instabilitäten beim Durchführen des Ver­ fahrens auftreten, die in ungünstigen Fällen die Durchführung des Verfahrens in Frage stellen.
Es ist Aufgabe der Erfindung, ein schnelles Verfahren zum Filtern einer Eingangsfolge anzugeben, das bessere Ergebnisse als bekannte Verfahren liefert.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst. Vorteilhafte Weiterentwicklungen sind in den abhängigen Ansprüchen angegeben.
Die Erfindung geht von der Überlegung aus, daß eine zweifache Rekursion eine schnelle Adaption der Koeffizienten er­ möglicht, weil z. B. ein Invertieren einer großen Matrix mit einer Vielzahl von Zeilen und Spalten beim Berechnen der neuen Inversen der Korrelationsmatrix nicht erforderlich ist. Die Zeilenanzahl und auch die Spaltenanzahl der Inversen entspricht dabei der Anzahl der Koeffizienten. Das Be­ rücksichtigen weniger hinzukommender oder auch wieder zu entfernender Eingangsvektoren führt dazu, daß eine dennoch zu invertierende Hilfs-Matrix innerhalb der rekursiven Berech­ nung der inversen Korrelationsmatrix nur wenige Elemente hat, z. B. vier Elemente, so daß zum Invertieren nur wenige Rechenschritte erforderlich sind. Weiterhin geht die Erfin­ dung von der Überlegung aus, daß die Größe der zu invertie­ renden Matrix, d. h. deren Zeilen- und Spaltenanzahl, unab­ hängig von der Anzahl berücksichtigter Eingangsvektoren im Ausschnitt ist.
Bei der Erfindung hat der betrachtete Ausschnitt der Ein­ gangsvektorfolge während mindestens zweier aufeinanderfolgen­ der Filter-Schritte eine konstante Länge. Eine konstante Länge des Ausschnitts setzt voraus, daß für zum Ausschnitt hinzukommende Eingangsvektoren andere bereits bearbeitete Eingangsvektoren wieder aus dem Ausschnitt entfernt werden müssen. Das bedeutet, daß es auch Eingangsvektoren und damit Abtastwerte gibt, die bereits bearbeitet bzw. gefiltert wur­ den, jedoch nicht innerhalb des Ausschnitts liegen. Die au­ ßerhalb des Ausschnitts liegenden bereits gefilterten Ein­ gangsvektoren bzw. deren Abtastwerte haben keinen Einfluß mehr auf die Anpassung der Koeffizienten.
Somit werden bei der Erfindung Einflüsse bereits bearbeiteter Eingangsvektoren wieder entfernt, die nicht mehr im Aus­ schnitt liegen. In Fällen, in denen diese Einflüsse bei be­ kannten Verfahren zu schlechten Filterergebnissen führen, wird durch die Erfindung eine Verbesserung der Filterergeb­ nisse erreicht. Zu diesen Verbesserungen gehören eine be­ tragsmäßig geringe Größe verbleibender Fehlerwerte und klei­ nere Schwankung der verbleibenden Fehlerwerte. Insbesondere kann beim Verfahren nach der Erfindung auf einen Dämp­ fungsfaktor verzichtet werden, so daß neben der Vereinfachung der Abläufe durch Verzichten auf den "Vergessensfaktor" auch numerische Instabilitäten beim Durchführen des Verfahrens aufgrund des Vergessensfaktors ausgeschlossen sind. Zweckmäßigerweise wird die Länge eines weiter unten erläuter­ ten Abtast-Fensters, welches die Wirkung des Ausschnitts cha­ rakterisiert, abhängig von der jeweiligen, meist nur kurz­ zeitig stationären Signalstatistik der Abtastwerte der Ein­ gangsfolge bestimmt. Die Länge des Abtast-Fensters und des Ausschnitts stimmen überein.
Wird der Ausschnitt z. B. jeweils um einen Eingangsvektor wei­ tergerückt, um einen neuen Ausschnitt zu erhalten, so tritt zum alten Ausschnitt genau ein neuer Eingangsvektor hinzu. Der zuerst bearbeitete Eingangsvektor des alten Ausschnitts gehört nicht mehr zum neuen Ausschnitt. In diesem Fall ist die dennoch zu invertierende Hilfs-Matrix eine Matrix mit zwei Spalten und zwei Zeilen. Der Rechenaufwand zum Invertie­ ren einer derartigen kleinen Matrix ist gering, so daß die Invertierung schnell erfolgt. Bei der Berechnung neuer Koef­ fizienten entsteht somit kein zeitlich kritischer Berech­ nungsvorgang. Außerdem ist die Größe der zu invertierenden Hilfs-Matrix bei der Erfindung unabhängig von der Länge des Ausschnitts, so daß sich der Rechenaufwand, insbesondere dann nicht vergrößert, wenn dieser Ausschnitt vergrößert wird.
Bei der Erfindung würden die Elemente der nicht explizit be­ rechneten Korrelationsmatrix im wesentlichen die Korrelatio­ nen zwischen den Abtastwerten der Eingangsvektoren angeben, die zum momentanen Ausschnitt der Eingangsvektorfolge gehö­ ren. Das bestätigt, daß in der Korrelationsmatrix und damit auch in der berechneten inversen Korrelationsmatrix der Ein­ fluß bereits in der Korrelationsmatrix berücksichtigter Ein­ gangsvektoren, die nicht mehr zum Ausschnitt gehören, wieder entfernt wird, sobald der jeweilige Eingangsvektor nicht mehr zum betrachteten Ausschnitt der Eingangsvektorfolge gehört.
Auch die Minimierung der Fehlerwerte erfolgt bei der Erfin­ dung nicht unter Berücksichtigung sämtlicher, bereits berech­ neter Fehlerwerte, sondern nur für Fehlerwerte, die zu Ein­ gangsvektoren innerhalb des momentanen Ausschnitts gehören. Diese Tatsache ist vergleichbar mit dem Verwenden eines Fen­ sters, welches über die Eingangsvektorfolge gelegt wird und alle außerhalb liegenden Eingangsvektoren ausblendet. Rele­ vant für die Minimierung der Fehlerwerte sind nur Eingangs­ vektoren innerhalb dieses Fensters.
Bei einem Ausführungsbeispiel der Erfindung werden in einem Initialisierungsvorgang die Elemente der inversen Korrelati­ onsmatrix vorgegeben, wobei die inverse Korrelationsmatrix vorzugsweise die Einheitsmatrix ist. Außerdem werden während des Initialisierungsvorgangs zu der inversen Korrelationsma­ trix passende Abtastwerte der Eingangsfolge verwendet. Die zu bearbeitende Eingangsfolge erhält somit einen Vorspann aus Abtastwerten, deren invertierte Korrelationsmatrix mit der vorgegebenen inversen Korrelationsmatrix übereinstimmt. Durch Verwenden der Einheitsmatrix als Inverse der Korrelationsma­ trix ergeben sich leicht zu bestimmende und leicht zu erzeu­ gende Abtastwerte der Eingangsfolge während des Initialisie­ rungsvorgangs. Die Abtastwerte während des Initialisierungs­ vorgangs bilden somit einen Vorspann, vor den eigentlich zu bearbeitenden Abtastwerten. Gegenüber bekannten Initialisie­ rungsvorgängen, in denen z. B. als inverse Korrelationsmatrix eine mit einem betragsmäßig großen numerischen Wert multipli­ zierte Einheitsmatrix vorgegeben ist, treten beim Initiali­ sierungsvorgang nach diesem Ausführungsbeispiel beim Übergang vom Vorspann zu den eigentlich zu bearbeitenden Abtastwerten keine Abweichungen zwischen den Elementen der zu den verwen­ deten Abtastwerten gehörenden inversen Korrelationsmatrix und den entsprechenden Elementen der vorgegebenen inversen Korre­ lationsmatrix auf. Außerdem werden während des Initialisie­ rungsvorgangs Koeffizienten und Vorgabewerte verwendet, die Fehlerwerte mit dem numerischen Wert "0" oder zumindest einem Wert nahe "0" erzeugen. Durch diese Maßnahme ist gesichert, daß nicht schon zu Beginn des Verfahrens Abweichungen zwischen Vorgabewerten und Ausgangswerten auftreten.
Auch beim Verfahren nach der Erfindung kann der bekannte "Vergessensfaktor" verwendet werden, wenn z. B. innerhalb des Abtast-Fensters abrupte Übergänge der Abtastwerte an den Fen­ stergrenzen unerwünscht sind.
Um ein unnötiges Anpassen der Koeffizienten zu vermeiden, wenn ein Signal gefiltert wird, das eine Grund-Periode hat, die genau der Länge des Ausschnitts entspricht, kann die Be­ rechnung der neuen Koeffizienten der neuen inversen Korrela­ tionsmatrix auf den Fall beschränkt werden, daß diese Bedin­ gung nicht erfüllt ist. Zum Prüfen der Bedingung wird zweck­ mäßigerweise auf eine beim Durchführen des Verfahren berech­ nete sogenannte gefilterte Informationsmatrix zurückgegrif­ fen. Durch das Vermeiden der unnötigen Berechnungen wird zum einen unnötiger Rechenaufwand und zum anderen ein durch neue Koeffizienten, die von den alten Koeffizienten nur minimal Abweichen, verursachtes Rauschen vermieden.
Das Verfahren wird robust, wenn die Spur der inversen Korre­ lationsmatrix und/oder die betragsmäßige Größe der Elemente in der gefilterten Informationsmatrix überwacht wird. Die Berechnung der inversen Korrelationsmatrix führt generell bei allen bekannten Verfahren zu numerischen Problemen, falls eine der überwachten Größen einen vorgegebenen Grenzwert überschreitet. Diese Probleme lassen sich durch das Überwa­ chen rechtzeitig erkennen und z. B. dadurch vermeiden, daß der eine der beiden Spaltenvektoren der gefilterten Informati­ onsmatrix beibehalten und mit umgekehrten Vorzeichen der Elemente als anderer Spaltenvektor verwendet wird. Außerdem werden in diesem Fall die inverse Korrelationsmatrix als neue inverse Korrelationsmatrix und die alten Koeffizienten als neue Koeffizienten verwendet.
Die Erfindung betrifft in weiteren Aspekten einen adaptiven linearen Kombinierer und ein Verfahren zum adaptiven linearen Kombinieren von Abtastwerten. Bis auf das Erzeugen der Ein­ gangsvektoren ist das Verfahren zum adaptiven linearen Kombi­ nieren mit dem Verfahren zum adaptiven Filtern identisch. Die weiter oben genannten vorteilhaften technischen Wirkungen sind demzufolge auch beim adaptiven linearen Kombinierer und dem Verfahren zum adaptiven linearen Kombinieren gegeben.
Beim Verfahren zum adaptiven linearen Kombinieren werden die Eingangsvektoren nicht aus Abtastwerten eines einzigen Si­ gnals sondern aus Abtastwerten mehrerer Signale gebildet, wie sie z. B. bei Antennen mit einer Vielzahl von Empfangselemen­ ten auftreten. Der adaptive lineare Kombinierer kann sowohl zum Durchführen des Verfahrens zum adaptiven Filtern als auch zum Durchführen des Verfahrens zum adaptiven linearen Kombinieren verwendet werden.
Die Erfindung und auch ihre Ausführungsbeispiele können schaltungstechnisch und/oder softwaretechnisch realisiert werden. Bei einer schaltungstechnischen Umsetzung werden z. B. Matrizenelemente, welche durch ein Skalarprodukt entstehen, durch Verwenden von FIR-Filtern erzeugt. Diese Filter führen sowohl die Multiplikation als auch die Summenbildung bei der Berechnung des Skalarprodukts aus.
Im folgenden wird die Erfindung anhand von Ausführungsbei­ spielen unter Bezugnahme auf die Zeichnungen erläutert. Darin zeigen:
Fig. 1 die Signalverarbeitung in einem adaptiven Filter,
Fig. 2A und 2B ein Flußdiagramm eines Verfahrens zum Be­ arbeiten einer Eingangsfolge aus Abtast­ werten,
Fig. 3 eine Prinzipdarstellung des zum Flußdia­ gramm der Fig. 2 gehörenden Verfahrens unter Verwendung des Falkschen Schemas,
Fig. 4 Signalverläufe an einem adaptiven Filter beim Verfahren gemäß Ausführungsbeispiel der Erfindung, und
Fig. 5 Signalverläufe an einem adaptiven Filter bei einem Verfahren gemäß dem Stand der Technik.
Fig. 1 zeigt einen Überblick über die Signalverarbeitung in einem adaptiven Filter 10, in welchem eine Eingangsfolge {x(n)} gefiltert wird. Die Eingangsfolge {x(n)} enthält Ab­ tastwerte x(n) zu Abtastzeitpunkten, die durch einen Index n gekennzeichnet sind, wobei n eine natürliche Zahl ist, die sich von einem Startwert bis zu einem Endwert jeweils um den Wert "1" erhöht. In der Fig. 1 sind u. a. Abtastwerte x(n-K), x(n-K-1) und x(n-K-(P-1)), die einen ersten Abschnitt 12 der Eingangsfolge {x(n)} bilden, sowie Abtastwerte x(n), x(n-1) und x(n-(P-1)) dargestellt, die zu einem weiteren Abschnitt 14 der Eingangsfolge {x(n)} gehören.
Die Bedeutung der Größen "K" und "P" wird im folgenden deut­ lich. Der Abschnitt 12 bzw. 14 enthält drei Abtastwerte, die zu einem Eingangsvektor x n-K bzw. x n zusammengefaßt sind. Zwei weitere Eingangsvektoren x n-1 und x n-(K-1) enthalten Abtastwerte x(n-1), x(n-(P-1)), x(n-3) bzw. x(n-K+1), x(n-K), x(n-K-1). Die Eingangsvektoren x n bis x n-K bilden einen Ab­ schnitt der Eingangsvektorfolge {x n}. Die Länge der Ab­ schnitte 12, 14 bzw. der Vektoren x n bis x n-K ergibt sich aus einer Anzahl P=3 von Abtastwerten x(n), die gleichzeitig im Filter 10 bearbeitet werden. Der Wert P=3 wurde gewählt, um die Darstellung zu vereinfachen. Typische Werte für den Wert P sind P=20 bis P=30.
Das Filter 10 enthält zwei Verzögerungseinheiten 16 und 18, drei Multipliziereinheiten 20 bis 24 und zwei Addiereinheiten 26, 28. An einem Eingang 30 des Filters 10 werden die Abtast­ werte x(n) der Eingangsfolge {x(n)} nacheinander schrittweise eingegeben. Die Verzögerungseinheiten 1.6 und 18 verzögern ei­ nen eingegebenen Abtastwert x(n) jeweils um einen Schritt, so daß in jedem Schritt jeweils drei Abtastwerte durch das Fil­ ter 10 bearbeitet werden. In Fig. 1 sind dies die drei Ab­ tastwerte x(n), x(n-1) und x(n-(P-1)) des Abschnitts 14. Die zeitliche Aufeinanderfolge der Abtastwerte der Eingangsfolge {x(n)} ist durch einen Pfeil 32 verdeutlicht, wobei aufeinan­ derfolgende Abtastwerte x(n) von rechts nach links darge­ stellt sind. Der jüngste Abtastwert x(n) befindet sich am Filter-Eingang 30.
Am Ausgang der Verzögerungseinheit 16 und gleichzeitig am Eingang der Verzögerungseinheit 18 liegt ein unmittelbar vor dem Abtastwert x(n) eingegebener Abtastwert x(n-1) an. Am Ausgang der Verzögerungseinheit 18 liegt der Abtastwert x(n-(P-1)) an. Der Abtastwert x(n) wird in der Multipliziereinheit 20 mit einem Koeffizienten h0(n) und der Abtastwert x(n-1) in der Multipliziereinheit 22 mit einem Koeffizienten h1(n) multipliziert. Die Ergebnisse der Multi­ pliziereinheiten 20 und 22 werden in der Addiereinheit 26 summiert. Der Abtastwert x(n-(P-1)) wird in der Multipli­ ziereinheit 24 mit einem weiteren Koeffizienten h2(n) mul­ tipliziert. In einer Addiereinheit 28 werden das Ergebnis der Addition der Addiereinheit 26 und das Ergebnis der Multipli­ kation der Multipliziereinheit 24 miteinander addiert. Am Ausgang der Addiereinheit 28 entsteht ein Ausgangswert y(n), der zu einer Ausgangsfolge {y(n)} gehört. Ein Ausgangswert y(n-1) der Ausgangsfolge {y(n)} wurde z. B. in einem unmittel­ bar vorhergehenden Filterschritt erzeugt.
Die Koeffizienten h0(n) bis h2(n), die einen Koeffizienten­ vektor h(n) bilden, werden in jedem Filterschritt angepaßt, wobei die Anpassung nach einem Optimierungskriterium an Vor­ gabewerte d(n) einer Referenzfolge {d(n)} erfolgt. Das Opti­ mierungskriterium besteht darin, daß ein Teil der Ausgangs­ folge {y(n)} möglichst wenig von einem vorgegebenen Teil der Referenzfolge {d(n)} abweicht. Mathematisch läßt sich diese Anforderung mit Hilfe von Fehlerwerten e(n) so ausdrücken, daß eine Summe der Quadrate der Fehlerwerte e(n) einen mini­ malen Wert einnehmen soll. Die Fehlerwerte e(n) berechnen sich aus der Differenz eines Ausgangswerts y(n) und des zuge­ hörigen Vorgabewerts d(n), z. B. für den n-ten Abtastzeitpunkt e(n)=d(n)-y(n).
Bei der in der Fig. 1 dargestellten Signalbearbeitung werden beim Anpassen der Koeffizienten h0(n) bis h2(n) in einem be­ trachteten Filter-Schritt n nur die Fehlerwerte e(n-(K-1)) bis e(n) zu den K zurückliegenden Eingangsvektoren x n-(K-1) bis x n berücksichtigt. Diese Tatsache ist in der Fig. 1 durch eine Strecke dargestellt, die ein sogenanntes Abtast-Fenster 34' verdeutlicht. Mit anderen Worten werden nur die Abtast­ werte x(n-K-1) bis x(n) der im Fenster liegenden Eingangsvek­ toren x n-(K-1) bis x n berücksichtigt. In der Fig. 1 wurde zur einfacheren Darstellung ein Wert K=20 gewählt. Typische Werte für die Größe K sind bei der Verarbeitung von Sprachsi­ gnalen K=80 bis K=150. Die Größe K wird größer oder zumindest gleich der Größe von P gewählt.
Das Fenster 34' ist durch Verschieben eines Fensters 34 ent­ standen, das im vorhergehenden Filterschritt n-1 die K Ein­ gangsvektoren x n-K bis x n-1 umfaßte. Das Fenster 34 wurde genau um einen einzigen Eingangsvektor x n nach links verscho­ ben, so daß der Eingangsvektor x n-K des Fensters 34 nicht mehr zum Fenster 34' gehört.
Bei einem weiter unten erläuterten Initialisierungsvorgang werden die Abtastwerte x(n) bis x(n-K-(P-1)), die Koeffizi­ enten h0(n) bis h2(n), die Ausgangswerte y(n) bis y(n-K) so­ wie die Referenzwerte d(n+1) bis d(n-K) vorgegeben. Somit ist der erste eigentlich verarbeitete Abtastwert ein Abtastwert x(n+1). Der erste tatsächliche Referenzwert ist ein Referenz­ wert d(n+2).
Die Fig. 2A und 2B zeigen ein Flußdiagramm zum Bearbeiten der Eingangsfolge {x(n)}. Das Verfahren beginnt in einem Schritt 100.
In einem Schritt 102 wird ein Initialisierungsvorgang durch­ geführt, in welchem eine inverse Korrelationsmatrix Rm(n)-1 vorgegeben wird:
wobei ρ einen Vergessensfaktor zwischen dem numerischen Wer­ ten "0" und "1" bezeichnet, der für die folgende Betrachtung den Wert "1" erhält, welcher auch ein üblicher Wert bei der Durchführung des Verfahrens ist. Somit ergibt sich für die inverse Korrelationsmatrix Rm(n)-1 eine Einheitsmatrix mit P Zeilen und P Spalten.
Die zur inversen Korrelationsmatrix Rm(n)-1 gehörende Korre­ lationsmatrix Rm(n) berechnet sich allgemein nach folgender Formel:
wobei X(n) eine Eingangsmatrix X(n) bezeichnet, deren Aufbau unten erläutert ist. Eine in Formel (2) auftretende Verges­ sensmatrix ρm mit K Zeilen und K Spalten ist wie folgt defi­ niert:
Die Vergessensmatrix ρm bewirkt bei linksseitiger Multiplika­ tion mit der Eingangsmatrix X(n), daß die Abtastwerte x(n) der im jeweiligen Schritt verwendeten Eingangsvektoren x n-K bis x n-1 jeweils mit einem Faktor multipliziert werden, der so variiert, daß ein jeweils zuvor bearbeiteter Eingangsvek­ tor x n-1 bis x n-K-1 einen ρ-fachen kleineren Faktor hat, als ein nach diesem bearbeiteter Eingangsvektor x n-1 bis x n-K.
Die zur Berechnung der Korrelationsmatrix Rm(n) in der Formel (2) verwendete Eingangsmatrix X(n) ist wie folgt aufgebaut:
Die Zeilen der Matrix X(n) sind die Eingangsvektoren x n-K bis x n-1 der Eingangsvektorfolge {x n} innerhalb des Fensters 34 (vgl. Fig. 1).
Im Initialisierungsvorgang des Schritts 102 wird die Ein­ gangsmatrix X(n) passend zur vorgegebenen invertierten Korre­ lationsmatrix Rm(n)-1 (vgl. Formel (1)) vorgegeben:
Der Abtastwert x(n) erhält ebenso wie der Abtastwert x(n-K) den numerischen Wert "1". Wird die inverse Korrelationsmatrix Rm(n)-1 anders gewählt, als in Formel (1) angegeben, so muß auch eine andere Eingangsmatrix X(n) im Initialisierungs­ schritt 102 gewählt werden.
Die optimalen Koeffizienten werden für den Schritt 102 nach folgenden Formeln vorgegeben:
Dabei bezeichnet "floor" die nächst kleinere ganze Zahl des in Klammern folgenden Ausdrucks. Eine Laufvariable k durch­ läuft alle ganzzahligen Werte von k=0 bis k=(P-1). Die Formel (6) besagt, daß alle Koeffizienten bis auf den mittleren Koeffizienten bei einer ungeraden Koeffizientenanzahl P bzw. einen der beiden mittleren Koeffizienten bei einer geraden Koeffizientenanzahl P den Wert "0" haben, wobei der mittlere Koeffizient den Wert "1" hat.
Für die Vorgabewerte d(n) der Referenzfolge {d(n)} gelten folgende Formeln:
wobei die Laufvariable k von k=0 bis k=K+floor(P/2) läuft. Diese Festlegung der Referenzfolge {d(n)} sichert, daß zur Eingangsmatrix gemäß Formel (5) bei gegebenen Koeffizienten­ vektor gemäß Formel (6) die Summe der Fehlerquadrate den nu­ merischen Wert "0" hat.
Im Schritt 104 wird für den Index n als Startwert derjenige Wert gewählt, der zum letzten vorgegebenen Abtastwert x(n) der Eingangsfolge {x(n)} gehört.
Im Schritt 106 wird der Abtastwert x(n) am Eingang 30 des Filters 10 (vgl. Fig. 1) eingegeben. Der zum Abtastwert x(n) gehörende Eingangsvektor x n wird als letzte Zeile der Ein­ gangsmatrix X(n+l) verwendet, wobei alle Zeilen der Eingangs­ matrix X(n) um jeweils eine Zeile nach oben verschoben sind. Die erste Zeile der alten Eingangsmatrix X(n) (vgl. Formel (4)) tritt in der neuen Eingangsmatrix X(n+1) nicht mehr auf:
Im folgenden Schritt 108 wird aus der ersten Zeile der Ein­ gangsmatrix X(n), d. h. aus dem Eingangsvektor x n-K, und aus der letzten Zeile der Eingangsmatrix X(n+1), d. h. aus dem Eingangsvektor x n, eine Informationsmatrix C(n) derart gebil­ det, daß der Eingangsvektor x n-K die erste Zeile und der Ein­ gangsvektor x n die zweite Zeile bilden:
Mit Hilfe der Informationsmatrix C(n) und dem Koeffizienten­ vektor h(n) werden zwei Ausgangswerte y(n-K) und y(n) des Filters 10 (vgl. Fig. 1) berechnet (Schritt 110)
Die Ausgangswerte y(n-K) und y(n) werden zur weiteren Nutzung bereitgehalten. Der Ausgangswert y(n) ist das Ergebnis der Filterung im Filter-Schritt n und wird für Indexwerte größer als n an eine nachgeschaltete Verarbeitungseinrichtung zur Signalverarbeitung ausgegeben.
Im Schritt 112 wird eine gefilterte Informationsmatrix Z(n) nach folgender Formel berechnet:
Aus der so erhaltenen gefilterten Informationsmatrix Z(n) wird im Schritt 114 eine Leistungsmatrix Q(n) berechnet, wel­ che ein Maß für die Eingangssignalleistung ist:
Aus der Leistungsmatrix Q(n) wird anschließend eine Hilfs-Matrix S(n) unter Verwendung des Vergessensfaktors ρ berech­ net (Schritt 116):
Im Schritt 118 wird die Hilfs-Matrix S(n) invertiert, so daß eine invertierte Hilfs-Matrix S(n)-1 entsteht:
Da die Hilfs-Matrix S(n) nur zwei Zeilen und zwei Spalten hat, ist das Invertieren mit einem geringen Rechenaufwand verbunden, der hauptsächlich im Berechnen der im Nenner ste­ henden Determinante (det) besteht.
Nach den vorbereitenden Schritten 112 bis 118 wird nunmehr im Schritt 120 unter Verwendung der alten Inversen Rm(n)-1 die neue Inverse Rm(n+1)-1 der Korrelationsmatrix nach folgender Formel berechnet:
Die neue Inverse Rm(n+1)-1 wird anstelle der alten Inversen Rm(n)-1 gespeichert, so daß die alte Inverse Rm(n)-1 über­ schrieben wird (Schritt 122). Die neue Inverse Rm(n+1)-1 wird beim nächsten Abarbeiten des Schritts 112 zum Berechnen einer neuen gefilterten Informationsmatrix Z(n+1) verwendet.
Im Schritt 124 werden neue Koeffizienten h0(n+1) bis h2(n+1) eines neuen Koeffizientenvektors h(n+1) nach der folgenden Formel berechnet:
Dabei werden die im Schritt 110 berechneten Ausgangswerte y(n-K) bzw. y(n) zur Berechnung von Fehlerwerten e(n-K)=y(n-K)-d(n-K) bzw. e(n)=y(n)-d(n) verwendet.
Der neue Koeffizientenvektor h(n+1) wild anstelle des alten Koeffizientenvektors h(n) gespeichert, wobei dessen Koeffizi­ enten h0(n) bis h2(n) überschrieben werden (Schritt 126).
Anschließend wird im Schritt 128 geprüft, ob weitere Abtast­ werte der Eingangsfolge {x(n)} zu filtern sind. Ist dies der Fall, so wird der Index n im Schritt 130 um den Wert "l" er­ höht und das Verfahren im Schritt 106 fortgesetzt. Somit be­ findet sich das Verfahren in einer Schleife aus den Schritten 106 bis 130, welche jeweils in einem Filter-Schritt zu durch­ laufen ist.
Wird im Schritt 128 jedoch festgestellt, daß keine weiteren Abtastwerte x(n) zu bearbeiten sind, so wird das Verfahren im Schritt 132 beendet.
Fig. 3 zeigt eine Prinzipdarstellung des zum Flußdiagramm der Fig. 2 gehörenden Verfahrens unter Verwendung des Falkschen Schemas. Bei der Erläuterung der Fig. 3 wird der Vergessens­ faktor ρ auf den Wert "1" gesetzt.
Ein erstes Falksches Schema 200 zeigt die Multiplikation der Eingangsmatrix X(n) von rechts zur transponierten Eingangsma­ trix X(n)T, wobei die Korrelationsmatrix R(n) entsteht. Beim Falkschen Schema erscheint ein Element rik der entstehenden Produktmatrix R(n) im Kreuzungspunkt der i-ten Zeile von X(n)T mit der k-ten Spalte von X(n). Die Anordnung des Falk­ schen Schemas empfiehlt sich besonders bei Produkten aus mehr als zwei Matrizen, wie sie im folgenden noch mehrmals auftre­ ten. Außerdem sind am Falkschen Schema die Größen der zu mul­ tiplizierenden Matrizen sowie die Größe der entstehenden Pro­ duktmatrix gut zu erkennen. Im Falkschen Schema 200 hat die Eingangsmatrix X(n) P Spalten und K Zeilen. Die bei der Multiplikation mit der Transponierten X(n)T entstehende Kor­ relationsmatrix R(n) hat P Spalten und P Zeilen. Die Ein­ gangsmatrix (n) und die transponierte Eingangsmatrix X(n)T sowie die Korrelationsmatrix R(n) werden nicht explizit ge­ bildet. Die Darstellung im Falkschen Schema 200 dient ledig­ lich der Erläuterung des Begriffs "Falksches Schema".
Neben der Eingangsmatrix X(n) ist die Eingangsmatrix X(n+1) dargestellt. Pfeile 202 und 204 verdeutlichen die Bildung der Informationsmatrix C(n) aus der ersten Zeile der Eingangsma­ trix X(n) und der letzten Zeile der Eingangsmatrix X(n+1) gemäß Formel (9).
Ein zweites Falksches Schema 206 zeigt die Matrizenmultipli­ kation gemäß Formel (10). Dabei wird die Informationsmatrix C(n) verwendet (vergleiche Pfeil 208).
Die Matrizenmultiplikationen zum Berechnen der Formeln (11) und (12) zeigt ein drittes Falksches Schema 210. In einem ersten Teil des Falkschen Schemas 210 wird die transponierte Informationsmatrix C(n)T mit der in Formel (11) angegebenen Matrix multipliziert, welche einer Einheitsmatrix ähnelt. Dabei entsteht als Zwischenergebnis eine Matrix B(n). Beim Bilden der transponierten Informationsmatrix C(n)T wird die Matrix C(n) verwendet, angedeutet durch einen Pfeil 212.
In einem zweiten Teil des Falkschen Schemas 210 wird die ge­ filterte Informationsmatrix Z(n) durch Multiplikation der inversen Korrelationsmatrix Rm(n)-1 mit der Matrix B(n) be­ rechnet. Anschließend wird in einem dritten Teil des Falk­ schen Schemas 210 die Leistungsmatrix Q(n) durch Multipli­ kation der Informationsmatrix C(n) und der gefilterten Infor­ mationsmatrix Z(n) berechnet.
Die Leistungsmatrix Q(n) wird anschließend wie durch einen Pfeil 214 angedeutet zur Bildung der Hilfs-Matrix S(n) gemäß Formel (13) verwendet. Dabei wird eine Matrizensubtraktion durchgeführt, bei der die Matrix Q(n) von der Einheitsmatrix subtrahiert wird, da der Vergessensfaktor ρ, wie bereits er­ wähnt, den Wert "1" hat.
Das Ergebnis der Matrizensubtraktion ist die Hilfs-Matrix S(n); vergleiche Pfeil 216. Die Invertierung der Hilfs-Matrix S(n) gemäß Formel (14) ist durch einen Pfeil 218 angedeutet. Die dabei entstehende invertierte Hilfs-Matrix S(n)-1 dient zur Berechnung der neuen inversen Korrelationsmatrix Rm(n+1)-1 gemäß Formel (15), vergleiche Pfeil 220. Die Berechnung der Formel (15) ist in einem vierten Falkschen Schema 222 darge­ stellt. Zur Bildung des zweiten Summandens in der Formel (15) wird in einem ersten Teil des Falkschen Schemas 222 die ge­ filterte Informationsmatrix Z(n) mit der Matrix S(n)-1 multi­ pliziert, wobei das Matrizenprodukt Z(n).S(n)-1 entsteht. Dieses Matrizenprodukt wird in einem zweiten Teil des Falk­ schen Schemas 222 mit der in der Formel (15) angegebenen Ma­ trix multipliziert, die einer Einheitsmatrix ähnelt. Das da­ bei entstehende Matrizenprodukt wird in einem dritten Teil des Falkschen Schemas 122 mit der transponierten gefilterten Informationsmatrix Z(n)T multipliziert. Die Übernahme der gefilterten Informationsmatrix Z(n) aus dem Falkschen Schema 210 ist durch einen Pfeil 224 verdeutlicht. Die indirekte Übernahme der Matrix Z(n) zur Bildung der transponierten ge­ filterten Informationsmatrix Z(n)T wird durch einen weiteren Pfeil 226 dargestellt.
Die Matrizenaddition gemäß Formel (15) ist ebenfalls in der Fig. 3 dargestellt. Dabei wird die den ersten Summanden bil­ dende inverse Korrelationsmatrix Rm(n)-1 aus dem Falkschen Schema 210 übernommen; vergleiche Pfeil 228.
Die entstehende neue invertierte Korrelationsmatrix Rm(n+1)-1 wird an die Stelle der alten Korrelationsmatrix Rm(n)-1 ge­ speichert. Dieser Vorgang wird als Rekursion I bezeichnet und ist durch einen Pfeil 230 dargestellt.
Ein fünftes Falksches Schema 232 zeigt die Matrizenmultipli­ kation zur Berechnung der Formel (16). Aus dem Falkschen Schema 222 wird das Matrizenprodukt Z(n).S(n)-1 übernommen; vergleiche Pfeil 234. Ein Pfeil 236 zeigt die Übernahme der im Falkschen Schema 206 berechneten Ausgangswerte y(n-K) und y(n) zur Berechnung der Fehlerwerte e(n-K) und e(n). Die Übernahme dieser Fehlerwerte wird durch einen Pfeil 238 dar­ gestellt. Das Ergebnis der Multiplikation im Falkschen Schema 232 ist der zweite Term der Formel (16). Dieser Term kann als Änderungsvektor betrachtet werden, der zu den Koeffizienten des Koeffizientenvektors h(n) addiert wird, welcher wie durch einen Pfeil 240 angedeutet, aus dem Falkschen Schema 206 übernommen wird. Das Ergebnis der Addition des Änderungsvek­ tors und das Koeffizientenvektors h(n) ist ein neuer Koeffizientenvektor h(n+1), welcher an die Stelle des alten Koeffizientenvektors h(n) gespeichert wird. Dieser Vorgang ist durch einen Pfeil 242 dargestellt und wird als Rekursion II bezeichnet.
Das Schema der Fig. 3 wird mit jedem Filter-Schritt einmal abgearbeitet. Deutlich zu erkennen ist, daß die Berechnung der neuen inversen Korrelationsmatrix Rm(n+1)-1 unabhängig von den Vorgabewerten d(n-K) und d(n) der Referenzfolge {d(n)} erfolgt. Diese Tatsache ist durch eine Strichlinie 244 verdeutlicht, welche die Darstellungen zur Berechnung der Formeln (11) bis (15) umschließt. Deutlich wird weiterhin, daß somit in die inverse Korrelationsmatrix Rm(n)-1 bzw. Rm(n+1)-1 nur die Signalstatistik der Abtastwerte derjenigen Eingangsvektoren x n eingeht, die im betrachteten Ausschnitt 34' (vergleiche Fig. 1) enthalten sind. Insbesondere werden bei der durch die Strichlinie 244 umrandeten Berechnungen Vorgabewerte der Referenzfolge {d(n)} nicht verwendet.
Fig. 4 zeigt Signalverläufe 250 bis 256 am Filter 10 (vergleiche Fig. 1) bei einem Verfahren gemäß der Fig. 2 und 3. Der Signalverlauf 250 kennzeichnet den Verlauf der Abtastwerte x der Eingangsfolge {x(n)}. Die Signalverläufe 252 und 254 liegen kaum unterscheidbar übereinander und kenn­ zeichnen den verlauf der Vorgabewerte d der Referenzfolge {d(n)} bzw. der Ausgangswerte y der Ausgangsfolge {y(d)}. Der Verlauf 256 gibt den Verlauf der Fehlerwerte e(n) abhängig vom Index n an. Auf der Ordinatenachse 258 ist die Größe der jeweiligen Werte x, y, d und e abgetragen. Der Index n ist auf der Abszissenachse 260 abgetragen.
Die Signalverläufe 250 bis 256 dienen zur Demonstration der Leistungsfähigkeit des anhand der Fig. 2 und 3 oben be­ schriebenen Verfahrens bei Anwendung einer Standard-Testme­ thode. Die Eingangsfolge {x(n)} und die Referenzfolge {d(n)} sind Abtastprozesse eines sogenannten "weißen" Rauschsignals aus dem selben Rauschgenerator. Das Rauschsignal hat dabei den Mittelwert "0". Die Referenzfolge {d(n)} ist eine ska­ lierte und verzögerte Form der Eingangsfolge {x(n)}. Aufgabe des Filters ist es, eine durch den Filterprozeß auftretende Verzögerung so anzupassen, daß die Ausgangsfolge zur Refe­ renzfolge paßt, d. h. deren Verlauf, wenn auch verzögert, ge­ nau nachbildet.
Die Fehlerwerte 256 verlaufen mit zunehmendem n horizontal in Höhe des Ordinatenwertes "0". Durch Einsatz des anhand der Fig. 2 und 3 beschriebenen Verfahrens wird erreicht, daß die Ausgangsfolge {y(n)} genau mit der Referenzfolge {d(n)} übereinstimmt.
Fig. 5 zeigt Signalverläufe 270 bis 276 am Filter 10 (vgl. Fig. 1) bei einem Verfahren gemäß dem Stand der Technik, das bei dem selben Filter wie in der Fig. 4 angewendet wird. Auf der Ordinatenachse 278 ist wiederum die Größe der jeweiligen Signalwerte x, y, d und e abgetragen, und auf der Abszis­ senachse 290 ist der Index n abgetragen. Der Signalverlauf 270 kennzeichnet den Verlauf der Abtastwerte x der Eingangs­ folge {x(n)}. Die Signalverläufe 272 und 274 liegen kaum un­ terscheidbar übereinander und kennzeichnen den Verlauf der Vorgabewerte d der Referenzfolge {d(n)} bzw. der Ausgangs­ werte y der Ausgangsfolge {y(d)}. Der Verlauf 276 gibt den Verlauf der Fehlerwerte e(n) abhängig vom Index n an. Bei einem Verfahren gemäß dem Stand der Technik verbleibt ein deutlich sichtbarer Restfehler e(n), der sich in Schwankungen des Signalverlaufs 276 äußert. Somit können beim Verwenden des bekannten RLS-Algorithmus die Koeffizienten h0(n) bis h2(n) nicht so genau angepaßt werden, daß die Ausgangsfolge {y(n)} mit der Referenzfolge {d(n)} vollständig über­ einstimmt.
In Fig. 4 ist auch das Verwenden eines "Vorspanns" für den Signalverlauf 250 der Eingangsfolge {x(n)} gemäß Formel (5) sowie für den Signalverlauf 252 der Referenzfolge {d(n)} ge­ mäß Formel (7) während des Initialisierungsvorgangs darge­ stellt. Auf die Abtastwerte x und die Vorgabewerte d mit dem numerischen Wert "1" wird durch Pfeile 262 hingewiesen. In Fig. 5 wird eine Initialisierung angewendet, bei der die inverse Korrelationsmatrix nicht gemäß Formel (1) vorgegeben, sondern mit Hilfe der bekannten Wiener-Hopf-Gleichung exakt berechnet wurde.
Bezugszeichenliste
10
Adaptives
Filter
{x(n)} Eingangsfolge
x(n) Abtastwert
n Abtastzeitpunkt - Laufvariable
12,
14
Abschnitt
x n-K
, x n-(K-1)
Eingangsvektor
x n-1
, x n
Eingangsvektor
{x n
} Eingangsvektorfolge
16,
18
Verzögerungseinheit
20
bis
24
Multipliziereinheit
26
bis
28
Addiereinheit
30
Eingang des Filters
32
Zeitpfeil
34,
34
' Abtast-Fenster
h0 bis h2 Koeffizient
h
(n) Koeffizientenvektor
y(n) Ausgangswert
{y(n)} Ausgangsfolge
d(n) Vorgabewert
{d(n)} Referenzfolge
e Fehler
K
Anzahl der Abtastwerte
P Anzahl der Koeffizienten
Rm
(n)-1
Inverse Korrelationsmatrix
ρm
Vergessensmatrix
X
(n), X
(n+1) Eingangsmatrix
C
(n) Informationsmatrix
Z
(n) gefilterte Informationsmatrix
Q
(n) Leistungsmatrix
S
(n) Hilfs-Matrix
S
(n)-1
Inverse modifizierte Leistungsmatrix
100
Start
102
Initialisierung
104
n:= Startwert
106
Entgegennahme x(n)
108
Informationsmatrix C
(n) bilden
110
Ausgangswerte y(n), y(n-k) berechnen
112
gefilterte Informationsmatrix Z
(n) berechnen
114
Leistungsmatrix Q
(n) berechnen
116
Hilfs-Matrix S
(n) berechnen
118 S
(n) invertieren in S
(n)-1
120
neue Matrix Rm -1
berechnen
122
mit neuer Rm -1
alteRm -1
überschreiben
124
neue Koeffizienten h
opt(n+1) berechnen
126 h
opt(n) mit h
opt(n+1) überschreiben
128
Weitere Abtastwerte?
130
n:= n+1
132
Ende
200
Falksches Schema
202,
204
Pfeil
206
Falksches Schema
208
Pfeil
210
Falksches Schema
212
bis
220
Pfeil
222
Falksches Schema
224
bis
230
Pfeil
232
Falksches Schema
234
bis
242
Pfeil
244
Strichlinie
250
Abtastwerte der Eingangsfolge
252
Vorgabewerte
254
Ausgangswerte
256
Fehlerwerte
258
Ordinatenachse
260
Abszissenachse
262
Pfeil
270
Abtastwerte der Eingangsfolge
272
Vorgabewerte
274
Ausgangswerte
276
Fehlerwerte
278
Ordinatenachse
290
Abszissenachse
I, II Rekursion.

Claims (14)

1. Verfahren zum adaptiven Filtern einer Eingangsfolge ({x(n)}) aus Abtastwerten (x) eines Signals,
bei dem aus einem jeweiligen Ausgangswert (y) und einem zugehörigen Vorgabewert (d) jeweils ein Fehlerwert (e) als Maß für die Abweichung von Vorgabewert (d) und Aus­ gangswert (y) berechnet wird,
und bei dem aus im jeweiligen Filter-Schritt verwendeten Filter-Koeffizienten (h0 bis h2, h(n)) für den jeweils nächsten Filter-Schritt neue Koeffizienten (h0(n+1) bis h2(n+1), h(n+1)) berechnet werden,
wobei die neuen Koeffizienten (h0(n+1) bis h2(n+1), h((n+1)) so bestimmt werden, daß eine Summe aus den Qua­ draten der Fehlerwerte (e) eines zum momentanen Filter-Schritt gehörenden Ausschnitts (34') der Eingangsvektor­ folge ({x n}) minimiert wird (Schritt 126),
beim Berechnen der neuen Koeffizienten (h0(n+1) bis h2(n+1), h(n+1)) die Inverse (Rm(n) ˆ (-1)) einer Korrela­ tionsmatrix (Rm(n)) verwendet wird, welche durch ihre Elemente die Korrelation zwischen den Abtastwerten der Eingangsvektoren (x n-1, x n-K) des Ausschnitts (34) im je­ weils vorhergehenden Filter-Schritt angibt,
und wobei aus der Inversen (Rm(n) ˆ (-1)) für die Koeffizi­ entenbestimmung im jeweils nächsten Filter-Schritt eine neue Inverse (Rm(n+1) ˆ (-1)) einer neuen Korrelationsma­ trix (Rm(n+1)) berechnet wird (Schritt 120)
dadurch gekennzeichnet, daß der Ausschnitt (34, 34') wäh­ rend mindestens zweier aufeinanderfolgender Filter-Schritte eine konstante Länge (K) hat,
und daß ausgehend von der Inversen (Rm(n) ˆ (-1)) die Bil­ dung der neuen Inversen (Rm(n+1) ˆ (-1)) auf die Ermittlung einer Inversen (S(n) ˆ (-1)) einer Hilfs-Matrix (SS(n)) zu­ rückgeführt wird, deren Reihenanzahl kleiner als die Reihen­ anzahl der Korrelationsmatrix (Rm(n)) ist und die min­ destens zwei Spalten und zwei Zeilen hat.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die folgenden Schritte durchgeführt werden:
in einem Initialisierungsvorgang werden mindestens zwei Koeffizienten (h0(n) bis h(P-1)(n), hh(n,P) zum Defi­ nierungen der Filtercharakteristik vorgegeben (Schritt 102),
die Abtastwerte (x) der Eingangsfolge ({x(n)}) werden ge­ mäß der jeweiligen Filtercharakteristik schrittweise ge­ filtert,
wobei jeweils von zwei benachbarten Abtastwerten (x(n), x(n-1) der erste Abtastwert (x(n)) ein erstes Produkt mit dem momentanen ersten Koeffizienten (h0(n)) und der zweite Abtastwert (x(n-1)) ein zweites Produkt mit dem momentanen zweiten Koeffizienten (h1(n)) bildet,
der Ausgangswert (y(n)) des jeweiligen Filter-Schritts durch Addition der beiden Produkte im jeweiligen Filter-Schritt berechnet wird,
und wobei die Abtastwerte (x(n) bis x(n-(P-1)) eines Schritts einen Eingangsvektor (x n) und die Eingangsvekto­ ren aufeinanderfolgender Filter-Schritte eine Eingangs­ vektorfolge ({x n}) bilden,
jedem Ausgangswert (y) ein vorgegebener Vorgabewert (d) einer Referenzfolge ({d(n)}) zugeordnet wird,
und im Initialisierungsvorgang (Schritt 102) wird weiter­ hin die Inverse (Rm(n) ˆ (-1)) der Korrelationsmatrix (Rm(n)) vorgegeben.
3. Verfahren zum adaptiven linearen Kombinieren von Abtast­ werten (x) mindestens zweier Signale,
bei dem aus einem jeweiligen Ausgangswert (y) und einem zugehörigen Vorgabewert (d) jeweils ein Fehlerwert (e) als Maß für die Abweichung von Vorgabewert (d) und Aus­ gangswert (y) berechnet wird,
und bei dem aus im jeweiligen Kombinations-Schritt ver­ wendeten Koeffizienten (h0 bis h2, h(n)) für den jeweils nächsten Schritt neue Koeffizienten (h0(n+1) bis h2(n+1), h(n+1)) berechnet werden,
wobei die neuen Koeffizienten (h0(n+1) bis h2(n+1), hh(n+1)) so bestimmt werden, daß eine Summe aus den Qua­ draten der Fehlerwerte (e) eines zum momentanen Schritt gehörenden Ausschnitts (34') der Eingangsvektorfolge ({x n)} minimiert wird (Schritt 126),
beim Berechnen der neuen Koeffizienten (h0(n+1) bis h2(n+1), h(n+1)) die Inverse (Rm(n) ˆ (-1)) einer Korrela­ tionsmatrix (Rm(n)) verwendet wird, welche durch ihre Elemente die Korrelation zwischen den Abtastwerten der Eingangsvektoren (x n-1, x n-K) des Ausschnitts (34') im jeweils vorhergehenden Schritt angibt,
und wobei aus der Inversen (Rm(n) ˆ (-1)) für die Koeffizi­ entenbestimmung im jeweils nächsten Schritt eine neue In­ verse (Rm(n+1) ˆ (-1)) einer neuen Korrelationsmatrix (Rm(n+1)) berechnet wird (Schritt 120),
dadurch gekennzeichnet, daß der Ausschnitt (34, 34') wäh­ rend mindestens zweier aufeinanderfolgender Schritte eine konstante Länge (K) hat,
und daß ausgehend von der Inversen (Rm(n) ˆ (-1)) die Bil­ dung der neuen Inversen (Rm(n+1) ˆ (-1)) auf die Ermittlung einer Inversen (S(n) ˆ (-1)) einer Hilfs-Matrix (S(n)) zu­ rückgeführt wird, deren Reihenanzahl kleiner als die Rei­ henanzahl der Korrelationsmatrix (Rm(n)) ist und minde­ stens zwei Spalten und zwei Zeilen hat.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die folgenden Schritte ausgeführt werden:
in einem Initialisierungsvorgang werden ein erster Koef­ fizient (h0(n)) für das erste Signal und ein zweiter Koeffizient. (h1(n)) für das zweite Signal vorgegeben,
schrittweise werden die Abtastwerte des ersten Signals mit dem momentanen ersten Koeffizienten (h0(n)) und die Abtastwerte (x) des zweiten Signals mit dem momentanen zweiten Koeffizienten (h1(n)) multipliziert,
der Ausgangswert (y(n)) des jeweiligen Schritts wird durch Addition der Ergebnisse der Multiplikation im jeweiligen Schritt berechnet,
wobei die Abtastwerte (x1, x2) eines Schritts einen Ein­ gangsvektor (x n) und die Eingangsvektoren (x n) aufeinan­ derfolgender Schritte einer Eingangsvektorfolge ({x n}) bilden,
jedem Ausgangswert (y) wird ein vorgegebener Vorgabewert (d) einer Referenzfolge ({d(n)}) zugeordnet,
und im Initialisierungsvorgang (Schritt 102) wird weiter­ hin die Inverse (Rm(n) ˆ (-1) der Korrelationsmatrix (Rm(n)) vorgegeben.
5. Verfahren nach einem der Ansprüche 1 bis 4, gekennzeich­ net durch die folgenden Schritte:
aus mindestens zwei Eingangsvektoren (x n-K, x n), um wel­ che sich die Ausschnitte zweier aufeinanderfolgender Schritte unterscheiden, wird eine zweizeilige Informati­ onsmatrix (C(n)) gebildet, deren erste Zeile die Abtast­ werte (x) des ersten Eingangsvektors (x n-K, 12) und deren zweite Zeile die Abtastwerte (x) des zweiten Eingangsvek­ tors (x n, 14) enthält, wobei die Anzahl der Abtastwerte (x) in jeder Zeile gleich der Anzahl der Koeffizienten (h0(n) bis h(P-1)(n), h(n,P)) ist (Schritt 108),
zumindest eine Zeile der Informationsmatrix C(n) wird mit einem Vektor (h(n)) aus den Koeffizienten (h0(n) bis h2(n)) multipliziert, wobei ein neuer Wert (y(n)) der Ausgangsfolge ({y(n)}) erzeugt wird (Schritt 110),
unter Verwendung der Informationsmatrix C(n) und der in­ versen Korrelationsmatrix (Rm(n) ˆ (-1)) wird eine gefil­ terte Informationsmatrix (Z(n)) berechnet (Schritt 112),
unter Verwendung der Informationsmatrix (C(n)) und der gefilterten Informationsmatrix (Z(n)) wird eine Lei­ stungsmatrix (Q(n) berechnet, welche zwei Zeilen und zwei Spalten hat (Schritt 114),
unter Verwendung der Leistungsmatrix (Q(n)) wird die Hilfs-Matrix (S(n)) berechnet (Schritt 116), wobei gege­ benenfalls ein Dämpfungsfaktor (ρ) berücksichtigt wird,
die Hilfs-Matrix (S(n)) wird invertiert (Schritt 118),
unter Verwendung der invertierten Hilfs-Matrix (S(n) ˆ (-1)), der gefilterten Informationsmatrix (Z(n)) und der invertierten Korrelationsmatrix (Rm(n) ˆ (-1)) wird die neue invertierte Korrelationsmatrix (Rm(n+1) ˆ A(-1)) be­ stimmt (Schritt 120),
und unter Verwendung der invertierten Hilfs-Matrix (S(n) ˆ (-1)), der gefilterten Informationsmatrix (Z(n)) und des Koeffizientenvektors (h(n)) wird der neue Koeffi­ zientenvektor (h(n+1)) bestimmt (Schritt 124).
6. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die Anzahl (K) der Eingangsvek­ toren (x n) im Ausschnitt (34, 34') abhängig von der Si­ gnalstatistik der Abtastwerte (x) der Eingangsfolge ({x(n)}) bzw. der Eingangsfolgen ({x(n)}) gewählt wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß der Ausschnitt (34, 34') die jeweils unmittelbar zuvor bearbeiteten Eingangsvektoren (x n-1 bis x n-K; x n bis x n-K+1) enthält.
8. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß im Initialisierungsvorgang (Schritt 102) die inverse Korrelationsmatrix (Rm(n) ˆ (-1)) mit einem bekannten Verfahren durch Invertierung der Kor­ relationsmatrix (Rm(n)) berechnet wird.
9. Verfahren nach einem der Ansprüche 1 bis 7, dadurch ge­ kennzeichnet, daß die im Initialisierungsvorgang (Schritt 102) vorgegebene inverse Korrelationsmatrix (Rm(n) ˆ (-1)) vorzugsweise die Einheitsmatrix ist,
und daß während des Initialisierungsvorgangs (Schritt 102) eine Eingangsfolge ({x(n)}) verwendet wird, deren inverse Korrelationsmatrix (Rm(n) ˆ (-1)) mit der vorgege­ benen inversen Korrelationsmatrix (Rm(n) ˆ (-1)) überein­ stimmt,
und daß während des Initialisierungsvorgangs (Schritt 102) Koeffizienten (h0(n) bis h2(n)) und Vorgabewerte (d) verwendet werden, die Fehlerwerte (e) mit dem numerischen Wert "0" oder zumindest mit einem Wert nahe "0" erzeugen.
10. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß während des Initialisierungs­ vorgangs (Schritt 102) die Koeffizienten (h0(n) bis h2(n))) so vorgegeben werden, daß die Ausgangswerte (y) mit den Vorgabewerten (d) übereinstimmen.
11. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die Abtastwerte (x) der im je­ weiligen Schritt verwendeten Eingangsvektoren (x n bis x n-(K-1)) jeweils mit einem Faktor (ρ) multipliziert werden, wobei der Faktor (ρ) vorzugsweise so variiert, daß ein jeweils zuvor bearbeiteter Eingangsvektor (x n bis x n-(K-1)) einen ρ-fachen kleineren Faktor (ρ), hat, als ein nach diesem bearbeiteter Eingangsvektor (x n bis x n-(K-1)).
12. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die Berechnung der neuen inver­ sen Korrelationsmatrix (Rm(n) ˆ (-1)) und der neuen Koeffi­ zienten (h0)(n) bis h2(n)) nur dann erfolgt, wenn die ge­ filterte Informationsmatrix (Z(n)) zwei Spaltenvektoren hat, in denen Elemente in gleichen Zeilen betragsmäßig voneinander abweichen oder wenn die Elemente einer Zeile etwa den gleichen numerischen Wert haben,
und daß ansonsten die inverse Korrelationsmatrix (Rm(n) ˆ (-1)) als neue inverse Korrelationsmatrix (Rm(n+1) ˆ (-1)) und die Koeffizienten (h0(n) bis h2(n)) als neue Koeffizienten (h0(n+1) bis h2(n+1)) verwendet werden.
13. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die Berechnung der neuen inver­ sen Korrelationsmatrix (Rm(n) ˆ (-1)) und der neuen Koeffi­ zienten (h0(n) bis h2(n)) nur dann erfolgt, wenn die Spur der inversen Korrelationsmatrix (Rm(n) ˆ (-1)) einen ersten vorgegebenen Grenzwert nicht überschreitet und/oder die Summen der Beträge der Elemente der gefilterten Informa­ tionsmatrix (Z(n)) einen zweiten vorgegebenen Grenzwert überschreiten,
und daß ansonsten einer der beiden Spaltenvektoren der gefilterten Informationsmatrix (Z(n)) beibehalten und mit umgekehrten Vorzeichen der Elemente als anderer Spalten­ vektor verwendet wird,
und daß ansonsten weiterhin die inverse Korrelations­ matrix (Rm(n) ˆ (-1)) als neue inverse Korrelationsmatrix (Rm(n+1) ˆ (-1)) und die Koeffizienten (h0(n) bis h2(n)) als neue Koeffizienten (h0(n+1) bis h2(n+1)) verwendet werden.
14. Adaptiver linearer Kombinierer zum Durchführen des Ver­ fahrens nach einem der vorhergehenden Ansprüche,
mit einer Bearbeitungseinheit, in der Eingangsvektoren (x n, x n-K) einer Eingangsvektorfolge ({x n}) mit einer An­ zahl von Koeffizienten (h0(n) bis h(P-1)(n)) linear kom­ biniert werden, wobei eine Ausgangsfolge ({y(n)}) aus Ausgangswerten (y) entsteht,
einer Koeffizientenvorgabeeinheit, die aus vorgegebenen Vorgabewerten (d) einer Referenzfolge (d(n)}) und den Ausgangswerten (y) Fehlerwerte (e) berechnet und die für den jeweils folgenden Bearbeitungsschritt aus den Koeffi­ zienten (h0(n) bis h(P-1)(n)) neue Koeffizienten be­ stimmt, wobei die neuen Koeffizienten (h0(n+1) bis h(P-1)(n+1)) so bestimmt werden, daß eine Summe aus den Quadraten der Fehlerwerte (e) eines zum momentan Bearbei­ tungsschritt gehörenden Ausschnitts (34') der Eingangs­ vektorfolge ({x n}) mit konstanter Länge (K) während min­ destens zweier aufeinanderfolgender Bearbeitungsschritte minimiert wird,
einer Speichereinheit zum Speichern einer invertierten Korrelationsmatrix (Rm(n) ˆ (-1)), welche durch ihre Ele­ mente die Korrelation zwischen den Abtastwerten der zum Ausschnitt (34) gehörenden Eingangsvektoren der Eingangs­ vektorfolge (x n bis x n-K) angibt, und zum Speichern wei­ terer bei der Berechnung der Koeffizienten verwendeter Matrizen (Z(n), S(n)),
und mit einer Recheneinheit zur Berechnung einer neuen invertierten Korrelationsmatrix (Rm(n+1) ˆ (-1)) für den nächsten Bearbeitungsschritt unter Verwendung der inver­ tierten Korrelationsmatrix (Rm(n) ˆ (-1)).
DE1997102321 1997-01-23 1997-01-23 Verfahren zum adaptiven Filtern einer Eingangsfolge aus Abtastwerten und zum adaptiven linearen Kombinieren von Abtastwerten sowie adaptiver linearer Kombinierer Expired - Fee Related DE19702321C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1997102321 DE19702321C2 (de) 1997-01-23 1997-01-23 Verfahren zum adaptiven Filtern einer Eingangsfolge aus Abtastwerten und zum adaptiven linearen Kombinieren von Abtastwerten sowie adaptiver linearer Kombinierer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1997102321 DE19702321C2 (de) 1997-01-23 1997-01-23 Verfahren zum adaptiven Filtern einer Eingangsfolge aus Abtastwerten und zum adaptiven linearen Kombinieren von Abtastwerten sowie adaptiver linearer Kombinierer

Publications (2)

Publication Number Publication Date
DE19702321A1 true DE19702321A1 (de) 1998-08-06
DE19702321C2 DE19702321C2 (de) 2003-11-06

Family

ID=7818157

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997102321 Expired - Fee Related DE19702321C2 (de) 1997-01-23 1997-01-23 Verfahren zum adaptiven Filtern einer Eingangsfolge aus Abtastwerten und zum adaptiven linearen Kombinieren von Abtastwerten sowie adaptiver linearer Kombinierer

Country Status (1)

Country Link
DE (1) DE19702321C2 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10138720C1 (de) * 2001-08-07 2003-04-24 Siemens Ag Verfahren zur Bestimmung der optimalen Filterkoeffizienten eines adaptiven Filters durch Lösung der Wiener-Hopfgleichung
EP1331734A2 (de) * 2002-01-29 2003-07-30 Siemens Aktiengesellschaft Verfahren zur Koeffizientenadaption bei einem digitalen Filter nach dem Equation-Error-Prinzip
DE102007015396A1 (de) 2007-03-30 2008-10-02 Robert Bosch Gmbh Startermechanismus mit mehrstufigem Hubrelais
EP3108579A4 (de) * 2014-03-20 2017-09-20 Huawei Technologies Co., Ltd. System und verfahren für adaptiven filter
CN111854930A (zh) * 2020-07-21 2020-10-30 长春理工大学 一种基于先验预估的振动信号工频干扰压制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0421526B1 (de) * 1989-10-06 1996-07-31 Koninklijke Philips Electronics N.V. Adaptive Schaltung zur Geisterbildauslöschung

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10138720C1 (de) * 2001-08-07 2003-04-24 Siemens Ag Verfahren zur Bestimmung der optimalen Filterkoeffizienten eines adaptiven Filters durch Lösung der Wiener-Hopfgleichung
EP1331734A2 (de) * 2002-01-29 2003-07-30 Siemens Aktiengesellschaft Verfahren zur Koeffizientenadaption bei einem digitalen Filter nach dem Equation-Error-Prinzip
EP1331734A3 (de) * 2002-01-29 2004-02-25 Siemens Aktiengesellschaft Verfahren zur Koeffizientenadaption bei einem digitalen Filter nach dem Equation-Error-Prinzip
DE102007015396A1 (de) 2007-03-30 2008-10-02 Robert Bosch Gmbh Startermechanismus mit mehrstufigem Hubrelais
US8544437B2 (en) 2007-03-30 2013-10-01 Robert Bosch Gmbh Starter mechanism having a multi-stage plunger relay
EP3108579A4 (de) * 2014-03-20 2017-09-20 Huawei Technologies Co., Ltd. System und verfahren für adaptiven filter
CN111854930A (zh) * 2020-07-21 2020-10-30 长春理工大学 一种基于先验预估的振动信号工频干扰压制方法
CN111854930B (zh) * 2020-07-21 2022-10-14 长春理工大学 一种基于先验预估的振动信号工频干扰压制方法

Also Published As

Publication number Publication date
DE19702321C2 (de) 2003-11-06

Similar Documents

Publication Publication Date Title
DE3510660C2 (de)
DE69332975T2 (de) Digitales filter mit hoher genauigkeit und effizienz
DE4344283C2 (de) Einrichtung zum Ermitteln von Regelstrecken-Parametern
DE69125349T2 (de) Einstellungsverfahren für Einrichtungen zur Auslöschung Signalzerstreuungen in Nachrichtenübertragungssystemen
DE19737639B4 (de) Digitales Filter der Rekursiv-Bauart
DE2628473B2 (de) Digitales Faltungsfilter
DE69126062T2 (de) System zur Sprachcodierung und -decodierung
DE2611906A1 (de) Verfahren und schaltungsanordnungen zur blockquantisierung eines elektrischen signals
DE68926154T2 (de) Pipelineprozessor zur Durchführung des LMS Algorithmus
DE2133638C3 (de) Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten
DE69216312T2 (de) Bildsignalverarbeitungsgerät
DE68920349T2 (de) Anordnung zur Auslöschung von Geisterbildern.
DE69026373T2 (de) Filterkreis für digitale Signale
DE19702321C2 (de) Verfahren zum adaptiven Filtern einer Eingangsfolge aus Abtastwerten und zum adaptiven linearen Kombinieren von Abtastwerten sowie adaptiver linearer Kombinierer
DE60126105T2 (de) Adaptives frequency domain filter mit partitionierten blöcken
EP0607393B1 (de) Neuronale filterarchitektur zur nichtlinearen adaptiven störinterferenzbeseitigung
EP1755110A2 (de) Verfahren und Vorrichtung zur adaptiven Reduktion von Rausch- und Hintergrundsignalen in einem sprachverarbeitenden System
DE3810916C2 (de) Delta-Pulscodemodulation
DE69306893T2 (de) Verfahren zur Bestimmung der Transmittanz einer Filterschaltung zur Umwandlung der Impulsantwort eines Filters in eine Impulsantwort mit minimaler Phase und Filter zur Durchführung des Verfahrens
DE69124573T2 (de) Adaptives Filter und Verfahren zur Verhütung von divergierendem Verhalten des Filters
DE69131779T2 (de) Sprachcodierung
EP0464896A2 (de) Verfahren zur Bildverbesserung und Anordnung zur Durchführung des Verfahrens
EP0703567B1 (de) Verfahren und Einrichtung zur Bestimmung eines Masses der Übereinstimmung zwischen zwei Mustern sowie Spracherkennungseinrichtung damit und Programmmodul dafür
EP1423924B1 (de) Entzerreranordnung
DE69306763T2 (de) Verfahren und gerat zum loschen von geisterbildern und/oder deren entzerrung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: KRAKER, ALFRED, ING., WIEN, AT

8128 New person/name/address of the agent

Representative=s name: ZEDLITZ, P., DIPL.-INF.UNIV., PAT.-ANW., 86165 AUG

8304 Grant after examination procedure
8364 No opposition during term of opposition
8320 Willingness to grant licenses declared (paragraph 23)
8339 Ceased/non-payment of the annual fee