Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
NON RECURSIVE DIGITAL FILTER AND METHOD FOR CALCULATING THE COEFFICIENTS OF SUCH A FILTER
Document Type and Number:
WIPO Patent Application WO/2000/002311
Kind Code:
A1
Abstract:
The invention relates to a non recursive digital filter whose coefficients can be modified for adapting the frequency response from a characteristic frequency fc1 to another characteristic frequency fc2. It also relates to a method for calculating the coefficients of a non recursive digital filter for adapting the frequency response of said filter, from a characteristic frequency fc1 to another characteristic frequency fc2. The coefficients of a prototype of said filter are calculated or predetermined for a given sampling frequency, the time-continuous impulse response associated to said prototype is calculated and said impulse response is sampled at the sampling frequency fa2 = fa1* fc1/fc2, whereby the new coefficients are obtained. The filter can then be used with the new coefficients, at the old sampling frequency. In an alternative embodiment, the new coefficients are calculated from the coefficients of the filter prototype, the values of the time-continuous impulse response being interpolated at an interval of 1/fa2.

Inventors:
SCHOELLHORN PETER (DE)
Application Number:
PCT/DE1999/001878
Publication Date:
January 13, 2000
Filing Date:
June 28, 1999
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
SCHOELLHORN PETER (DE)
International Classes:
H03H17/00; H03H17/06; (IPC1-7): H03H17/06
Foreign References:
EP0401562A21990-12-12
Other References:
SANGIL PARK: "REAL-TIME PITCH (FREQUENCY) SHIFTING TECHNIQUES", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS. (ICCE),US,NEW YORK, IEEE, vol. CONF. 10, June 1991 (1991-06-01), pages 296-297, XP000289043, ISBN: 0-7803-0001-7
HSIEH S. HOU ET AL: "CUBIC SPLINES FOR IMAGE INTERPOLATION AND DIGITAL FILTERING", IEEE TRANSACTIONS ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING., vol. 26, no. 6, December 1978 (1978-12-01), IEEE INC. NEW YORK., US, pages 508 - 517, XP002123955
Attorney, Agent or Firm:
REINHARD SKUHRA WEISE & PARTNER (Postfach 44 01 51 München, DE)
Download PDF:
Claims:
Patentansprüche
1. Verfahren zur Berechnung der Koeffizienten eines nichtre kursiven, digitalen Filters zwecks Skalierung des Frequenz gangs dieses Filters von einer chrakteristischen Frequenz fcl zu einer anderen charakteristischen Frequenz fc2, g e k e n n z e i c h n e t durch folgende Verfahrens schritte : a) Es werden die Koeffizienten hl (n) eines Prototyps des Filters für eine gegebene Abtastfrequenz fal vorgege ben oder berechnet. b) Es wird die zu diesem Prototypen gehörige zeitkonti nu ierliche Impulsantwort h (t) berechnet. c) Die Impulsantwort h (t) wird mit der Abtastfrequenz fa2 fal f abgetastet, wobei sich die Koeffizienten fc2 h2 (n) ergeben. d) Das Filter wird mit dem neuen Koeffizienten h2 (n) bei fal betrieben.
2. Verfahren zur Berechnung der Koeffizienten eines nichtre kursiven, digitalen Filters zwecks Skalierung des Frequenz gangs dieses Filters von einer charakteristischen Frequenz fcl zu einer anderen charakteristischen Frequenz fc2, g e k e n n z e i c h n e t durch folgende Verfahrens schritte : a) Es werden die Koeffizienten hl (n) eines Prototyps des Filters für eine gegebene Abtastfrequenz fal vorgege ben oder berechnet. b) Aus den Koeffizienten hl (n) werden die neuen Koeffi zienten h2 (n) berechnet, indem die Werte der zeitkon ti nuierlichen Impulsantwort h (t) im Abstand 1/fa2 in ter <BR> <BR> <BR> fcl<BR> <BR> poliert werden, wobei fa2=fal fc 1* fc2 c) Das Filter wird mit dem neuen Koeffizienten h2 (n) bei fal betrieben.
3. Verfahren nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t, daß Polynome zur Interpolation verwendet werden.
4. Verfahren nach Anspruch 3, d a d u r c h g e k e n n z e i c h n e t, daß lediglich Polynome vom Grad 0 bis 3 verwendet werden.
5. Verfahren nach einem der Ansprüche 2 bis 4, d a d u r c h g e k e n n z e i c h n e t, daß das zeit kontinuierliche Filter ausgehend von der zeitlichen Mitte ab getastet wird.
6. Verfahren nach Anspruch 5, d a d u r c h g e k e n n z e i c h n e t, daß bei einem FilterPrototyp mit N Koeffizienten hl (n) mit n=0,1,..., N1 an den Stellen t = + mit 0 ; +/1 ; +/2 ;... <BR> <BR> <BR> <BR> <BR> <BR> <BR> <P> 2 * fal fa2 interpoliert wird, wobei k so lange inkrementiert bzw. dekre mentiert wird, bis alle zur jeweiligen Interpolation verwen deten Koeffizienten hl (n) den Wert 0 aufweisen.
7. Verfahren nach Anspruch 6, d a d u r c h g e k e n n z e i c h n e t, daß nur die Koeffizienten mit k=0 ; +1 ; +2... berechnet werden, da die Koeffizienten mit negativem k den entsprechenden Koeffizien ten mit positivem k entsprechen.
8. Verfahren nach einem der Ansprüche 1 bis 7, d a d u r c h g e k e n n z e i c h n e t, daß die neuen Koeffizienten h2 (n) mit den Abtastwerten einer Sinus oder Cosinusfunktion einer Frequenz fo multipliziert werden.
9. Nichtrekursives digitales Filter, mit einer Filterberech nungseinheit (20), die aus einem Eingangssignal ein Aus gangssignal berechnet, d a d u r c h g e k e n n z e i c h n e t, daß die Fil terberechnungseinheit (20) mit einer Koeffizientenberech nungseinheit (22) verbunden ist, die die Koeffizienten für die Filterberechnungseinheit (20) liefert, und die Koeffizi entenberechnungseinheit mit einem Koeffizientenspeicher (10), einer Bedienerschnittstelle (16) und einer Steuereinheit (26) verbunden ist.
10. Filter nach Anspruch 9, dadurch gekennzeichnet, daß zwischen der Koeffizientenberechnungseinheit (22) und der Filterbe rechnungseinheit (20) ein oder mehrere weitere Koeffizienten speicher (12,14) angeordnet sind.
11. Filter nach Anspruch 10, d a d u r c h g e k e n n z e i c h n e t, daß mehrere Koeffizientenspeicher (12,14) vorgesehen sind, und diese über einen Wahlschalter (24) mit der Filterberechnungseinheit (20) in Verbindung stehen.
Description:
Beschreibung Nichtrekursives digitales Filter und Verfahren zur Berechnung der Koeffizienten dieses Filters Die vorliegende Erfindung betrifft ein nichtrekursives digi- tales Filter und ein Verfahren zur Berechnung der Koeffizien- ten dieses Filters.

Zahlreiche Produkte enthalten Filter (z. B. Klangsteller eines Fernsehgerätes oder Autoradios, Frequenzweichen von Lautspre- chersystemen), deren Charakteristik in Frequenzrichtung ska- lierbar sein muß.

Werden diese Filter durch digitale Signalverarbeitung reali- siert, so werden üblicherweise - trotz einiger Nachteile - rekursive Filter eingesetzt. Dieser Filtertyp ist dadurch ge- kennzeichnet, daß er nur wenige Parameter (Koeffizienten) be- sitzt, die verändert werden müssen, um den Frequenzgang des Filters (z. B. zur Variation der Grenzfrequenz) zu skalieren, ohne die Abtastfrequenz des Filters verändern zu müssen.

Nichtrekursive digitale Filter besitzen zwar viele wesentli- che Vorteile (immer stabil, konstante Gruppenlaufzeit mög- lich) aber auch den Nachteil, daß bei einer Skalierung des Frequenzgangs Anzahl und Werte der Koeffizienten neu berech- net werden müssen. Dies geschieht üblicherweise mit Hilfe komplexer Computer-Software. Diese Methode ist für Echt- zeitanwendungen zu aufwendig bzw. zu teuer.

Außerdem besteht prinzipiell die Möglichkeit durch Verändern der Abtastfrequenz den Frequenzgang eines digitalen Filters zu skalieren. Dieser Ansatz erfordert in der Regel allerdings

Antialiasfilter oder Dezimationsfilter mit variabler Grenz- frequenz, d. h. das Problem wird nur verlagert.

Es ist daher Aufgabe der vorliegenden Erfindung, ein nichtre- kursives digitales Filter zu schaffen, welches bei konstanter Abtastfrequenz einfach skalierbar ist. Dazu soll die vorlie- gende Erfindung auch das erforderliche Berechnungsverfahren für die Koeffizienten dieses Filters zur Verfügung stellen.

Erfindungsgemäß wird diese Aufgabe durch ein Filter mit den Merkmalen des Anspruchs 9 und durch die in den Ansprüchen 1 und 2 beschriebenen Verfahren gelöst.

Die Unteransprüche zeigen jeweils vorteilhafte Ausführungs- formen der Erfindung.

Aus der Systemtheorie (Fouriertransformation) ist bekannt, daß einer Skalierung des Frequenzgangs eines Filters eine entgegengesetzte Skalierung der Impulsantwort des Filters entspricht. Die Koeffizienten eines digitalen nichtrekursiven Filters (Prototyp der Frequenzcharakteristik) stellen Ab- tastwerte einer solchen Impulsantwort dar. Aus diesen Ab- tastwerten kann nun unter Vorgabe einer Abtastfrequenz fal prinzipiell der zeitkontinuierliche Verlauf der Impulsantwort berechnet werden. Durch Abtasten dieses zeitkontinuierlichen Signals mit einer anderen Abtastfrequenz fa2 erhält man wie- der Koeffizienten eines nichtrekursiven digitalen Filters.

Wird dieses Filter dann mit der Abtastfrequenz fal betrieben, erhält man die gewünschte skalierte Charakteristik. Wird da- bei fa2 größer als fal gewählt, so wird die Frequenzcharakte- ristik des Filters gestaucht, für fa2 kleiner als fal wird die Charakteristik gedehnt. Das eigentliche Problem besteht in der Interpolation der neuen Koeffizienten aus den Koeffi- zienten des Prototypen. Diese Interpolation entspricht der Kombination aus Rekonstruktion der zeitkontinuierlichen Im- pulsantwort und deren Abtastung mit fa2. Die Realisierungsde- tails werden im folgenden im einzelnen erläutert :

H (f) sei die Fourier - Transformierte der Impulsantwort h (t) eines linearen Systems, kurz : h (t) <=> H (f). Dann gilt :<BR> h (a*t) 1/a*H (f/a), d. h. wird die Impulsantwort h (t) gedehnt (a < 1), dann wird die Transformierte H (f) gestaucht und um- gekehrt. Außerdem wird die Transformierte H (f) mit dem Faktor 1/a"verstärkt".

Diese Eigenschaft bleibt prinzipiell auch nach der Abtastung der Impulsantwort erhalten, solange das Abtasttheorem nicht verletzt wird. Bei Verletzung des Theorems muß darauf geach- tet werden, daß die gewünschte Frequenzcharakteristik H (f/a) nicht unzulässig verändert wird.

Nehmen wir an, ein digitales Filter werde bei der Abtastfre- quenz fal betrieben und habe dann die charakteristische Fre- quenz (z. B. 3 dB - Grenzfrequenz eines Tiefpasses) fcl. Wird dasselbe Filter nun bei der Abtastfrequenz fa2 betrieben, so ergibt sich die neue charakteristische Frequenz fcl = fcl* (fa2/fal).

Die Berechnung der Koeffizienten eines neuen nichtrekursiven Filters aus den Koeffizienten eines vorgegebenen nichtrekur- siven Filters (im folgenden Prototyp genannt) mit dem Ziel, die charakteristische Frequenz von fcl nach fc2 zu skalieren, geschieht folgendermaßen : <BR> <BR> Schritt 1 : Koeffizienten hl (n) des Prototyps für Abtastfre- quenz fal berechnen Schritt 2 : Berechnen der zugehörigen zeitkontinuierlichen Im- pulsantwort h (t) Schritt 3 : Abtastung der Impulsantwort h (t) mit der Ab- tastfrequenz fa2 = (fcl/fc2) *fal Schritt 4 : Betrieb des neuen Filters mit den Koeffizienten h2 (n) bei fal

Um dieses Verfahren in der Praxis auch unter Echtzeitbedin- gungen anwenden zu können, werden die Schritte 2 und 3 zusam- mengefaßt, d. h. die neuen Koeffizienten werden aus den Koef- fizienten des Prototyps berechnet. Dabei werden die Werte der zeitkontinuierlichen Impulsantwort h (t) im Abstand 1/fa2 in- terpoliert. In der Praxis bieten sich u. a. Polynome zur In- terpolation an. Der Grad der Polynome ist im Prinzip belie- big. In der Praxis werden aus Aufwandsgründen nur Polynome vom Grad 0 (Halteglied), vom Grad 1 (lineare Interpolation), vom Grad 2 (quadratische Interpolation) oder vom Grad 3 (kubische Interpolation) sinnvoll sein.

Besitzt der Prototyp eine konstante Gruppenlaufzeit, so kann diese i. a. besonders nützliche Eigenschaft auf das neue Fil- ter übertragen werden, indem das zeitkontinuierliche Filter ausgehend von der zeitlichen Mitte abgetastet wird. Besitzt der Prototyp N Koeffizienten hl (n), mit n=0, 1,..., N-1, dann liegt die zeitliche Mitte von h (t) an der Stelle tm = (N-1) /2* 1/fal. Damit muß h (t) an den Stellen t = tm + k*l/fa2 mit k = 0, +/-1, +/-2 usw. interpoliert werden. k muß so lange inkrementiert bzw. dekrementiert werden, bis alle zur jeweiligen Interpolation verwendeten Stützwerte hl (n) den Wert Null aufweisen.

Aufgrund der Symmetrie der Impulsantwort muß im Prinzip nur eine Hälfte der Koeffizienten tatsächlich berechnet werden (k>=O) .

Die Fourier-Transformation besitzt auch folgende Eigenschaft : sin (2*n*fO*t) *h (t) <=> 1/ (2i) *H (f-fO) -1/ (2i) *H (f+fO) bzw., <BR> cos (2*n*fO*t) *h (t) <--> 1/2*H (f-f0) +1/2*H (f+f0).

Dies gilt mit den bereits oben genannten Einschränkungen auch für abgetastete Signale und damit auch für digitale Filter, d. h. werden die Koeffizienten des Filters mit den Abtastwer-

ten einer Sinus- oder Cosinusfunktion der Frequenz fO multi- pliziert, so wird die ursprüngliche Frequenzcharakteristik um fO verschoben (z. B. wird so aus einem Tiefpaß ein Bandpaß).

Damit können durch einfache Maßnahmen die Frequenzgänge digi- taler Filter auch unter Echtzeitbedingungen verschoben und skaliert werden. Damit können z. B. Equalizer mit konstanter Gruppenlaufzeit (Autoradio, Fernsehgeräte, Stereoanlage, etc.) aus nichtrekursiven Filtern aufgebaut werden. Herkömm- liche Equalizer sind aus rekursiven Filtern aufgebaut, die starke Laufzeitverzerrungen aufweisen.

Zwei Ausführungsformen der Erfindung werden im folgenden an- hand der beigefügten Zeichnungen näher erläutert. Es zeigen : Figur 1 ein erfindungsgemäßes digitales Filter, bei dem alle Koeffizienten für die neue Filtercharakteristik zuerst kom- plett berechnet werden ; Figur 2 ein erfindungsgemäßes Filter bei dem die Charakteri- stik des Filters ohne Zeitverzögerung geändert werden kann.

Bei beiden Varianten sind die festen Koeffizienten des Proto- typs in einem Speicher 10 abgelegt und werden in der Regel während des Betriebs nicht verändert. Ist sichergestellt, daß die Koeffizienten niemals verändert werden, so kann ein ko- steneffizienter ROM-Speicher verwendet werden, der es er- laubt, auch sehr umfangreiche Koeffizientensätze zu spei- chern.

Besteht die Möglichkeit, alle Koeffizienten des neuen Filters zuerst komplett zu berechnen, bevor sie zur Berechnung der Filterausgangswerte benutzt werden, so kann ein Interpolati- onspolynom mit einem höheren Grad verwendet werden. besitzt der Prototyp symmetrische Koeffizienten, so muß nur die Hälf- te der Koeffizienten tatsächlich berechnet und gespeichert werden (sh. oben).

Figur 1 zeigt eine Ausführungsform eines solchen Filters, bei dem die entsprechenden Koeffizientensätze vorab berechnet und bereitgestellt werden.

Es werden zwei RAM-Speicher 12,14 verwendet : ein Speicher 12 enthält die aktuellen Filterkoeffizienten, der zweite Spei- cher 14 nimmt die neu berechneten Koeffizienten auf, falls eine veränderte Charakteristik angefordert wird. Sind alle neuen Koeffizienten verfügbar, tauschen die beiden Speicher ihre Rolle. Wird bei symmetrischen, linearphasigen Filtern nur der halbe Koeffizientensatz berechnet und gespeichert, so muß diesem Umstand durch die entsprechende Berechnung der Speicheradresse Rechnung getragen werden.

Als Anwendungen kommen hier z. B. Klangsteller und Frequen- zweichen in Betracht. Hier müssen immer dann neue Koeffizien- ten berechnet werden, wenn an der Bedienschnittstelle (Schieberegler, Drehknopf) Parameter verändert werden. Hier steht - gemessen an der Abtastfrequenz des Filters - viel Zeit zur Verfügung, um die neuen Koeffizienten"off line"zu berechnen.

Der Aufbau eines solchen Filters ist in Fig. 1 im einzelnen dargestellt. Wie bei allen digitalen Filtern wird ein Ein- gangssignal einer Filterberechnungseinheit 20 zugeführt, die dieses Eingangssignal in ein Ausgangssignal umrechnet. Erfin- dungsgemäß sind jedoch die entsprechenden Koeffizienten für die Umrechnung hier nicht in der Filterberechnungseinheit festgelegt, vielmehr werden sie der Filterberechnungseinheit von außen zugeführt. Zur Ermittlung der entsprechenden Koef- fizienten dient eine Koeffizientenberechnungseinheit 22. Die- se steht mit dem bereits erwähnten Koeffizientenspeicher 10 für die Koeffizienten des Filterprototyps und mit einer Be- dienerschnittstelle in Verbindung. Die Koeffizientenberech- nungseinheit 22 führt die berechneten Koeffizienten abwech- selnd einem der beiden Koeffizientenspeicher 12,14 zu. Diese stehen mit einem Wahlschalter 24 in Verbindung, der jeweils

einen Koeffizientensatz aus dem Koeffizientenspeicher 12 oder dem Koeffizientenspeicher 14 zur Filterberechnungseinheit 20 durchschaltet. Die Steuerung des Wahlschalters erfolgt über eine Steuereinheit 26, die wiederum von der Bedienerschnitt- stelle 16 angesteuert wird.

Soll eine möglichst einfach Methode der Interpolation einge- setzt werden (Halteglied oder lineare Interpolation), um z. B. laufend die benötigten Koeffizienten berechnen zu können, so kann die Anzahl N der Koeffizienten des Prototypen soweit er- höht werden, bis sichergestellt ist, daß die interpolierte Impulsantwort h2 (n) den Anforderungen der jeweiligen Anwen- dung genügt. Hier werden keine Koeffizientenspeicher benö- tigt. Alle Anwendungen, bei denen es notwendig ist, daß die veränderte Charakteristik des Filters sofort wirksam werden muß, benötigen diese Variante.

Figur 2 zeigt eine Ausführungsform des erfindungsgemäßen Fil- ters, bei der eine Anpassung der Koeffizienten in Echtzeit möglich ist. Hierbei muß lediglich eine ausreichend schnelle Koeffizientenberechnungseinheit bzw. ein entsprechend verein- fachter Algorithmus für die Berechnung der Koeffizienten ver- wendet werden. Koeffizientenspeicher und Koeffizientenspei- cherauswahl entfallen dabei.