Forum: Digitale Signalverarbeitung / DSP / Machine Learning Filter nur mit Addierern und Shifter implementieren


von Jochen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich stehe vor dem Problem einen Filter 8. Ordnung, der aus ganzzahligen 
Koeffizienten besteht, möglichst effizient zu implementieren. Dazu 
möchte ich die Multiplikationen durch Additionen und Shift-Operationen 
ersetzen.

Zur Verdeutlichung habe ich ein Beispiel angehängt. In Bild 1 sind die 
Koeffizienten von zwei Filtern zu sehen. Die Implementierung ist in Bild 
2 zu sehen.
Meine Frage ist: Gibt ein Programm oder ein Verfahren, dass mir für 
gegebene Koeffizienten eine optimale "Filter-Formel" liefert, die nur 
aus Additionen und Shift-Operationen besteht?

In Bild 3 sind die beiden Filter aus Bild 2 zusammengefasst um 
Ressourcen zu sparen. Das i-Tüpfelchen wäre, wenn mir jemand erklären 
könnte wie ich sowas leicht herleiten kann.

Danke,
Jochen

von Onkel Kapotto (Gast)


Lesenswert?

Du formulierst ganz normal die Koeffizientenmultiplikation und lässt die 
Synthese das entsprechend übersetzen. Dabei wird es auch 
zusammengefasst.

Natürlich kannst Du zuvor aus Trainingsgründen alle MULs in ADDs 
übersetzen, aber es wird nichts besseres rauskommen.

von Jochen (Gast)


Lesenswert?

Onkel Kapotto schrieb:
> Du formulierst ganz normal die Koeffizientenmultiplikation und lässt die
> Synthese das entsprechend übersetzen. Dabei wird es auch
> zusammengefasst.

Quartus verwendet dafür dann aber die Onboard-Multiplizierer.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

mit dem Thema "multiplierless Filters" hat sich ein Herr Lutovac befasst 
und mehrfach veröffentlicht.
Eine Literaturstelle hab ich hier genannt:
http://www.mikrocontroller.net/articles/Hilbert-Transformator_%28Phasenschieber%29_mit_ATmega#Hilbert_ohne_Multiplizierer
die Links sind aber teilweise verwaist.
Sein Buch ISBN 9780201361308 hat ein Kapitel zum Thema

von MJF (Gast)


Lesenswert?

Ein Startpunkt sind Canonical Signed Digits. Für eine Multiplikation 
kann damit eine minimale Anzahl von Additionen und Subtraktionen 
erreicht werden.

Gruss

Markus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.