DE2158378C2 - Digitales Filter - Google Patents

Digitales Filter

Info

Publication number
DE2158378C2
DE2158378C2 DE2158378A DE2158378A DE2158378C2 DE 2158378 C2 DE2158378 C2 DE 2158378C2 DE 2158378 A DE2158378 A DE 2158378A DE 2158378 A DE2158378 A DE 2158378A DE 2158378 C2 DE2158378 C2 DE 2158378C2
Authority
DE
Germany
Prior art keywords
bits
input
memory
output
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2158378A
Other languages
English (en)
Other versions
DE2158378A1 (de
Inventor
Alain Cannes Croisier
Daniel Jacques La Gaude Esteban
Marc Etienne Levilion
Vladimir Nice Riso
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2158378A1 publication Critical patent/DE2158378A1/de
Application granted granted Critical
Publication of DE2158378C2 publication Critical patent/DE2158378C2/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0225Measures concerning the multipliers
    • H03H17/0226Measures concerning the multipliers comprising look-up tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/04Recursive filters
    • H03H17/0405Recursive filters comprising a ROM addressed by the input and output data signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0607Non-recursive filters comprising a ROM addressed by the input data signals

Description

Die Erfindung betrifft ein digitales Filter, bei dem unter Verwendung eines durch Ausgangs- und/oder Eingangswerte adressierten Speichers durch Tabellenlese-Operationen Teilergebnisse ausgelesen und über Scheiberegister verzögert einem Akkumulator zugeführt werden, der die gefilterten Ausgangswerte numerisch bildet.
Eine Untersuchung digitaler Filter zeigt, daß sie unter Verwendung digitaler Schaltungen aufgebaut werden können, die Multiplikationen von aufeinanderfolgenden Abtastwerten des zu filternden Analogsignals mit Gewichtungsfaktoren durchführen und die so erhalte-
nen gewichteten Werte aufaddieren.
Die Benutzung derartiger Filter war lange Zeit auf Laboratorien beschränkt, in denen Simulationen zur Prüfung der Eigenschaften entwickelter Geräte durchgeführt werden. Dabei werden die durch eine Analyse der Übertragungsfunktion des gewünschten Filters gewählten Gewichtungsfaktoren gespeichert und über einen Computer programmgesteuert zur Anwendung gebracht Die Entwicklung der hochintegrierten Schaltungstechnik gestattet unter Anwendung derartiger Systeme die Herstellung geeigneter Schaltungen. Der Einsatz -dieser Schaltungen erfordert jedoch infolge der Dimensionen und Kosten der Multiplikatoren Modifikationen im Filteraufbau. Es besteht also ein Interesse an Schaltungen zur Speicherung der errechneten Teilergebnisse, um damit den Einsatz vom Multiplikatoren umgehen zu können.
Aus der US-PS 33 70 292 ist bereits ein digitales Filter bekannt, bei dem unter Verwendung eines durch Ausgangs- und/oder Eingangswerte adressierten Speichers durch Tabellenlese-Operationen Teilergebnisse ausgelesen und über Schieberegister verzögert einem Akkumulator zugeführt werden, der die gefilterten Ausgangswerte numerisch bildet
Nachteilig bei diesem Filter ist daß eine große Anzahl unterschiedliche Verzögerungszeiten aufweisender Schieberegister benötigt werden.
Es ist die der Erfindung zugrunde liegende Aufgabe, ein wesentlich vereinfachtes digitales Filter der genannten Art anzugeben.
Gemäß der Erfindung wird diese Aufgabe dadurch gelöst daß mindestens ein Schieberegister mit ein^r der Anzahl der Bits des zu verarbeitenden Signals entsprechenden Anzahl von Stufen vorgesehen ist dem die Einangs- und/oder Ausgangswerte seriell zugeführt werden und dessen Abgriffe am Ein- und Ausgang jeder Stufe zu einem Adressendecoder geführt sind, daß der Adressendecoder mit dem Speicher (ROM oder RAM) verbunden ist, in dem die linearen Kombinationen der Filterkoeffizienten gespeichert sind, und daß ferner der Akkumulator die nacheinander aus dem Speicher ausgelesenen Teilbeträge unter Berücksichtigung der Gewichtung addiert und die Ausgangswerte bildet.
Ein spezielles Ausführungsbeispiel als Rekursivfilter für PCM-codierte Signale besteht darin, daß eine erste und eine zweite aus in Reihe geschalteten Schieberegisterstufen bestehende Verzögerungsleitung mit einer der Anzahl der Bits des zu verarbeitenden Signals entsprechenden Anzahl von Stufen vorgesehen ist daß die erste Verzögerungsleitung am Ausgang jeder ihrer Registerstufen und die zweite Verzögerungsleitung am Ein- und Ausgang jeder ihrer Registerstufen eine Anzapfung aufweist, daß die zweite Verzögerungsleitung einen direkten Filterabschnitt darstellt, dessen Eingang die Bits seriell zugeführt werden, und daß die erste Verzögerungsleitung einen Rückkcpplungsabschnitt darstellt, dessen Einang die vom zweiten Filter ausgegebenen Bits seriell zugeführt werden, daß an die Anzapfungen ein Adressendecoder angeschlossen ist, daß ein Speicher vorgesehen ist, in welchem Worte entsprechend der Teilbeiträge der gleichgewichteten Bits zu der gewichteten Summe der der Differenzgleichung zugeordneten Binärwerte enthalten sind, und daß ferner ein Akkumulator mit Verschiebeeinrichtung vorgesehen ist, der die partiellen, nacheinander aus dem Speicher geholten Teilbeträge unter Berücksichtigung der Gewichtung addiert.
Vorteilhafte Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden anschließend näher beschrieben. Es zeigt
F i g. 1 das Funktionsdiagramm eines Rekursivfilters, F i g. 2 das Funktionsdiagramm eines erfindungsgemäßen Rekursivfilters für PCM-codierte Daten,
Fig.3 das Funktionsdiagraaim eines erfindungsgemäßen Filters,
F i g. 4 das Funktionsdiagramm eines erfindungsgemäßen Rekursivfilters fürzl-codierte Daten,
ίο Fig.5 das Funktionsdiagramm eines erfindungsgemäßen Transversalfilters und
Fig.6 das Funktionsdiagramm eines erfindungsgemäßen Filters, welches mit einem RAM arbeitet
Theoretisch kann die Übertragungsfunktion eines Filters, abgetastet mit einer Frequenz Fs, zusammengesetzt werden durch Verwendung eines Gerätes, welches die schematisch in F i g. 1 gezeigten Operationen ausführt Die aufeinanderfolgenden Abtastungen des zu filternden Signals X werden über eine Verzögerungsleitung übertragen, welche sich aus Zellen mit einer Grundverzogerung Γ zusammensetzt welche gleich der Abtastperiode ist. Das von den Anschlüssen einer jeden Verzögerungszelle abgenommene Signal wird mit einem gegebenen Faktor λ multipliziert, der nach einem ausgewählten Verfahren entweder von der Impulsantwort oder von der gewünschten Frequenzübertragungsfunktion abgeleitet ist Der Abschnitt des diese Operationen ausführenden Gerätes wird als »direkter Abschnitt« bezeichnet Die Ergebnisse dieser Gewichtung werden dann in der 2-Stufe addiert Das gefilterte Ausgangssignal Y wird in die Stufe Σ erneut eingegeben, nachdem es durch eine zweite Verzögerungsleitung gelaufen und die Gewichtungsoperationen mit anderen Werten des genannten Faktors λ ausgeführt wurden. Dieser Abschnitt wird »Rückkopplungsabschnitt« genannt.
Ein solches Gerät muß Multiplikationen und Additionen ausführen; dazu eignet sich, nach Umwandlung der zu filternden \btastwerte in die Digitalform, besonders ein Rechner. In diesem Falle liefert jeder Abtastwert ein logisches Wort, dessen Bits nach Durchlaufen verschiedener Stufen eines verzögernden Schieberegisters verarbeitet werden, um die oben angegebenen mathematischen Operationen auszuführen. Das Signal ist oft schon in digitale Form umgewandelt durch PCM- oder ^-Modulation. Eine die direkte Filterung dieser codierten Signale ermöglichende Einheit ist besonders zweckmäßig. Ein wesentlicher Unterschied sollte jedoch zwischen den Geräten bestehen, die Δ- oder jo PCM-Signale verarbeiten, da im letzten Fall diese Geräte sich mit dem einem jeden Bit des PCM-Wortes zuzuordnenden Gewicht und mit dem Vorzeichen zu befassen haben, während bei der 4-ModuIation diese Beschränkungen nur vorliegen, wenn das Signal (Δ) im PCM-Betrieb in (Δ) codiert umgewandelt wird. Diese Probleme sind besonders beim Bau von Rekursivfiltern kritisch, wo die Signale im direkten und im Rückkopplungsabschnitt des Filters unbedingt im selben Code stehen sollten.
Ein volldigitales Rekursivfilter ist im französischen Patent Nr. PV 70 40 291 vom 29.10. 1970 genauer beschrieben. Bei diesem Gerät wird ein ROM zum Speichern einer Kombination verwendet, die den Ergebnissen der Addition der gewichteten Werte entspricht. Dann wird der Speicher direkt mit einem an verschiedenen Anzapfungen der Verzögerungsleitung gelieferten Wort adressiert. Der in diesem Gerät verwendete Prozeß kann auch auf die Filterung eines
Signals im PCM-Betrieb unter der Voraussetzung angewandt werden, daß die zusammensetzenden Elemente die spezielle PCM-Charakteristik berücksichtigen.
Ein Filter für PCM mit fünf Bitwörtern kann z. B. mit Hilfe eines Schieberegisters zusammengesetzt werden, dessen einzelne Stufen fünf Bitpositionen enthalten. Die Ausgänge einer jeden der besagten Stufen werden auf einen ROM-Adreßdecodierer geleitet, wobei der erwähnte Speicher den Beitrag eines jeden betroffenen Bit mit derselben Gewichtung zur zu liefernden Summe
Y(NT) = σ, Y(NT- T) + a2 Y(NT- 2 7) + Ct)X(NT) + aA X(NT- T)
worin a·,, a2, a? und ad sowie die Veränderlichen X und Y mit positiven Werten angenommen werden. (Dieses System ist nur als Beispiel zur Einführung der Vorzeichennotwendigkeit gegeben.) Die Difierenzengleichung kann in kompakter Form wie folgt geschrieben werden:
als Ausgabe liefert. Um die Gewichtung der verschiedenen binären Bits zu berücksichtigen, kann ein Akkumulator verwendet werden, der sich aus einem binären Addierer mit einem angeschlossenen Schieberegister und einer Rückkopplungsschleife zusammensetzt.
Die zeitliche Beziehung für ein Tiefpaß- oder Bandpaßfilter ähnlich dem im Zusammenhang mit F i g. 1 beschriebenen Filter bei einer Abtastzeit t gleich NT, wobei Γ die Abtastperiode ist, kann folgendermaßen ausgedrückt werden:
γ =
worin η die Zahl der Gewichtungsanzapfungen auf der Verzögerungsleitung oder im Schieberegister ist. Der Ausdruck «,bezeichnet die verschiedenen Gewichtsfaktoren oder Koeffizienten wie x\, «2, «3, «4 usw., die von einer Abtastung der Impulsantwort oder von der Filter-Übertragungsfunktion abgeleitet sind. Z, ist der Abtastwert für Yund X des zweiten Gliedes der obigen Differenzengleichung. Nennt man Zj das y-ste Bit der Abtastung Zj, so erhält man bei der PCM mit M Bits
J=I
worin Zj = 0 oder 1 entsprechend dem Wert des Bit der Abtastung Z, und A/gleich der Anzahl von Bits 1 eines Abtastwortes ist. Die Zahl Λ/ist mit derselben Genauigkeit definiert wie die vorweggenommenen Ergebnisse. Dann kann obige Gleichung wie folgt geschrieben werden:
i-l J=] J-I /=1
worin 2°~" gleich dem Gewicht desy-sten Bit ist, wenn man
nennt.
S, ist das Teilergebnis, welches dem /-sten Bit entspricht Mit anderen Worten ist Sj ein Teil des Endergebnisses.
Wenn man also die Impulsantwort des gewünschten Filters kennt, kann der Gewichtungsfaktor α, bestimmt werden, und dann können alle Werte von Sj unter Berücksichtigung der Genauigkeit der Berechnungen in einem Speicher gespeichert werden. Die Kombination der Bits für die verschiedenen Anzapfungen des Schieberegisters wird als eine Adresse für besagten Speicher benutzt. Dann kann die Operation ZZi-V ■ Sj einfach mit einem Akkumulator ausgeführt werden, der durch ein zu einem binären Addierer gehörendes Schieberegister gebildet wird oder durch einen anderen Akkumulator, der diese Operation ausführen kann. ω
Ein PCM-Rekursivfflter kann also ganz einfach hergestellt werden. In diesem Fall sollte der erforderliche ROM eine Kapazität von 2" Wörtern haben. Die Anzahl der Bits pro Wort B bestimmt die Berechnungsfehler in Verbindung mit der Differenzengleichung.
Ein Ausführungsbeispiel eines PCM-Filters gemäß obiger Beschreibung ist in Fig.2 gezeigt Ein ROM oder ein RAM, adressiert durch vier Bits und daher 24 = 16 Wörter entsprechend den erwähnten Teilergebnissen 5, enthaltend, bildet das Zentralelement des Filters. Der Adreßdecodierer des ROM (AD-Decodierer) empfängt an seinem Eingang die betroffenen Bits mit demselben Gewicht die zu den Elementen der oben definierten Differenzengleichung gehören, and adressiert eine Speicherposition, die das Ergebnis parallel auf den ROM-Ausgang liefert Die vom ROM kommenden B-Bits werden auf den Addierer A fibertragen. Die vom Addierer kommenden und die Ausgabeinformation Y(NT) enthaltenden Bits werden über eine Stufe an A zurückübertragen, welche eine Division durch 2 oder eine Rechtsverschiebung durch ein von einem Taktgeber //gesteuertes Tor G vornimmt
Nach dem Abrunden auf M Bitpositionen wird der Ausgang der Stufe A in serielle Form gebracht durch CPS, bevor er auf die Schieberegister Cl und C2 zurückgekoppelt wird. Jedes der beiden Elemente Cl und C2 wird durch ein Schieberegister nut Af Bitpositionen gebildet Somit stellt das Ausgabebit des Registers Cl zu jeder Zeit das Bh von Y(NT-T) dar, welches an den Eingang 1 des ROM-Adreßdecodierers
angelegt wurde, während das von C2 kommende Bit das Bit von Y(NT-2 T)darstellt, welches an den Eingang 2 besagten Decodierers angelegt wurde. Die Eingänge 3 und 4 des Decodierers werden in entsprechender Weise mit den Bits des PCM-Probewertes X(NT), die sequentiell übertragen werden, und mit den von einem Schieberegister C3, welches identisch mit den Registern CX und C2 ist, kommenden Einsen gespeist. Die Bits werden auf den X-Eingang mit einer Rate von MxFs gegeben, wobei Fs die Abtastfrequenz ist. Der Taktgeber H stellt den Akkumulator A mit der Abtastfrequenz Fs zurück.
Dieses Gerät enthält eine Anzahl von Adressiereingängen /j=4 entsprechend 16 ROM-Adressen. Daher
kann zu jedem Zeitpunkt t, wenn j die Ordnungszahl des verarbeitenden Bits der Abtastung Z, ist, K geschrieben werden als:
Y =
ία,Z\' + a2
a4 Z4 1]
worin Z\i, Z^, Zy und Zn' die Bits mit der Gewichtung 20'-V zum Zeitpunkt ( und den oben definierten Eingängen 1,2,3 und 4 darstellen. Diese Bits können nur 0 oder 1 sein. Jede Konfiguration des Wortes Z\J Ζΐ> Z-)i Z4 entspricht einer einzigen Konfiguration der Summe Sj, einem Anteil gemäß folgender Tabelle:
Ά Z2 A Z4 Sj
0 0 0 0 0
0 0 0 1 aA
0 0 1 0 a3
0 0 1 1 a} + a4
0 1 0 0 «7
0 1 0 1 a2 + aA
0 1 1 0 (X2 + a}
0 1 1 1 a2 + a3 + a4
0 0 0 <*\
0 0 1 α, + a,
0 1 0 α, + a-i
0 1 1 ct\ + a} + a4
1 0 0 <*\ + a2
1 0 1 a, + as + Ö4
1 1 0 «ι + a2 + ay
1 1 1 1 ff, + a2 + a} + a4
Der ROM muß also 16 Wörter enthalten, die durch das Wort Z]JZ^ZiI ZaJ adressiert werden. Die aus dem ROM abgerufener. Wörter müssen dann unter Berücksichtigung der Gewichtung 20-') addiert werden. Die Gewichtungsoperationen erhält man jetzt durch einfache Verschiebung des entsprechenden Wortes, nachdem man das Ergebnis der vorhergehenden Operationen erhalten hat, um eine Position in die niederen Stellen, bevor das während der vorhergehenden Operationen abgerufene j-te Wort addiert wird. Das im Zusammenhang mit F i g. 2 beschriebene System übernimmt durch mehrfache Wiederholungen die aufeinanderfolgenden Speicheroperationen und die obige Operation durch Verschieben des vorhergehenden Ergebnisses nach rechts und die Addition des Ergebnisses dieser Operation zu dem neuen aus dem ROM geholten Wort Sj. Diese Operationen werden dadurch ausgeführt, daß der Addierer A in einer Schleife durch die Zweier-Divisionsstufe läuft und dadurch die Rechtsverschiebung bewirkt Die Verkürzung des Ergebnisses erfolgt außerdem dadurch, daß man aus M werthöhere Bits des Gesamtergebnisses unter Berücksichtigung der für den auf der Teflsumme erhaltenen Höchstwert angenommenen Standardisierung, die die Lage des Kommas bestimmt, nimmt und durch Addition von 0,5 zu dem so erhaltenen Af-Bitwort rundet
Das oben beschriebene Gerät zur Filterung von PCM-Daten kann natürEch auch für ^-Signale angewandt werden, wenn gewisse Änderungen von Einzelheiten vorgenommen werden, die später beschrieben werden.
Die PCM- oder /!-Signale können positiv oder negativ sein; das bisher beschriebene System zeigte bis jetzt keinerlei Berücksichtigung dieser Tatsache. Wenn die Signale im binären Code Zweier-Komplement genannt werden, so ist das die höchste Stelle M belegende Bit Sj das einzige, welches dem Signal beispielsweise durch seine Stellung auf 1 anzeigt, daß sein Beitrag zu der im Akkumulator auszuführenden
so Rechnung abzuziehen ist Dadurch wird die Verwendung eines ROM erforderlich, das nicht nur die Werte Sj, sondern auch die Werte —5,· enthält Die benötigte ROM-Kapazität ist dann doppelt so groß wie die oben gelieferte. Diese Beschränkungen können überwunden und nur 2" Wörter auf verschiedene Weise gespeichert werden. Bei dem einen Verfahren werden die spezifischen Eigenschaften des Zweier-Komplementcode, bei anderen Verfahren wird ein anderer Code benutzt
Im ersten Fall existieren verschiedene Lösungen, von denen zwei hier benutzt wurden. Bei der einen Lösung bleibt der Wert einer in Zweier-Komplement geschriebenen Zahl für jede Erweiterung des Wortes in höhere Werte hinein (Erweiterung nach links) unverändert, indem man das zuletzt geschriebene Bh wiederholt Bei diesem Code ist der Beitrag des mit der höchsten Gewichtung versehenen Bit negativ, während die 1 der anderen Bits positiv ist Der Wert der im Zweier-Kom-
plement geschriebenen Zahl ändert sich durch Erweiterung nach links natürlich nicht, weil das lediglich die Anwendung der folgenden Eigenschaft bedeutet
der logischen Identität wie folgt aus:
ι = zk + Tk-
durch Einsetzen von Z„ für Z1, ergibt sich:
Bei einem anderen Verfahren ist vorgesehen, die Multiplikation unabhängig vom Vorzeichenbit auszuführen, wenn das Vorzeichenbit des Multiplikationsfaktors einer Multiplikation von zwei Zweier-Komplementzahlen so oft wiederholt wird wie die Anzahl von Bits B des Multiplikanden. Das oben aufgezeigte Problem kann in diesem Fall dadurch gelöst werden, daß man die Länge des Wortes Z, auf M+ B Bits erweitert, indem man das Vorzeichenbit wiederholt. Die Akkumulatorkapazität kann unter der Voraussetzung unverändert bleiben, daß die Wertskala so gewählt wird, daß nach Abrundungen der Verlust von ß-Bits mit der niederen Gewichtung keine Bedeutung hat, da es zum Weglassen der Bruchwerte kommt. Dieser Verarbeitungsbetrieb ist jedoch langsam, da er B Grundzeiten mehr erfordert, als durch das oben geschriebene Gerät erwartet werden.
Das zweite die Eigenschaften des Zweier-Komplementcode ausnutzende Gerät macht sich die Möglichkeit zunutze, das richtige Ergebnis am Ende einer Akkumulation zu erhalten, indem für j=M Vorzeichenbits vom Beitrag S, subtrahiert werden, wobei diese Bits, falls sie einer binären Eins entsprechen, ein negatives Vorzeichen darstellen und somit eine Subtraktion bewirken. Die direkte Lösung bei der Anwendung dieses Verfahrens besteht in der Verdoppelung der ROM-Kapazität durch Addition der entsprechenden negativen Werte zu den vorher aufgezeichneten 2" Werten von Sy und durch Unterscheidung der Existenz von Vorzeichen beim M-ten Gewicht durch Addition eines n+\ Adreßbit zum ROM. Diese Speichererweiterung wird vermieden, indem man einen Index für die Abfühlung des Vorzeichenbits verwendet Der jeweilige Beitrag Sy für das aus dem ROM abgerufene j=M entsprechend dem in der Adresse Z\MZiM... Z„M sollte vor der Akkumulation negativ gemacht werden. Zu diesem Zweck werden die ß-Bits des Inhaltes der Adresse ZiMZ2 M...Z„M komplementiert und eine binäre Eins zum Ergebnis addiert Diese Lösung ist sehr vorteilhaft, da sie eine wesentliche kürzere Verarbeitungszeit fordert als die zuerst genannte, während ein ROM mit gleicher Kapazität benutzt wird, d. h. für das gegebene Beispiel mit einer Kapazität von 16 Wörtern.
Diese Kapazität kann noch einmal reduziert werden, indem man die Verwendung eines modifizierten internen Zweier-Komplementcode (CIM) mit der erwähnten Indkieitechnik gemäß nachfolgender Erklärung kombiniert. Der Wert einer jeden im Zweier-Komplement codierten Zahl (Z) kann wie folgt angegeben werden (wobei wegen der einfacheren Erklärung nur ganze Zahlen berücksichtigt werden, die Ableitung sich jedoch auch auf Brüche anwenden läßt):
M-I
worin Mdie Anzahl der Bits des Wortes {Z} und ^ oder zM der binäre Wert des Bits nach seinem Rang ist Im CIM-Code sieht dasselbe Wort unter Berücksichtigung
{Ζ} -Σ*'*'21Ut-z*+2"
worin zo gleich 0 ist.
Diese beiden Gleichungen zeigen, daß ein CIM-codiertes Wort leicht aus dem im Zweier-Komplement codierten Wort abzuleiten ist durch Zuordnung eines Bit Z0 = O zum Stellenrang Null und einer Gewichtung 2~', was somit ein zusätzliches Bit EB darstellt; dabei werden alle folgenden /?-! Bits ohne Veränderung wiedergegeben mit Ausnahme des einen der höchsten Stelle Zm, welches komplementiert ist; die Gewichtungen dieser M—\ Bits werden um Eins reduziert. Die Wörter im CIM-Code haben daher ein Bit mehr als die im Zweier-Komplementcode.
Durch Anwendung dieses Code für Z, in der Berechnung von Verhält man:
γ -
Z, =
7-1
Υ=Σ
J-I
indem man
und
S0 = -(αχ+ (X1 + ... a„)
das demy-ten Bit entsprechende Teilergebnis folgt aus:
Y -
J=I
Es reicht daher aus, wenn mar. über die Werte von Sy und So verfügt
Der obige Ausdruck zeigt, daß der Speicher alle Kombinationen Σ±<χΐ enthält, wenn Z, einmal CIM-codiert ist In diesem Fall werden die im Zweier-Komplementcode auf den Adressen 0 und 15 der Tabelle geschriebenen Speicherwörter unter Steuerung der Z-Adreßwörter abgerufen und nacheinander akkumuliert, nachdem sie ihrem Gewicht entsprechend verschoben wurden. Dann braucht sich der Akkumulator nicht mit Vorzeichenproblemen hinsichtlich des Beitrags von S, im Falley=Maufzuhalten, sondern jedes aus dem Speicher geholte Wort kann gemäß nachfolgender Aufstellung positiv oder negativ sein, nngeachtet des Wertes von y.
Nichtmodi- Ά Ά 0 Z
fizierte 0
Adresse 1
(0) 0 0 1 0
(D 0 0 0 1
(2) 0 0 0 0
(3) 0 0 1 1
(4) 0 1 1 0
(5) 0 1 0 1
(6) 0 1 0 0
(7) 0 1 1 1
(8) 1 0 1 0
(9) 1 0 0 1
(10) 1 0 1 0
(11) 1 0 1 1
(12) 1 1 1 0
(13) 1 1 1
(14) 1 1 0
(15) 1 1 1
Die in obiger Tabelle erscheinende Symmetrie verdeutlicht die Tatsache, daß eine Speicherung von 8 anstelle jo von 16 Wörtern ausreicht, um alle möglichen Kombinationen im Speicher zu haben. Das Bit Z\i kann als Index zur Komplementierung der durch das Wort Z2/ Zji Z4J gelieferten Adresse einerseits und zur Änderung des Vorzeichens von Sj andererseits unabhängig vom Wert von j benutzt werden, sobald Z1J = 1 ist. Diese Operationen können mit aus XOÄ-Schaltungen ausgeführt werden.
Aus der Tabelle ist außerdem zu ersehen, daß die Indizierung auch mit einem der Bits Z1J, Z2/, Zji oder Zt,' erfolgen kann, wobei die anderen als Adresse benutzt werden.
Zwecks Eignung für den CIM-Code muß das Diagramm der Fig.2 verändert werden. Für diesen Zweck genügt es, die Kapazität der Register C1 bis Ci um 1 Bit zu erhöhen, den Serienwandler CPS mit einem Konverter auszurüsten, der den Zweier-Komplementcode in den CIM-Code umsetzt (das Bit mit der niedrigsten Gewichtung wird beim Abrunden durch eine Null ersetzt und das Vorzeichenbit komplementiert), die jo Division durch 2 (Schiebeoperation) für das Bit mit der niedrigsten Stelle zu verhindern, indem man ein vom Taktgeber H bei jedem M+1 Bits gesteuertes Tor G' verwendet Das X(NT) muß vorher natürlich im CIM-Code codiert werden.
Nachdem die in Fig.2 gezeigte Schaltung auf diese Weise verändert wurde, erhält man das Diagramm der Fig.3. In dieser Figur laufen die Bits ZÄ Z3I und ZJ durch die Schaltungen XOR 2, XOR 3 bzw. XOR 4, bevor sie zur Adressierung des Speichers benutzt werden, wobei das zweite Ausgangssignal dieser Schaltungen geliefert wird durch den Index ZJ, der bei Stellung auf binäre 1 die zuerst erwähnten Bits komplementiert
Außerdem muß das Vorzeichen des in Zweier-Komplementform mit B-Bits geschriebenen Wortes, welches aus dem Speicher abgerufen wird, ebenfalls modifiziert werden, wenn ZJ = 1 ist, da der Speicher nur eine Hälfte der Teilbeiträge zum Endergebnis enthält. Zu diesem Zweck können besagte ß-Bits und der Index einer ΧΟΛ-Verknüpfungsoperation mit der Schaltung XOR 1 unterworfen werden, und dann wird durch den Akkumulator eine binäre 1 zum Ergebnis addiert.
Die oben beschriebene Konstruktion des digitalen Filters läßt sich nicht nur für die PCM-Modulation anwenden, sondern auch für die in PCM umgesetzte 4-Modulation. Für diesen Fall hat die oben erwähnte Patentanmeldung gezeigt, daß die vom ROM abgeleitete Information in Form einer mehrstufigen 4-ModuIation vorliegt und daß sie vor der erneuten Eingabe in den Rückkopplungsabschnitt des Filters neu codiert werden muß. Das erklärt die Existenz des 4-CIM-Konverters in dem in Fig.4 gezeigten Gerät in der CPS-Schaltung. Ebenso sollten alle ROM-Adreßbits im selben Code stehen und die in PCM codierte ^-Information wird in den CIM-Code umgesetzt 42- CIM.
Obwohl die bisherige Beschreibung der Erfindung auf Rekursivfilter beschränkt war, gelten obige Berechnungen auch für ein Transversalfilter. Dieses Filter ist einfacher aufgebaut als ein Rekursivfilter, da es nur den direkten Abschnitt umfaßt
Geht man von dem in F i g. 2 gezeigten Gerät aus. so erhält man leicht die in F i g. 5 gezeigte Anlage. Das PCM-codierte Signal wird an den Eingang von Verzögerungsleitung C"\, C"2...C"n angelegt Mit den am Eingang des ROM-Decodierers erscheinenden Bits wird der ROM adressiert Wörter werden aus dem ROM genauso abgerufen und dann akkumuliert, wie es oben beschrieben wurde.
Bei manchen Anwendungen ist ein Gerät erwünscht dessen Gewichtungsfaktoren im Echtzeitbetrieb verändert werden können. Das ist z.B. der Fall, wenn Entzerrer an Obertragungsleitungen angeschlossen werden. Dann ist die Verwendung eines ROM nicht mehr möglich, die durch die Verfügbarkeit der Teilbeiträge zum Endergebnis erzielten Vorteile sollten jedoch aufrechterhalten werden. Dieses Problem kann
durch Verwendung eines RAM gelöst werden. In den RAM-Registern werden die Teilbeiträge gespeichert und können bei Bedarf vor Verwendung in irgendeinem Gerät verwendet werden, weil eine Verknüpfungsschaltung vorhanden ist F i g. 6 zeigt das Funktionsdiagramm eines Ausführungsbeispieles eines derartig ausgelegten Filters. Die Faktoren «i, «2. «3 und «4 werden auf eine Logik-Stufe LOG übertragen, die mit Rechenstufen ausgerüstet ist, welche die Werte der Teilbeiträge 5, aus der obigen Tabelle liefert die in der in F i g. 3 gezeigten Einheit bei den Adressen 0 bis 8 aufgezeichnet wurden. Diese Wörter werden in den Registern 1 bis 8 des RAM gespeichert Der übrige Aufbau und die Arbeitsweise des in F i g. 6 gezeigten Gerätes gleichem dem in F i g. 3 gezeigten Gerät in allen Punkten.
Jedes Gerät dieser Erfindung benutzt einen Akkumulator, in welchem Schiebeoperationen ausgeführt werden. Die Wahl dieser Akkumulatoren wird wesentlich durch die Absicht eingeschränkt, in Echtzeit zu arbeiten. Die durch die aus Speicher und Akkumulator bestehende Baugruppe auszuführende gesamte mathematische Operation entspricht einer Serien-Parallelmultiplikation der beiden Faktoren <xn«n-;..-«i und ZnZn-I...Zu wobei der in α erscheinende Faktor parallele Form und der in Zerscheinende Faktor serielle Form hat und jeder Wert für «,und Z,(wobei sich von 1 bis π ändert) in binärem Code geschrieben ist. Die Operation kann durch Verwendung eines Parallel-Serienakkumulators (parallele Eingabe — serielle Ausgabe) ausgeführt werden, wie er von Mr. Richards in seinem Buch »Arithmetic operations in digital computers« auf S. 155 beschrieben ist, wenn diese Schaltung entsprechend angepaßt wird.
Das Diagramm der F i g. 7 zeigt ein Filter, welches in allen Punkten ähnlich dem Filter in F i g. 3 ist, jedoch wurde das Register Ct entfernt, da der Akkumulator bereits eine Verzögerung von einer Wortdauer liefert, und daher wurde der Aufbau des Akkumulators dargestellt. Die Wörter der erwähnten Register stehen bekanntlich im CIM-Code mit M +1 Bits (in diesem Fall 6), die Wörter im Speicher stehen im Zweier-Komplement mit .B-Bits (in diesem Fall 5). Die den oben angegebenen mathematischen Operationen entsprechenden Akkumulationsoperationen werden im Zweier-Komplementcode ausgeführt, und das Ergebnis muß in den CIM-Code umgewandelt werden, bevor es in das Register C 2 eingegeben wird.
Das Grundelement dieses Akkumulators ist ein in F i g. 7a gezeigtes Modul (BAS). Es umfaßt ein Addierwerk mit zwei Dateneingängen Λ'und B', einen Übertragungseingang Ciund zwei Ausgänge Sound Co für die Summen- bzw. Übertragsausgabe besagten Addierers. Das Modul BAS ist mit zwei Dateneingängen A und dausgerüstet, zwei Steuereingängen/und Kund zwei Ausgängen 5 und C. Die Ausgänge 5 und C sind entsprechend an Summen- und Übertragsausgabe besagten Addierers angeschlossen. Der Eingang B ist direkt mit B'verbunden, der Eingang A mit A'über ein Tor Pl, welches durch das an / nach Komplementierung durch /1 angelegte Signal gesteuert wird. Die Signale auf J und K werden auf den Eingang Ci über das Tor P 2 und ein Oder-Glied mit zwei Eingängen übertragen. Das bei CO erscheinende Übertragssignal des Addierers wird durch Verwendung eines Verzögerungselementes um eine Bitzeit 8 verzögert und erneut an den Eingang Ci über den zweiten Eingang des Oder-Gliedes und ein Tor P3 angelegt, welches durch das in K angelegte und durch /2 komplementierte Signal gesteuert wird.
Einen Akkumulator erhält man durch Verbindung verschiedener BAS-Stufen in Kaskadenform, bei welcher der Ausgang S einer Stufe an den Eingang A der folgenden Stufe über ein Verzögerungselement 8 angeschlossen ist und durch parallele Eingabe der Ergebnisse besagter aus dem Speicher abgerufener Teilbeiträge in die Eingänge B.
Somit sind die Ausgänge der verschiedenen Stufen XOR 1 entsprechend direkt mit dem Eingang B einer Stufe BAS \ bis BAS 4 verbunden. Der Ausgang der Stufe, welche das Bit mit der niedrigsten Gewichtung des vom XOR1 ausgegebenen Wortes führt, ist mit dem Eingang B des BAS 5 bis BAS 6 verbunden und empfängt einerseits besagtes betroffenes Bit mit der niedrigsten Gewichtung auf seinem Eingang A und andererseits das Bit Z\i auf seinem Eingang B. Die Zwischenstufe BAS 6, deren Eingang / auf Null steht und deren Eingang K mit den Eingängen K des BAS1 bis BAS5 verbunden ist, dient zur Addition der der Vorzeichenänderung entsprechenden binären Eins, welche in der obigen Beschreibung der Fig.3 aufgeführt ist, wenn Zy=I ist Somit verändern bei Bedarf XOR1 und BAS 6 das Vorzeichen des aus dem Speicher abgr mfenen Teilbeitrages.
Zu jeder Bitzeit wird das Bit mit der niedrigsten Gewichtung des Akkumulationsergebnisses ausgestoßen, indem die Summeninformation nach rechts verschoben wird, welches einer in F i g. 3 angezeigten Division durch 2 entspricht Gleichzeitig wird die Summeninformation einer jeden BAS-Stufe auf der Eingang A der folgenden Stufe nach einer Verzögerungszeit von 1 Bit übertragen. Der Akkumulator ist dann zum Empfang des nächsten Teilbeitrages auf der Eingängen B und zur Wiederholung der vorhergehenden Operation bereit, bis alle Bits des Wortes Z,-benutzt sind.
Verschiedene Beobachtungen gestatten eine Verbesserung dieses Akkumulators und liefern gleichzeitig eine bessere Anpassung an den speziellen Bedarf dieser Erfindung. Im Zusammenhang mit der Verarbeitung dei Teilbeiträge wurde bereits gesagt, daß durch die Existenz des Vorzeichens der im Zweier-Komplementcode geschriebenen Wörter eine Erweiterung des Wortes nach links dadurch möglich ist, daß man das BiI mit der höchsten Gewichtung (Vorzeichenbit) M-m& wiederholt. Bei den aufeinanderfolgenden Akkumulationsschritten braucht das Vorzeichenbit jedesmal urr nur eine Stelle erweitert zu werden. Dann erfordert die Linkserweiterung keine zusätzliche BAS-Stufe. Zui Simulation dieser Erweiterung braucht lediglich dei verzögerte Ausgang S des BASi direkt auf seiner Eingang A zurückgegeben werden, wie es in Fig./ dargestellt ist.
Die rationelle Ausnutzung der Anlage allgemein unc des Speichers im besonderen bringt die Wahl einer füi den Teilbeitrag
Σι
at
reservierten Speicherstelle mit sich, wobei diese:
Teilbetrag nicht größer ist als jener, den die Zah
es erfordert, die der gegenüber dem obenerwähnter Teilbetrag nächstgrößeren Potenz von zwei entspricht Diese Operation stellt eine Standardisierung dar, di<
die Kommastelle im Akkumulationsergebnis festleg
ί5
und einen Rang ρ, welcher gleich dem natürlichen Logarithmus besagter Potenz ist (p kann positiv oder negativ sein). Im Fall der Fig.7 ist p=2 und B=S und daher der größte Teilbeitrag gleich 3,75, wobei zur Standardisierung des Ergebnisses der Inhalt von BASX und BAS2 am Ende des Akkumulationsprozesses vernachlässigt werden muß, da sie dann keine für das Ergebnis wertdarstellende Zahl enthalten können. Berücksichtigt man die Eigenschaften des Zweier-Komplementcode, so können diese Stufen nur eine Erweiterung des Vorzeichenbits besagten Teilbeitrages enthalten und können daher gelöscht werden.
Das Z-Wort im CIM-Code, welches Λ/+1 Bits enthält, entspricht dem Zweier-Komplementwort mit M Bits, d. h. fünf Bits für das in F i g. 7 gezeigte Beispiel. Das erklärt die Anwesenheit von θ 1. Außerdem wird das Endergebnis abgerundet, und die zu diesem Ergebnis führende Berechnung erfordert wieder ein zusätzliches Bit, wodurch die Existenz von θ 2 erklärt ist.
Nach M+1 Bitzeiten wird drittens die Verarbeitung eines Z-Wortes für den Speicher beendet, der Akkumulator ist jedoch noch nicht leer, es bleiben noch B-p Bits zur Verwendung übrig. Die evtl. resultierende langsamere Filterung wird durch die beiden Register R 1 und R 2 und die beiden Stufen BAS7 und BASS vermieden, die die Operation beenden und die Freigabe von BAS1 bis BAS 6 ermöglichen.
Die Register R1 und R 2 bestehen aus Stufen D, die ähnlich aufgebaut sind wie die in Fig. 7b gezeigte und zwei Dateneingänge Do und Eo enthalten, einen Prüfeingang L und einen Ausgang F. Jede Stufe enthält eine Verriegelung FFl, die als 8-Bitzeit-Speicher für eine Bitzeit (Θ) arbeitet und deren Ausgang an den Punkt F und deren Eingang an den Ausgang eines Oder-Gliedes OR 1 mit zwei Eingängen angeschlossen ist. Die Eingänge Do und Eo speisen zwei Tore P3 und PA, die durch das Signal bei L bzw. sein von /3 geliefertes Komplement gesteuert werden. Die Ausgänge von P 3 und PA werden an das Oder-Glied 1 angelegt.
Das Register R X besteht aus den Stufen D1, D 2, D 3 und aus bistabilen Kippschaltungen θ 3, θ 4, θ 5 in Kaskadenschaltung. Sein Ausgangssignal wird vom Ausgang der Kippschaltung θ 5 abgenommen (F i g. 7).
Das Register R 2 enthält Stufen D'\ bis D' 7 und die Stufe BAS7. Sein Eingang wird vom Ausgang von D'7 genommen.
Die Eingänge Do der Stufen D1 bis D 3 sind mit den Ausgängen C des BAS3 bis BASS verbunden. Der Eingang Eo von D X steht auf Null, die Einsen von D 2 und D 3 sind mit dem Ausgang F der vorhergehenden Stufe D verbunden, die zu demselben Register gehört. Den Ausgang von R X erhält man durch Kaskadenverbindung von θ 3, θ 4, θ 5 mit dem Ausgang von D 3.
Die Eingänge Do der Stufen D' 1 bis D'3 sind mit den Ausgängen 5 von BAS2 bis BAS4 verbunden. Die Eingänge Eo von D'2 und D'3 sind mit den Ausgängen F der vorhergehenden Stufe D von R 2 verbunden. Die Punkte Fund Eo von D'\ sind miteinander verbunden. Der Ausgang C des BAS6 ist an die Do von D'A angeschlossen, dessen Ausgang Eo auf Null steht. Die Ausgänge F von D'4 und D'3 sind an die Eingänge A und B des BAS 7 angeschlossen, dessen Eingang / auf Null steht und dessen Eingang K mit den Eingängen K von BAS1 bis BAS 6 gemeinsam ist. Der Rest des Registers R 2 setzt sich zusammen aus D'5, D'% und D'7, deren Eingänge Do mit dem Ausgang 5 von BAS5 und den Aasgängen Fvon D'5 und D'7 verbunden sind. Der Ausgang von θ 5 ist an den Eingang B des BASS über das Oder-Glied OR 2 angeschlossen, dessen zweiter Eisgang an den Ausgang von D 7 über ein Und-Glied ETA gelegt ist Die Eingänge K und J des BASS sind mit .Kder BAS\ bis BAS7 gemeinsam. Der Ausgang von D'7 wird an den Eingang A des BASS gelegt Der Ausgang 5 des BASS ist an einen Eingang eines Oder-Gliedes Po'angeschlossen, dessen Ausgang mit einem Eingang von XOR 5 verbunden ist welches den Eingang des Registers G2 speist Die Synchronisation der Anlage erfolgt mit einem binären Signal Si= 1 zu den Zeitpunkten, an denen die zusätzlichen Bits E/B und Zm verarbeitet werden und für die anderen Bitzeiten eines jeden Wortes Z gleich Null sind (in dem in der Figur gezeigten Fall kommen Wörter im CIM-Code synchron an und umfassen 6 Bits, daher ist zu den Bitzeiten 1 und 6 Si=I). Das Signal 5/ wird direkt auf den zweiten Eingang des XOR 5 übertragen. Nach einer Verzögerung von einer Bitzeit wird es auch über die Verriegelung θ 6 (daher ist der Ausgang von θ 6 zu den Zeiten 1 und 2 gleich 1) auf den Eingang /der Stufen BAS \ bis BASS übertragen. Die zusammenfallende Information der Signale Si und seines verzögerten Gegenstückes läuft über ein Und-Glied ET5 (daher ist der Ausgang von ETS zur Zeit 1 gleich 1) und treibt die Eingänge K der Stufen SASl bis BASS sowie den Eingang der zuletzt genannten Stufe. Das um 1 Bitzeit verzögerte und durch /3 komplementierte Signal Si
jo wird gleichzeitig mit dem Signal Si auf das Und-Glied ETS gegeben (daher ist der Ausgang von ET6 zur Zeit 6 entsprechend Zn, gleich 1), und das Ergebnis treibt die Eingänge L der Stufen D1 bis D3 und D' 1 bis D'7. Das Ausgangssignal des Und-Gliedes ETS treibt den zweiten Eingang von ETA.
In dem einer Operation auf der Stelle M+\ entsprechender! Zeitpunkt, also zur Zeit 6, müssen bei synchroner Datenübertragung die Stufen BASi bis BAS 7 freigegeben werden, damit sie mit der Berechnung des nächsten F-Wertes beginnen können. Das Verknüpfungs-Steuersignal überträgt die Summe und den Übertrag der Akkumulatorstufen in die Register R 1 und R 2. Beim folgenden Zeitpunkt (Zeit 1) wird der aus dem Speicher abgerufene Teilbeitrag, der einer aus lauter Nullen bestehenden Adresse entspricht, mit 2 multipliziert, um die dem ersten Bit im CIM-Code zugeordnete Gewichtung zu berücksichtigen, indem man die Übertragseingänge von BASi bis BASS auf 1 zwingt (Existenz von /und K)und so diesen Teilbeitrag
auf die entsprechenden Übertragsausgänge überträgt. Die bei S erhaltene Summe wird im nächsten Zeitabschnitt (Existenz von /^vernachlässigt.
Die Arbeitsweise der Anlage kann daher wie folgt zusammengefaßt werden: Während jeder Bitzeit wird ein Teilbeitrag aus dem Speicher unter Steuerung des Wortes Z^ Zy Z4 abgerufen und sein Vorzeichen unter Verwendung von XOR 1 und BAS 6 modifiziert, wenn Z]J= 1 ist. Die Bits des aus dem Speicher gerufenen Wortes werden parallel in den Akkumulatorabschnitt
bo BASi bis BASS über BAS6 für BASS geleitet. Während jeder Bitzeit wird der Summeninhalt einer jeder der Stufen BASX bis BASS nach rechts verschoben, zur ersten Bitzeit wird der Teilbeitrag jedoch mit 2 multipliziert und die Summe der Stufe
b5 BASX auf den Eingang dieser Stufe nach einer Verzögerung von einer Bitzeit zurückgeleitet. Nach Λ/+ 1 Bitzeiten wird der Summen- und Übertragsgehalt der Stufen BAS 2 bis BAS 6 auf die Stufen der Register
17 18
R1 und R 2 übertragen, und die BAS-Stufen können für indem der Obertragseingang des BASS auf 1 (J und K
eine nächste Akkumulation neu geladen werden. gleichzeitig da) gezwungen und das Bit des XOR 5
Während dieser Zeit wird der Inhalt von R 1 und R 2 systematisch vor der Wiedereingabe in CI durch Null
seriell im BASS addiert und das Ergebnis in den ersetzt wird.
CIM-Code durch Po umgesetzt Der Inhalt von XOR 5 5 Das Filterausgangssignal kann entweder vom Auswird wieder in Cl eingegeben. Die Wörter haben im gang S des BASS im Zweier-Komplementcode oder CIM-Code ein Bit mehr als im Zweier-Komplementco- vom Ausgang des XOR 5 im CIM-Code abgenommen de, d. h. EB=O. Zu dem EB entsprechenden Zeitpunkt werden,
wird durch das BASS eine Abrundung vorgenommen,
Hierzu 6 Blatt Zeichnungen

Claims (9)

Patentansprüche:
1. Digitales Filter, bei dem unter Verwendung eines durch Ausgangs- und/oder Eingangswerte adressierten Speichers durch Tabellenlese-Operationen Teilergebnisse ausgelesen und über Schieberegister verzögert einem Akkumulator zugeführt werden, der die gefilterten Ausgangswerte numerisch bildet, dadurch gekennzeichnet, daß mindestens ein Schieberegister mit einer der Anzahl der Bits des zu verarbeitenden Signals entsprechenden Anzahl von Stufen vorgesehen ist, dem die Eingangs-und/oder Ausgangswerte seriell zugeführt werden und dessen Abgriffe am Ein- und Ausgang jeder Stufe zu einem Adressendecoder geführt sind, daß der Adressendecoder mit dem Speicher (ROM oder RAM) verbunden ist, in dem die linearen Kombinationen der Filterkoeffizienten gespeichert sind, und daß ferner der Akkumulator die nacheinander aus dem Speicher ausgelesenen Teilbeträge unter Berücksichtigung der Gewichtung addiert und die Ausgangswerte bildet
2. Digitales Filter nach Anspruch 1 ausgebildet, als Rekursivfilter für PCM-codierte Signale, dadurch gekennzeichnet, daß eine erste und eine zweite aus in Reihe geschalteten Schieberegisterstufen bestehende Verzögerungsleitung mit einer der Anzahl der Bits des zu verarbeitenden Signals entsprechenden Anzahl von Stufen vorgesehen ist, daß die erste Verzögerungsleitung tam Ausgang jeder ihrer Registerstufen und die* zweite Verzögerungsleitung am Ein- und Ausgang jeder ihrer Registerstufen eine Anzapfung aufweist, daß die zweite Verzögerungsleitung einen direkten Filterabschnitt darstellt, dessen Eingang die Bits seriell zugeführt werden, und daß die erste Verzögerungsleitung einen Rückkopplungsabschnitt darstellt, dessen Eingang die vom zweiten Filter ausgegebenen Bits seriell zugeführt werden, daß an die Anzapfungen ein Adressendecoder angeschlossen ist. daß ein Speicher vorgesehen ist, in welchem Worte entsprechend der Teilbeiträge der gleichgewichteten Bits zu der gewichteten Summe der der Differenzgleichung zugeordneten Binärwerte enthalten sind, und daß ferner ein Akkumulator mit Verschiebeeinrichtung vorgesehen ist, der die partiellen, nacheinander aus dem Speicher geholten Teilbeiträge unter Berücksichtigung der Gewichtung addiert.
3. Digitales Filter nach Anspruch 1, ausgebildet als Transversalfilter für PCM-codierte Signale, dadurch gekennzeichnet, daß eine aus in Reihe geschalteten Registerstufen bestehende und am Ein- und Ausgang jeder Stufe einen Abgriff aufweisende Verzögerungsleitung vorgesehen ist, der die Bits des zu filternden Signals seriell zugeführt werden, daß ein Speicher vorgesehen ist, in welchem Worte entsprechend der Teilbeiträge der gleichgewichteten Bits zur Errechnung des Ergebnisses der Differenzgleichung enthalten sind, daß eine Adressierschaltung vorgesehen ist, die zu jeder Bitzeit unter Verwendung der aus den gleichzeitig an den Abgriffen auftretenden gleichgewichteten Bits bestehenden Worte den Speicher adressiert, und daß ferner ein Akkumulator vorgesehen ist, der die nacheinander aus dem Speicher geholten Teilbeträge unter Berücksichtigung der Gewichtung addiert.
4. Digitales Filter nach Anspruch 2 oder 3, dadurch
gekennzeichnet, daß der Akkumulator einen ersten und einen zweiten Eingang aufweist, daß dem ersten Eingang die Worte aus dem Speicher entsprechend der Abtastrate nacheinander und daß dem zweiten Eingang die Summe der vorher gebildeten Teilergebnisse aus dem Akkumulator nach Durchlaufen einer Zweier-Divisionsstufe zugeführt werden.
5. Digitales Filter nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß ein Parallel-Serien-Akkumulator vorgesehen ist, bei dem einer der Eingänge jeder Stufe mit einem Ausgang verbunden ist und ein Bit des aus dem Speicher geholten Teilbeitrags liefert und bei dem ferner der Ausgang mit einem der Eingänge der das Bit mit der höchsten Gewichtung verarbeitenden Stufe verbunden ist, daß erste und zweite Schieberegister vorgesehen sind, in die die Summe und der Obertrag aus den Akkumulatorstufen parallel übertragen werden, daß Mittel vorgesehen sind, die den nächsten Teilbeitrag aus dem Speicher holen, sobald die Schieberegister geladen sind, und daß schließlich Mittel vorgesehen sind, die die seriellen Ausgangsbits der Schieberegister addieren und die Bits des gefilterten Signalwertes nacheinander liefern.
6. Digitales Filter nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß nacheinander in die Verzögerungsleitungen eingegebene PCM-codierte Signale vom Zweier-Komplement-Code in CIM modifizierter interner Zweierkomplement-Code dadurch umgewandelt werden, daß sämtliche Bits wiederholt werden, daß das Bit mit der höchsten Gewichtung komplementiert wird, daß das Gewicht der Bits um 1 reduziert wird und daß rechts an das erhaltene Wort ein mit der gleichen Gewichtung wie das Bit mit der niedrigsten Gewichtung versehenes O-Bit angehängt wird.
7. Digitales Filter nach Anspruch 6, dadurch gekennzeichnet, daß die Adressierung des Speichers über n—\ Abgriffe erfolgt, wobei der n-te Abgriff als Index benutzt wird, um das Vorzeichen des aus dem Speicher geholten Teilbetrags durch Komplementierung sämtlicher Bits änderbar zu gestalten.
8. Digitales Filter nach den Ansprüchen 1, 3, 4, 5 oder 6 zur Verarbeitung ^-codierter Signale, dadurch gekennzeichnet, daß ein Konverter zur Umwandlung /d-codierter in PCM-codierte Signale am Eingang jeder Verzögerungsleitung angeordnet ist.
9. Digitales Filter nach den Ansprüchen 1 bis 8, dadurch gekennzeichnet, daß für komplexe Übertragungsfunktionen mehrere der Filter in Reihe oder parallel geschaltet sind.
DE2158378A 1970-12-17 1971-11-25 Digitales Filter Expired DE2158378C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7047123A FR2118410A5 (de) 1970-12-17 1970-12-17

Publications (2)

Publication Number Publication Date
DE2158378A1 DE2158378A1 (de) 1972-06-22
DE2158378C2 true DE2158378C2 (de) 1982-05-27

Family

ID=9066516

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2158378A Expired DE2158378C2 (de) 1970-12-17 1971-11-25 Digitales Filter

Country Status (5)

Country Link
US (1) US3777130A (de)
JP (1) JPS5330972B1 (de)
DE (1) DE2158378C2 (de)
FR (1) FR2118410A5 (de)
GB (1) GB1346698A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257288B (zh) * 2008-04-11 2010-06-02 哈尔滨理工大学 一种可配置参数的有限冲激响应数字滤波器

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2238299B1 (de) * 1973-07-20 1977-12-23 Trt Telecom Radio Electr
FR2255754B1 (de) * 1973-12-11 1978-03-17 Ibm France
FR2258060B1 (de) * 1973-12-28 1978-09-08 Ibm France
US4025772A (en) * 1974-03-13 1977-05-24 James Nickolas Constant Digital convolver matched filter and correlator
FR2275936A1 (fr) * 1974-06-21 1976-01-16 Ibm France Filtre frequentiel numerique
NL7416480A (nl) * 1974-12-18 1976-06-22 Philips Nv Inrichting bevattende een integrerende digitale signaalbewerkingsinrichting.
NL7506141A (nl) * 1975-05-26 1976-11-30 Philips Nv Digitaal filter.
US3993890A (en) * 1975-09-29 1976-11-23 The United States Of America As Represented By The Secretary Of The Air Force Combinatorial digital filter
US4028535A (en) * 1976-06-11 1977-06-07 International Business Machines Corporation Apparatus and method for generating a data code with a spectral null
FR2379946A1 (fr) * 1977-02-04 1978-09-01 Labo Cent Telecommunicat Filtre numerique
JPS54554A (en) * 1977-06-03 1979-01-05 Hitachi Ltd Digital filter
US4125900A (en) * 1977-07-01 1978-11-14 Ncr Corporation Cascaded recursive digital filter
JPS6034853B2 (ja) * 1978-02-15 1985-08-10 株式会社日立製作所 デジタルフイルタ
FR2425773B1 (fr) * 1978-05-10 1986-05-30 Nippon Electric Co Filtre numerique
JPS5571316A (en) * 1978-11-24 1980-05-29 Hitachi Ltd Recursive digital filter
US4213187A (en) * 1978-12-14 1980-07-15 Bell Telephone Laboratories, Incorporated Digital filters with control of limit cycles
US4228517A (en) * 1978-12-18 1980-10-14 James N. Constant Recursive filter
JPS55153052A (en) * 1979-05-16 1980-11-28 Nec Corp Digital multiplier
US4354248A (en) * 1979-11-28 1982-10-12 Motorola, Inc. Programmable multifrequency tone receiver
FR2489554B1 (fr) * 1980-08-27 1986-10-31 Petit Jean Circuit de traitement numerique en arithmetique distribuee utilisant des multiplexeurs a l'entree d'une memoire
FR2495857B1 (fr) * 1980-08-27 1987-11-27 Petit Jean Filtre numerique recursif de surechantillonnage en arithmetique distribuee
US5117500A (en) * 1980-10-01 1992-05-26 Motorola, Inc. Multi system decoding receiver
US4518961A (en) * 1980-10-01 1985-05-21 Motorola, Inc. Universal paging device with power conservation
US4374426A (en) * 1980-11-14 1983-02-15 Burlage Donald W Digital equalizer for high speed communication channels
US4422094A (en) * 1981-11-06 1983-12-20 Rca Corporation Digital signal processor with symmetrical transfer characteristic
US4414676A (en) * 1981-03-31 1983-11-08 Motorola, Inc. Signal synchronization system
GB2108736B (en) * 1981-10-27 1984-12-12 Standard Telephones Cables Ltd Sum of products multiplier
DE3144456A1 (de) * 1981-11-09 1983-05-19 Siemens AG, 1000 Berlin und 8000 München Transversalfilter zur umformung digitaler signale
GB8400791D0 (en) * 1984-01-12 1984-02-15 British Telecomm Digital filter
GB8427165D0 (en) * 1984-10-26 1984-12-05 British Telecomm Adaptive recognising device
JPS61186012A (ja) * 1985-02-13 1986-08-19 Sony Corp 伝送装置の波形整形回路
US4733403A (en) * 1986-05-12 1988-03-22 Motorola, Inc. Digital zero IF selectivity section
IT1227520B (it) * 1988-12-06 1991-04-12 Sgs Thomson Microelectronics Filtro digitale programmabile
US5150317A (en) * 1989-01-11 1992-09-22 The Boeing Company Adaptive digital filter which is responsive to the rate of change of an input signal
US5089981A (en) * 1989-04-24 1992-02-18 Audio Precision, Inc. Hybrid form digital filter
US5189634A (en) * 1991-03-28 1993-02-23 Northern Telecom Limited Digital signal processing apparatus for detecting a frequency component of digital signals
US6470405B2 (en) * 1995-10-19 2002-10-22 Rambus Inc. Protocol for communication with dynamic memory
US5991788A (en) * 1997-03-14 1999-11-23 Xilinx, Inc. Method for configuring an FPGA for large FFTs and other vector rotation computations
US6266379B1 (en) 1997-06-20 2001-07-24 Massachusetts Institute Of Technology Digital transmitter with equalization
DE19738226C1 (de) * 1997-09-02 1999-02-04 Telefunken Microelectron Digitale, durchstimmbare Filteranordnung
US6167416A (en) 1997-09-26 2000-12-26 Xilinx, Inc. System and method for RAM-partitioning to exploit parallelism of radix-2 elements in FPGAS
US6021423A (en) * 1997-09-26 2000-02-01 Xilinx, Inc. Method for parallel-efficient configuring an FPGA for large FFTS and other vector rotation computations
DE10084449T1 (de) 1999-04-21 2002-03-28 Seagate Technology Llc Adaptiver H-Infinity-Hardware-Controller zur Plattenlaufwerkaktuatorsteuerung
US6438570B1 (en) 1999-07-21 2002-08-20 Xilinx, Inc. FPGA implemented bit-serial multiplier and infinite impulse response
US6460061B1 (en) 1999-10-29 2002-10-01 Xilinx Inc. 2-dimensional discrete cosine transform using a polynomial transform
US7318080B2 (en) * 2003-11-06 2008-01-08 Telefonaktiebolaget L M Ericsson (Publ) Split radix multiplication
US20050201457A1 (en) * 2004-03-10 2005-09-15 Allred Daniel J. Distributed arithmetic adaptive filter and method
DE102010023166B4 (de) * 2010-06-07 2016-01-21 Dräger Safety AG & Co. KGaA Wärmebildkamera

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3446949A (en) * 1966-10-28 1969-05-27 Hewlett Packard Co Signal-to-noise ratio enhancement methods and means
US3370292A (en) * 1967-01-05 1968-02-20 Raytheon Co Digital canonical filter
US3521041A (en) * 1967-07-19 1970-07-21 Ibm Digital filters
US3522546A (en) * 1968-02-29 1970-08-04 Bell Telephone Labor Inc Digital filters
US3543012A (en) * 1968-07-10 1970-11-24 Us Navy Universal digital filter and function generator
US3579102A (en) * 1968-09-30 1971-05-18 John F Keating Apparatus for testing successive ones of a plurality of electrical components
US3619586A (en) * 1968-11-25 1971-11-09 Research Corp Universal digital filter for linear discrete systems
US3579109A (en) * 1969-04-02 1971-05-18 Gen Dynamics Corp Automatic equalizer for digital data transmission systems
FR2116224B1 (de) * 1970-10-29 1974-10-31 Ibm France

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257288B (zh) * 2008-04-11 2010-06-02 哈尔滨理工大学 一种可配置参数的有限冲激响应数字滤波器

Also Published As

Publication number Publication date
GB1346698A (en) 1974-02-13
FR2118410A5 (de) 1972-07-28
US3777130A (en) 1973-12-04
DE2158378A1 (de) 1972-06-22
JPS5330972B1 (de) 1978-08-30

Similar Documents

Publication Publication Date Title
DE2158378C2 (de) Digitales Filter
DE60035171T2 (de) Verfahren und Schaltungen zum schnellen Auffinden des minimalen / maximalen Wertes in einer Menge von Zahlen
DE2628473C3 (de) Digitales Faltungsfilter
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE3208215A1 (de) Digitales filter
DE3018508C2 (de) Sprachanalysiervorrichtung
DE1901343B2 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE1549584A1 (de) Datenverarbeiter zum Erhalt komplexer Fourierreihe-Koeffizienten
DE2918692C2 (de) Digitalfilter
DE2729912A1 (de) Digitale signalverarbeitungsanordnung
DE2644506A1 (de) Rechner zur berechnung der diskreten fourier-transformierten
DE2758505C3 (de) Spezialisierter Digitalrechner zur statistischen Informationsverarbeitung
EP0344347B1 (de) Einrichtung zur digitalen Signalverarbeitung
DE1499178A1 (de) Steuerbarer Datenspeicher mit Verzoegerungsleitung
DE2451235C2 (de) Schaltungsanordnung für ein digitales Filter
DE2506671C3 (de) Binärdaten-Handhabungsnetzwerk
DE1803222B2 (de) Verfahren zum zusammenfassen pulscodierter nachrichten
DE2039228C3 (de) Schaltungsanordnung in einer Datenverarbeitungsanlage zum Verschieben einer binär kodierten Oktalzahl um eine Anzahl von Dezimalstellen nach rechts
DE2262652A1 (de) Digitale filterbank
DE1051030B (de) Elektronische Multiplikationsmaschine
DE1222290B (de) Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten
DE2523755B2 (de) Divisionsvorrichtung unter Verwendung einer Näherungsgleichung
DE2605495B2 (de) Multiplikationsschaltung, insbesondere zum filtern von zeitmultiplexinformationen
DE19637369C2 (de) Digitaler Signalprozessor mit Multipliziereinrichtung und -Verfahren
WO1998049622A1 (de) Chipkarte mit speicherzugriffsmaximierung und protokollierung

Legal Events

Date Code Title Description
OD Request for examination
8125 Change of the main classification

Ipc: H03H 17/02

8126 Change of the secondary classification

Ipc: H03K 5/153

D2 Grant after examination
8339 Ceased/non-payment of the annual fee