Grundsatzfrage DSP Programmdesign in C

Gast #2477013
Hallo,

ich habe im Studium einige kleine Projekte im DSP-Bereich (Filter, 
Regler etc.) bearbeitet. Dafür habe ich in C meist arrays verwendet, 
welche die letzten n Abtastwerte für z. B. einen Filter aufnehmen.
Für ein aktuelles Projekt bearbeite ich nun zum ersten Mal einen 
digitalen Regler für den Produktiveinsatz. Da die Regelstrecke sehr 
träge ist (Temperaturregler) kommt kein DSP sondern ein µC mit einem 
Echtzeitbetriebssystem zum Einsatz (das hat auch noch andere Gründe!).

Meine Frage geht nun in Richtung allgemeines Vorgehen:
Welche Strukturen (Arrays?) bzw. Speicherbereiche bzw. Speicherbefehle 
(malloc?) verwendet man um ein Stück digitale Signalverarbeitung nach 
allen Regeln der Kunst aufzubauen respektive zu programmieren?

Gruß, Florian
Gast
Hi!

malloc und Echtzeit sollte man nicht mischen. malloc hat nämlich keine 
definierte maximale Dauer. Oder: Was passiert, wenn in einem ungünstigen 
Fall kein Speicher für die Temperaturregelung frei ist? Natürlich könnte 
man sich gleich zu Beginn der Programmausführung mit malloc genügend 
Speicher für die Temperaturregelung sichern. Da man den Speicher aber 
sowieso nicht wieder freigibt, kann man auch gleich ein array statisch 
anlegen.

Gruß
PP

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.