Kennt jemand ein Tool zum Entwerfen von Filtern für DSPIC?

Ich muss einen Filter mit DSPIC33 erstellen und möchte ein Programm, das den Filter entwirft (es gibt viele), aber Code nach DSPIC exportiert (in c, einem beliebigen Compiler oder einer Assembly).

Antworten (3)

Microchip verkauft solche Software: http://www.microchipdirect.com/productsearch.aspx?Keywords=SW300001

Wenn Sie nicht bezahlen möchten, können Sie alternativ jede beliebige FIR- oder IIR-Filterdesign-Software verwenden, um Ihre Koeffizienten zu erstellen. Die Implementierung des Filters auf dem dsPIC ist mit der DSP-Bibliothek von Microchip, die im C30-Compiler enthalten ist, wirklich einfach. von denen ich annehme, dass Sie sie verwenden.

Ich verwende noch keinen Campiler, weil ich wissen möchte, in welchem ​​der Filter einfacher zu implementieren wäre. Was meinst du eigentlich mit "ganz einfach"?
Schauen Sie sich einfach die Dokumentation für die DSP-Bibliothek auf der Website von Microchip an. Ich würde Ihnen einen Link geben, aber ihre Website ist derzeit wegen Wartungsarbeiten nicht verfügbar.

Der beste Weg ist, Ihre Filter und Algorithmen in Matlab zu entwerfen und zu simulieren und dann die Funktionen zu implementieren, indem Sie Ihren eigenen C-Code schreiben. Durch die Verwendung von Matlab können Sie Ihre Filter auf echte Daten für optimale Ergebnisse abstimmen und dann Ihren C-Code basierend auf den Anfangswerten schreiben.

Irgendwann müssen Sie Rundungen und Fehler berücksichtigen (z. B. sind echte Filterkoeffizienten in Matlab Floats) und Sie werden sie wahrscheinlich als Ganzzahlen auf dem Bild implementieren wollen, um den Overhead der Gleitkommaarithmetik zu reduzieren.

Nachdem Sie Ihren Code geschrieben und getestet haben, übertragen Sie ihn zurück nach Matlab, um die Auswirkungen der Rundungsfehler zu sehen, und optimieren Sie dort Ihre Filterkoeffizienten.

Das mag schwierig klingen, aber langfristig wird es Ihnen einiges bringen. Besseres Verständnis der Filter, besseres Verständnis der dsPIC-Architektur und der eingebauten Hardware (ganzzahliger Multiplikator), Verständnis der Rundungsfehler bei den Filterkoeffizienten und vor allem hochoptimierter Code!

Es ist der optimierte Code, den Sie wirklich auf Ihrem dsPIC ausführen möchten. Sie können dies nur erreichen, indem Sie zwischen Matlab und Ihrem C-Code iterieren (vielleicht sogar Assembler, wenn Sie die maximale Leistung aus dem Bild herausholen möchten).

Ich dachte, dass Matlab eine Lösung für das Filterdesign hat, mit der Sie in dsPICs exportieren können. Ich habe viel darüber gesehen, ich kann später nachsehen.

Nach der Recherche

Schauen Sie sich dazu den Anwendungshinweis von Microchip an . Ich habe auch gefunden, dass es unter http://www.kerhuel.eu/RTWdsPIC/download.html ein paar Hinweise gibt

Ich kann nicht garantieren, dass dies die Arbeit für Sie erledigen wird, ich versuche nur, Ihnen Rapid-Prototyping-Optionen zu zeigen.

Sie sagen, dass ich C-Code direkt aus Matlab exportieren kann?
Ja, Sie können von Matlab nach ANSI C exportieren, aber ich kenne keinen Compiler für den dsPIC, der tatsächlich ANSI-kompatibel ist.
Weitere Informationen wurden meiner Antwort hinzugefügt.
Der gcc-Compiler, den Microchip für den dsPIC verwendet, soll ANSI-konform sein.