DE2648422A1 - Digitalfilter - Google Patents

Digitalfilter

Info

Publication number
DE2648422A1
DE2648422A1 DE19762648422 DE2648422A DE2648422A1 DE 2648422 A1 DE2648422 A1 DE 2648422A1 DE 19762648422 DE19762648422 DE 19762648422 DE 2648422 A DE2648422 A DE 2648422A DE 2648422 A1 DE2648422 A1 DE 2648422A1
Authority
DE
Germany
Prior art keywords
modulo
values
mersenne
convolution
transformation
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.)
Withdrawn
Application number
DE19762648422
Other languages
English (en)
Inventor
Henri Nussbaumer
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 DE2648422A1 publication Critical patent/DE2648422A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/156Correlation function computation including computation of convolution operations using a domain transform, e.g. Fourier transform, polynomial transform, number theoretic transform
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0211Frequency selective networks using specific transformation algorithms, e.g. WALSH functions, Fermat transforms, Mersenne transforms, polynomial transforms, Hilbert transforms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft Digitalfilter, bei denen besonderer Wert darauf gelegt istr die Anzahl der notwendigen Operationen auf ein Mindestmaß zurückzuführen,
Das Filtern eines Signales χCt) mit Hilfe eines Filters, dessen Impulsanspräche hCt) istf resultiert aus der sogenannten aperiodischen Konvolutionsoperation zwischen diesen zwei Werten, Es ist yCt) = h(t) « χCt) , wobei γCt) das gefilterte Signal darstellt.
Werden getastete Signale verarbeitet, so erhält man aus der oben genannten Beziehung;
P-1
CD
dabei stellen dar
yN das Nte Tastsignal des gefilterten Signals, h^ mit i=0, 1,2, ...,p-1 die Filterkoeffizienten,
die sich aus der Tastung von Mt) ergeben, und Xn-1 das N-i-te Tastsignal des zu filternden Signals.
Betrachtet man die Beziehung C1), so erscheint es, daß die Ermittlung jedes Tastsignales des gefilterten Signales die Durchführung Von ρ Multiplikationen und p-1 Additionen erforderlich macht. Bei
709820/0912
der praktischen Ausführung stellt eine Multiplikationseinrichtung : eine relativ aufwendige Einrichtung dar. Die Durchführung einer Multiplikation ist außerdem zeitlich relativ aufwendig. Je höher die Anzahl der zur Bestimmung eines Tastsignals yN erforderlichen Multiplikationen ist, desto langsamer arbeitet das Filter. Zieht man außerdem in Betracht, daß die Frequenz, mit der die Tastsignale Xn am Filtereingang erscheinen, mindestens doppelt so hoch ist wie die höchste Frequenz des Spektrums des Signals x(t), so ist leicht einzusehen, daß eine langsame Filteroperation einen beträchtlichen Nachteil bewirkt, insbesondere dann, wenn die Verarbeitung eines Signals in Echtzeit erfolgen soll.
Es wurde bereits eine Reihe von Vorschlägen gemacht, um die genannten Nachteile zu vermeiden, Man hat bereits vorgeschlagenf von den Eigenschaften einiger mathematischer Transformationen Gebrauch, zu machenf insbesondere wurde bereits die diskrete Fourier-Transformation benutzt. Der Vorteil derartiger Transformationen liegt darin, daß sie das sogenannten Konvolutionstheorem
,erfüllen. Mit anderen Worten t sind {H } und {XR} kennzeichnend für die Transformationen der Sätze {h.} und {x.}, von denen jeder , p-Werte umfaßt, und kennzeichnet ?Kdie Werte, die sich aus der Multiplikation P.. = IL. « X. ergeben, dann zeigt sich, daß die inverse j Transformation von {PR} die Werte liefert, die sich aus der ι Konvolution des Satzes der Werte {h^} mit dem Satz der Werte '{x^} ergeben. Man erhält also die Tastsignale Y„ des gefilterten I Signals auf einfache Weise.
j ;
!Nunmehr lassen sich die direkten und die inversen Transformationen : !durch einfache Operationen durchführen. Betrachtet man insbesondere die Mersenne- oder Fermat-Transformationen, so sind nur die Multiplikationen durchzuführen, die zur Erzeugung der Werte }PK aus HK und Xx erforderlich sind. Die Anzahl der notwendigen !Multiplikationen wird also um einen nicht unwesentlichen Faktor ' ρ reduziert. Als nachteilig erweist sich jedoch hierbei die enge Beziehung zwischen der Länge der Transformationen (hier p) und ' der Größe der Werte, die zu verarbeiten sind. Einige Anwendungen
FR 975 016
709820/0912
erfordern eine hohe Genauigkeit sowohl der Koeffizienten als auch der Taktsignale, was bedeutet, daß die die entsprechende digitale Darstellung betreffenden Worte relativ lang sein müssen (beispielsweise 30 Bits). Das bedeutet, daß die Anzahl der Werte in den Transformationen hoch sein muß. Die Verarbeitungszeit ist also relativ groß, was wiederum zu beträchtlichen Nachteilen führen kann.
In der deutschen Patentanmeldung P 26 15 498.3 ist bereits ein Verfahren vorgeschlagen worden, bei dem die zeitliche Dauer des Prozesses dadurch reduziert wird, daß die Länge der Transformationen, die tatsächlich durchzuführen sind, durch 4 geteilt wird. Aber auch eine solche Verkürzung kann bei einigen Anwendungen von Digitalfiltern nicht als ausreichend betrachtet werden. Außerdem hat sich gezeigt r daß entsprechende Digitalfilter räumlich zu aufwendig sind.
Es ist die der Erfindung zugrundeliegende Aufgabe, ein Digitalfilter anzugebenf bei dem die Genauigkeit der verarbeiteten Werte erhöht werden kann, ohne daß dadurch der erforderliche Rechenaufwand zu erhöhen ist.
Die Lösung dieser Aufgabe ist in den Ansprüchen niedergelegt.
Die Erfindung wird im folgenden anhand der Zeichnung näher erläutert,
Es zeigen:
pign, 1A und 1B bekannte Digitalfilter,
Fig. 2 ein Blockschaltbild eines erfindungsgemäßen
Digitalfilters,
Fign. 3 u. 4 Blockschaltbilder weiterer erfindungsgemäßer
Ausführungsbeispiele,
FR 975 016
709820/0912
Fig. 5 eine ausführlichere Darstellung eines Teils
des Digitalfilters gemäß Fig. 4 und
Fig. 6 ein Zeitdiagramm zur Erläuterung einiger vom
Digitalfilter gemäß Fig. 4 ausgeführter Operationen.
Es ist ganz allgemein festzustellen, daß die Anwendung diskreter Transformationen zur Ausführung periodischer Konvolutionen führt (sogenannter zirkularer Konvolutionen), während sich die Filteroperation aus einer aperiodischen Konvolution ergibt. In dem Buch "Digital Processing of Signals" von Gold und Rader, McHiIl, 1969 ist insbesondere in Kapitel 7 die Möglichkeit dargestellt, periodische Konvolutionen in eine aperiodische Konvolution dadurch umzuwandeln, daß die Folge der Tatsignale in Blöcke aufgeteilt wird, daß auf diese Blöcke zirkuläre Konvolutionen angewandt werden und daß dann die dabei erhaltenen Ergebnisse kombiniert werden. Im einzelnen sind in dieser Veröffentlichung zwei Verfahren angegeben, nämlich das "overlap-add"-Verfahren und das "overlap-save"-Verfahren. Der Unterschied zwischen diesen beiden Verfahren ergibt sich aus der Art und Weise, wie die den disrekten Transformationen unterworfenen Datenblöcke zusammengesetzt sind, bevor sie den zirkulären Konvolutionen unterworfen werden und natürlich aus der Art und Weise wie die Ergebnisse dieser Konvolutionen kombiniert werden.
Im folgenden sind die beiden Methoden erläuternde Beispiele angegeben. Angenommen, ein Signal, dessen Tastsignale mit xQ, χ-X2, X3 bezeichnet sind, wird einer Filteroperation mit drei Koef fizienten hQ, h1, h2 unterworfen. Welches Verfahren auch gewählt wird, den Koeffizienten sollte eine Folge von Nullen hinzu gefügt werden, um einen Satz, beispielsweise {bn} = {hQ, h<|, h2, 0,0} zu erhalten. Soll nun beispielsweise das "overlap-add"-Verfahren angewendet werden, so ist der Datenfluß in Gruppen von drei aufeinanderfolgenden Tatsignalen aufzuteilen und es
FR 975 016
709820/0912
sind zwei Nullen hinzuzufügen, um den Satz {a } zu bilden. Dann werden zwischen aufeinanderfolgenden Sätzen ia } und {b } zirku
n η
lare Konvolutionen durchgeführt und die dabei erhaltenen Ergebnisse addiert. Es ergibt sich folgendes Beispiel:
(1) Erste zirkuläre Konvolution
Datenblöcke {an> ' {xQ, X1/ *2>
Koeffizientenblöcke'
{hQ,
Z1 "
Z2 "
h χ + h, 0 + h„ 0 + 0 x, + 0 x,
ο "ο , Ί
ho X1 + h1 Λ) I h2
ho V h1 V h2 Xo '
; h1 X2 + h2 X1 t
h 0 +h. 0
h
O
X
O
1 Xo 2 X
O
ho X1 H 1 xi H 2 X1
ho X2 - 1 X2 J
f- h ^ h
>■ h κ h
h
OX, ,0
FR 975 016
709820/0912
Zweite Konvolution
{an> {x3, X4, X5, 0, 0 }
, 0 0
ho X3 1
t
h 1 ° 1 H2O O + 0 X5 .0 X4 - ho X3 + h 1 X3 h 2 X3
ho X4 h 1 X3 h2 !
-* !
I
0 0 X5 « h
O
X4 h1 X4 + h CNJ X4
ho X5 h 1 X4 + h2 I
^ !
I
0 0 ° = h
O
X5 + h1 X5 + h 2 X5
ho O !
+
i
h , X5 + h2 0 X3 + 0 0
ho O + h 1 O h2 0 X4 + 0 X3 »
Kombinationen
+ h2 xo
V4
ho X3 +
ho X5 + h1 X4
FR 975 016
709820/0912
Man erhält also die Tastsignale des gefilterten Signals durch Addition der Ergebnisse der zirkulären Konvolutionen, die an aufeinanderfolgenden Eingangsdatenblöcken nach deren geeigneten zeitlichen Verzögerung durchgeführt werden.
Das "overlap-save"-Verfahren unterscheidet sich von dem beschriebenen Verfahren geringfügig in der Aufteilung des Datenflusses und in der Kombination der Ergebnisse, (um die gleichen Bezeichnungen beizubehalten wird das zuvor mit xo bezeichnete Abtastsignal nunmehr mit X-1 bezeichnet.)
U) Erste Konvolution
{bn}ai 0V V h2' °' 0}
Z1* ho x-i + h1 X3 + h2 X2 + ι D X1 + 0 xo "ho X-1 + h1 X3 + h2 X2
Z2 " ho xo + h1 X-1 + h2 X3 + ( Dx2 + 0 X1 "ho X
O
+ h1 X-1 + h2 X3
Z3* ho X1 xo + h2 X-1 I
+ (
Dx3 0 X2 - h
O
X1 + h1 X
O
+ h2 χ-
Z4- ho *2 + hi- X1 + h2 X
O
I )X-1 + 0 X3 öho X2 + hT X1 + h2 X
O
Z5 ■ h
O
X3 + hl *2 + h2 X1 T } xo + 0 x-i "ho X3 + h1 X2 + h2 X!
975 016
709820/0912
Zweite Konvolution
{an>
, x6}
{bn} " {ho' h1' h2' °' 0}
Z6" h
O
X2 + h 1 X6 + h2 X5H X4 + 0 X3 -ho X2 •1 X6 + h2 X5
Z7 " ho X3 + h 1 X2 + h2 X6 < χ 5 + 0 X4 -ho *3- j X2 X6
Z " ho X4 *ϊ* h 1 X3 + h2 X2 * X6 + 0 X5 - h
O
X4 ' 1 X3 *h2 χ 2
Z9 " ho X5 + h 1 X4 + h2 X3 H X2 + 6 » h
O
1 X4 *h2 *3
10 " h
O
X6 + h 1 X5 + h2 X3* K [] , X5 X4
- 0 * h
► 0 .h
-0 ·■ h
i- h
- 0 h
(3) Kombinationen
ho X3
ho X4
h2 X1
h1 X3
1O X5 H h1 X4 + h2 X3
Z10 " ho X6 + hl X5 + h2 X4
FR 975 016
709820/0912
!Macht man von Mersenne-Transformationen Gebrauch, so kann ein beispielsweise auf das erste Verfahren abgestelltes Digitalfilter entsprechend dem Blockschaltbild der Fig. 1A aufgebaut werden. Die geeignet angeordneten Daten und Nullen bilden die Folgen ia}, die zunächst einer Mersenne-Transformationseinrichtung MT zugeführt werden. Diese Einrichtung erzeugt eine Folge von Werten q-1
= t I an · 2" ) n-o
dabei ist ρ = 2g mit ρ und q als Primzahlen.
Angenommen, es soll ein Filter mit konstanten Koeffizienten gebildet werdenf dann sind die Werte hg r h-f h2 fest und es ist möglich, Folgen {i ^ Bx,) zu speichern,, die sich aus der Anwendung der Mersenne-Transformation auf die Folgen {b } = {hg, h-, h^, Qf 02 ergeben. Nach einer eventuellen Multiplikation mit einem konstanten Koeffizienten werden die Folgen — . Ax, und — . B„ sequentiell einer Multiplikationseinrichtung M zugeführt, die — * Cx, = — * Ar, * Bx, liefert. Nach Durchführung einer inversen q JS. q K K «
Mersenne-Transformation in einer entsprechenden Einrichtung MT
an dem Satz {- « Cv} erhält man folgende Werte c : q Jx m
q-1 q-1
m ~ v£n K* Modulo ρ ~
Diese Werte ergeben sich durch zirkuläre Konvolution von {a} und {bn>. Die Mersenne-Transformationseinrichtung MT, der Koeffizienitenspeicher ROM und die inverse Mersenne-Transformationseinrichtunc MT~ bilden somit einen zirkulären Konvolutionsgenerator ZKG, Diesem Generator ist eine Kombinationseinrichtung KOMB hinzuzufügen, die die Ergebnisse kombiniert und aus einer Verzögerungseinrichtunc :D und einer Addiereinrichtung zusammengesetzt ist. Am Ausgang dieser Kombiantionseinrichtung erhält man die Tastwerte des gefilterten Signals.
FR 975 016
709 8.2 0/0912
!wie bereits gezeigt, besteht der Unterschied zwischen dem "overlapi save"-Verfahren und dem "overlap-add"-Verfahren in der Zusammensetzung der Folgen {a } und in der Art der Kombination der Werte ic , durch die die Erzeugung der Tastwerte Yn ermöglicht wird. Das ist der Grund, warum in der Ausführung gemäß Fig. 1B ein ähnlicher ^zirkulärer Konvolutionsgenerator ZKG, wie in der Ausführung gemäß |Fig. 1A verwendet wird. In diesem Fall weist der Satz {a} jedoch keine zusätzlichen Nullen auf. Es ist beispielsweise
! IanJ - ix_-j , X0, X1, X2 1 Χ3*·
pie Kombinationseinrichtung KOMB benötigt hier eine Steuereinrichtung CTRL, die einen Schalter betätigt, der die aus dem Konvolutionsgenerator kommenden Werte selektiert f so daß die Ausgangswerte Yn direkt ohne das Erfordernis einer Addition erhalten Werden. Mit den beschriebenen Einrichtungen lassen sich relativ schnelle digitale Filteroperationen erzielen, da nur eine begrenzte Anzahl von Multiplikationen erforderlich ist, um die Ausgangswerte " zu erhalten. Wie aber bereits eingangs ausgeführt, besteht eine ι enge Beziehung zwischen der Anzahl der Bits, die zur Definition j von Yn verwendet werden können und der Anzahl der Punkte, an denen eine Mersenne-Transformation erfolgen muß. Die maximale ; Anzahl der Bits ist g. Dies bedeutet aber eine Begrenzung der Filterwirkung,
In der bereits erwähnten deutschen Patentanmeldung P 26 15 498.3 ist gezeigt, wie die Anzahl der Transformationspunkte durch vier geteilt werden kann, ohne daß bemerkbare Abstriche hinsichtlich ; jäes erforderlichen Rechenaufwandes und der Genauigkeit der erziel- ' !ten Ergebnisse gemacht werden müßten. .
?ür einige Anwendungsfälle ist die Größe der Filter störend, die sich aus den oben genannten Lösungen ergeben. Dieser Nachteil soll erfindungsgemäß vermieden werden.
FR 975 016
709820/0912
Erfindungsgemäß werden anstelle einer einzigen zirkulären Konvolution an jedem Satz {an> zwei zirkuläre Konvolutionen durchgeführt. Die einzige Einschränkung ist, daß diese Transformationen , Modulo bezüglich Primzahlen durchgeführt werden sollten. Aus Vereinfachungsgründen befaßt sich die folgende Beschreibung lediglich mit zwei simultan durchgeführten Transformationen.
Die erste Transformation wird Modulo ρ und die zweite Modulo r ausgeführt. Anschließend werden die aus den zwei Konvolutionen gewonnenen Werte addiert, so daß man ein Ergebnis Modulo ρ * r erhält mit einer Anzahl von Bits, die bis auf q + s ansteigen kann. Es läßt sich nachweisen, daß wenn man die aus der Modulo ρ Konvolution und der Modulo r Konvolution gewonnenen Werte mit cm und cm zeichnet, daß dann der sich aus einer Modulo ρ * r Konvolution ergebende Wert cm folgender Beziehung genügt:
(2)
11 2 1
cm = (r cm (—) Modulo ρ + q c^ (^) Modulo r) Modulo ρ · r
1 2
Deshalb sollten die Werte cm und c mit angepaßten konstanten Werten multipliziert werden, bevor ihre Addition erfolgt. Wie das Blockschaltbild gemäß Fig, 2 zeigt, wird der Eingangs-Tastsignalfluß in zwei Blöcke aufgeteilt, die gleichzeitig einem ersten und einem zweiten zirkulären Konvolutionsgenerator zugeführt werden, die Modulo ρ und Modulo r arbeiten. Eine Korrekturschaltung KORR 1 multipliziert die aus dem Konvolutionsgenerator 2KG1 kommenden Werte mit einer Konstanten, so daß
r cm φ Modulo p erhält.
Eine weitere Korrekturschaltung KORR 2, der die Werte auf dem Konvolutionsgenerator ZKG2 zugeführt werden, liefert
^ η2 Modulo r p cm*
Die aus den beiden Korrekturschaltungen kommenden Werte werden in FR 975 016
709820/0912
einer nachgeschalteten Addiereinrichtung Modulo ρ · r addiert, so daß {c} entsteht. Anschließend werden die Werte c einer Kombinationseinrichtung KOMB zugeführt, die einer der bereits erwähnten Typen entspricht.
Fig. 3 zeigt ein Ausführungsbeispiel der Erfindung, bei dem das 11 overlap-add"-Verfahren für eine Umwandlung periodisch in aperiodisch angewandt wird. Der Eingangsdatenfluß xQ, x-, X2, ...r wird in zwei Blöcke von %j— Werten aufgeteilt, die gleichzeitig zwei Mersenne-Transformationseinrichtungen T1 und T2 zugeführt werden. Tl befaßt sich mit £a } Folgen, die %r- Tastwerte und 3Z_ Nullen umfassen« T2 befaßt sich mit {a } Folgen, die S__ Tastwerte und rr+1
s - S-J. Nullen umfassen. Die Transformationseinrichtungen liefern
η£θ an * z JModulo ρ l n£0 an z ' Modulo ρ
η£θ n Modulo ρ n£0 und
^1
2DK )Moaulo r
Unter der Annahmef daß das gewünschte Filter feste Koeffizienten
Χ «2 · 2DK ' r = < J0 2DK )
können dauerhaft gespeichert werden die Mersenne-Trans-
12 1 7
formationen BR und BR der Folgen {bn> und {bn> einschließlich
£«— Koeffizienten, gefolgt von 3Zl Nullen und 3-1 Koeffizienten,
σ-1 11
gefolgt von s - *γ- Nullen. Es ist ratsam, die Werte (— · ^ijjodu-
* und (^- · B^)Modulo r ^n einem Festspeicher ROM zu speichern, | um die Anzahl der anschließend notwendigen Operationen zu reduzieren. Die von T1 und T2 erzeugten Werte und die von dem Fest-Bpeicher ROM gelieferten Werte werden in den Multiplikationsein- ^ichtungen M1 und M2 multipliziert. Diese Einrichtungen erzeugen also
C1 = ( -1 a.1 · B1 )
jK lrq *K K 'Modulo ρ
C2 = ( -Ι αΞ , B2 ,
CK L ps 0K 0K ;Modulo r·
FR 975 016
709820/0912
Jh
Dann werden diese Werte einer inversen Mersenne-Transformation unterworfen
erhält also
unterworfen, und zwar Modulo ρ in T1~ und Modulo r in T2~" . Man
(ic1)
r m 'Modulo ρ
ρ cm Modulo r*
Um (c )Mo£U2n ,rr wie durch Gleichung (2) definiert, zu erhalten, Baissen die von T1 erzeugten Werte mit r = 2S-1 multipliziert werden. Deshalb werden die Werte einem Schieberegister SR2S mit s Bitpositionen und einer Subtrahiereinrichtung SUBT 1 zugeführt. Entsprechend werden die von T2~ erzeugten Werte, die mit p=2(*"~ multipliziert werden müssen, einem Schieberegister SR2^ mit q Bitpositionen und einer Subtrahiereinrichtung SUBT 2 zugeführt. Die Ausgänge der beiden Subtrahiereinrichtungen sind auf eine Modulo ρ « r Addiereinrichtung ADDO geführt« Da das erflndungsgemäße Filter von dem "overlap-add"-Verfahren Gebrauch macht, erzeugt j der Ausgang von ADDO Werte z, die geeignet addiert werden müssen, um die Tastwerte Yn des gefilterten Signals zu erhalten. Diese letzte Operation wird mit Hilfe einer Verzögerungseinrichtung BUF und einer Addiereinrichtung ADD* erzielt.
(Es zeigt sich, daß sich das erfindungsgemäße Filter besonders ;gut für eine parallele Wortverarbeitung eignet, bei der der erforderliche Schaltungsaufwand vermindert ist. Wenn also Worte mit (g+s) Bits erhalten werden sollen, so werden diese Worte in zwei Teilen verarbeitet, nämlich in einem ersten mit g Bits und in einem zweiten mit s Bits. Daraus ergibt sich, daß einige Schaltungen eingespart werden, insbesondere bei den Schiebeoperationen, die notwendig sind bei Multiplikationen infolge Quadratur oder bei Multiplikationen bei den Transformationen. Xm letzten !Fall wird jede Multiplikation zwischen Worten mit q+s Bits ersetzt
•durch zwei weit einfachere Multiplikationen, wobei die eine Worte
mit g Bits und die andere Worte mit s Bits umfaßt. Um die beste erfindungsgemäße Implementierung im Zusaeg mit den oben 975 Qi 6
709820/0912
getroffenen Feststellungen zu erhalten, sei bemerkt, daß sich in
einigen Fällen die erforderliche Genauigkeit der Ergebnisse, d.h.
also, die Anzahl der Bits in den zu erhaltenden Worten, unterscheidet von dem was man direkt erreichen kann. Man kann tatsächlich feststellen, daß für eine Transformation Modulo ρ die Anzahl der Bits q ist. Die Mersenne-Transformationen bestehen nun !
i i
!nur für die Primzahlen ρ und q, d.h., q muß als folgenden Werten : gewählt werden: t
Q = 2, 3, 5, 7f 13f 17, 19, 31, 61, 89, 1Ο7, 127, 521,
607, 1279, 2203, ... .
Angenommen, die geforderte Genauigkeit umfaßt 36 Bits, dann ; jmiissen Worte mit 61 Bits verarbeitet werden, wenn bekannte Verfahren angewendet werdenf da zwischen 31 und 61 keine Werte für j q vorhanden sind. Gemäß der Erfindung genügt es jedoch, 17 Bits j Cq=17) und 19 Bits (s=19) zu verarbeiten·
In der praktischen Ausführung empfiehlt es sich, q und s leicht
'unterschiedlich zu wählen. Xm folgenden ist ein Ausführungsjbeispiel der Erfindung beschrieben mit q=5 und s=7. Die entspre- ' chenden Hersenne-Transformationen sind; ι
FR 975 016
O ο 1 2 modulo p
a! - Ca^ + a, 2 + a„ 22 ) . .
Ιοί 2 modulo ρ
a! « Ca^ + a, 22 t a 24 ) , ,
2 ο 1 2 modufo ρ
a! * (a + a. ~23 * a„ 2 ) , .
3 ο I 2 modufo ρ
a! - (a + a, 24 -J- a„ 23 ) . .
4 ο 1 2 modulo ρ
A" « (a <■ a. <- an ) . . ο ο 1 2 modufo r
A2 » Ca + a. 2 * ao 22 ί . , t ο 1 2 modulo r
Ca + a, 22 -t- a„ 24 > . , οι 2 modulo r
A2*
A2 - Ca0 * a, 24 * a2 2
A2 « Ca + a. 25 * a„ 25 ) . . 5 ο ί . 2 modufo r
A2 » Ca * a. 26 * a., 25 } . t 6 ο 1 2 modufo r
FR 975 016
Wie der Pig. 3 zu entnehmen ist, besteht das entsprechende erfindungsgemäße Filter aus zwei identischen Teilen, die parallel 5 arbeiten. Werden q und s so gewählt, daß sie sich nur geringfügig unterscheiden, so unterscheiden sich die Operationsablaufe in beiden Teilen zeitlich nur geringfügig. Es ist also möglich, Schaltungen dadurch einzusparen, daß eine zeitlich verzahnte Verarbeitung erfolgt und damit die erforderlichen Funktionen in jedem Schaltungsteil mit relativ einfachen Schaltungen durchgeführt werden kann. Auf diese Weise gelangt man zu dem erfindungsgemäßen Ausführungsbeispiel gemäß Fig. 4. Die Operation dieses Digitalfilters läuft entsprechend dem in Fig. 6 gezeigten Zeitdiagramm ab. Das Digitalfilter wird über einen Festspeicher ROM 2 gesteuert, der für den zeitlichen Ablauf die Impulse T1 bis T17 liefert und dazu von einem Zähler CO 2 gesteuert wird, dem Taktimpulse CR zugeführt werden. Das Filter enthält ein Schieberegister Slf das ; zu den Zeiten T1, T2f T3 und T4 aktiv ist und das die Taktsignale i des zu filternden Signals empfängt. Der Datenfluß wird dabei in '
drei Blöcke aufgespalten. Das Tastsignal aQ wird einem Akkumulator J zugeführt, der eine zur Zeit T1 aktive Addiereinrichtung ADD 1f ein zur Zeit T6 aktives Schieberegister SR 1 und eine vom Ausgang des Schieberegisters SR 1 über ein zur Zeit T5 durchgeschaltetes Gatter A 50 zum zweiten Eingang der Addiereinrichtung ADD 1 verlaufende Rückkopplungsschleife umfaßt. Diese Schaltung ermöglicht es, daß Tastsignal an in die Stellen des 12 Worte umfassenden
12 Registers SR 1 zu übertragen, das die Werte A-. und Al speichert, so bald sie erzeugt werden. Da keine Gewichtung erforderlich ist, während aQ an der Bildung dieser Werte beteiligt ist, sind
(während des Auftretens dieses Tastsignals T1, T2 und T3 nicht vor- j
handen und es wird keine Verschiebung der Bits in an bewirkt. Nur
während der ersten 5 Zyklen wird aQ nach Ax gebracht. ADD 1 arbeitet dann Modulo ρ unter der Steuerung von T4=1. Während der 7 folgenden Zyklen wird aQ nach A^ gebracht und ADD 1 arbeitet Modulo r unter der Steuerung von T4=0. Nach 12 Zyklen von T6 ist der Bei-
1 2 trag von aQ zur Bildung der Werte Ax und Ax beendet. Das folgende Tastsignal, nämlich a^ wird nun in S1 gebracht. Dann wird a^ gewich tet durch die notwendige Quadratur, wenn T1, T2 oder T3 gleich "eins" werden. Diese Gewichtungen erfolgen Modulo ρ oder Modulo r, ■
FR 975 016
709820/0912
_w_ 26A8422
to
abhangig von T 4=1 oder O. Die die Wirkung von S1 betreffenden !Einzelheiten werden anschließend noch angegeben. Der gewichtete Wert a1 wird dann zu dem Wert addiert, der in der für aI oder A bestimmten SpeichersteHe gespeichert ist. Der gesamte Vorgang wird in Verbindung mit a2 wiederholt. Am Ende des 36sten Zyklus stehen sämtliche Werte von A^ und A^ zur Verfügung. Sie werden in ein Schieberegister SR2 gegeben, das über Gatter A54, die von TlT gesteuert werden, 12 Worte aufnehmen kann. Während die Berechnung der Mersenne-Transformationen des folgenden Daten-
1 2 blocks a-,, a,, a,- begonnen wird, werden die Werte Ax. und AZ in
1112 κτζ
M1 mit den Werten — · B^ und -^- · B* multipliziert. Diese Operationen werden alternativ Modulo ρ oder Modulo r ausgeführt, abhängig davon, ob T7=1 oder 0 ist. Die aus den Transformationen der !Filterkoeffizienten, die hier als fest angenommen sind, ergebenden Werte kommen unter der Steuerung des Zählers CO aus einem Festwertspeicher ROM 1. Dabei wird der Zähler von den Impulsen T16 gesteuert. Die zur Erzeugung der inversen Transformationen, der von M1 gelieferten Werte, verwendete Einrichtung ist in jeder Beziehung ähnlich der Einrichtung (S1, ADD1, SR1, A50 und A54), die die direkten Transformationen erzeugt. Die Einrichtung besteht auf dem Schieberegister S2f der Addiereinrichtung ADD2, dem 5 Worte umfassenden Schieberegister SR3 und den Gattern A51 und A52. Eine nähere Beschreibung dieser Einrichtung ist deshalb nicht erforderlich. Die aus S3 kommenden Werte werden über den Inverter 11 und das Schieberegister S3 zur Addiereinrichtung ADD3 geleitet, wenn das Gatter A52 zur Zeit T11=O durchgeschaltet ist. S3 liefert eine Verschiebung von s- oder q-Bitpositionen in Abhängigkeit von T4. tTT nimmt einen niedrigen oder hohen logischen Pegel an. Deshalb werden die von SR3 kommenden Werte entweder mit 2S oder mit 2q multipliziert. Unter Berücksichtigung der Inversion durch 11 liefert ADD3
r * cm * r * Modulo ρ
2 1
p * cm ^ ρ JModulo r*
FR 975 016
709820/0912
94
Der Wert
c ( — \
m ^ r 'Modulo r
wird durch das 5 Positionen umfassende Schieberegister SR4 verzögert, bevor es in der Addiereinrichtung ADD4 zu
p * cm ( ρ Modulo r
addiert wird. Die Addiereinrichtung ADD4 liefert also die Werte ;c , Diese Werte werden dann über ein 10 Positionen umfassendes und in der fünften Position einen Abgriff aufweisendes Schieberegister SR5 zur Addiereinrichtung ADD5 geleitet. Schließlich gelangen die Tastsignale des gefilterten Signals zum Ausgang eines Gatters A53f das zur Zeit T15 durchgeschaltet ist.
Der Aufbau der Schieberegister S1 und S2 ist in Fig, 5 im einzelnen dargestellt. Die Register setzen sich aus mit 0- bis O22 bezeichneten ODER-Schaltungen und aus A1 bis A49 bezeichneten UND-Schaltungen zusammen. Der Aufbau ist recht einfachf so daß zum Verständnis eine kurze Beschreibung ausreichend ist. Die Schaltung erzeugt aufgrund ähnlicher, in Kaskade geschalteter Stufen sukzessive Verschiebungen. Die Bits der Eingabewerte werden den Eingängen 2 bis 2 , entsprechend ihrer Gewichtung zugeführt. Die erste, die Schaltungen A- bis A15 und O1 bis Og umfassende Stufe verursacht, abhängig von T1=0 oder 1, keine Verschiebung oder eine Verschiebung um eine Bitpbsition. Die zweite, aus den Schaltungen A1 g bis A31 und 0g bis O15 bestehende Stufe liefert, abhängig von T2=0 oder 1, keine Verschiebung oder eine Verschiebung um zwei Bitpositionen, Schließlich erzeugt die aus den Schaltungen A32 bis A49 und O16 bis O22 bestehende dritte Stufe, abhängig von T3=O oder 1,keine Verschiebung oder eine Verschiebung um vier Bitpositonen. In Abhängigkeit von T4 werden diese Stufen Modulo ρ oder Modulo r betrieben.
Fig. 6 zeigt den Fortschritt der Operationen mit der Zeit. Die erste Zeile gibt an, wie lange die Werte aQ, a.., a2, a3, ..., am
FR 975 016
709820/0912
Filtereingang anstehen. Die zweite Zeile zeigt das Fortschreiten der Transformationen während der Verarbeitung am Eingang des Registers SR1. Die dritte Zeile gibt den Signalpegel von T5 wieder. Die vierte und fünfte Zeile zeigen die von den Gattern A5O und A54 kommenden Daten. Die sechste, siebte und achte Zeile kennzeichnen die Signale T6, T4 und T17. Die neunte und zehnte Zeile kennzeichnen die Ausgänge von SR2 und M1. Schließlich sind in den beiden letzten Zeilen die Signale T7 und T11 aufgetragen.
Es bleibt festzustellen, daß beim erfindungsgemäßen Digitalfilter verschiedene Arten von zirkulären Konvolutionsgeneratoren verwendbar sind. Beispielsweise kann der in der eingangs erwähnten deutschen Patentanmeldung angegebene Konvolutionsgenerator eingesetzt werden. In diesem Fall werden die Mersenne-Transformationen und die inversen Mersenne-Transformationen bei etwa einem 1/4 der Punkte herbeigeführt (nämlich SL_ una ~—) und dann auf g und s
-1 Punkte erweitert. Beispielsweise können die T1, M1, T1 und T2f M2f T2 umfassenden Teile der Fig. 3 durch die in Fig. 2 der erwähnten deutschen Patentanmeldung gezeigte Einrichtung ersetzt werden.
FR 975 016
709820/0912
Leeseite

Claims (6)

  1. PATENTANSPRÜCHE
    Digitalfilter mit zirkulärem Konvolutions genera tor, dadurch gekennzeichnet, daß die sequentiell zugeführten Tastsignale in Blöcke fester Länge unterteilt werden, daß mindestens zwei zirkuläre Konvolutionsgeneratoren vorgesehen sind, deren Eingängen jeweils jeder dieser Blöcke zugeführt wird und die die sich aus den Konvolutionen der Tastsignale der Blöcke mit einem Block der Filterkoeffizienten ergebenden Werte liefern, daß an die Ausgänge der Konvolutionsgeneratoren eine Korrekturschaltung angeschlossen ist, die die gelieferten Werte mit einem Korrekturwert ; multipliziert, daß die Ausgänge der Korrekturschaltung auf eine Addier einrichtung geführt sind und daß der Ausgang die·*- ser Addiereinrichtung an eine Kombinationseinrichtung angeschlossen ist, die die Tastsignale des gefilterten Signals bildet.
  2. 2. Digitalfilter nach Anspruch 1f dadurch gekennzeichnet, daß die Blöcke der Tastsignale und ein Block der Filterkoeffizienten durch die gleiche Folge von Nullen vervollständigt sind und daß die Kombinationseinrichtung als Addie*- einrichtung ausgebildet ist, die jeweils die aus zwei Blökken gebildeten Werte addiert.
  3. 3. Digitalfilter nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Konvolutionsgeneratoren jeweils einen Mersenne-»· Transformationsgenerator umfassen, daß ein die Mersenne-Transformation der Filterkoeffizienten enthaltender Spei- ; eher vorgesehen ist, daß die Transformationen der Tast- j signale und der Filterkoeffizienten Wert für Wert einer Multiplikationseinrichtung zugeführt werden und daß die von der Multiplikationseinrichtung gelieferten Werte in die inverse Mersenne-Transformation übergeführt werden.
    FR 975 016
    709820/0912
    ORiQlMAL
  4. 4. Digitalfilter nach Anspruch 3, dadurch gekennzeichnet, daß der erste Konvolutionsgenerator eine Mersenne-Transformation Modulo ρ (Primzahl) und der zweite Konvolutionsgenerator eine Mersenne-Transformation, Modulo (Primzahl) ausführt und daß die Addiereinrichtung eine Addition, Modulo ρ · r ausführt.
  5. 5. Digitalfilter nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß die zugeführten Tastsignale in Blökke mit 3__ (q = Primzahl) unterteilt werden, daß der erste Konvolutionsgenerator die Mersenne-Transformation Aj. Modulo ρ jedes mit einer Serie von 2Z_ Nullen Cp = 2^~ ) vervollständigten Blockes und daß der zweite Konvolutionsgenerator die Mersenne-Transformation Α.. Modulo r jedes mit einer Serie von Cs - ^y- ) Nullen (r = 2S"1) vervollständigten Blockes bildet, daß in den Speicher die Werte (.JL , b* )Modulo p und ( I_g Modulo r der mit 2«— und[s - 2w~~J Nullen vervollständigten Filterkoeffizienten enthält, daß in einer ersten Multiplikationseinrichtung eine Modulo p Multiplikation 4 mit ( rTq ' Bk WuIo ρ 1^ daß in einer zweiten Multiplikationseinrichtung eine Modulo r Multiplikation 4 mit C J5q * BK }Modulo r durchgeführt wird, daß in einer ersten Einrichtung die inverse Mersenne-Transformation Modulo ρ der aus den Multiplikationseinrichtungen kommenden Werte erfolgt, daß in einer zweiten Einrichtung die inverse Mersenne-Transformation Modulo r der aus der zweiten Multiplikationseinrichtung kommenden Werte erfolgt, daß die von der ersten und zweiten Einrichtung gelieferten Werte um s- bzw. q-Bitpositionen verzögert werden, daß eine erste Subtraktionseinrichtung vorgesehen ist, die die von der ersten Einrichtung gelieferten Werte von denen subtrahiert, die um s Bitpositionen verzögert
    FR 975 016
    709820/0912
    sind, daß eine zweite Subtraktionseinrichtung vorgesehen ist, die die von der zweiten Einrichtung gelieferten Werte von denen subtrahiert, die um q-Bitpositionen verzögert sind, daß die von den beiden Subtraktionseinrichtungen gelieferten Werte einer Modulo ρ · r Addition unterzogen werden und daß eine Addiereinrichtung vorgesehen ist, die die aus der Modulo ρ · r Addition gebildeten Werte addiert.
  6. 6. Digitalfilter nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß lediglich ein Konvolutionsgenerator vorgesehen ist, der für jeden Block an zwei aufeinanderfolgenden Zeiten eingesetzt wird.
    FR 975 016
    ΠΒ2Π/Ο912
DE19762648422 1975-11-10 1976-10-26 Digitalfilter Withdrawn DE2648422A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7535235A FR2331213A1 (fr) 1975-11-10 1975-11-10 Filtre numerique

Publications (1)

Publication Number Publication Date
DE2648422A1 true DE2648422A1 (de) 1977-05-18

Family

ID=9162566

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762648422 Withdrawn DE2648422A1 (de) 1975-11-10 1976-10-26 Digitalfilter

Country Status (5)

Country Link
US (1) US4062060A (de)
JP (1) JPS5260042A (de)
DE (1) DE2648422A1 (de)
FR (1) FR2331213A1 (de)
GB (1) GB1514434A (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4247900A (en) * 1976-12-01 1981-01-27 Raytheon Company Signal combiner with permuted addressing
US4231277A (en) * 1978-10-30 1980-11-04 Nippon Gakki Seizo Kabushiki Kaisha Process for forming musical tones
US4615026A (en) * 1984-01-20 1986-09-30 Rca Corporation Digital FIR filters with enhanced tap weight resolution
US4893316A (en) * 1985-04-04 1990-01-09 Motorola, Inc. Digital radio frequency receiver
JPS62502439A (ja) * 1985-04-04 1987-09-17 モトロ−ラ・インコ−ポレ−テッド ディジタルゼロif選択段
DE3536773A1 (de) * 1985-10-16 1987-04-16 Telefunken Fernseh & Rundfunk Schaltungsanordnung zur transformation
JPH06103196B2 (ja) * 1987-03-19 1994-12-14 三菱電機株式会社 エンジンの吸気量測定装置
US4811362A (en) * 1987-06-15 1989-03-07 Motorola, Inc. Low power digital receiver
US4910752A (en) * 1987-06-15 1990-03-20 Motorola, Inc. Low power digital receiver
US5179529A (en) * 1989-03-31 1993-01-12 Hughes Aircraft Company High speed fourier transform engine
US5031132A (en) * 1990-02-27 1991-07-09 Analogic Corporation Circuit for convolving a set of digital data
KR102325602B1 (ko) 2015-07-06 2021-11-12 삼성전자주식회사 데이터를 병렬적으로 처리하는 장치 및 방법
CN108226636B (zh) * 2016-12-15 2021-06-11 欧姆龙株式会社 自动滤波方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2258060B1 (de) * 1973-12-28 1978-09-08 Ibm France
US3980873A (en) * 1975-06-27 1976-09-14 Aeronutronic Ford Corporation Digital convolutional filter

Also Published As

Publication number Publication date
GB1514434A (en) 1978-06-14
FR2331213A1 (fr) 1977-06-03
JPS6117B2 (de) 1986-01-06
JPS5260042A (en) 1977-05-18
US4062060A (en) 1977-12-06
FR2331213B1 (de) 1979-06-22

Similar Documents

Publication Publication Date Title
DE3044208C2 (de) Interpolator zur Erhöhung der Wortgeschwindigkeit eines digitalen Signals
DE2628473C3 (de) Digitales Faltungsfilter
DE3121972A1 (de) Interpolator
DE2648422A1 (de) Digitalfilter
DE2145404A1 (de) Nichtrekursive Digitalfiltereinrichtung mit Verzögerungs- und Addier-Anordnung
DE2023570A1 (de) Einseitenband-Modulationssystem
DE2707936C3 (de) Einseitenband-FrequenzmultiplexÜbertragungssystem
DE2638314C2 (de)
DE2608515C2 (de) Doppelt ungerade diskrete Fourier-Transformationsanordnung
DE2846105A1 (de) Richtkoppler
DE2723230A1 (de) Automatischer, im frequenzbereich arbeitender entzerrer mit logischer schaltung
DE2523625A1 (de) Digitalfilter
DE2315347A1 (de) Verfahren und vorrichtung zur fortlaufenden decodierung von gruppen bildenden signalen
DE2603791B2 (de) Verfahren und schaltungsanordnungen zur deltamodulationsuebertragung
DE2718902A1 (de) Transformationsgenerator und dessen verwendung beim aufbau von digitalfiltern
DE2615498A1 (de) Konvolutionsfunktionsgenerator und dessen anwendung in digitalfiltern
DE2450344A1 (de) Schaltungsanordnung zur digitalfrequenz-multiplikation
DE2514875C3 (de) Anordnung mit einer vorbestimmten Übertragungskennlinie
DE2704641A1 (de) Digitalfilter
DE4022381C2 (de) Verwendung langer Digitalfilter bei Vorkommnis von Abrundungsfehlern
DE3046772A1 (de) Taktgenerator
DE102013201126B4 (de) Filter für interpolierte Signale
DE69722719T2 (de) Interpolationsfilter
DE2756252A1 (de) Anordnung zum kombinieren von datensymbolen entsprechend einer vorbestimmten gewichtsfunktion
DE2211376B2 (de) Digitalfilter

Legal Events

Date Code Title Description
8141 Disposal/no request for examination