Hallo, bevor ich mich ans Werk mache und Code schreibe, der nicht schnell genug ist: schaffe ich es einen digitalen Filter in einem Mega48 zu realisieren, der mit 200kS/s einen 12-16bit Bit AD Wandler einliest, die Werte filtert und mit gleicher Rate/Tiefe wieder ausspuckt. Es sollen effektiv zwei bis drei Notchfilter implementiert werden. besten Dank im Voraus J
Ein gang einfacher Filter mit 8 Bit Auflösung könnte noch gehen. Für diese Aufgabe dann doch lieber sowas wie dsPIC33..... Teils ist da auch ein 12 Bit AD mit drin.
Das Problem liegt in den 200kS/s, nicht unbedingt in der Rechenpower, wenn du mit Festkommaarithmetik zu Werke gehst, sondern im eingebauten AD-Wandler. Dann müssen u.U. immer zwei Kanäle erfasst werden, es sei denn du lagerst die Summationsstelle vor dem Reglereingang auf eine Opampschaltung aus. Außerdem gehe ich stark davon aus, dass du auch Analog wieder aus dem Ungetüm raus willst. mf
genau, soll analog wieder raus. Soll eben ein "kleiner" digitaler Filter werden (A->D->A) mit anpassbaren Eigenschaften. dann google ich mir stm32 und co mal. Was kosten evalboards oder ein minimalbeschaltetes Board mit der dazu notwendigen Peripherie (Wandler, prog.-Schnittstelle, Quartz+entspr. Prog.-Adapter)? Grüße
200kS/s == 100 CPU Takte, die meisten Befehle dauer 1-2 Takte also => 75 Befehle pro Sample. Ein FIR Filter 4.Ordnung Braucht 4 Multiplikationen + 4 Additionen mit 16Bit. Das schafft man nicht, vorallen musst du ja noch daten laden und ausgeben.
Wandlung per DAC12 und AD7933/AD7934 über die Chip Clock runtergetaktete clock für den Wandler, dann gehen für ein und ausgabe gerade mal 8 Zyklen verloren, bleiben 192 für die Berechnungen bzw. 171 bei der durchschnittlichen 3/2 Zyklen abschätzung... werde es überdenken, vielen dank an alle....
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.