www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Einfache Realisierung von Filtern


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi @ all

Ich möchte zwei Signale filtern. Diese liegen bis jetzt noch analog
vor. Für die Digitalisierung benötige ich 2 AD-Wandler die mit je 10MHz
arbeiten. Die beiden Signale sollen dann gefiltert werden und
anschließend wieder über 2 DA-Wandler digitalisiert werden. Für die
Berechnung der Filterkoeffizienten möchte ich Matlab benutzen.
Anschließend würde ich den Filter gerne im Blockschaltbild realisieren,
dann die berechneten Koeffizienten zuordnen. Zum schluss soll daraus ein
Code erzeugt werden, der in einen DSP geladen wird und alles läuft.

Nun zu meinen Fragen:
1. gibt es gute Software, mit der man das RAD nicht wieder neu erfinden
muss?

2. gibt es Möglichkeiten aus den Blockschaltbild einen Code für einen
DSP erstellen zu lassen ? (soll eine schnelle Lösung sein, ohne das man
Monate programmieren muss)

3. Welche DSP's sind gut (zwischen 50 und 100€)

Grüsse

Michael

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut, schnell und billig sind gegenläufige Forderungen (noch dazu bei
deiner Abtastrate! => machst du das Platinenlayout selbst?)

Für Matlab gibt es eine Real-Time-Target Toolbox, die diverse DSPs
(u.a. TI) unterstützt. Damit könntest du am schnellsten ans Ziel
kommen.

Bei der gewünschten Abtastrate wird dir aber mit gängigen DSPs nichts
anderes übrig bleiben, als den Kram in Assembler zu programmieren - und
selbst da dürfte bei Filtern höherer Ordnung bezeiten finito sein.

Z.B. haben ADs Sharcs 400MHz Taktfrequenz, d.h. es bleiben 40 Takte je
Samplezeit, also 20 Takte je Kanal. Klingt reichlich illusorisch, so
vernünftig arbeiten zu können, oder?

Bei solchen Anforderungen wirds wohl eher ein FPGA werden.

Für deine 50-100 Euro solltest du dir erstmal ein Buch über
Echtzeitdatenverarbeitung kaufen, um einen Eindruck von den
Möglichkeiten aktueller Produkte zu bekommen.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe für 100€ einen DSP von TI gefunden, der mit 600MHZ läuft. So
wies jetzt aussieht wird die Abtastfrequenz doch unter 10MHz liegen,
ich denke mal zwischen 1MHz und 5 MHz. Dies wird sich aber erst bei
einer genauen Analyser herrausstellen. Wenn man dann z.B. mit 1MHz
abtastet, dann bleiben 600 Takte für die Filterung übrig, da 2 Signale
verarbeitet werden sollen sind es dann nur noch 300 Takte. Mit einem
Takt wird doch bei dem modernen DSP's sicherlich mehr als nur 1
Multiplikation durchgeführt. Dann sollten doch Filter mit einer Ordnung
< 50 ok sein.



Ich habe mir mal die Software von von Texas Instrument heruntergeladen
(Demo) Dort wird angegeben, das einen Code-Wizard geben soll. Was schön
wäre wenn man einen Schaltplan erstelllen könnte,wo man z.B. einen
Tiefpass aus einer Bibliothek entnimmt, diesen auf dem Schaltplan
plaziert und dann die durch Matlab errechneten Koeffizienten in eine
Maske eingibt. Der TI-Compiler, muss dann nur noch den Code daraus
erzeugen, der auf den Ausgewählten DSP optimiert ist.

Es ist kein Poblem den Tiefpass in C zu programmieren. Habe schon
Beispiele gefunden. Nur sind die halt allgemein geschrieben und nicht
auf einen bestimmten TI-DSP zugeschnitten. Dadurch wird beim
Compilieren sicherliche eine menge Performence verloren gehen.nUR
LEIDER denk TI wohl nicht so sehr an die Kunden.


Wie ist es denn bei der Real-Time-Target Toolbox? Hat die einen eigenen
Compiler? Kann ich den Code auf den DSP laden?

Grüsse

Michael

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie ist es denn bei der Real-Time-Target Toolbox?
> Hat die einen eigenen Compiler?
Nein, den mußt du zusätzlich kaufen.

> Kann ich den Code auf den DSP laden?
Ja, das geht sehr einfach über nen eigenen Bootloader.

Aber Alex hat vollkommen recht, das ist eine typische FPGA Anwendung.
Schau dir das mal an:
http://www.mathworks.com/products/filterhdl/

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.