PatentDe  


Dokumentenidentifikation DE69635543T2 14.06.2006
EP-Veröffentlichungsnummer 0000766388
Titel Signalverarbeitungsverfahren in CSD-Filter und Schaltung dafür
Anmelder Samsung Electronics Co., Ltd., Suwon, Kyonggi, KR
Erfinder Lee, Myeong-Hwan, Paldal-gu, Kyungki-do, KR
Vertreter Grünecker, Kinkeldey, Stockmair & Schwanhäusser, 80538 München
DE-Aktenzeichen 69635543
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 13.09.1996
EP-Aktenzeichen 963066600
EP-Offenlegungsdatum 02.04.1997
EP date of grant 07.12.2005
Veröffentlichungstag im Patentblatt 14.06.2006
IPC-Hauptklasse H03H 17/02(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf ein Verfahren für das Verarbeiten eines Signals in einem Filter, der einen kanonisch signierten Ziffern-(CSD-)Code anwendet, und auf eine für das Verfahren geeignete Schaltung, und insbesondere auf ein Verfahren für das Verarbeiten eines Signals in einem CSD-Filter, das die Leistung des Filters verbessern kann, und das an viele Arten von Filtern angepasst werden kann, indem die Auflösung von Skalierfaktoren gesteigert wird, und auf eine für das Verfahren geeignete Schaltung.

Ein Digitalfilter ist das wichtigste und am häufigsten verwendete Bauteil für das Verarbeiten eines digitalen Signals. Der Digitalfilter umfasst Verzögerer, Multiplizierer und Addierer. Die einfachste Form eines Digitalfilters ist ein Multiplizierer ohne einen Verzögerer. Dieser Filtertyp ist der am meisten verwendete für die Verarbeitung eines Signals, beispielsweise bei Steuerungsverstärkungen.

Die Komplexität des Digitalfilters hängt hauptsächlich ab von seiner Länge, und dann von der Bit-Auflösung, die durch die Anzahl der Bits eines Eingabesignals bestimmt wird, von den Koeffizienten eines Multiplizierers, d. h. den Filterkoeffizienten, und von der Anzahl der Bits eines Addierers.

Der Digitalfilter umfasst im Allgemeinen einer Vielzahl von Multiplizierern. Die Multiplizierer, die große Bereiche belegen und viel Energie verbrauchen, erlegen einer Ein-Chip-Lösung mit integrierten Schaltungen Zwänge auf. Tatsächlich wurden in neuerer Zeit bei Anwendungen der digitalen Signalverarbeitung in Anbetracht der Ein-Chip-Lösung, bei der Umsetzung von Mehrzweckanwendungen, die die Filter verwenden, kürzere Digitalfilter als notwendig verwendet. Ein Interpolationsfilter, der auf den bilinearen Eigenschaften eines festgelegten Koeffizienten beruht, ist ein Beispiel.

Unter diesem Gesichtpunkt wurden Anstrengungen zur Reduzierung der Hardware-Komplexität durch Vereinfachung der Multiplizierer eines Digitalfilters unternommen. Ein Multiplizierer, das einen CSD-Code für einen Digitalfilter verwendet, wurde als beispielhafte Anstrengung erforscht.

Um einen Filter zu erhalten, der den CSD-Code verwendet, müssen alle reellen Koeffizienten des vorgesehenen Filters in CSD-Koeffizienten konvertiert werden. Wenn jedoch die Konvertierung einfach durch Quantisierung ausgeführt wird, wird die Leistungsfähigkeit des Filters in einem großen Ausmaß herabgesetzt. Deshalb wurden viele Optimierungstechniken in folgenden Veröffentlichungen vorgeschlagen: (1) „FIR-Filteraufbau über einem diskreten Zweierpotenzen-Koeffizienten-Zwischenraum" von Y. C. Lim und B. R. Parker, IEEE Trans. on Acoust. Sprache- und Signalverarbeitung, Band ASSP-31, Seiten 583–591, Juni 1983; (2) „Ein einfacher Aufbau von FIR-Filtern mit Zweierpotenzen-Koeffizienten" von Q. Zhao und Y. Tadokoro, IEEE Trans. on Circuit and Systems, Band 35, Nr. 5, Seiten 566–570, Mai 1988; und (3) „Ein verbesserter Suchalgorithmus für den Aufbau von FIR-Filtern mit Zweierpotenzen-Koeffizienten ohne Multiplizierer" von Henry Samueli, IEEE Trans. on Circuit and Systems, Band 36, Nr. 7, Seiten 1044–1047, Juli 1989.

Unter Bezugszeichen (1) wird eine optimale Konvertierung durchgeführt, indem optimierte reelle Koeffizienten durch deren Quantifizieren und unter Verwendung „eines gemischten ganzzahligen linearen Programmieralgorithmus'" ermittelt werden.

Um die Probleme der zu langen Berechnungszeit und der Einschränkung einer konvertierbaren Filterlänge bis zu ca. 40 Anzapfungen zu überwinden, die mit der Optimierungstechnik bei Bezugszeichen (1) verbunden sind, wird unter Bezugszeichen (2) für die gleichzeitige Ausnutzung des Zeitbereichs und des Frequenzbereichs ein Quasi-Optimal-Algorithmus vorgeschlagen, um dadurch eine optimale Konvertierung durchzuführen.

Unter Bezugszeichen (3) wird der Algorithmus von Bezugszeichen (2) durch die Verwendung eines optimalen Skalierfaktors und eines lokalen Suchalgorithmus' mit zwei Eigenschaftsvariablen verbessert, und die Anzahl L von Nicht-Null-Ziffern wird erhöht, um Quantisierungsfehler auszugleichen, die während einer Konvertierung reeller Koeffizienten in CSD-Anfangskoeffizienten erzeugt werden. Wenn, wie unter Bezugszeichen (3) vorgeschlagen, ein Filterkoeffizient bei 0,5 oder darüber liegt, erhöht eine zusätzliche Zuweisung von Nicht-Null-Ziffern grundsätzlich die Anzahl der Bits, und macht die Hardware in einem lernfähigen oder mehrphasigen Filter so kompliziert, dass die Hardware nicht verwendet werden kann, obwohl sie für einen feststehenden Filter nützlich sein kann.

Der unter den obigen Bezugszeichen beschriebe Optimierungsalgorithmus erfordert viele Berechnungen und kann nicht bei einem lernfähigen oder mehrphasigen Filter angewendet werden, da Konvertierungen auf Welligkeiten eines Durchlassbereichs und eines Sperrbereichs in dem Frequenzbereich basieren.

Außerdem ist es schwierig den Algorithmus auf einen Filter anzuwenden, bei dem durch die Welligkeit des Frequenzbereichs kein Konvertierungskoeffizient verfügbar ist. Zum Beispiel kann der Algorithmus nicht zur Entfernung von Schattenstreifen auf einen Entzerrfilter oder einen Schattenstreifen-Entfernungsfilter angewendet werden. Deshalb werden für diese Filter, unter Ausnutzung des Umfangs der verbleibenden Schattenstreifen, reelle Koeffizienten in CSD-Koeffizienten konvertiert.

Zusätzlich zu den unter den obigen Bezugszeichen vorgeschlagenen Optimierungstechniken, kann eine Beschränkung eines CSD-Codes, der uneinheitliche Eigenschaften aufweist, nicht überwunden werden, da das Zuweisen eines einzigen Skalierfaktors zu allen Filterkoeffizienten unwirksam ist und die Leistungsfähigkeit eines Filters herabsetzt.

Die vorliegende Erfindung ist dazu gedacht, die obigen Probleme zu umgehen oder zu reduzieren. Es ist ein Ziel der Ausführungsformen der vorliegenden Erfindung, ein Verfahren für das Verarbeiten eines Signals in einem CSD-Filter bereitzustellen, in dem reelle Koeffizienten unmittelbar in Filterkoeffizienten konvertiert werden, die, ohne eine optimierte Konvertierung in dem Frequenzbereich, in dem Zeitbereich in CSD-Codes ausgedrückt werden.

Es ist ein weiteres Ziel, ein Verfahren für das Verarbeiten eines Signals in einem CSD-Filter bereitzustellen, in dem die Anzahl der Skalierfaktoren so angepasst ist, dass die Auflösung der Skalierfaktoren sich erhöht, ohne dass eine vorgegebene Anzahl von Nicht-Null-Ziffern die Auflösung der Skalierfaktoren erhöht, und die an viele Arten von Filtern angepasst werden können.

Es ist ein weiteres Ziel, ein Verfahren für das Verarbeiten eines Signals in einem CSD-Filter bereitzustellen, in dem reelle Koeffizienten durch gruppierte Skalierfaktoren in CSD-Koeffizienten konvertiert werden, die durch eine Teiloptimierung der reellen Koeffizienten ermittelt werden.

Es ist ein weiteres Ziel, ein Verfahren für das Verarbeiten eines Signals in einem CSD-Filter bereitzustellen, in dem CSD-Koeffizienten, die durch eine Vielzahl von Skalierfaktoren konvertiert werden, durch eine Vielzahl von Invers-Skalierfaktoren verarbeitet werden, die jeweils der Vielzahl der Skalierfaktoren entsprechen.

Es ist ein weiteres Ziel, eine CSD-Filter-Schaltung bereitzustellen, die für die obigen Verfahren für das Verarbeiten eines Signals in einem CSD-Filter geeignet ist.

Nach einem ersten Gesichtspunkt der Erfindung ist ein Verfahren bereitgestellt für das Verarbeiten eines Signals in einem CSD-Filter, der gewünschte Filtereigenschaften aufweist, die durch Filterkoeffizienten erreicht werden, die in CSD-Codes ausgedrückt werden, wobei das Verfahren die folgenden Schritte umfasst:

  • (a) Ermitteln reeller Koeffizienten, die für die Filtereigenschaften optimiert sind;
  • (b) Generieren einer Vielzahl von Skalierfaktoren durch Berechnen von Skalierfaktoren für jeden reellen Koeffizienten, der einen Fehler zwischen den reellen Koeffizienten und den CSD-Code-konvertierten Koeffizienten, die ermittelt werden, indem die reellen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert;
  • (c) Erzeugen von CSD-Koeffizienten unter Verwendung der Vielzahl von Skalierfaktoren; und
  • (d) Verarbeiten von Eingabedaten unter Verwendung der CSD-Koeffizienten.

Vorzugsweise wird der Fehler in Schritt (b) während der Konvertierung der reellen Koeffizienten in CSD-Codes auf ein Minimum verringert, wobei die in Schritt (c) erzeugten CSD-Koeffizienten optimale CSD-Koeffizienten sind, und die Verarbeitung in Schritt (d) das Filtern der Eingabedaten umfasst.

Der Schritt (c) kann die folgenden Schritte umfassen:

  • (c1) Konvertieren reeller Koeffizienten in erste CSD-Koeffizienten durch Multiplizieren von Skalierfaktoren mit entsprechenden reellen Koeffizienten; und
  • (c2) Verwenden eines Optimierungsalgorithmus, der auf dem Maß an Welligkeit in dem Frequenzbereich basiert, um optimierte zweite CSD-Koeffizienten aus den ersten CSD-Koeffizienten zu erzeugen.

Das Verfahren kann folgende Schritte umfassen:

  • in dem Schritt (b) ist der auf ein Minimum verringerte Fehler ein Fehler zwischen reellen Koeffizienten und CSD-Codes, in die die reellen Koeffizienten konvertiert werden;
  • in Schritt (c) werden die CSD-Koeffizienten unter Verwendung der Skalierfaktoren für jeden der reellen Koeffizienten erzeugt;
  • und in dem Schritt (d) werden Eingabedaten mit den CSD-Koeffizienten multipliziert;
  • wobei das Verfahren den weiteren Schritt (e) des Erzeugens einer Endfilter-Ausgabe durch Skalieren des Ergebnisses der Multiplikation in dem Schritt (d) mit Invers-Skalierfaktoren, die die Reziprokwerte der Skalierfaktoren sind, umfasst.

In dem Schritt (b) können die Skalierfaktoren so berechnet werden, dass die quadrierte Fehlersumme zwischen den reellen Koeffizienten und den CSD-Code-konvertierten Koeffizienten, die ermittelt werden, indem die reellen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert wird.

In dem Schritt (b) werden die Skalierfaktoren vorzugsweise erzeugt, um Konvertierungsfehler zwischen den reellen Koeffizienten und den CSD-Codes, in die die reellen Koeffizienten konvertiert werden, auf ein Minimum zu verringern; in dem Schritt (c) sind die CSD-Koeffizienten vorzugsweise optimale CSD-Koeffizienten, die unter Verwendung der Vielzahl von Skalierfaktoren erzeugt werden; und in dem Schritt (d) wird das Filtern von Eingabedaten vorzugsweise unter Verwendung der CSD-Koeffizienten ausgeführt.

In dem Schritt (c) können die CSD-Koeffizienten in dem Zeitbereich erzeugt werden, indem die reellen Koeffizienten mit der Vielzahl von Skalierfaktoren multipliziert werden.

Der Schritt (c) kann die folgenden Schritte umfassen: (c1) Konvertieren der reellen Koeffizienten in erste CSD-Koeffizienten durch Multiplizieren der reellen Koeffizienten mit der Vielzahl von Skalierfaktoren; und (c2) Verwenden eines Optimierungsalgorithmus, der auf dem Maß an Welligkeit in dem Frequenzbereich beruht, um optimierte zweite CSD-Koeffizienten aus den ersten CSD-Koeffizienten zu erzeugen.

Das Verfahren kann umfassen, dass: in dem Schritt (b) die Skalierfaktoren so berechnet werden, dass Konvertierungsfehler zwischen den reellen Koeffizienten und CSD-Codes, in die die reellen Koeffizienten konvertiert werden, auf ein Minimum verringert werden; in dem Schritt (c) die CSD-Koeffizienten erzeugt werden, indem die reellen Koeffizienten unter Verwendung der Vielzahl von Skalierfaktoren in CSD-Codes konvertiert werden; und in dem Schritt (d) Eingabedaten mit den CSD-Koeffizienten multipliziert werden; das Verfahren einen weiteren Schritt (e) des Erzeugens einer Endfilter-Ausgabe durch Skalieren des Ergebnisses der Multiplikation des Schrittes (d) mit einer Vielzahl Invers-Skalierfaktoren, die die Reziprokwerte der Vielzahl von Skalierfaktoren sind, umfasst.

Der Schritt (b) kann die folgenden Schritte umfassen: (b1) Gruppieren reeller Koeffizienten vorgegebener Ziffern entsprechend den Eigenschaften der CSD-Koeffizienten; und (b2) Berechnen von Skalierfaktoren für jede Gruppe, die die quadrierte Fehlersumme zwischen den gruppierten reellen Koeffizienten und den nächstgelegenen CSD-Codes, die ermittelt werden, indem die gruppierten reellen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert.

Der Schritt (b) kann die folgenden Schritte umfassen: (b1') Berechnen von Skalierfaktoren für jeden reellen Koeffizienten, der die quadrierte Fehlersumme zwischen den reellen Koeffizienten und den nächstgelegenen CSD-Code-konvertierten Koeffizienten, die ermittelt werden, indem jeder reelle Koeffizient mit einer vorgegebenen Verstärkung multipliziert wird, auf ein Minimum verringert; und (b2') Gruppieren der in dem Schritt (b1') für entsprechende reelle Koeffizienten berechneten Skalierfaktoren entsprechend der Ähnlichkeit der Skalierfaktoren hinsichtlich ihrer Werte.

Nach einem weiteren Gesichtspunkt der Erfindung ist eine N-Anzapfungen-CSD-Filterschaltung bereitgestellt, die durch Filterkoeffizienten, die in CSD-Codes ausgedrückt werden, gewünschte Filtereigenschaften aufweist und die folgendes umfasst:

  • N – 1-Einheits-Verzögerer, die in Reihe verbunden sind, um Eingabedaten zu verzögern;
  • einen CSD-Koeffizienten-Generator, der eine Vielzahl von Skalierfaktoren erzeugt, indem Skalierfaktoren für jeden reellen Koeffizienten berechnet werden, der einen Fehler zwischen den reellen Koeffizienten und CSD-Code-konvertierten Koeffizienten, die ermittelt werden, indem die entsprechend den Filtereigenschaften ermittelten reellen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert, und der die unter Verwendung der berechneten Skalierfaktoren optimalen CSD-Koeffizienten generiert;
  • N CSD-Multiplizierer, die die Ausgaben der N – 1-Einheits-Verzögerer mit den CSD-Koeffizienten multiplizieren;
  • N Invers-Skalierer, die die Ausgaben der N CSD-Multiplizierer mit Invers-Skalierfaktoren skalieren, die die Reziprokwerte der für die reellen Koeffizienten berechneten Skalierfaktoren sind; und
  • einen Addierer, der die Ausgaben der N Invers-Skalierer addiert und eine Endfilter-Ausgabe erzeugt.

Jeder der CSD-Multiplizierer umfasst vorzugsweise:

  • Schiebe-Matrizen, deren Anzahl der Anzahl L von Nicht-Null-Ziffern in einem CSD-Koeffizienten entspricht, und die die Eingabedaten entsprechend jedem Ziffernwert eines CSD-Koeffizienten verschieben, der in dem CSD-Koeffizienten-Generator generiert wird;
  • L Konverter, die die Ausgaben der L Schiebe-Matrizen in Zweierkomplemente konvertieren; und
  • L 1-Addierer, die die Ausgaben von L Konvertern addieren.

Wenn der CSD-Filter ein lernfähiger Filter ist, umfasst die Schiebe-Matrix vorzugsweise ein Trommel-Schieberegister.

Wenn der CSD-Filter ein feststehender Filter ist, umfasst die Schiebe-Matrix vorzugsweise ein Schieberegister.

Vorzugsweise umfasst jeder der L Konverter einen Inverter und einen Addierer, um die Ausgabe einer entsprechenden Schiebe-Matrix in Zweierkomplemente, nur in einer Ziffer, die eine "–1" des CSD-Koeffizienten aufweist, zu konvertieren.

Jeder der N Invers-Skalierer kann Schieberegister zum Verschieben der Ausgabe jedes CSD-Multiplizierers gemäß dem Wert jedes Invers-Skalierfaktors und zum Ausgeben des verschobenen Ergebnisses umfassen.

Jeder der N Invers-Skalierer kann einen CSD-Multiplizierer zum Multiplizieren der Ausgabe jedes CSD-Multiplizierers mit jedem Invers-Skalierfaktor umfassen.

Der CSD-Koeffizienten-Generator enthält vorzugsweise:

  • einen Mikroprozessor, der gemäß den Filtereigenschaften reelle Koeffizienten ermittelt und Skalierfaktoren für jeden der reellen Koeffizienten berechnet, der Fehler zwischen den reellen Koeffizienten und den nächstgelegenen CSD-Code-konvertierten Koeffizienten, die ermittelt werden, indem die reellen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert; und
  • ein Schieberegister, das die CSD-Code-konvertierten Koeffizienten verschiebt und unter Verwendung der Skalierfaktoren optimale CSD-Koeffizienten generiert.

Nach einem weiteren Gesichtspunkt ist eine N-Anzapfungen-CSD-Filterschaltung bereitgestellt, die durch Filterkoeffizienten, die in CSD-Codes ausgedrückt werden, gewünschte Filtereigenschaften aufweist und die folgendes umfasst:

  • N – 1 Einheits-Verzögerer, die in Reihe verbunden sind, um Eingabedaten zu verzögern;
  • einen CSD-Koeffizienten-Generator, der CSD-Koeffizienten unter Verwendung einer Vielzahl (M) von Skalierfaktoren generiert, die Fehler zwischen den reellen Koeffizienten und den nächstgelegenen CSD-Code-konvertierten Koeffizienten, die ermittelt werden, indem die reellen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringern;
  • N CSD-Multiplizierer, die Ausgaben der N – 1 Einheits-Verzögerer mit CSD-Koeffizienten multiplizieren, die durch M Skalierfaktoren generiert werden;
  • M Addierer, die von den Ausgabenn der N CSD-Multiplizierer die Ausgaben von CSD-Multiplizierern addieren, die mit demselben Skalierfaktor multipliziert worden sind;
  • M Invers-Skalierer, die die Ausgaben der M Addierer mit M Invers-Skalierfaktoren skalieren, die die Reziprokwerte der M Skalierfaktoren sind; und
  • einen Addierer, der die Ausgaben der M Invers-Skalierer addiert und eine Endfilter-Ausgabe erzeugt.

Vorzugsweise gruppiert der CSD-Koeffizienten-Generator reelle Koeffizienten gemäß den Eigenschaften von CSD-Koeffizienten in vorgegebenen Ziffern, multipliziert die gruppierten reellen Koeffizienten mit einer vorgegebenen Verstärkung und ermittelt so die nächstgelegenen CSD-Code-konvertierten Koeffizienten und berechnet Skalierfaktoren für jede Gruppe reeller Koeffizienten, die die Summe von Fehlern zwischen den reellen Koeffizienten und den CSD-Code-konvertierten Koeffizienten auf ein Minimum verringern.

Der CSD-Koeffizienten-Generator berechnet vorzugsweise Skalierfaktoren für jeden reellen Koeffizienten, der die Summe von Fehlern zwischen den reellen Koeffizienten und CSD-Code-konvertierten Koeffizienten, die ermittelt werden, indem die reellen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert, gruppiert die Skalierfaktoren entsprechend der Ähnlichkeit der Skalierfaktoren hinsichtlich ihrer Werte und erzeugt eine Vielzahl von Skalierfaktoren.

Jeder der N CSD-Multiplizierer kann folgendes umfassen:

  • Schiebe-Matrizen, deren Anzahl der Anzahl L von Nicht-Null-Ziffern in einem CSD-Koeffizienten entspricht, und die Eingabedaten entsprechend jedem Ziffernwert eines CSD-Koeffizienten verschieben, der von dem CSD-Koeffizienten-Generator generiert wird;
  • L Konverter, die die Ausgaben der L Schiebe-Matrizen gemäß dem CSD-Koeffizienten in Zweierkomplemente konvertieren; und
  • L – 1 Addierer, die die Ausgaben der L Konverter addieren.

Jeder der M Invers-Skalierer kann ein Schieberegister umfassen, das die Ausgabe jedes der M Addierer entsprechend dem Wert jedes Invers-Skalierfaktors aus einer Vielzahl von Invers-Skalierfaktoren verschiebt und das verschobene Ergebnis ausgibt.

Jeder der M Invers-Skalierer kann einen CSD-Multiplizierer umfassen, der die Ausgabe jedes der M Addierer mit jedem Invers-Skalierfaktor aus einer Vielzahl von Invers-Skalierfaktoren multipliziert.

Der CSD-Koeffizienten-Generator enthält vorzugsweise:

  • einen Mikroprozessor, der gemäß den Filtereigenschaften reelle Koeffizienten ermittelt, die reellen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert und so die nächstgelegenen CSD-Code-konverierte Koeffizienten ermittelt und Skalierfaktoren für jeden reellen Koeffizienten berechnet, der Fehler zwischen den reellen Koeffizienten und den CSD-Code-konvertierten Koeffizienten auf ein Minimum verringert; und
  • ein Schieberegister, das die CSD-Code-konvertierten Koeffizienten verschiebt und unter Verwendung der Skalierfaktoren optimale CSD-Koeffizienten generiert.

Zum besseren Verständnis der Erfindung, und um zu zeigen, wie deren Ausführungsformen verwirklicht werden können, wird nun beispielhaft Bezug genommen auf die beiliegenden schematischen Zeichnungen, in denen folgendes gilt:

1 stellt Verteilungen von CSD-Koeffizienten dar;

2 ist eine Konzept-Ansicht zur Erläuterung eines herkömmlichen Verfahrens für die Verarbeitung eines Signals in einem CSD-Filter;

3 ist ein Schaltplan eines CSD-Filters für die Umsetzung des in 2 gezeigten Verfahrens;

4 ist eine Konzept-Ansicht zur Erläuterung eines Verfahrens für die Verarbeitung eines Signals in einem CSD-Filter nach einer Ausführungsform der vorliegenden Erfindung;

5 ist ein Schaltplan eines CSD-Filters für die Umsetzung des in 4 gezeigten Verfahrens;

6 ist eine ausführliche Darstellung eines in 5 gezeigten CSD-Multiplizierers;

7 ist eine Konzept-Ansicht zur Erläuterung eines Verfahrens für die Verarbeitung eines Signals in einem CSD-Filter nach einer weiteren Ausführungsform der vorliegenden Erfindung; und

8 ist ein Schaltplan eines CSD-Filters für die Umsetzung des in 7 gezeigten Verfahrens.

Es werden nun bevorzugte Ausführungsformen eines Verfahrens für die Verarbeitung eines Signals in einem CSD-Filter und einer geeigneten Schaltung für das Verfahren nach der vorliegenden Erfindung beschrieben.

Unter Bezug auf 1 werden nachfolgend allgemeine Eigenschaften eines CSD-Codes beschrieben.

Der CSD-Code weist eine „–1" oder eine „1" auf, die einer festgelegten Anzahl von Ziffern zugewiesen ist, und eine „0", die den verbleibenden Ziffern zugewiesen ist. Der CSD-Code X wird folgendermaßen ausgedrückt:

wobei ein Koeffizient einen kth-Ziffernwert aufweist, Sk ∈ {–1, 0, 1}, Pk ∈ {0, 1,..., M}, wobei M die Anzahl aller Ziffern bezeichnet, und L die Anzahl der Ziffern bezeichnet, die keine „0" aufweisen (nachstehend als Nicht-Null-Ziffern bezeichnet). Das heißt, die Anzahl der Ziffern, die eine „–1" oder eine „1" aufweisen, nämlich einen Nicht-Null-Wert, ist kleiner oder gleich L. Der CSD-Ausdruck ist als ein Mindest-Ausdruck definiert, in dem zwei willkürliche Koeffizienten Sk, die Nicht-Null-Werte aufweisen, nicht aneinander grenzen.

Zum Beispiel wird 127/128, was gleich 0,9921875 ist, in „0,1111111" im üblichen Binärcode umgerechnet, und weist daher sieben Nicht-Null-Ziffern auf. In einem CSD-Code mit „L = 2", beträgt dieser Wert „1,0000001". 1 bezeichnet hierbei „– 1".

Der Vorteil des CSD-Codes gegenüber einem üblichen Wurzel-2-Binärcode liegt darin, dass er infolge der von den negativen Ziffern abgeleiteten Flexibilität, mit weniger Nicht-Null-Ziffern ausgedrückt werden kann.

In einem Filter, der Filterkoeffizienten verwendet, die in CSD-Codes ausgedrückt werden (nachstehend als „CSD-Koeffizienten" bezeichnet), kann die Anzahl der Additions/Subtraktions-Arbeitsabläufe, die für eine Multiplikation benötigt werden, durch Beschränkung von L reduziert werden. Das heißt, in dem Filter, der CSD-Koeffizienten verwendet, kann ein CSD-Multiplizierer mit L Schieberegistern und L – 1 Addierern/Subtrahierern konfiguriert werden, da die Koeffizienten in einer festgelegten Anzahl von Ziffern „–1en" oder „1en" aufweisen. Deshalb kann die Anzahl der Addierer/Subtrahierer, die für jeden Multiplizierer in dem Filter benötigt werden, um eins kleiner sein als L. Als Ergebnis kann die Größe der Hardware des Digitalfilters reduziert werden.

1 stellt Verteilungen von CSD-Koeffizienten dar, die für 6- und 8-stellige Codes mit 2 und 3 Nicht-Null-Ziffern festgelegt werden, wobei •(6-stellig) einen Fall darstellt, bei dem L = 2 und M = 6 ist, +(6-stellig) bedeutet, dass L = 3 und M = 6 ist, ∎(8-stellig) bedeutet, dass L = 2 und M = B ist, und x(8-stellig) bedeutet, dass L = 3 und M = 8 ist. Wie in 1 gezeigt, sind die Verteilungen der CSD-Koeffizienten nicht gleichmäßig und die CSD-Koeffizienten sind in einem Bereich konzentriert, in dem ein CSD-Koeffizient einen kleinen Wert aufweist. Je kleiner M und L sind, umso ungleichmäßiger ist die Verteilung der CSD-Koeffizienten. Da die Berechnungsfrequenz in einem Filter mit größerem M und L jedoch erhöht ist, wird eine CSD-Koeffizienten-Konvertierung benötigt, die wirksam ist und M und L kleiner macht.

In einem CSD-Filter, der diese Eigenschaften aufweist, wird ein reeller Filterkoeffizient reeller Zahlen (nachstehend als „reeller Koeffizient" bezeichnet) nicht unmittelbar in einen CSD-Koeffizienten konvertiert. Um die Größenordnung der reellen Koeffizienten neu anzupassen, wird der reelle Koeffizient stattdessen mit einem Skalierfaktor multipliziert und dann in den CSD-Koeffizienten konvertiert. Auf diese Art wird ein reeller Koeffizient, der einen relativ großen Wert in einem Bereich einer relativ niedrigen Verteilungsdichte von CSD-Koeffizienten aufweist, in einen CSD-Koeffizienten konvertiert, der einen relativ kleinen Wert in einem Bereich einer relativ hohen Verteilungsdichte von CSD-Koeffizienten aufweist, wenn der Skalierfaktor kleiner ist als 1.

Voraussetzung für die Anwendung eines Skalierfaktors ist, dass trotz Zuweisung einer vorgegebenen Verstärkung zu einem konvertierten Koeffizienten und einem reellen Koeffizienten, beide Koeffizienten die gleichen normierten Frequenzeigenschaften aufweisen. Das heißt, der reelle Koeffizient kann unter Anwendung des Skalierfaktors in einen CSD-Koeffizienten konvertiert werden, weil eine Verstärkung eines Filters keinen Einfluss auf die Frequenzeigenschaften des Filters hat.

Die Verstärkung des Filters kann jedoch erhöht oder verringert sein, während der reelle Koeffizient durch den Skalierfaktor in den CSD-Koeffizienten konvertiert wird. Dieses Problem der Verstärkungsveränderung kann reduziert werden durch Multiplizieren des CSD-Koeffizienten mit einem Invers-Skalierfaktor, der ein Reziprokwert des Skalierfaktors ist. Die Quantisierungsfehler (nachstehend als „Konvertierungsfehler" bezeichnet), die während der Konvertierung der reellen Koeffizienten in die CSD-Koeffizienten erzeugt werden, können durch Verarbeitung des Skalierfaktors und des Invers-Skalierfaktors reduziert werden.

Unter Bezug auf 2 und 3 wird ein herkömmliches Verfahren für die Nutzung eines Skalierfaktors und einer dafür vorgesehenen Schaltung beschrieben.

Im Allgemeinen ist die Ausgabe y(n) eines N-Anzapfungen-Filters bezüglich eines Eingabesignals x(n) vorgegeben durch:

Ein Skalierfaktor wird in einem herkömmlichen Verfahren ausgewählt, um einen Fehler zu minimieren, der sich durch die folgenden Gleichungen (3) und (4) ergibt zwischen einem reellen Koeffizienten h(n) und seinem nächstgelegenen CSD-Code n(n) gegeben ist, der durch Multiplizieren einer Verstärkung A mit dem reellen Koeffizienten h(n) ermittelt wird.

wobei [ ] eine CSD-Konvertierung beinhaltet, in der der reelle Koeffizient h(n) einfach in den nächstgelegenen der gegebenen CSD-Codes quantifiziert wird.

Wie oben beschrieben, ist ein Skalierfaktor bei CSD-Anwendungen weit verbreitet, da Konvertierungsfehler, die sich durch ungleichmäßige Eigenschaften eines CSD-Codes ergeben, verringerte werden durch das Hinzufügen einer vorgegebenen Verstärkung, die den Skalierfaktor verwendet, unter der Vorraussetzung, dass die Frequenzeigenschaften trotz der Hinzufügung der Verstärkung des Filters durch den Skalierfaktor keine Veränderung durchmachen.

2 ist eine Konzept-Ansicht für ein herkömmliches Verfahren für die Verarbeitung eines Signals in einem Filter, unter Verwendung eines durch die Gleichungen (3) und (4) vorgegebenen Skalierfaktors.

In 2 stellt der Block 110 Arbeitsabläufe dar, die in einem CSD-Koeffizienten-Generator durchgeführt werden. Wenn Koeffizienten eines CSD-Filters festgelegt werden, wird ein Universal-Mikroprozessor oder ein Controller für die Berechnungen verwendet, der eine ausreichende Rechnerleistung aufweist. Ein CSD-Filter 120 ist auf der Basis von CSD-Multiplizierern, -Addierern usw. aufgebaut.

Das in 2 gezeigte Signalverarbeitungsverfahren wird in SCHRITT 1 – SCHRITT 6 beschrieben.

SCHRITT 1: N optimale reelle Koeffizienten (coef_0 – coef_(N – 1)) werden unter Verwendung eines Filter-Aufbau-Algorithmus' (oder -Werkzeugs) nach der entsprechenden Filterfunktion, z. B. Hochpassfiltern oder Tiefpassfiltern, ermittelt.

SCHRITT 2: Ein einzelner Skalierfaktor wird unter Verwendung der Gleichungen (3) und (4) für ein vorgegebenes L errechnet, und die N reellen Koeffizienten werden durch den einzelnen Skalierfaktor in ihre nächstgelegene CSD-Koeffizienten (erste CSD-Koeffizienten) konvertiert.

SCHRITT 3: Ein Optimierungsalgorithmus, der auf dem Umfang der Welligkeit basiert, wird in dem Frequenzbereich verwendet.

SCHRITT 4: Optimierte CSD-Koeffizienten (zweite CSD-Koeffizienten: CSD-coef_0 – CSD-coef_(N – 1)) werden durch den Optimierungsalgorithmus aus den ersten CSD-Koeffizienten erzeugt.

SCHRITT 5: Die optimierten CSD-Koeffizienten werden in einem CSD-Multiplizierer mit Eingabedaten multipliziert (dieser Arbeitsvorgang wird als CSD-Multiplikation" bezeichnet).

SCHRITT 6: Eine Endfilter-Ausgabe wird durch Anwenden des Ergebnisses der Multiplikation in SCHRITT 5 erzeugt, mit einem einzelnen Invers-Skalierfaktor, der ein Reziprokwert der Skalierfaktor-Wertigkeit ist.

Der Optimierungsalgorithmus, der in dem in 2 gezeigten Verfahren verwendet wird, wird von der Wertigkeitsberechnung und einer langen Berechnungszeit begleitet, da die Welligkeit der Frequenzeigenschaften als eine Variable verwendet wird.

Ferner ist das obige Verfahren schwierig anzuwenden, wenn kein Optimierungsverfahren für den Frequenzbereich verfügbar ist, wie in einem lernfähigen Filter und in einem mehrphasigen Filter, oder wenn die Konvertierungseigenschaften auf der Basis des Welligkeitsumfangs nicht herausgefunden werden, wie in einem Schattenstreifen-Entfernungsfilter und einem Entzerrfilter zur Entfernung von Schattenstreifen.

3 ist ein Schaltplan eines 4-Anzapfungen-CSD-Filters für die Umsetzung des in 2 gezeigten Verfahrens.

In 3 umfasst der 4-Anzapfungen-CSD-Filter: drei Einheits-Verzögerer 121123, die in Reihe verbunden sind, um Eingabedaten zu verzögern, einen ersten CSD-Multiplizierer 124 für das Multiplizieren eines CSD-Koeffizienten coef_0 mit den Eingabedaten, einen zweiten CSD-Multiplizierer 125 für das Multiplizieren der Ausgabe des ersten Einheits-Verzögerers 121 mit einem CSD-Koeffizienten coef_1, einen dritten CSD-Multiplizierer 126 für das Multiplizieren der Ausgabe des zweiten Einheits-Verzögerers 122 mit einem CSD-Koeffizienten coef_2, einen vierten CSD-Multiplizierer 127 für das Multiplizieren der Ausgabe des dritten Einheits-Verzögerers 123 mit einem CSD- Koeffizienten coef_3, einen ersten Addierer 128 für das Addieren der Ausgaben des ersten und des zweiten CSD-Multiplizierers 124 und 125, einen zweiten Addierer 129 für das Addieren der Ausgaben des dritten und des vierten CSD-Multiplizierers 126 und 127, einen dritten Addierer 130 für das Addieren der Ausgaben des ersten und des zweiten Addierers 128 und 129, und einen Invers-Skalierer 131 für das Skalieren der Ausgabe des dritten Addierers 130 mit einem einzelnen Invers-Skalierfaktor.

In 3 ist der CSD-Koeffizienten-Generator 110 zur Vereinfachung in zwei Teile aufgeteilt gezeichnet. Wie unter Bezug auf 2 beschrieben, sind die CSD-Koeffizienten coef_0 bis coef_3, die von dem CSD-Koeffizienten-Generator 110 ausgegeben werden, zweite CSD-Koeffizienten, die durch Konvertieren der reellen Koeffizienten in ihre nächstgelegenen CSD-Koeffizienten mittels des Skalierfaktor und der Optimierung in dem Frequenzbereich ermittelt werden. Der Invers-Skalierfaktor ist der Reziprokwert des Skalierfaktors.

Die in 3 gezeigte 4-Anzapfungen-CSD-Filter-Schaltung nach dem herkömmlichen Verfahren weist insofern Probleme auf, als sie zu lange braucht, um einen reellen Koeffizienten in dem CSD-Koeffizienten-Generator 110 in einen CSD-Koeffizienten zu konvertieren, und eine Konvertierungsleistung ist infolge anfänglicher Konvertierungsfehler, die mit der Wahl eines Skalierfaktors verbunden sind, nicht so gut.

Um die Probleme des herkömmlichen Konvertierungsverfahrens in einem CSD-Filter zu überwinden, schlägt der vorliegende Erfinder ein Konvertierungsverfahren vor, das, unter Verwendung einer Vielzahl von Skalierfaktoren und einer Vielzahl von Invers-Skalierfaktoren, die den Eigenschaften der CSD-Koeffizienten entsprechen, gerade durch eine Konvertierung im Zeitbereich hinsichtlich einer vorgegebenen Anzahl von Nicht-Null-Ziffern ausreichend wirksam ist. Dieses vorgeschlagene Verfahren entfernt oder zerstreut wirksam Konvertierungsfehler, die sich durch ungleichmäßige Eigenschaften infolge der Vielzahl der Skalierfaktoren ergeben, und macht daher die Signalverarbeitung durch CSD-Koeffizienten nutzbar. Zusätzlich wird in einigen Ausführungsformen der vorliegenden Erfindung eine Verarbeitung von Skalierfaktoren selbst für die Konvertierungs-Optimierung verwendet, während die Verarbeitung von Skalierfaktoren als Vor-Filtern für eine Konvertierungs-Optimierung in Ausführungsformen des Zeitbereichs in einem herkömmlichen CSD-Filter dient. Daher wird der Schritt der Konvertierungs-Optimierung nicht benötigt, und die Berechnungszeit kann reduziert werden.

Dann wird ein Verfahren für die Konvertierung eines reellen Koeffizienten in einen CSD-Koeffizienten durch Steuerung eines Skalierfaktors in dem Zeitbereich nach Ausführungsformen der vorliegenden Erfindung beschrieben.

Ein reeller Koeffizient muss in einem Filter, der so aufgebaut ist, dass er die gewünschten Eigenschaften aufweist, in seinen nächstgelegenen CSD-Koeffizienten konvertiert werden.

Zu diesem Zweck werden die Gleichungen (3) und (4) so in die Gleichungen (5) und (6) umgewandelt, dass jedem Filterkoeffizienten (reellen Koeffizienten) ein Skalierfaktor zugewiesen wird.

Theoretisch kann h(n) gleich n(n) sein, im Idealfall sogar für L = 1, wenn jedem Filterkoeffizienten getrennte Skalierfaktoren und Invers-Skalierfaktoren zugewiesen werden.

Deshalb ist eine CSD-Koeffizienten-Konvertierung für eine Verbesserung der Konvertierungsleistung ohne Erhöhung von L möglich, indem jedem Filterkoeffizienten mindestens ein Skalierfaktor/Invers-Skalierfaktor zugewiesen wird, das heißt, durch Erhöhung der Auflösung von Skalierfaktoren.

Hier werden die Skalierfaktoren, die jedem reellen Koeffizienten h(n) zugewiesen werden, so verändert und angepasst, dass die quadrierte Fehlersumme zwischen reellen Koeffizienten h(n) und ihren nächstgelegenen CSD-Code-konvertierten Koeffizienten, die durch Gleichung (5) ermittelt werden, den Minimalwert ergibt. Mit der Erhöhung bei der Auflösung der Skalierfaktoren, wird der Wert von E(A) viel kleiner als der des herkömmlichen Verfahrens. Dieses Verfahren vermeidet die Notwendigkeit zur Optimierung im Frequenzbereich und reduziert daher die Berechnungsbelastungen und die Berechnungszeit bemerkenswert.

Wenn in den Gleichungen (5) und (6) A0 = A1 =,..., = AN–2 = AN–1 = A gilt, ergeben die Gleichungen (5) und (6) dasselbe Ergebnis wie die Gleichungen (3) und (4).

Um einen Fehler für jeden Koeffizienten zu minimieren, können die Gleichungen (5) und (6) folgendermaßen verändert werden: E(An) = (h(n) – n(n)/An)2....................(7) n(n) = [An·h(n)] wobei n = 0, 1, 1,..., N – 1 ist.

Durch die veränderte Gleichung (7) werden die Skalierfaktoren, die jeweils E(Ak) für jeden Koeffizienten minimieren, ermittelt und angewendet. Daher ist eine perfekte Konvertierung eines reellen Koeffizienten in einen CSD-Koeffizienten möglich. Das heißt:

In der Praxis ist es wahrscheinlich, dass die Skalierfaktoren und die Invers-Skalierfaktoren keine reellen Zahlen sind, sondern Zweierpotenz- oder CSD-Formen annehmen. Dennoch werden in Gleichung (8) Näherungswerte erzielt.

In dem herkömmlichen Verfahren weisen die Skalierfaktoren aller Koeffizienten denselben Wert auf, das heißt, SF_1 = SF_2 =,..., = SF_n = SF(= A).

Ein Verfahren für die Verarbeitung eines Signals in einem CSD-Filter nach den Grundsätzen der vorliegenden Erfindung wird in 4 konzeptionell dargestellt.

In 4 stellt der Block 210 Arbeitsabläufe dar, die in einem CSD-Koeffizienten-Generator durchgeführt werden. Ein Universal-Mikroprozessor oder ein Controller, der eine ausreichende Rechnerleistung aufweist, kann für die Berechnungen verwendet werden. Ein CSD-Filter 220 ist auf der Basis von CSD-Multiplizierern, -Addierern usw. aufgebaut.

Das in 4 gezeigte Signalverarbeitungsverfahren wird in SCHRITT 11 – SCHRITT 15 beschrieben.

SCHRITT 11: N optimale reelle Koeffizienten (coef_0 – coef_(N – 1)) werden unter Verwendung eines Filter-Aufbau-Werkzeugs nach der entsprechenden Filterfunktion ermittelt.

SCHRITT 12: Die Skalierfaktoren (SF_0 – SF_(N – 1)) für jeweilige reelle Koeffizienten werden unter Verwendung der Gleichungen (6) und (7) für eine vorgegebenen Anzahl L von Nicht-Null-Ziffern errechnet.

SCHRITT 13: Unter Verwendung der berechneten Skalierfaktoren, werden die reellen Koeffizienten in ihre nächstgelegene CSD-Codes, die optimale CSD-Koeffizienten (CSD-coef_0 – CSD-coef_(N – 1)) sind, konvertiert.

SCHRITT 14: Die Eingabedaten werden mit den konvertierten optimalen CSD-Koeffizienten CSD-multipliziert.

SCHRITT 15: Die Ergebnisse der Multiplikation von SCHRITT 14 werden, um eine Endfilter-Ausgabe zu erzeugen, mit N Invers-Skalierfaktoren (RSF_0 – RSF_(N – 1)) skaliert, die Reziprokwerte der in SCHRITT 12 ermittelten Skalierfaktoren sind.

Daher vermeidet das in 4 gezeigte Verfahren für die Ermittlung von CSD-Koeffizienten die Notwendigkeit zur Optimierung im Frequenzbereich, die herkömmliche Verfahren erfordern. Dadurch können die Berechnungsbelastungen und die Berechnungszeit bemerkenswert reduziert werden.

Die vorliegende Erfindung kann anfängliche Konvertierungsfehler infolge unrichtiger Skalierfaktoren mittels eines lokalen Suchalgorithmus', wie er unter Bezugszeichen (2) verwendet wird, reduzieren. Da die Ausführungsformen der vorliegenden Erfindung die Berechnungsgeschwindigkeit und die Berechnungsleistung verbessern, können die Grundsätze sowohl auf einen mehrphasigen Filter und auf einen lernfähigen Filter, die variable Filterkoeffizienten verwenden, als auch auf einen feststehenden Filter, der feststehende Filterkoeffizienten verwendet, angewendet werden.

5 ist ein Schaltplan eines 4-Anzapfungen-CSD-Filters für die Umsetzung des in 4 gezeigten Verfahrens.

In 5 umfasst der 4-Anzapfungen-CSD-Filter: drei Einheits-Verzögerer 221223, die in Reihe verbunden sind, um Eingabedaten zu verzögern, einen ersten CSD-Multiplizierer 224 für das Multiplizieren eines CSD-Koeffizienten coef_0 mit den Eingabedaten, einen zweiten CSD-Multiplizierer 225 für das Multiplizieren der Ausgabe des ersten Einheits-Verzögerers 221 mit einem CSD-Koeffizienten coef_1, einen dritten CSD-Multiplizierer 226 für das Multiplizieren der Ausgabe des zweiten Einheits-Verzögerers 222 mit einem CSD-Koeffizienten coef_2, einen vierten CSD-Multiplizierer 227 für das Multiplizieren der Ausgabe des dritten Einheits-Verzögerers 223 mit einem CSD- Koeffizienten coef_3, erste bis vierte Invers-Skalierer 228231 für das Skalieren der Ausgaben der ersten bis vierten Multiplizierer 224227 mit den ersten bis vierten Invers-Skalierfaktoren und einen Addierer 232 für das Addieren der Ausgaben der ersten bis vierten Invers-Skalierer 228231, um eine Endfilter-Ausgabe zu erzeugen.

Wie unter Bezug auf 4 beschrieben, sind hier die CSD-Koeffizienten coef_0 bis coef_3, die von dem CSD-Koeffizienten-Generator 210 ausgegeben werden, solche, die durch Konvertieren der reellen Koeffizienten ermittelt werden, die entsprechend den Filtereigenschaften mittels der ersten bis vierten Skalierfaktoren, die durch die Gleichungen (6) und (7) berechnet werden, erzeugt werden.

Der CSD-Koeffizienten-Generator 210 kann umfassen: einen Mikroprozessor, der einen reellen Koeffizienten gemäß den Filtereigenschaften ermittelt, den reellen Koeffizienten mit einer Verstärkung multipliziert und in den nächstgelegenen CSD-Code konvertiert und für jeden reellen Koeffizienten einen Skalierfaktor berechnet, der einen Fehler zwischen dem reellen Koeffizienten und dem konvertierten CSD-Code minimiert, und ein Schieberegister, das den CSD-Code-konvertierten Koeffizienten verschiebt, um so einen optimalen CSD-Koeffizienten zu erzeugen, falls der Skalierfaktor durch 2-SF ausgedrückt werden kann. Das Schieberegister kann durch einen CSD-Multiplizierer ersetzt werden.

Ferner können die Invers-Skalierer 228231 Schieberegister umfassen, die die Ausgaben der Multiplizierer 224227 um die Invers-Skalierfaktoren verschieben, oder CSD-Multiplizierer, die die Ausgaben der Multiplizierer 224227 mit den Invers-Skalierfaktoren multiplizieren.

Wenn die Berechnung der Skalierfaktoren von Schieberegistern durchgeführt wird, ist hierbei keine zusätzliche Hardware notwendig, da die Berechnung der Invers-Skalierfaktoren ebenfalls von den Schieberegistern durchgeführt wird. Zu dieser Zeit werden der Skalierfaktor und der Invers-Skalierfaktor durch 2-SF ausgedrückt.

Ein CSD-Multiplizier kann, wie in 6 gezeigt, bis zu L Schieberegister und bis zu L – 1 Addierer/Subtrahierer umfassen. 6 zeigt den ersten Multiplizierer 224, bei dem L = 2 vorgegeben ist.

Unter Bezug auf 6 umfasst der CSD-Multiplizier 224: zwei Schiebe-Matrizen 224.1 und 224.2, die Eingabedaten empfangen, die Eingabedaten entsprechend dem Wertes eines CSD-Koeffizienten verschieben und das Ergebnis ausgeben; zwei Zweierkomplement-Konverter 224.3 und 224.4, die die Ausgaben der Schiebe-Matrizen 224.1 und 224.2 in Zweierkomplemente konvertieren, bei gegebener „1" eines CSD-Koeffizienten, der von einem CSD-Koeffizienten-Generator 220 generiert wird; und einen Addierer 224.5, der die Ausgaben der Zweierkomplement-Konverter 224.3 und 224.4 addiert. Hierbei kann ein Register 224.6, das nur in einem Hochgeschwindigkeitsmodus arbeitet, zusätzlich mit dem Ausgabe-Anschluss von Addierer 224.5 verbunden sein. Wenn der CSD-Filter ein lernfähiger Filter ist, kann eine Schiebe-Matrix ferner durch ein Trommel-Schieberegister ersetzt werden. Wenn es ein feststehender Filter ist, kann die Schiebe-Matrix durch ein Schieberegister ersetzt werden, das einfach die Verbindung zwischen einer Eingabe und einem Zweierkomplement-Konverter umgeht. Der Zweierkomplement-Konverter kann einen Invertierer und einen Addierer umfassen. Und für eine Addition können der Addierer 224.5 und Übertragungseingänge des Addierers zwischen den Anzapfungen verwendet werden.

Nun wird der Arbeitsablauf des in 6 gezeigten CSD-Multipliziers beschrieben. Die Schiebe-Matrizen 224.1 und 224.2 verschieben gespeicherte Daten entsprechend dem Wert eines von dem CSD-Koeffizienten-Generator 210 erzeugten CSD-Koeffizienten. Die Zweierkomplement-Konverter 224.3 und 224.4 konvertieren die Ausgaben der Schiebe-Matrizen 224.1 und 224.2 in Zweierkomplemente, die durch „1" eines CSD-Koeffizienten vorgegeben werden, während sie nicht auf deren „1" oder „0" reagieren. Der Addierer 224.5 addiert die Ausgaben der Zweierkomplement-Konverter 224.3 und 224.4.

Wenn Skalierfaktoren, die Fehler minimieren, und Invers-Skalierfaktoren, wie oben beschrieben, den jeweiligen reellen Koeffizienten zugewiesen werden, erhöht sich jedoch der Umfang der Hardware, obwohl die Berechnungen schnell erfolgen und die Konvertierungsleistung verbessert ist. Daher ist es bei einer praktischen Anwendung notwendig, die Auflösung von Skalierfaktoren in Anbetracht der Größenordnung der Hardware zu beschränken. Daher ist es nicht notwendig, die Skalierfaktoren für die jeweiligen Filterkoeffizienten, entsprechend ihrer Nähe zu gruppieren. Wenn die Berechnung der Skalierfaktoren Invers-Skalierfaktoren nur durch Schieberegister durchgeführt wird, erhöht sich die Größenordnung der Hardware andererseits nicht.

In einer weiteren Ausführungsform der vorliegenden Erfindung können die Skalierfaktoren in geringeren Anzahlen gruppiert werden, indem sie entsprechend der Position von Filterkoeffizienten oder entsprechend ihrer Größenähnlichkeiten eingestuft werden, um ihre Auflösung zu beschränken.

Das heißt, in dem vorherigen Fall werden dieselben Skalierfaktoren reellen Koeffizienten in einer vorgegebenen Zahl zugewiesen. Das kann in nützlich Weise auf einen mehrphasigen Filter angewendet werden. In dem letzteren Fall wird eine Verknüpfung von Skalierfaktoren, die E(A) minimieren, aus Verknüpfungen von Skalierfaktoren ausgewählt, in denen ähnliche Skalierfaktoren in dieselbe Verknüpfung eingruppiert werden.

7 ist eine Konzept-Ansicht eines Verfahrens für die Verarbeitung eines Signals in einem Filter mit zwei Skalierfaktoren nach der Ausführungsform der vorliegenden Erfindung.

Bezüglich 7 stellt der Block 310 Arbeitsabläufe dar, die in einem CSD-Koeffizienten-Generator durchgeführt werden. Ein Universal-Mikroprozessor oder ein Controller, der eine ausreichende Rechnerleistung aufweist, kann für die Berechnungen verwendet werden. Ein CSD-Filter 320 ist auf der Basis von CSD-Multiplizierern, -Addierern usw. aufgebaut.

Das in 7 gezeigte Signalverarbeitungsverfahren wird in SCHRITT 21 bis SCHRITT 25 beschrieben.

SCHRITT 21: N reelle Koeffizienten (coef_0 – coef_(N – 1)) werden unter Verwendung eines Filter-Aufbau-Werkzeugs nach den Eigenschaften eines entsprechenden Filters ermittelt.

SCHRITT 22: Eine vorgegebene Anzahl (hier zwei) von Skalierfaktoren (SF_0 und SF_1) werden berechnet durch Zuweisen desselben Skalierfaktors zu den Koeffizienten in einer vorgegebenen Zahl oder durch Gruppieren der Skalierfaktoren für die reellen Koeffizienten nach ihren Ähnlichkeiten, die den Eigenschaften von CSD-Koeffizienten entsprechen. Die Skalierfaktoren werden durch die Gleichungen (5) und (6) berechnet.

SCHRITT 23: Die reellen Koeffizienten werden durch die zwei Skalierfaktoren, die durch die Gruppierung erzielt werden, in CSD-Codes konvertiert. Diese CSD-Codes sind optimale CSD-Koeffizienten (CSD-coef_0 – CSD-coef_(N – 1)).

SCHRITT 24: Die Eingabedaten werden mit den optimierten CSD-Koeffizienten CSD-multipliziert.

SCHRITT 25: Die Ergebnisse der Multiplikation von SCHRITT 24 werden, um eine Endfilter-Ausgabe zu erzeugen, mit zwei Invers-Skalierfaktoren (RSF_0 und RSF_2) skaliert, die jeweils Reziprokwerte der in SCHRITT 22 ermittelten Skalierfaktoren sind.

Die Gesamtleistung eines Filters kann verbessert werden, wenn Skalierfaktoren, wie in 7 gezeigt, gruppiert werden, zu Beispiel, indem jeder Filtergruppe in einem mehrphasigen Filter ein getrennter Skalierfaktor zugewiesen wird.

Außerdem kann die Konvertierungsleistung weiter verbessert werden, wenn reelle Koeffizienten durch eine Vielzahl von Skalierfaktoren in erste CSD-Koeffizienten konvertiert werden, und dann werden unter Verwendung eines Optimierungsalgorithmus' auf der Basis der Welligkeit in dem Frequenzbereich, wie in dem herkömmlichen CSD-Filter, optimierte CSD-Koeffizienten generiert.

8 ist ein Schaltplan eines 4-Anzapfungen-CSD-Filters für die Umsetzung des in 7 gezeigten Verfahrens.

In 8 umfasst der 4-Anzapfungen-CSD-Filter: drei Einheits-Verzögerer 321323, die in Reihe verbunden sind, um Eingabedaten zu verzögern, einen ersten CSD-Multiplizierer 324 für das Multiplizieren eines CSD-Koeffizienten coef_0 mit den Eingabedaten, einen zweiten CSD-Multiplizierer 325 für das Multiplizieren der Ausgabe des ersten Einheits-Verzögerers 321 mit einem CSD-Koeffizienten coef_1, einen dritten CSD-Multiplizierer 326 für das Multiplizieren der Ausgabe des zweiten Einheits-Verzägerers 322 mit einem CSD-Koeffizienten coef_2, einen vierten CSD-Multiplizierer 327 für das Multiplizieren der zieren der Ausgabe des dritten Einheits-Verzögerers 323 mit einem CSD- Koeffizienten coef_3, einen ersten Addierer 328 für das Addieren der Ausgaben des ersten und des zweiten CSD-Multiplizierers 324 und 325, einen zweiten Addierer 329 für das Addieren der Ausgaben des dritten und des vierten CSD-Multiplizierers 326 und 327, einen ersten Invers-Skalierer 330 für das Skalieren der Ausgabe des ersten Addierers 328 mit einem ersten Invers-Skalierfaktor, einen zweiten Invers-Skalierer 331 für das Skalieren der Ausgabe des zweiten Addierers 329 mit einem zweiten Invers-Skalierfaktor und einem Addierer 332 für das Addieren der Ausgaben des ersten und des zweiten Invers-Skalierers 330 und 331, um eine Endfilter-Ausgabe auszugeben.

Hierbei sind die CSD-Koeffizienten coef_0 bis coef_3 diejenigen, die durch Konvertieren der ersten bis vierten reellen Koeffizienten erzielt werden, die entsprechend den Filtereigenschaften mittels der ersten und zweiten Skalierfaktoren erzeugt werden, die entsprechend den Eigenschaften von CSD-Koeffizienten, wie oben beschrieben, gruppiert werden. Die ersten und zweiten Invers-Skalierfaktoren sind jeweils die Reziprokwerte der ersten und zweiten Skalierfaktoren.

In 5, die eine ideale Ausführungsform der vorliegenden Erfindung zeigt, ist ein RSF in jede Koeffizientenberechnung einbezogen, und deshalb kann die Hardware vergrößert sein. Wenn die Berechnung jedoch durch Schieberegister ausgeführt wird, gibt es keine Vergrößerung bei der Hardware, die Koeffizientenkonvertierung erfolgt schnell, und die Konvertierungsleistung ist aufgrund der hohen Auflösung von Skalierfaktoren ausgezeichnet.

Indessen zeigt 8 eine Ausführungsform, in der die Auflösung von Skalierfaktoren auf eine vorgegebene Anzahl begrenzt ist, um den Umfang der Hardware zu reduzieren. Verglichen mit einem Idealfall von 5, sind hierbei RSF-Berechnungen in einem reellen Filter im Wesentlichen verringert.

Das heißt, bei der vorliegenden Erfindung weist die Leistung durch eine Skalierfaktoren-Auflösung eine Ausgleichbeziehung mit der Hardwarekomplexität auf.

Wenn das Skalieren von Skalierfaktoren oder Invers-Skalierfaktoren nur durch Schieberegister ausgeführt wird, wird eine Umfangsvergrößerung der Hardware ferner vermieden, obwohl eine Konvertierungsleistung leicht begrenzt sein kann.

Die Ausführungsformen der vorliegenden Erfindung reduzieren Konvertierungsfehler, die unter Verwendung von mindestens zwei Skalierfaktoren durch Unterschiede zwischen Filterkoeffizienten verursacht werden, während das herkömmliche Verfahren einen einzelnen Skalierfaktor für alle reellen Koeffizienten verwendet. Zusätzlich wird durch Erhöhung einer Skalierungsauflösung die Konvertierungsleistung verbessert, indem Bezugszeichen (3) Konvertierungsfehler mit der Bit-Auflösung reduziert.

Wie oben beschrieben, verbessert das Verfahren nach der vorliegenden Erfindung die Verarbeitungsgeschwindigkeit durch Konvertieren eines reellen Koeffizienten in einen CSD-Koeffizienten im Zeitbereich, anstatt des Verarbeitens im Frequenzbereich. Ferner kann die vorliegende Erfindung auf viele Arten von Filtern, wie z. B. einen lernfähigen Filter oder einen mehrphasigen Filter, angewendet werden, indem die Bit-Auflösung mit einer feststehenden Anzahl von Nicht-Null-Ziffern erhöht wird.


Anspruch[de]
  1. Verfahren zum Verarbeiten eines Signals in einem CSD-Filter mit erwünschten Filtereigenschaften, die durch Filterkoeffizienten erreicht werden, die in CSD-Codes ausgedrückt werden, wobei das Verfahren die folgenden Schritte umfasst:

    a) Ermitteln realer Koeffizienten, die auf die Filtereigenschaften optimiert sind;

    b) Generieren einer Vielzahl von Skalierungsfaktoren durch Berechnen von Skalierungsfaktoren für jeden realen Koeffizienten, der eine Abweichung zwischen den realen Koeffizienten und CSD-Code-konvertierten Koeffizienten, die ermittelt werden, indem die realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert;

    c) Erzeugen von CSD-Koeffizienten unter Verwendung der Vielzahl von Skalierungsfaktoren; und

    d) Verarbeiten von Eingangsdaten unter Verwendung der CSD-Koeffizienten.
  2. Verfahren nach Anspruch 1, wobei die Abweichung in Schritt b) während der Umwandlung der realen Koeffizienten in CSD-Codes auf ein Minimum verringert wird und die in Schritt c) erzeugten CSD-Koeffizienten optimale CSD-Koeffizienten sind und die Verarbeitung in Schritt d) Filtern der Eingangsdaten umfasst.
  3. Verfahren zum Verarbeiten eines Signals in einem CSD-Filter nach Anspruch 1 oder 2, wobei der Schritt c) die folgenden Schritte umfasst:

    c1) Umwandeln realer Koeffizienten in erste CSD-Koeffizienten durch Multiplizieren von Skalierungsfaktoren mit entsprechenden realen Koeffizienten; und

    c2) Verwenden eines Optimierungsalgorithmus, der auf dem Maß an Welligkeit in dem Frequenzbereich basiert, um optimierte zweite CSD-Koeffizienten aus den ersten CSD-Koeffizienten zu erzeugen.
  4. Verfahren zum Verarbeiten eines Signals in einem CSD-Filter nach Anspruch 1, wobei:

    in dem Schritt b) die auf ein Minimum verringerte Abweichung eine Abweichung zwischen realen Koeffizienten und CSD-Codes ist, in die die realen Koeffizienten umgewandelt werden;

    in Schritt c) die CSD-Koeffizienten unter Verwendung der Skalierungsfaktoren für jeden der realen Koeffizienten erzeugt werden; und

    in dem Schritt d) Eingangsdaten mit dem CSD-Koeffizienten multipliziert werden;

    wobei das Verfahren den weiteren Schritt e) des Erzeugens eines End-Filterausgangs durch Skalieren des Ergebnisses der Multiplikation in dem Schritt d) mit Invers-Skalierungsfaktoren, die die Reziproken der Skalierungsfaktoren sind, umfasst.
  5. Verfahren zum Verarbeiten eines Signals in einem CSD-Filter nach einem der vorangehenden Ansprüche, wobei in dem Schritt b) die Skalierungsfaktoren so berechnet werden, dass die quadrierte Summe der Abweichung zwischen den realen Koeffizienten und den CSD-Code-umgewandelten Koeffizienten, die ermittelt werden, indem die realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert wird.
  6. Verfahren nach Anspruch 1, wobei:

    in dem Schritt b) die Skalierungsfaktoren erzeugt werden, indem Umwandlungsabweichungen zwischen den realen Koeffizienten und CSD-Codes, in die die realen Koeffizienten umgewandelt werden, auf ein Minimum verringert werden;

    in dem Schritt c) die CSD-Koeffizienten optimale CSD-Koeffizienten sind, die unter Verwendung der Vielzahl von Skalierungsfaktoren erzeugt werden; und

    in dem Schritt d) das Filtern von Eingangsdaten unter Verwendung der CSD-Koeffizienten ausgeführt wird.
  7. Verfahren nach einem der Ansprüche, 1, 2 oder 6, wobei in dem Schritt c) die CSD-Koeffizienten in dem Zeitbereich erzeugt werden, in dem die realen Koeffizienten mit der Vielzahl von Skalierungsfaktoren multipliziert werden.
  8. Verfahren zum Verarbeiten eines Signals in einem CSD-Filter nach Anspruch 6 oder 7, wobei der Schritt c) die folgenden Schritte umfasst:

    c1) Umwandeln der realen Koeffizienten in erste CSD-Koeffizienten durch Multiplizieren der realen Koeffizienten mit der Vielzahl von Skalierungsfaktoren; und

    c2) Verwenden eines Optimierungsalgorithmus, der auf dem Maß an Welligkeit in dem Frequenzbereich beruht, um optimierte zweite CSD-Koeffizienten aus den ersten CSD-Koeffizienten zu erzeugen.
  9. Verfahren nach Anspruch 1, wobei in dem Schritt b) die Skalierungsfaktoren so berechnet werden, dass Umwandlungsabweichungen zwischen den realen Koeffizienten und CSD-Codes, in die die realen Koeffizienten umgewandelt werden, auf ein Minimum verringert werden;

    in dem Schritt c) die CSD-Koeffizienten erzeugt werden, indem die realen Koeffizienten unter Verwendung der Vielzahl von Skalierungsfaktoren in CSD-Codes umgewandelt werden; und

    in dem Schritt d) Eingangsdaten mit den CSD-Koeffizienten multipliziert werden;

    das Verfahren einen weiteren Schritt e) des Erzeugens eines End-Filterausgangs durch Skalieren des Ergebnisses der Multiplikation des Schrittes d) mit einer Vielzahl Invers-Skalierungsfaktoren, die die Reziproken der Vielzahl von Skalierungsfaktoren sind, umfasst.
  10. Verfahren zum Verarbeiten eines Signals in einem CSD-Filter nach Anspruch 6, 7, 8 oder 9, wobei der Schritt b) die folgenden Schritte umfasst:

    b1) Gruppieren realer Koeffizienten vorgegebener Ziffern entsprechend Eigenschaften der CSD-Koeffizienten; und

    b2) Berechnen von Skalierungsfaktoren für jede Gruppe, die die quadrierte Summe der Abweichung zwischen den gruppierten realen Koeffizienten und am nächsten liegenden CSD-Codes, die ermittelt werden, indem die gruppierten realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert.
  11. Verfahren nach den Ansprüchen 6, 7, 8 oder 9, wobei der Schritt b) die folgenden Schritte umfasst:

    b1') Berechnen von Skalierungsfaktoren für jeden realen Koeffizienten, der die quadrierte Summe der Abweichungen zwischen realen Koeffizienten und am nächsten liegenden CSD-Code-umgewandelten Koeffizienten, die ermittelt werden, indem jeder reale Koeffizient mit einer vorgegebenen Verstärkung multipliziert wird, auf ein Minimum verringert; und

    b2') Gruppieren der in dem Schritt b1') für entsprechende reale Koeffizienten berechneten Skalierungsfaktoren entsprechend der Ähnlichkeit der Skalierungsfaktoren hinsichtlich ihrer Werte.
  12. N-Anzapfungs-CSD-Filterschaltung, die durch Filterkoeffizienten, die in CSD-Codes ausgedrückt werden, gewünschte Filtereigenschaften hat und die umfasst:

    N–1-Grund-Verzögerungsglieder (221223), die in Reihe verbunden sind, um Eingangsdaten zu verzögern;

    eine Einrichtung zum Generieren eines CSD-Koeffizienten (210), die eine Vielzahl von Skalierungsfaktoren für jeden realen Koeffizienten berechnet, der eine Abweichung zwischen den realen Koeffizienten und CSD-Code-umgewandelten Koeffizienten, die ermittelt werden, indem die entsprechend den Filtereigenschaften ermittelten realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert und die unter Verwendung der berechneten Skalierungsfaktoren optimale CSD-Koeffizienten generiert;

    N CSD-Multiplizierglieder (224227), die die Ausgänge der N–1-Grundverzögerungsglieder (221223) mit den CSD-Koeffizienten multiplizieren;

    N Invers-Skalierglieder (228231), die die Ausgänge der N CSD-Multiplizierer (224227) mit Invers-Skalierungsfaktoren skalieren, die die Reziproken der für die realen Koeffizienten berechneten Skalierungsfaktoren sind; und

    ein Addierglied (232), das die Ausgänge der N inversen Skalierer addiert und einen End-Filterausgang erzeugt.
  13. CSD-Filterschaltung nach Anspruch 12, wobei jedes der CSD-Multiplizierglieder (224227) umfasst:

    Shift-Matrizen (224.1, 224.2), deren Anzahl der Anzahl L von Nicht-Null-Ziffern in einem CSD-Koeffizienten entspricht, und die die Eingangsdaten entsprechend jedem Ziffernwert eines CSD-Koeffizienten verschieben, der in der Einrichtung zum Generieren von CSD-Koeffizienten (210) generiert wird;

    L Wandler (224.3, 224.4), der die Ausgänge der L Shift-Matrizen (224.1, 224.2) in Zweierkomplemente umwandelt; und

    L 1-Addierglieder (224.5), die die Ausgänge von L Wandlern addieren.
  14. CSD-Filterschaltung nach Anspruch 13, wobei das CSD-Filter von einem adaptiven Typ ist und die Shift-Matrix (224.1, 224.2) ein Ausgangsschieberegister umfasst.
  15. CSD-Filterschaltung nach Anspruch 13, wobei das CSD-Filter von einem festen Typ ist und die Shift-Matrix (224.1, 224.2) ein Schieberegister umfasst.
  16. CSD-Filterschaltung nach Anspruch 13, 14 oder 15, wobei jeder der L Wandler (224.3, 224.4) einen Inverter und ein Addierglied umfasst, um den Ausgang einer entsprechenden Shift-Matrix nur in einer Ziffer des CSD-Koeffizienten mit "–1" in Zweierkomplemente umzuwandeln.
  17. CSD-Filtereinheit nach einem der Ansprüche 12 bis 16, wobei jeder der N Invers-Skalierer (228231) Schieberegister zum Verschieben des Ausgangs jedes CSD-Multipliziergliedes (224227) gemäß dem Wert jedes Invers-Skalierungsfaktors und zum Ausgeben des verschobenen Ergebnisses umfasst.
  18. CSD-Filterschaltung nach einem der Ansprüche 12 bis 16, wobei jeder von N Invers-Skalierern (228231) ein CSD-Multiplizierglied zum Multiplizieren des Ausgangs jedes CSD-Multiplizierers mit jedem Invers-Skalierungsfaktor umfasst.
  19. CSD-Filterschaltung nach einem der Ansprüche 12 bis 16, wobei die Einrichtung (210) zum Generieren eines CSD-Koeffizienten enthält:

    einen Mikroprozessor, der gemäß den Filtereigenschaften reale Koeffizienten ermittelt und Skalierungsfaktoren für jeden der realen Koeffizienten berechnet, der Abweichungen zwischen den realen Koeffizienten und am nächsten liegenden CSD-Code-umgewandelten Koeffizienten, die ermittelt werden, indem die realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert; und

    ein Schieberegister, das die CSD-Code-umgewandelten Koeffizienten verschiebt und unter Verwendung der Skalierungsfaktoren optimale CSD-Koeffizienten generiert.
  20. N-Anzapfungs-CSD-Filterschaltung, die durch Filterkoeffizienten, die in CSD-Codes ausgedrückt werden, gewünschte Filtereigenschaften hat und die umfasst:

    N–1 Grundverzögerungsglieder (321323), die in Reihe verbunden sind, um Eingangsdaten zu verzögern;

    eine Einrichtung (310) zum Generieren eines CSD-Koeffizienten, die CSD-Koeffizienten unter Verwendung einer Vielzahl von Skalierungsfaktoren generiert, die Abweichungen zwischen den realen Koeffizienten und am nächsten liegenden CSD-Code-umgewandelten Koeffizienten, die ermittelt werden, indem die realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringern;

    N CSD-Multiplizierglieder (324327), die Ausgänge der N–1 Einzel-Verzögerungsglieder mit CSD-Koeffizienten multiplizieren, die durch M Skalierungsfaktoren generiert werden;

    M Addierglieder (328329), die von den Ausgängen der N CSD-Multiplizierglieder die Ausgänge von CSD-Multipliziergliedern (324327) addieren, die mit dem gleichen Skalierungsfaktor multipliziert worden sind;

    M Invers-Skalierglieder (330, 331), die die Ausgänge der M Addierglieder mit M Invers-Skalierungsfaktoren skalieren, die die Reziproken der M Skalierungsfaktoren sind; und

    ein Addierglied (332), das die Ausgänge der M Invers-Skalierglieder (330, 331) addiert und einen End-Filterausgang erzeugt.
  21. CSD-Filterschaltung nach Anspruch 20, wobei die Einrichtung (310) zum Generieren von CSD-Koeffizienten reale Koeffizienten Eigenschaften von CSD-Koeffizienten in vorgegebenen Ziffern gemäß gruppiert, die gruppierten realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert und so am nächsten liegende CSD-Code-umgewandelte Koeffizienten ermittelt und Skalierungsfaktoren für jede Gruppe realer Koeffizienten berechnet, die die Summe von Abweichungen zwischen den realen Koeffizienten und den CSD-Code-umgewandelten Koeffizienten auf ein Minimum verringern.
  22. CSD-Filterschaltung nach Anspruch 20, wobei die Einrichtung (310) zum Generieren von CSD-Koeffizienten Skalierungsfaktoren für jeden realen Koeffizienten berechnet, der die Summe von Abweichungen zwischen den realen Koeffizienten und CSD-Code-umgewandelten Koeffizienten, die ermittelt werden, indem die realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert werden, auf ein Minimum verringert, die Skalierungsfaktoren entsprechend der Ähnlichkeit der Skalierungsfaktoren hinsichtlich ihrer Werte gruppiert und eine Vielzahl von Skalierungsfaktoren erzeugt.
  23. CSD-Filterschaltung nach Anspruch 20, 21 oder 22, wobei jedes der N CSD-Multiplizierglieder (324327) umfasst:

    Shift-Matrizen, deren Anzahl der Anzahl L von Nicht-Null-Ziffern in einem CSD-Koeffizienten entspricht, und die Eingangsdaten entsprechend jedem Ziffernwert eines CSD-Koeffizienten verschieben, der von der Einrichtung zum Generieren von CSD-Koeffizienten generiert wird;

    L Wandler, die die Ausgänge der L Shift-Matrizen gemäß dem CSD-Koeffizienten in Zweierkomplemente umwandeln; und

    L–1 Addierglieder, die die Ausgänge der L Wandler addieren.
  24. CSD-Filterschaltung nach einem der Ansprüche 20 bis 23, wobei jedes der M Invers-Skalierglieder (330, 331) ein Schieberegister umfasst, das den Ausgang jedes der M Addierglieder (328, 329) entsprechend dem Wert jedes einer Vielzahl von Invers-Skalierungsfaktoren verschiebt und das verschobene Ergebnis ausgibt.
  25. CSD-Filterschaltung nach einem der Ansprüche 20 bis 23, wobei jedes der M Invers-Skalierglieder (330, 331) ein CSD-Multiplizierglied umfasst, das den Ausgang jedes der M Addierglieder mit jedem einer Vielzahl von Invers-Skalierungsfaktoren multipliziert.
  26. CSD-Filterschaltung nach einem der Ansprüche 20 bis 25, wobei die Einrichtung (310) zum Generieren von CSD-Koeffizienten enthält:

    einen Mikroprozessor, der gemäß den Filtereigenschaften reale Koeffizienten ermittelt, die realen Koeffizienten mit einer vorgegebenen Verstärkung multipliziert und so am nächsten liegenden CSD-Code-umgewandelte Koeffizienten ermittelt und Skalierungsfaktoren für jeden realen Koeffizienten berechnet, der Abweichungen zwischen den realen Koeffizienten und den CSD-Code-umgewandelten Koeffizienten auf ein Minimum verringert; und

    ein Schieberegister, das die CSD-Code-umgewandelten Koeffizienten verschiebt und unter Verwendung der Skalierungsfaktoren optimale CSD-Koeffizienten generiert.
Es folgen 7 Blatt Zeichnungen






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