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
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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.