PatentDe  


Dokumentenidentifikation DE10250871B4 13.12.2007
Titel Filter zum Filtern eines digitalen Signals
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Kender, Nana, Villach, AT
Vertreter PAe Reinhard, Skuhra, Weise & Partner GbR, 80801 München
DE-Anmeldedatum 31.10.2002
DE-Aktenzeichen 10250871
Offenlegungstag 19.05.2004
Veröffentlichungstag der Patenterteilung 13.12.2007
Veröffentlichungstag im Patentblatt 13.12.2007
IPC-Hauptklasse H03H 17/06(2006.01)A, F, I, 20051017, B, H, DE

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf ein Filter zum Filtern eines digitalen Signals und insbesondere auf digitale Filter mit endlicher Impulsantwort (FIR; FIR = Finite Impulse Response).

Digitale Filter werden bei verschiedensten Anwendungen für die Verarbeitung von digitalen Signalen verwendet. Ein Anwendungsgebiet ist beispielsweise die Echoentzerrung bei kabelgebundenen oder drahtlosen Kommunikationssystemen. Digitale Filter weisen allgemein eine Vielzahl von elektronischen Vorrichtungen, wie z. B. Addierer, Multiplizierer, Schieberegister, Speichereinheiten, etc. auf.

Aus der DE 90 35 408 C2 ist beispielsweise eine digitale Tonsignalverarbeitungsvorrichtung zur graphischen Entzerrung eines digitalisierten Eingangstonsignals mittels mehreren in Reihe geschalteten Filtern offenbart, wobei die Filter jeweils durch eine arithmetische Operationseinrichtung gebildet werden, die eine Speichereinrichtung zum Ablegen der digitalisierten Tonsignaldaten umfasst und mit einer Bedienungseinrichtung zum Ändern des Betriebsmodus der arithmetischen Operationseinrichtung und einer Ausgabeeinrichtung für wenigstens zwei Tonsignalausgänge ausgestattet ist. Gemäß der DE 40 35 408 C2 kann durch Umwandeln eines der Filter in eine Datenzuführeinrichtung bzw. Datenausgabeeinrichtung die Reihenschaltung der einzelnen Filter getrennt werden und damit zwei kürzere Reihenschaltungen von Filtern für je einen Kanal vorgesehen werden. Die entsprechende Tonsignalverarbeitungseinrichtung sieht dabei die Verwendung von nur einem Signalprozessor bei wahlweise ein- oder zweikanaliger Verwendung der Tonsignalverarbeitungsvorrichtung vor.

5 zeigt ein herkömmliches digitales Filter mit endlicher Impulsantwort (FIR). Das FIR-Filter weist eine Filterlänge von N, d. h. N Filterkoeffizienten C1, ... CN, auf und besitzt entsprechend der Filterlänge in der Darstellung der Z-Transformation eine Folge von N Verzögerungselementen 502 der Verzögerung Z–1 und N dazu parallele Multiplizierer 504. Die Folge der N Verzögerungselemente 502 bildet eine Tap Delay Line (TDL) bzw. eine Abgriffsverzögerungsleitung, wobei die Verzögerungsleitung üblicherweise Speicherelemente, wie z. B. Register, aufweist, die einen aktuellen digitalisierten Abtastwert und vorhergehende digitalisierte Abtastwerte eines Eingangssignals Y vorübergehend speichern und dann im Takt der Abtastwerte jeweils an ein folgendes Register weitergeben. Das digitale Eingangssignal Y, das eine Mehrzahl von digitalisierten Abtastwerten aufweist, liegt an einem Eingang 506 des FIR-Filters an und wird in die Folge der Verzögerungselemente 502 eingespeist. Die jedem Verzögerungselement 602 zugeführten Abtastwerte werden außerdem einem jeweiligen Multiplizierer 504 zugeführt, um den an dem ersten Verzögerungselement 502 anliegenden aktuellen Abtastwert bzw. an den folgenden Verzögerungselementen 502 anliegende verzögerte Versionen des aktuellen Abtastwertes bzw. vorhergehende Abtastwerte mit einem jeweiligen Filterkoeffizienten zu multiplizieren. Der Ausgang jedes Multiplizierers 504 ist mit einem Summierer 508 verbunden, der Abtastwerte des Ausgangssignals Z des Filters als Summe der einzelnen mit dem zugeordneten Filterkoeffizienten multiplizierten Abtastwerte liefert.

Ein Filtertyp bzw. ein Filtermodus eines FIR-Filters ist hierin durch die Filterlänge N und die Werte der Filterkoeffizienten bzw. durch den gewählten Filterkoeffizientensatz, wie z. B. für ein Tiefpassfilter, bestimmt. Ein Filtermodus kann ferner durch die gewählte Eingangs/Ausgangs-Rate des FIR-Filters bestimmt sein. Die Filterlänge N entspricht der Anzahl der im Filter verarbeiteten digitalisierten Abtastwerte des Eingangssignals, aus denen die Abtastwerte des Ausgangssignals erzeugt werden. Bei steilen Filterflanken, engen Übergangsbändern bzw. kleiner Bandbreite oder hoher Sperrdämpfung ist daher eine große Filterlänge und eine große Anzahl von Multiplizierern erforderlich. Die Größe der Filterkoeffizienten bestimmt die Bitbreite der Multiplizierer und die Bitbreite des Summierers 508 (5) und daher den Flächenaufwand, den Energieverbrauch und die Geschwindigkeit derselben.

Eine FIR-Filterarchitektur ist beispielsweise in CHOI, J. R.; JANG, L. H.; JUNG, S. W.; CHOI, J. H.: „Structured Design of a 288-Tap FIR Filter by Optimized Partial Product Tree Compression", IEEE Journal of Solid-State Circuits, März 1997, Vol. 32 No. 3, Seiten 468-476 dargestellt. Um ein entsprechendes FIR-Filter zur Geisterbildunterdrückung und zur Kanalentzerrung auszubilden, weist das dortige Filter 288 Abgriffe bzw. Filterkoeffizienten auf. Zur Durchführung der 288 Filterkoeffizientenoperationen ist das FIR-Filter in neun Teilmodule mit jeweils 230 Filterkoeffizienten unterteilt. Die Teilmodule erzeugen dann Summen und Überträge, die in einem Addierer addiert werden, um eine Endsumme und einen Endübertrag zu liefern. Dabei müssen die Teilmodule Registermultiplikatoren und Multiplexer aufweisen, wobei die Multiplikatorkomponenten gemäß einem modifizierten Booth-Algorithmus in drei Kategorien aufgeteilt sind. Nachteilig ist dabei die jeweils notwendige hohe Bitbreite der Multiplikatoren und Akkumulatoren zur Darstellung der Filterkoeffizienten.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Filter zum Filtern eines digitalen Signals zu schaffen, dass das Filtern eines digitalen Signals mit einem optimierten Flächen-, Energie- und Zeitaufwand ermöglicht.

Diese Aufgabe wird durch ein Filter nach Anspruch 1 zum Filtern eines digitalen Signals gelöst.

Die der vorliegende Erfindung zugrunde liegende Idee besteht darin, die Verzögerungselemente bzw. Speicherelemente einer Tap Delay Line nach der Bitbreite der Filterkoeffizienten, die mit den in den Speicherelementen gespeicherten digitalisierten Abtastwerten zu multiplizieren sind, zu gruppieren bzw. unterschiedliche Bitbreiten für die unterschiedlichen Teile der in einem digitalen Filter verwendeten Multiplikations- und Additionsstrukturen, die unterschiedlichen Filterkoeffizientensätzen mit unterschiedlichen Bitwertebereichen entsprechen, zu verwenden.

In den Unteransprüchen finden sich vorteilhafte Weiterbildungen und Verbesserungen des in Anspruch 1 angegebenen Filters.

Gemäß einer bevorzugten Weiterbildung des Filters weisen die Ausleseeinrichtungen Multiplexer auf.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters weisen die Multipliziereinrichtungen Filterkoeffizientenspeicher zum Speichern der den Speicherpositionen zugeordneten Filterkoeffizienten auf.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters weisen die Multipliziereinrichtungen feste Multiplizierer, die einer bestimmten Speicherposition zugeordnet sind, zum Multiplizieren des jeweiligen aus der Speicherposition ausgelesen Abtastwerts mit dem der Speicherposition zugeordnetem Filterkoeffizienten auf.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters weisen die Addiereinrichtungen Addierer auf, die über Zwischenspeicher zum Speichern von Teilergebnissen rückgekoppelt sind.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters weist eine Speichereinrichtung eines Abschnitts eine Folge von Speicherelementen auf.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters weist eine Speichereinrichtung eines Abschnitts ein Schieberegister auf.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters weist das Schieberegister D-Flip-Flops auf.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters weist das Filter einen symmetrischen Filterkoeffizientensatz mit einer bestimmten Anzahl von Filterkoeffizienten auf, der der Folge von Speicherpositionen zugeordnet ist.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters verwendet das Filter eine Carry-Save-Addition.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters ist das Filter mit einer unterschiedlichen Anzahl von Speicherpositionen konfigurierbar, um die Filterlänge zu ändern.

Gemäß einer weiteren bevorzugten Weiterbildung des Filters weisen die Abtastwerte reale Abtastwerte und imaginäre Abtastwerte auf.

Ein Vorteil der vorliegenden Erfindung besteht darin, dass durch eine Gruppierung der Speicherelemente nach den Bitbreiten der zugeordneten Filterkoeffizienten ein Bit-effizientes digitales Filter erhalten wird, bei dem die Multiplikations/Additions-Strukturen, die Wertebereichen mit kleineren Werten der Filterkoeffizienten entsprechen, hinsichtlich der Bitbreite weniger aufwendig sind und daher weniger Fläche und Energie benötigen.

Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass einem Multiplizierer des Filters mehrere Speicherelemente mit ihren zugeordneten Filterkoeffizienten zugeordnet sind und daher eine aufwandsarme und schnelle Bit-effiziente parallele Verarbeitung der Multiplikation erreicht wird.

Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass bei der Realisierung eines konfigurierbaren digitalen Filters mit mehreren Filtermodi, d. h. unterschiedlichen Filterlängen und Filterkoeffizientensätzen, eine Optimierung der gemeinsamen Verwendung der Multiplikations- und Additionsstrukturen bzw. der Hardware durch die unterschiedlichen Filtermodi ermöglicht wird. Dies reduziert den Flächenaufwand des konfigurierbaren digitalen Filters.

Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass lediglich der Summierer, der zur Bildung der gefilterten Abtastwerte des digitalen Filters aus den verzögerten und mit dem Filterkoeffizienten multiplizierten Abtastwerten verwendet wird, eine größere Bitbreite aufweist und daher ebenfalls der Flächenaufwand und der Energiebedarf des Filters reduziert ist.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung sind nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert. Es zeigen:

1 ein bevorzugtes Ausführungsbeispiel eines Filters gemäß der Erfindung;

2 ein weiteres bevorzugtes Ausführungsbeispiel eines Filters gemäß der Erfindung mit einem symmetrischen Filterkoeffizientensatz;

3A und 3B ein weiteres bevorzugtes Ausführungsbeispiel eines Filters gemäß der Erfindung mit einem symmetrischen Filterkoeffizientensatz, unterschiedlichen Filtermodi und realen und imaginären Abtastwerten;

4 ein Ablaufdiagramm für das Filter nach 3.

1 zeigt ein bevorzugtes Ausführungsbeispiel eines Filters gemäß der Erfindung. Das Filter weist eine Folge von Speicherelementen 102 auf, in denen die digitalisierten Abtastwerte, d. h. ein aktueller Abtastwert und vorhergehende Abtastwerte, eines Eingangssignals Y des Filters gespeichert sind. Die Speicherelemente 102 sind vorzugsweise Register einer bestimmten Bitgröße, wie z. B. D-Flip-Flops, die zu einem Schieberegister verschaltet sind. Die Anzahl der Speicherelemente 102 entspricht der Filterlänge des Filters.

Das Filter bzw. die Folge von Speicherelementen 102 ist in einzelne Abschnitte 110 aufgeteilt. Die Aufteilung der Folge von Speicherelementen 102 ist durch die Bitbreite der den einzelnen Speicherelementen 102 zugeordneten Filterkoeffizienten C1,i; C2,i; ...; Ck,i bestimmt, mit denen die in den Speicherelementen 102 gespeicherten Abtastwerte zu multiplizieren sind. Jeder Abschnitt 110 der Folge von Speicherelementen 102 entspricht einem bestimmten Bitbreitenbereich, der durch eine jeweilige untere Bitbreite und eine jeweilige obere Bitbreite definiert ist und sich von dem Bitbreitenbereich der anderen Abschnitte 110 unterscheidet und dem bestimmte Speicherelemente entsprechend der Bitbreite ihrer zugeordneten Filterkoeffizienten zugewiesen sind. Jedem Abschnitt 110 ist ein jeweiliger Multiplexer 112 zugeordnet, der mit den einzelnen Speicherelementen 102 des Abschnitts 110 verbunden ist, um die in den Speicherelementen 102 eines Abschnitts 110 gespeicherten Abtastwerte vorzugsweise zwischen dem Eintreffen zweier Abtastwerte des Eingangssignals Y, d. h. nach dem Eintreffen eines aktuellen Abtastwerts und vor dem Eintreffen eines neuen Abtastwerts, auszulesen. Dazu wird der jeweilige Multiplexer 112 vorzugsweise derart angesteuert, dass das Auslesen der gespeicherten Abtastwerte entsprechend einem Auslesetakt erfolgt, der größer ist als der Signaltakt des Eingangssignals. Alternativ kann aber auch eine Unterabtastung des Eingangssignals erfolgen, bei der der Auslesetakt kleiner als der Signaltakt ist.

Das Filter weist folgend den jeweiligen Multiplexern 112 ferner jeweils einen Multiplizierer 114 auf, der den jeweils durch den Multiplexer 112 ausgelesenen Abtastwert mit dem zugeordneten Filterkoeffizienten C1,i; C2,i; ...; Ck,i multipliziert. Die Multiplikation von allen Abtastwerten der Speicherelemente 102 eines Abschnitts 110 erfolgt vorzugsweise zwischen zwei Abtastwerten des Eingangssignals Y. Die Bitbreite jedes Multiplizierers 114 hängt beispielsweise von dem Bitbreitenbereich oder der oberen Bitbreite des Bitbreitenbereichs der Filterkoeffizienten, die einem Abschnitt 110 der Folge von Speicherelementen 102 zugeordnet sind, und von der Größe der Abtastwerte ab. Jeder Multiplizierer 114 weist ferner vorzugsweise einen Filterkoeffizientenspeicher auf, in dem die Filterkoeffizienten gespeichert sind. Abhängig von dem auszulesenden Speicherelement 102 wird ein Filterkoeffizient aus dem jeweiligen Filterkoeffizientenspeicher zur Multiplikation mit dem jeweiligen Abtastwert in den Multiplizierer 114 abgerufen. Der jeweilige Multiplizierer 114 kann alternativ ein fester Multiplizierer mit fest zugeordnetem Filterkoeffizienten sein.

Das Filter weist folgend jedem Multiplizierer 114 ferner jeweils einen Addierer 116 auf, der vorzugsweise zwischen zwei Abtastwerten des Eingangssignals Y die mit den Filterkoeffizienten multiplizierten Abtastwerte der Speicherelemente 102 akkumulierend addiert. Zwischen dem jeweiligen Multiplizierer 114 und dem jeweiligen Addierer 116 kann ein Register 118 zur Zwischenspeicherung der multiplizierten Abtastwerte angeordnet sein, um ein zeitliche Steuerung der Verarbeitung zu ermöglichen. Dem jeweiligen Addierer 116 ist jeweils ein Zwischenspeicher 120 nachgeordnet, der Teilergebnisse der Addition der mit den Filterkoeffizienten multiplizierten Abtastwerte speichert und rückkoppelnd an einen Eingang des jeweiligen Addierers 116 zurückführt. Die Bitbreite jedes Addierers 116 hängt beispielsweise von der dem jeweiligen Abschnitt 110 der Folge von Speicherelementen 102 zugeordnete Anzahl von Filterkoeffizienten, dem zugeordneten Bitbreitenbereich der Filterkoeffizienten und der Größe der Abtastwerte ab.

Das Filter weist schließlich ferner einen Summierer 122 auf, der die Additionsergebnisse der Addierer 116 der einzelnen Abschnitte 110 vorzugsweise zwischen zwei Abtastwerten des Eingangssignals Y summiert, um einen Abtastwert des gefilterten Eingangssignals Y als Abtastwert des Ausgangssignals Z zu erzeugen. Die Bitbreite des Summierers 122 hängt beispielsweise von der Gesamtzahl der Filterkoeffizienten und der Größe der Filterkoeffizienten und der Abtastwerte ab.

2 zeigt ein weiteres bevorzugtes Ausführungsbeispiel eines Filters gemäß der Erfindung mit einem symmetrischen Filterkoeffizientensatz. Das Filter ist vorzugsweise ein FIR-Filter und weist eine Folge von Speicherelementen 202 auf. Die Speicherelemente 202 sind vorzugsweise Register einer bestimmten Bitgröße, wie z. B. D-Flip-Flops, die zu einem Schieberegister hintereinander geschaltet sind. Bei dem symmetrischen Filterkoeffizientensatz ist der erste Filterkoeffizient, d. h. der Filterkoeffizient, der dem ersten Speicherelement 202 der Folge von Speicherelementen bzw. einem aktuellen digitalisierten Abtastwert eines Eingangssignals Y zugeordnet ist, gleich dem letzten Filterkoeffizienten, d. h. dem Filterkoeffizienten, der dem letzten Speicherelement 202 der Folge von Speicherelementen bzw. dem am stärksten verzögerten oder ältesten Abtastwert des Eingangssignals Y zugeordnet ist. Fortlaufend ist der zweite Filterkoeffizient gleich dem vorletzten Filterkoeffizienten usw. Ein Tiefpassfilter weist beispielsweise einen solchen Filterkoeffizientensatz auf.

Das Filter bzw. die Folge von Speicherelementen 202 ist in einzelne Abschnitte 210 aufgeteilt. Die Aufteilung der Folge von Speicherelementen 202 ist durch die Bitbreite bzw. Größe der den einzelnen Speicherelementen 202 zugeordneten Filterkoeffizienten bestimmt, mit denen die in den Speicherelementen 202 gespeicherten Abtastwerte zu multiplizieren sind. Jedem Abschnitt 210 der Folge von Speicherelementen 202 ist ein bestimmter eindeutiger Bitbreitenbereich der Filterkoeffizienten, der durch eine jeweilige untere Bitbreite und eine jeweilige obere Bitbreite definiert ist und sich von dem Bitbreitenbereich der anderen Abschnitte 210 unterscheidet, zugeordnet. Aufgrund der Symmetrie sind daher Speicherelemente 202, die zueinander symmetrischen Filterkoeffizienten zugeordnet sind, in gleichen Abschnitten 210 bzw. Gruppen von Speicherelementen 202 angeordnet.

Das Filter weist in den einzelnen Abschnitten 210 der Folge von Speicherelementen 212 Multiplexer 212 auf, die jeweils zwei Speicherelementen 202, die zueinander symmetrische Filterkoeffizienten aufweisen, zugeordnet sind und mit denselben verbunden sind. Die Multiplexer 212 lesen vorzugsweise zwischen zwei Abtastwerten des Eingangssignals Y Abtastwerte aus den Speicherelementen 202 aus. Jeder Multiplexer 212 ist mit einem jeweiligen Multiplizierer 214 verbunden, der den in einem Speicherelement 202 gespeicherten und durch den Multiplexer 212 ausgelesenen Abtastwert mit einem zugeordneten Filterkoeffizienten C1,1; ... C1,m1; C2,1 ... C2,m2; ...; Ck,1 ... Ck,mk vorzugsweise zwischen zwei Abtastwerten des Eingangssignals Y multipliziert. Die Bitbreite des jeweiligen Multiplizierers 214 hängt beispielsweise von der Größe der Filterkoeffizienten eines Abschnitts 210 der Folge von Speicherelementen 202 und von der Größe der Abtastwerte ab. Die Multiplizierer 214 sind ferner vorzugsweise feste Multiplizierer mit festen Filterkoeffizienten als Multiplikator. Das gezeigte Filter besitzt eine ungerade Filterlänge, so dass der mittlere Filterkoeffizient des symmetrischen Filterkoeffizientensatzes, der dem Speicherelement 202' zugeordnet ist, alleine einem Multiplizierer 214' zugeordnet ist.

Die Multiplizierer 214 eines Abschnitts 210 der Folge von Speicherelementen 202 sind mit einem jeweiligen Addierer 216 verbunden. Der Addierer 216 weist eine Bitbreite und Bittiefe auf, die beispielsweise durch die Anzahl der einem Abschnitt 210 zugeordneten Filterkoeffizienten, dem Bitbreitenbereich der Filterkoeffizienten des jeweiligen Abschnitts 210 und durch die Größe der Abtastwerte bestimmt sind. Der jeweilige Addierer 216 addiert vorzugsweise zwischen zwei Abtastwerten des Eingangssignals Y die mit dem zugeordneten Filterkoeffizienten multiplizierten Abtastwerte akkumulierend. Dazu ist dem jeweiligen Addierer 216 jeweils ein Zwischenspeicher 220 nachgeordnet, der Teilergebnisse des Addierers 216 der mit den Filterkoeffizienten multiplizierten Abtastwerte speichert und rückkoppelnd an einen Eingang des jeweiligen Addierers 216 zurückführt.

Das Filter weist ferner einen Summierer 222 auf, der die Additionsergebnisse der einzelnen Abschnitte 210 der Folge von Speicherelementen 202 summiert, um einen Abtastwert des gefilterten Eingangssignals Y als Abtastwert eines Ausgangssignals Z vorzugsweise zwischen zwei Abtastwerten des Eingangssignals Y zu erzeugen. Die Bitbreite des Summierers 222 hängt beispielsweise von der Gesamtzahl der Filterkoeffizienten, der Bitbreite der Filterkoeffizienten und der Größe der Abtastwerte ab.

In 2 ist ferner gezeigt, dass die Multiplizierer 214, die Addierer 216 und der Summierer 222 vorzugsweise eine Carry-Save-Addition mit gespeichertem (Save) Übertrag (Carry) verwenden. Dazu weist jeder Multiplizierer 214 einen Summenausgang und einen Übertragausgang auf, die mit einem jeweiligen Summeneingang und Übertrageingang eines Addierers 216 durch eine Summenleitung 224 und eine Übertragleitung 226 verbunden sind. Die Addierer 216 weisen jeweils einen Summenausgang und einen Übertragausgang auf, die mit einem jeweiligen Summeneingang eines Zwischenspeichers 220 durch eine Summenleitung 228 und mit einem jeweiligen Übertrageingang eines zusätzlichen Zwischenspeichers 230 durch eine Übertragleitung 232 verbunden sind. Die Zwischenspeicher 220 weisen jeweils einen Summenausgang auf, der mit einem jeweiligen Summeneingang des Summierers 222 durch eine Summenleitung 234 verbunden ist, und die Zwischenspeicher 230 weisen jeweils einen Übertragsausgang auf, der mit einem jeweiligen Übertrageingang des Summierers 222 durch eine Übertragleitung 236 verbunden ist. Die Rückkopplung der Zwischenergebnisse in den Zwischenspeichern 220 und 230 zu den zugeordneten Eingängen eines jeweiligen Addierers 216 ist durch eine Summenleitung 238 und eine Übertragleitung 240 vorgesehen.

3A und 3B zeigen ein weiteres bevorzugtes Ausführungsbeispiel eines Filters gemäß der Erfindung mit einem symmetrischen Filterkoeffizientensatz, unterschiedlichen Filtermodi und einem Eingangssignal mit komplexen Abtastwerten, die vorzugsweise abwechselnd reale und imaginäre Abtastwerte aufweisen. Die zwei gezeigten Filtermodi umfassen eine Filterlänge mit 21 Abgriffen (Taps) oder 21 Filterkoeffizienten für ein Filter mit großer Bandbreite bzw. 57 Filterkoeffizienten für ein Filter mit kleiner Bandbreite. Der erste Filtermodus mit 21 Filterkoeffizienten ist durch einen rechten Teil 342 des Filters mit den Speicherelementen 19 bis 39 definiert, und der zweite Filtermodus mit 57 Filterkoeffizienten ist durch sowohl den rechten Teil 342 als auch einen linken Teil 344 des Filters mit den Speicherelementen 1 bis 18 und 40 bis 57 definiert. Der jeweilige Filtermodus wird durch ein Filtermodussignal LPF3_MODE ausgewählt. Das Filter weist jeweils eine obere Folge 346 und eine untere Folge 348 von Speicherelementen 302 auf. Die obere Folge 346 von Speicherelementen 302 ist den realen digitalisierten Abtastwerten eines Eingangssignals IN_IQ zugeordnet, während die untere Folge 348 von Speicherelementen 302 den imaginären digitalisierten Abtastwerten des Eingangssignals IN_IQ zugeordnet ist. Die obere und die untere Folge 346, 348 von Speicherelementen 302 sind insbesondere in Abschnitte 310 bzw. Gruppen von Speicherelementen 302 aufgeteilt, denen jeweils Filterkoeffizienten zugeordnet sind, die eine Bitbreite aufweisen, die in einem jeweiligen eindeutigen Bitbreitenbereich liegt. Der jeweilige eindeutige Bitbreitenbereich ist durch eine obere und eine untere Bitbreite definiert und unterscheidet sich von dem Bitbreitenbereich eines anderen Abschnitts 310.

Den einzelnen Abschnitten 310 der oberen und unteren Folge 346, 348 von Speicherelementen sind gemeinsam Multiplexer 312 zugeordnet, die jeweils mit zwei Speicherelementen 302 der oberen Folge 346 von Speicherelementen und zwei Speicherelementen 302 der unteren Folge 348 von Speicherelementen, d. h. insgesamt vier Speicherelementen 302, verbunden sind. Da das Filter eine ungerade Anzahl von Filterkoeffizienten aufweist, sind die Speicherelemente 302' alleine einem Multiplexer 312', der lediglich zwei Eingänge anstatt vier Eingänge aufweist, zugeordnet. Die Multiplexer 312 lesen gesteuert durch ein Signal SELECT_ROW_TO_MULT vorzugsweise zwischen zwei komplexen Abtastwerten des Eingangssignals IN_IQ die realen und imaginären Abtastwerte aus den zugeordneten Speicherelementen aus und liefern dieselben aufeinanderfolgend an einen nachgeordneten festen Multiplizierer 314, der einen festen Filterkoeffizienten als Multiplikator aufweist. Jeder feste Multiplizierer 314 multipliziert den jeweiligen ausgelesenen Abtastwert mit dem zugeordneten Filterkoeffizienten und weist beispielsweise eine Bitbreite auf, die von der oberen Bitbreite eines jeweiligen Bitbreitenbereichs eines Abschnitts 310 der Folgen 346, 348 von Speicherelementen 302 abhängt. Abhängig von dem Filtermodus werden in dem rechten Teil 342 des Filters in einem Abschnitt entweder ein Multiplizierer 314, der dem ersten Filtermodus zugeordnet ist, oder ein Multiplizierer 314' (gestrichelt gezeigt), der dem zweiten Filtermodus zugeordnet ist, ausgewählt. Dazu weist das Filter jeweils einen weiteren Multiplexer 350 auf, der jeweils zwischen dem Multiplexer 312 und den Multiplizierern 314, 314' angeordnet ist, um abhängig von dem Filtermodussignal LPF3_MODE einen der Multiplizierer 314, 314' mit dem Multiplexer 312 zu verbinden.

Die Multiplizierer 314 im linken Teil 344 des Filters sind jeweils mit einem Addierer 316 verbunden, während die Multiplizierer 314, 314' im rechten Teil 342 des Filters mit einem Addierer 316' verbunden sind (3B). Der linke Teil 344 des Filters wird wie erwähnt abhängig vom Filtermodussignal LPF3_MODE lediglich für den zweiten Filtermodus mit kleiner Bandbreite bzw. größerer Filterlänge verwendet. Um im rechten Teil 342 des Filters abhängig von dem Filtermodus den jeweiligen adäquaten Multiplizierer 314 oder 314' mit dem Addierer 316' zu verbinden, weist das Filter ferner Multiplexer 352 auf, die durch das Filtermodussignal LPF3_Mode gesteuert sind und zwischen dem jeweiligen Multiplizierer 314, 314' und dem Addierer 316' angeordnet sind. Die Bitbreite der Addierer 316, 316' hängt beispielsweise von der Bitbreite der Filterkoeffizienten beider Filtermodi, von der Anzahl der Filterkoeffizienten und der Größe der Abtastwerte ab. Die Addierer 316, 316' addieren vorzugsweise zwischen zwei komplexen Abtastwerten des Eingangssignals IN_IQ unabhängig voneinander die mit den zugeordneten Filterkoeffizienten multiplizieren realen und imaginären Abtastwerte jedes Abschnitts 310. Jedem Addierer 316, 316' ist ein Zwischenspeicher 320 nachgeschaltet, der Teilergebnisse des jeweiligen Addierers 316, 316' zu den zu addierenden mit den Filterkoeffizienten multiplizierten Abtastwerten speichert und rückkoppelnd an einen Eingang des jeweiligen Addierers 316, 316' zurückführt.

Das Filter weist ferner im linken Teil 344 und im rechten Teil 342 Summmierer 322, 322' auf, die den Addierern 316, 316' nachgeschaltet sind. Der Summierer 322 summiert vorzugsweise zwischen zwei komplexen Abtastwerten des Eingangssignals IN_IQ die Additionsergebnisse des Addierers 316, die den jeweiligen Abschnitten 310 der Folgen 346, 348 von Speicherelementen 302 im linken Teil 344 des Filters zugeordnet sind, während der Summierer 322' vorzugsweise zwischen zwei komplexen Abtastwerten des Eingangssignals IN_IQ die Additionsergebnisse des Addierers 316', die jeweiligen Abschnitten 310 der Folgen 346, 348 von Speicherelementen 302 im rechten Teil 342 des Filters zugeordnet sind, summiert. Die Bitbreite der Summierer 322, 322' hängt beispielsweise von der Bitbreite und der Anzahl der Filterkoeffizienten des linken bzw. rechten Teils 344, 342 des Filters und der Größe der Abtastwerte ab. Die Summierer 322 und 322' sind mit einem weiteren Summierer 354 verbunden, der die Ergebnisse der Summierer 322, 322' addiert, um einen komplexen Abtastwert des gefilterten Eingangssignals IN_IQ als komplexen Abtastwert eines Ausgangssignals IQ_RE/IM vorzugsweise zwischen zwei komplexen Abtastwerten des Eingangssignals IN_IQ zu erzeugen. Der Summierer 354 weist eine Bitbreite auf, die beispielsweise von der Bitbreite und der Gesamtzahl der Filterkoeffizienten und der Größe der Abtastwerte abhängt. Der Summierer 354 ist vorzugsweise mit einer Einrichtung 356 zum Runden und zum Abschneiden von überflüssigen Stellen des komplexen Abtastwertes des Ausgangssignals IQ_RE/IM verbunden, die gerundete Abtastwerte des Ausgangssignals an ein Ausgangsregister 357 liefert.

Zur Einstellung der Filtermodi bzw. zur Konfiguration des Filters weist das Filter ferner zwei Multiplexer 358 ( 3A) auf, die die obere Folge 346 von Speicherelementen 302 für die reellen Abtastwerte und die untere Folge 348 von Speicherelementen 302 für die imaginären Abtastwerte konfigurieren und die abhängig von dem Filtermodussignal LPF3_MODE bei dem ersten Filtermodus nur den rechten Teil 342 des Filters und bei dem zweiten Filtermodus beide Teile 342, 344 des Filters mit dem Eingangssignal IN_IQ verbinden. Die Speicherelemente 302 des linken Teils 344 des Filters weisen ferner jeweils einen Eingang auf, an dem das Filtermodussignal LPF3_MODE anliegt, um die Speicherelemente 302 in dem linken Teil 344 des Filters abhängig von dem Filtermodus zu aktivieren oder zu deaktivieren. Folgend dem Summierer 354 und dem Summierer 322' (3B) ist ferner ein Multiplexer 360 vorgesehen, der abhängig von dem Filtermodussignal LPF3_MODE im zweiten Filtermodus das Additionsergebnis des Summierers 354 oder im ersten Filtermodus des Summierers 322' an die Einrichtung 356 weiterleitet.

Das Filter verwendet eine Carry-Save-Addition für die Addition und Multiplikation in den Multiplizierern 314, 314', den Addierern 316, 316' und in den Summierern 322, 322' und 354. Das Filter weist dazu jeweils Summenleitungen S und Übertragleitungen C auf, die die jeweiligen Elemente miteinander verbinden. Zusätzlich zu den Multiplexern 352, die den einzelnen Multiplizierern 314, 314' des rechten Teils 342 des Filters nachgeschaltet sind, weist daher das Filter für den jeweiligen Übertrag (C) eines Multiplizierers 314, 314' einen Multiplexer 362 auf, der ebenfalls durch das Filtermodussignal LPF3-MODE gesteuert ist, um den Übertrag eines Multiplizierers 314 oder eines Multiplizierers 314' abhängig von dem Filtermodus auszuwählen. Für die Zwischenspeicherung des Übertrags der Addierer 316, 316' sind zusätzlich zu den Zwischenspeichern 320 ferner Zwischenspeicher 330 vorgesehen.

Das Filter weist ferner einen Puffer 366 auf, der beim Einlesen der komplexen Abtastwerte die imaginären Abtastwerte des Eingangssignals IN_IQ speichert, während in der oberen Folge 346 von Speicherelementen 302 der reale Abtastwert aufgenommen und verarbeitet wird. Der Puffer 366 wird dazu durch ein Signal LOAD_BUF an einem Eingang desselben angesteuert. Dem Puffer 366 ist ein Multiplexer 368 nachgeschaltet, der mit einem Eingang desselben mit dem Eingangssignal IN_IQ und mit einem weiteren Eingang desselben mit einem Ausgang des Puffers 366 verbunden ist und durch ein Signal SELECT_TDL_IM0 gesteuert ist. Die Speicherelemente 302 der oberen Folge 346 von Speicherelementen 302 in 3A weisen jeweils einen weiteren Eingang für ein Signal VALID_RE auf, das signalisiert, ob ein gültiger realer Abtastwert am Eingang des Filters anliegt oder z. B. ein Burst-Modus vorliegt. Die Speicherelemente 302 der unteren Folge 348 von Speicherelementen 302 weisen jeweils einen weiteren Eingang auf, an dem ein Signal SHIFT_TDL_IM anliegt, das die Verschiebung der imaginären Abtastwerte zwischen den Speicherelementen 302 abhängig davon steuert, ob die Zwischenspeicherung in dem Puffer 366 abgeschlossen ist.

4 zeigt ein Ablaufdiagramm für das Filter nach 3. Das Signal CLK gibt den Systemtakt des Filters an, mit dem das Eingangssignal IN_IQ in das Filter eingelesen wird. Das Eingangssignal IN_IQ des Filters weist abwechselnd einen realen digitalisierten Abtastwert und einen imaginären digitalisierten Abtastwert auf, die einen komplexen Abtastwert bilden. Liegt ein gültiger realer Abtastwert an dem Eingang des Filters an, so wird das Signal VALID_RE auf einen hohen Zustand gesetzt, und ein erster realer Abtastwert (1.) wird in die obere Folge 346 von Speicherelementen 302 des Filters aufgenommen. Um einen dem ersten realen Abtastwert folgenden ersten imaginären Abtastwert (1.) in den Puffer 366 aufzunehmen, wird das Signal LOAD_BUF in einen hohen Zustand gesetzt, und der Puffer 366 nimmt den ersten imaginären Abtastwert auf. Ein zweiter realer Abtastwert (2.) des Eingangssignals wird dann in die obere Folge 346 von Speicherelementen 302 aufgenommen, während gleichzeitig der Puffer 366 durch das Signal SELECT_TDL_IM0 angesteuert wird, um den ersten imaginären Abtastwert zusammen mit einem folgenden zweiten imaginären Abtastwert (2.) gesteuert durch das Signal SHIFT_TDL_IM in der unteren Folge 348 von Speicherelementen 302 aufzunehmen. Da nun die realen und imaginären Abtastwerte in die jeweilige Folge 346, 348 von Speicherelementen 302 durch Verschieben der Abtastwerte geladen sind, werden gesteuert durch das Signal SELECT_ROW_TO_MULT jeweils 4 Speicherelemente 302 nacheinander durch den jeweils zugeordneten Multiplexer 312 ausgelesen. In 4 ist dies für den ersten Abschnitt 310 im linken Teil 344 des Filters durch die Binärcodierung innerhalb des Signals SELECT_ROW_TO_MULT gezeigt. Folgend einem ungültigen Block 00 (XX) wird durch den ersten Multiplexer 312 am Eingang des Filters das 1. Speicherelement 302 (00) der oberen Folge 346 von Speicherelementen 302, in dem ein erster realer Abtastwert (1. reale Reihe) gespeichert ist, dann das 57. Speicherelement 302 (01) der oberen Folge 346 von Speicherelementen 302, in dem ein realer Abtastwert (2. reale Reihe) gespeichert ist, dann das 1. Speicherelement 302(10) der unteren Folge 348 von Speicherelementen 302, in dem ein imaginärer Abtastwert (1. imaginäre Reihe) gespeichert ist, und dann das 57. Speicherelement 302 (11) der unteren Folge 348 von Speicherelementen 302, in dem ein imaginärer Abtastwert (2. imaginäre Reihe) gespeichert ist, ausgelesen und jeweils zu dem zugeordneten Multiplizierer 314 zur Multiplikation mit einem adäquaten Filterkoeffizienten weitergeleitet.

Das Signal LD_STAGE1 zeigt an, dass die mit den Filterkoeffizienten multiplizierten realen und imaginären Abtastwerte der einzelnen Abschnitte 310 des Filters nacheinander in eine erste Filterstufe 370 (3B), d. h. in die Addierer 316, 316' zum akkumulierenden Addieren geladen werden. Nachdem die ersten zwei realen Abtastwerte, die durch die binäre Codierung 00, 01 des Signals SELECT_ROW_TO_MULT gezeigt sind, in die erste Filterstufe 370 bzw. die Addierer 316, 316' geladen und verarbeitet wurden, werden die Additionsergebnisse für alle realen Abtastwerte in eine zweite Filterstufe 372 geladen. In der zweiten Filterstufe 372 erfolgt zunächst die Addition von allen realen Abtastwerten des linken Teils 344 des digitalen Filters in dem Summierer 322 und die Addition von allen realen Abtastwerten des rechten Teils 342 des digitalen Filters in dem Summierer 322' und dann die Addition der realen Abtastwerte des linken Teils 344 und des rechten Teils 342 des Filters in dem Summierer 354. Das Ergebnis durchläuft die Einrichtung 356 und wird in das Ausgangsregister 357 geladen. Dies ist durch einen ersten hohen Zustand des Signals LD_STAGE2 gezeigt. Der zweite hohe Zustand dieses Signals in 4 zeigt das Laden der äquivalent verarbeiteten imaginären Abtastwerte in die zweite Filterstufe 372 und das Ausgangsregister 357 an.

Eine vorteilhafte Anwendung des erfindungsgemäßen Filters liegt beispielsweise auf dem Gebiet von Empfängerchips für das digitale Fernsehen, bei denen die Filter zur Tiefpassfilterung und Herunterabtastung verwendet werden. Ein Filter nach 3A und B ist beispielsweise für die Unterdrückung von Störungen in einem Übertragungskanal eines Übertragungssystems, die durch Nachbarkanäle verursacht werden, einsetzbar. Die unterschiedlichen Filtermodi ermöglichen dabei die Anpassung des Filters an unterschiedliche Störungen.

102
Speicherelement
110
Abschnitte
112
Multiplexer
114
Multiplizierer
116
Addierer
118
Register
120
Zwischenspeicher
122
Summierer
202
Speicherelement
210
Abschnitte
212
Multiplexer
214
Multiplizierer
216
Addierer
220
Zwischenspeicher
222
Summierer
224
Summenleitung
226
Übertragleitung
228
Summenleitung
230
Zwischenspeicher
232
Übertragleitung
234
Summenleitung
236
Übertragleitung
238
Summenleitung
240
Übertragleitung
302
Speicherelement
310
Abschnitte
312
Multiplexer
314
Multiplizierer
316
Addierer
320
Zwischenspeicher
322
Summierer
330
Zwischenspeicher
392
rechter Teil des Filters
344
linker Teil des Filters
346
obere Folge von Speicherelementen
348
untere Folge von Speicherelementen
350
Multiplexer
352
Multiplexer
354
Summierer
356
Einrichtung zum Runden und zum Abschneiden
357
Ausgangsregister
358
Multiplexer
360
Multiplexer
362
Multiplexer
366
Puffer
368
Multiplexer
370
erste Filterstufe
372
zweite Filterstufe
502
Verzögerungselement
504
Multiplizierer
506
Eingang
508
Summierer


Anspruch[de]
Filter zum Filtern eines digitalen Eingangssignals des Filters, wobei das Eingangssignal zeitlich aufeinanderfolgende digitalisierte Abtastwerte aufweist, und wobei das Filter in einzelne Abschnitte (110; 210; 310) aufgeteilt ist und jedem Abschnitt (110; 210; 310) Filterkoeffizienten des Filters zugeordnet sind, die in einem bestimmten Bitbreitenbereich liegen, der sich von dem Bitbreitenbereich von Filterkoeffizienten jedes anderen Abschnitts (110; 210; 310) unterscheidet, wobei jeder Abschnitt (110; 210; 310) folgende Merkmale aufweist:

– eine Speichereinrichtung (102; 202; 302) zum Speichern von zeitlich aufeinanderfolgenden Abtastwerten des Eingangssignals in einer Folge einer bestimmten Anzahl von Speicherpositionen;

– Ausleseeinrichtungen (112; 212; 312) zum Auslesen von Abtastwerten aus den Speicherpositionen zwischen einem Eintreffen von zwei aufeinanderfolgenden Abtastwerten des Eingangssignals;

– Multipliziereinrichtungen (114; 214; 314) zum Multiplizieren der aus den Speicherpositionen ausgelesenen Abtastwerte mit jeweiligen Filterkoeffizienten, die den Speicherpositionen zugeordnet sind, wobei jede Multipliziereinrichtung (114; 214; 314) eine Bitbreite aufweist, die durch den Bitbreitenbereich der Filterkoeffizienten des jeweiligen Abschnitts (110; 210; 310) bestimmt ist; und

– Addiereinrichtungen (116; 216; 316, 316') zum Addieren der mit den Filterkoeffizienten multiplizierten Abtastwerte, um eine Teilsumme zu bilden, wobei jede Addiereinrichtung (116; 216; 316, 316') eine Bitbreite aufweist, die durch den Bitbreitenbereich und die Anzahl der Filterkoeffizienten des jeweiligen Abschnitts (110; 210; 310) bestimmt ist, wobei das Filter ferner folgendes Merkmal aufweist:

– eine Summiereinrichtung (122; 222; 322, 322', 354) zum Summieren der Teilsummen der Addiereinrichtungen (116; 216; 316, 316') der einzelnen Abschnitte (110; 210; 310), um jeweils einen Abtastwert des gefilterten Eingangssignals zu erzeugen.
Filter nach Anspruch 1, dadurch gekennzeichnet, dass die Ausleseeinrichtungen Multiplexer (112; 212; 312) aufweisen. Filter nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Multipliziereinrichtungen (114) Filterkoeffizientenspeicher zum Speichern der den Speicherpositionen zugeordneten Filterkoeffizienten aufweisen. Filter nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Multipliziereinrichtungen (214; 314, 314') feste Multiplizierer, die einer bestimmten Speicherposition zugeordnet sind, zum Multiplizieren des jeweiligen aus der Speicherposition ausgelesenen Abtastwerts mit dem der Speicherposition zugeordnetem Filterkoeffizienten aufweisen. Filter nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Addiereinrichtungen Addierer (116; 216; 316, 316') aufweisen, die über Zwischenspeicher (120; 220; 320) zum Speichern von Teilergebnissen rückgekoppelt sind. Filter nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Speichereinrichtung eines Abschnitts eine Folge von Speicherelementen (102; 202; 302) aufweist. Filter nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Speichereinrichtung eines Abschnitts ein Schieberegister aufweist. Filter nach Anspruch 7, dadurch gekennzeichnet, dass das Schieberegister D-Flip-Flops aufweist. Filter nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Filter einen symmetrischen Filterkoeffizientensatz mit einer bestimmten Anzahl von Filterkoeffizienten aufweist, der der Folge von Speicherpositionen zugeordnet ist. Filter nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Filter eine Carry-Save-Addition verwendet. Filter nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Filter mit einer unterschiedlichen Anzahl von Speicherpositionen konfigurierbar ist, um die Filterlänge zu ändern. Filter nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Abtastwerte reale Abtastwerte und imaginäre Abtastwerte aufweisen.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com