-
Die Erfindung betrifft ein Signalverarbeitungsgerät, ein Verfahren und ein Computerprogramm zur Bestimmung der Koeffizienten digitaler Filter.
-
Herkömmlich werden die Koeffizienten digitaler Filter in einem aufwendigen Prozess entweder komplett von Hand optimiert oder mit Hilfe von Computersimulationen bzw. maschinengestützten Optimierungsansätzen semiautomatisch bestimmt. Semiautomatische Verfahren benötigen dabei zum einen eine große Rechenleistung, zum anderen hochqualifiziertes Bedienpersonal. Eine automatische Bestimmung der Koeffizienten ist bislang nicht üblich. Vollautomatischen Verfahren stehen die bislang nicht zuverlässig erreichbare Stabilität der Filter, insbesondere bei hoher Koeffizientenanzahl, die sehr große benötigte Rechenleistung und die mangelnde Spezifikationstreue der Ergebnisse entgegen.
-
Die Europäische Patentschrift
EP 0 400 850 B1 zeigt einen Koeffizientengenerator für digitale Filter, welcher ein iteratives Verfahren zur Bestimmung der Koeffizienten einsetzt. So werden iterativ erzeugte Koeffizienten mit der gewünschten Filtercharakteristik verglichen und so lange weitere iterative Schritte durchgeführt, bis die gewünschte Filtercharakteristik ausreichend genau erreicht ist, bzw. eine weitere Annäherung nicht stattfindet. Der Koeffizientengenerator erzeugt jedoch nicht zwangsläufig optimale Ergebnisse. So wird bei ungünstiger Wahl der Startwerte der Iteration ein lokales Minimum erreicht. Die Stabilität der Iteration ist ebenfalls nicht gewährleistet. Eine große Rechenleistung bzw. lange Berechnungszeit wird ebenfalls benötigt.
-
Insbesondere in messtechnischen Geräten, z. B. in Signalgeneratoren oder Messgeräten, ist jedoch eine schnelle Anpassung von digitalen Filtern notwendig, um eine zügige Bedienung zu gewährleisten. Ein Vorhalten der Filterkoeffizienten für sämtliche möglichen benötigten Filtereinstellungen erfordert jedoch sehr große Speicher. Weiterhin wäre eine aufwendige Vorabberechnung der entsprechenden Koeffizienten notwendig.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein Signalverarbeitungsgerät, ein Verfahren und ein Computerprogramm zu schaffen, welche eine Bestimmung der Koeffizienten digitaler Filter mit hoher Geschwindigkeit und mit geringem Aufwand ermöglichen.
-
Die Aufgabe wird erfindungsgemäß für das Verfahren durch die Merkmale des unabhängigen Anspruchs 1 und für die Vorrichtung durch die Merkmale des unabhängigen Anspruchs 8 gelöst. Vorteilhafte Weiterbildungen sind Gegenstand der hierauf rückbezogenen Unteransprüche.
-
Ein Signalverarbeitungsgerät verfügt über ein Filter mit anpassbaren Koeffizienten und eine Anpassungs-Einrichtung. Die Anpassungs-Einrichtung beinhaltet eine Start-Eingangsparameter-Einrichtung, eine Koeffizienten-Einrichtung und eine Interpolations-Einrichtung. Mehrere Parameter des Filters bilden einen Eingangsvektor. Die Start-Eingangsparameter-Einrichtung oder die Start-Eingangsparameter-Einrichtung und die Interpolations-Einrichtung bestimmen den Eingangsvektor in Abhängigkeit des Werts zumindest eines Eingangsparameters. Die Eingangsvektoren für mehrere bestimmte Werte des zumindest einen Eingangsparameters werden vorab bestimmt und von der Start-Eingangsparameter-Einrichtung gespeichert. Die Interpolations-Einrichtung bestimmt nicht vorab bestimmte Eingangsvektoren durch Interpolation der vorab bestimmten Eingangsvektoren. Die Koeffizienten-Einrichtung bestimmt die Koeffizienten des Filters eindeutig aus einem Eingangsvektor. So ist die Bestimmung der Koeffizienten mit geringem Aufwand gewährleistet. Numerische Instabilitäten werden vermieden.
-
Der Filtertyp und bestimmte Parameter des Filters sind bevorzugt vorab bestimmt. So wird der Aufwand der Berechnung weiter reduziert.
-
Vorteilhafterweise führt die Interpolations-Einrichtung eine lineare Interpolation durch. Die Interpolations-Einrichtung führt bevorzugt die Interpolation mittels einer Regelung durch. Eine lineare Interpolation erfordert nur geringen Berechnungsaufwand. Der Einsatz einer Regelung ermöglicht eine effiziente Implementierung.
-
Die Interpolations-Einrichtung beinhaltet bevorzugt eine Eingangs-Parameter-Evaluations-Einrichtung, eine Differenz-Einrichtung und eine Rückkopplungs-Einrichtung. Die Start-Eingangsvektor-Einrichtung ordnet dem jeweiligen Wert des zumindest einen Eingangsparameters bevorzugt einen vorab bestimmten Eingangsvektor zu. Vorteilhafterweise berechnet die Koeffizienten-Einrichtung die aus dem Eingangsvektor resultierenden Koeffizienten. Die Eingangsvektor-Evaluierungs-Einrichtung bestimmt bevorzugt aus den Koeffizienten zumindest einen Ausgangsparameter. Die Differenz-Einrichtung bestimmt bevorzugt die Differenz des zumindest einen Eingangsparameters und des zumindest einen Ausgangsparameters. Vorteilhafterweise bestimmt die Rückkopplungs-Einrichtung einen neuen Eingangsvektor aus der Differenz und einem weiteren vorab berechneten Eingangsvektor. Die Schritte werden bevorzugt wiederholt bis die zumindest eine Differenz einen bestimmten Wert unterschreitet. So kann die Regelung zuverlässig durchgeführt werden. Lediglich geringer Berechnungsaufwand entsteht.
-
Die Übertragungsfunktion des digitalen Filters ist vorteilhafterweise eine Tiefpassfunktion oder eine Hochpassfunktion oder eine Bandpassfunktion oder eine Bandsperrfunktion. So können sehr unterschiedliche Filter realisiert werden.
-
Der zumindest eine Eingangsparameter ist bevorzugt die obere Grenzfrequenz und/oder die untere Grenzfrequenz und/oder die Passband-Dämpfung und/oder die Stopband-Dämpfung und/oder die Passband-Welligkeit des Filters. So können sehr vielfältige Anforderungen an das zu bestimmende Filter gestellt werden.
-
Vorteilhafterweise sind die Parameter des Filters die obere Grenzfrequenz und/oder die untere Grenzfrequenz und/oder die Passband-Dämpfung und/oder die Stopband-Dämpfung und/oder die Passband-Welligkeit des Filters und/oder die Abtastfrequenz und/oder Roll-Off-Faktoren. So können sehr vielfältige Rahmenbedingungen für das zu erstellende Filter gesetzt werden.
-
Nachfolgend wird die Erfindung anhand der Zeichnung, in der ein vorteilhaftes Ausführungsbeispiel der Erfindung dargestellt ist, beispielhaft beschrieben. In der Zeichnung zeigen:
-
1 wichtige Filterparameter in einem Diagramm;
-
2 eine ideale und eine reale Filterkennlinie;
-
3 ein Ablaufdiagramm des erfindungsgemäßen Verfahrens;
-
4 Eingangsvektoren in einem Diagramm, und
-
5 ein Ausführungsbeispiel der erfindungsgemäßen Vorrichtung.
-
Zunächst werden anhand der 1–2 die übliche Herangehensweise an den Filterentwurf und wichtige Filterparameter erläutert. Mittels 3–5 werden anschließend der Aufbau der erfindungsgemäßen Vorrichtung und die Funktionsweise des erfindungsgemäßen Verfahrens und der erfindungsgemäßen Vorrichtung gezeigt. Identische Elemente wurden in ähnlichen Abbildungen zum Teil nicht wiederholt dargestellt und beschrieben.
-
1 zeigt wichtige Filterparameter in einem Diagramm. Am Beispiel eines Tiefpassfilters werden hier wichtige Filterparameter näher erläutert. Über der Frequenz f ist die Magnitude eines von dem Filter gefilterten über den Frequenzbereich gleichmäßig verlaufenden Signals aufgetragen. Die Kennlinie eines Tiefpassfilters weist einen Sperrbereich und einen Durchlassbereich auf. Der Durchlassbereich, auch Passband genannt, erstreckt sich in einem Frequenzbereich von 0 bis Fpass. Der Sperrbereich, auch Stopband genannt, erstreckt sich von Fstopp bis Fs/2, wobei Fs/2 die halbe Abtastfrequenz des digitalen Filters ist. Bei einem idealen Filter liegen Fpass und Fstopp auf demselben Wert. Bei einem realen Filter liegt jedoch eine endliche Steilheit der Filterkennlinie vor. D. h. Die Dämpfung des Filters nimmt vom Passband zum Stopband nicht schlagartig sondern über einen bestimmten Frequenzbereich Fpass – Fstopp ab.
-
Im Durchlassbereich verfügt ein idealer Filter über eine Dämpfung von 0 dB. Ein realer Filter dämpft jedoch auch im Durchlassbereich das Signal. So ergibt sich eine Amplitude des Signals zu Apass. Ebenso verfügt das ideale Filter im Sperrbereich über eine unendlich hohe Dämpfung. Der reale Filter hat jedoch auch hier nur eine endliche Dämpfung. So hat des Signal, welches den idealen Filter verlässt, im Sperrbereich eine maximale Amplitude von Astop. Sie wird dabei ausgehend von der halben zulässigen Amplitude im Durchlassbereich Apass aus gemessen. Ein weiterer wichtiger Filterparameter ist die Welligkeit der Filterkennlinie im Durchlassbereich.
-
In 2 werden eine ideale und eine reale Filterkennlinie dargestellt. Wie auch in 1 wird hier die Magnitude eines von dem Filter gefilterten über den Frequenzbereich gleichmäßig verlaufenden Signals über der Frequenz aufgetragen. Die Kennlinie 5 eines idealen Tiefpassfilters weist dabei eine durchgehende Dämpfung von 0 dB im Durchlassbereich und von unendlich im Sperrbereich auf. Auch fallen die Frequenzen Fpass und Fstopp bei dem idealen Filter zusammen. Auf Grund der Dämpfung von 0 dB ergibt sich keine Welligkeit der Übertragungskennlinie im Durchlassbereich. Im Gegensatz hierzu weist die Kennlinie 6 des realen Filters eine Dämpfung in Teilen des Durchlassbereichs und eine nichtideale Dämpfung im Sperrbereich auf. Auch fallen Fpass und Fstopp auseinander. Eine Welligkeit der Übertragungskennlinie im Durchlassbereich ist bei diesem speziellen Filter jedoch nicht erkennbar. In Abhängigkeit des eingesetzten Filtertyps ergeben sich unterschiedliche Kombinationen der beschriebenen Parameter. Auch von einem Tiefpassfilter abweichende Filter verfügen über analoge Parameter.
-
3 zeigt ein Ablaufdiagramm des erfindungsgemäßen Verfahrens. In einem ersten Schritt S1 wird ein geeigneter Filter ausgewählt. Dabei werden z. B. der Filtertyp, die Filterordnung, und Grenzwerte für bestimmte Filterparameter, wie z. B. die Welligkeit im Durchlassbereich festgelegt. Je enger die bereits hier erfolgende Auswahl, desto geringer fällt im späteren Verlauf der Berechnungsaufwand zur Bestimmung der Filterparameter aus. Ausgehend von diesen festen Parametern werden Eingangsvektoren gebildet, welche für mehrere unterschiedliche Werte zumindest eines Eingangsparameters einen geeigneten Filter ergeben. Hierzu sind aufwendige Berechnungen erforderlich. Um die Berechnungszeit zu begrenzen werden solche Eingangsvektoren nur für einige Werte des zumindest einen Eingangsparameters berechnet. Ein solcher Eingangsparameter ist z. B. eine Grenzfrequenz des Filters. Die Nutzung z. B. einer Dämpfung als Eingangsparameter oder die Nutzung einer Kombination mehrerer Eingangsparameter ist ebenfalls möglich. Der Schritt S1 findet vorab statt. D. h. diese aufwendigen Berechnungen werden entweder beim Hersteller des Geräts oder zumindest vor Beginn der Filterkoeffizientenbestimmung durchgeführt.
-
In einem Schritt S2 wird ausgehend von zumindest einem Eingangsparameter ein Eingangsvektor bestimmt. Ist ein Eingangsvektor zu dem Wert des zumindest einen Eingangsparameters gespeichert wird dieser genutzt. Ist kein zugehöriger Eingangsvektor gespeichert, so wird eine Interpolation zwischen gespeicherten Eingangsvektoren durchgeführt. Auf diese Interpolation wird anhand der 4 und 5 näher eingegangen.
-
In einem dritten Schritt S3 werden ausgehend von dem im Schritt S2 bestimmten Eingangsvektor die Koeffizienten des Filters bestimmt.
-
In 4 werden Eingangsvektoren in einem Diagramm dargestellt. Dabei sind die Eingangsvektoren A_1, A_2, A_3, A_4, A_5 über dem Eingangsparameter, hier der Grenzfrequenz des Filters fEingabe aufgetragen. Bestimmten Werten des Eingangsparameters f_1, f_2, f_3, f_4, f_5 ist jeweils ein Eingangsvektor A_1, A_2, A_3, A_4, A_5 zugeordnet. Zu den Zwischenwerten des Eingangsparameters, z. B. f 1,7 sind keine Eingangsvektoren bestimmt. In dem Diagramm sind lediglich die vorab bestimmten Kombinationen aus Eingangsparameter f_1, f_2, f_3, f_4, f_5 und Eingangsvektor A_1, A_2, A_3, A_4, A_5 eingezeichnet. Diese sind mit linearen Abschnitten verbunden, um auf eine Interpolation, insbesondere eine lineare Interpolation zur Bestimmung der Zwischenwerte hinzuweisen. So kann durch lineare Interpolation der Eingangsvektoren A_1 und A_2 der Eingangsvektor A_6 bestimmt werden.
-
Die Anzahl der Eingangsparameter und Eingangsvektoren ist nicht auf die Anzahlen dieses Ausführungsbeispiels beschränkt. Eine höhere oder niedrigere Anzahl kann ebenfalls eingesetzt werden. Allgemein gilt dann: Der Ausdruck (f_1, f_2, f_3, f_4, f_5) wird durch (f_1, f_2, f_3, ..., f_i) ersetzt. Der Ausdruck (A_1, A_2, A_3, A_4, A_5) wird durch (A_1, A_2, A_3,, ..., A_i) ersetzt. Für den Wertebereich der Variablen i gilt: i > 0.
-
5 zeigt ein Ausführungsbeispiel der erfindungsgemäßen Vorrichtung. Ein Signalverarbeitungsgerät, z. B. ein Signalgenerator oder ein Messgerät enthält einen digitalen Filter mit anpassbaren Koeffizienten und eine Anpassungs-Einrichtung 29. Die Anpassungs-Einrichtung 29 beinhaltet dabei eine Start-Eingangsparameter-Einrichtung 30, eine Koeffizienten-Einrichtung 31, und eine Interpolations-Einrichtung 32. Die Interpolations-Einrichtung 32 enthält dabei eine Eingangs-Parameter-Evaluations-Einrichtung 33, eine Differenz-Einrichtung 34 und eine Rückkopplungs-Einrichtung 35.
-
Wie anhand der 4 beschrieben, werden vorab mehrere Filterparameter, mehrere Eingangsvektoren und zumindest ein zu berücksichtigender Eingangsparameter bestimmt. In diesem Ausführungsbeispiel wird von einem Eingangsparameter, der Grenzfrequenz des Filters, ausgegangen. Der Wert des Eingangsparameters wird in die Start-Eingangsparameter-Einrichtung 30 eingegeben. Diese bestimmt, ob es sich um einen Wert handelt, zu welchem ein Eingangsvektor gespeichert ist. Handelt es sich um einen solchen Wert, wird der gespeicherte zugehörige Eingangsvektor an die Koeffizienten-Einrichtung 31 übermittelt. Handelt es sich nicht um einen solchen Wert, so bestimmt die Start-Eingangsparameter-Einrichtung 30 den nächstliegenden Eingangsvektor und übermittelt diesen an die Koeffizienten-Einrichtung 31. Die Koeffizienten-Einrichtung 31 ermittelt die dem Eingangsvektor entsprechenden Filterkoeffizienten. Ein Eingangsvektor legt dabei eindeutig einen Satz Filterkoeffizienten fest.
-
War für den Wert des Eingangsparameters ein Eingangsvektor vorab bestimmt, so sind die von der Koeffizienten-Einrichtung 31 ermittelten Filterkoeffizienten die endgültigen Filterkoeffizienten.
-
War jedoch kein Eingangsvektor zu dem Wert des Eingangsparameters gespeichert, so werden die Koeffizienten an die Interpolations-Einrichtung 32 weitergeleitet. Innerhalb der Interpolations-Einrichtung 32 werden die Koeffizienten zunächst an die Eingangs-Parameter-Evaluations-Einrichtung 33 geleitet. Diese bestimmt die aus den berechneten Koeffizienten resultierende Einhaltung des Eingangsparameters in Form eines Ausgangsparameters. So berechnet die Eingangs-Parameter-Evaluations-Einrichtung 33 in diesem Ausführungsbeispiel die Grenzfrequenz des Filters, welcher durch die berechneten Koeffizienten bestimmt wird. Die Differenz-Einrichtung 34 bildet die Differenz dieses Ausgangsparameters und des Eingangsparameters. Die Differenz ist ein Maß für die Übereinstimmung des erzielten Filters mit dem gewünschten Filter. Unterschreitet sie ein bestimmtes Maß, so werden die Koeffizientenbestimmung beendet und die gegenwärtigen Koeffizienten zur Anpassung des Filters genutzt.
-
Übersteigt die Differenz das bestimmte Maß, so wird die Differenz an die Rückkopplungs-Einrichtung 35 weitergeleitet. Die Rückkopplungs-Einrichtung 35 bildet aus dem herangezogenen Eingangsvektor und einem weiteren vorab gespeicherten Eingangsvektor einen neuen Eingangsvektor. Die von der Differenz-Einrichtung 34 gebildete Differenz gibt dabei den Grad der Einbeziehung der beiden Eingangsvektoren an. So wird im Fall einer linearen Interpolation ein neuer Eingangsvektor, welcher sich im Vektorraum auf gerader Linie zwischen den beiden Eingangsvektoren befindet, herangezogen. Die Position auf dieser Linie wird durch die Differenz bestimmt. Auch eine nichtlineare Interpolation ist an dieser Stelle möglich. Sie kann zu einer schnelleren Konvergenz führen.
-
Der neue Eingangsvektor wird nun erneut in die Koeffizienten-Einrichtung 31 eingegeben. Dieser Zyklus wird wiederholt, bis die Differenz, wie weiter oben beschrieben, ein bestimmtes Maß unterschreitet. Ein alternatives Abbruchkriterium ist das Erreichen einer bestimmten Anzahl von Wiederholungen und damit das Verstreichen einer bestimmten Zeit. Diese Form der Interpolation kann auch als Regelung aufgefasst werden. Insgesamt erfordert die Bestimmung der Koeffizienten des digitalen Filters wenige Sekunden.
-
Die Erfindung ist nicht auf das dargestellte Ausführungsbeispiel beschränkt. Wie bereits erwähnt, können unterschiedliche Filtertypen erstellt werden. Auch weitere Filterkennlinien sind erfindungsgemäß realisierbar. Alle vorstehend beschriebenen Merkmale oder in den Figuren gezeigten Merkmale sind im Rahmen der Erfindung beliebig vorteilhaft miteinander kombinierbar.