mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Bandpass, Hochpass, Tiefpass usw.


Autor: Jens-Erwin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Wie kann man einen Filter mit einem AVR machen? Wie bearbeitet man das
digitale Signal? Gibt es da Links, Dokumentationen?

Ziel ist es, ein Audiosignal zu wandeln (Welchen schnellen AD-Wandler
müsste man nehmen? -- ), dann im AVR über Potis (AD Eingänge selbst)
den Frequenzgang zu ändern und als 16Bit digital wieder raus zu
lassen.

Danke für evtl. Hilfe

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich fürchte, dafür ist der AVR ein wenig zu schmalbrüstig.  Den wirst
Du maximal auf Telefonqualität (8 bit mono mit 8 KHz Samplerate)
bekommen.

Für Deinen Zweck mußt Du Dich schon nach einem ,,richtigen'' DSP
umsehen.  Und, hmm, naja, die Filtertheorie will auch erstmal
beherrscht werden...  Ist typischerweise wenigstens 1 Semester im
Studium mit 2 oder mehr Semesterwochenstunden, und mit sehr viel
Mathematik (die gut ans Eingemachte geht, weil's sehr, sehr
theoretisch und oft nicht mehr gut vorstellbar wird).

Siehe auch den Thread über den DSP-Einstieg bezüglich möglicher
Hardware.

Autor: Gerhard Gunzelmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo jens-Erwin

da gibts nen schönen Link, der liefert meines Wissens nen C-Quellcode

http://www-users.cs.york.ac.uk/~fisher/mkfilter/trad.html


Gerhard

Autor: martin m. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hoi


um sowas zu tun müsstest du das signal, das du quasi
seriell einliest, nämlich als zeitdomain, (sowie auf oszi) erst
mithilfe einer diskreten fourier transformation(DFT) in die
frequenzdomain umwandeln.
bei sowas würde ein 8 bit µC aber zu sehr ins schwitzen geraten,
daher gibts da noch die fast fourier transformation (FFT).

der output ist (nach aufbereitung) quasi die vertikalbalkenanzeige
eines spectrum analyzers (nicht ganz exact das gleiche, aber das zu
erläutern
würde wie bereits von jörg erwähnt, monate dauern :).
aus dieser kannst du dann einzelne bandbreiten herausfiltern oder
verstärken.

doch selbst mit fft, hardwaremultiplizierer und feinstem assembler
werden die ergebnisse eher bescheiden ausfallen (kein stereo hifi)

wenn du dich aber dafür interessierst ist das der richtige beginn,
such nach den erwähnten begriffen, und du wirst fündig werden.
irgendwann wirst du dann selbst das bedürfniss verspüren auf einen dsp
umzusteigen und die algorythmen und vor allem deren optimierung,
an denen viele(!) schwitzen mit einer hand reinklopfen :-)

alternativ bleibt dir der weg aller gescheiterten,
der kauf eines fertigen, optimierten algorythmus.

viel glück,
       martin

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
um "einfache" digitale Filter zu realisieren benötigt man aber keine
Fourier Transformation. Stichwort FIR oder IIR Filter.
Von Atmel gibts sogar ne App-Note zu digitalen Filtern, nur leider
funktioniert der Quellcode nicht.
Dennoch wird ein AVR für qualititativ halbwegs hochwertige Audiosignale
zu lahm sein.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Ct hat ueber die Jahre auch einige interessante Grundlagenartikel
ueber FFT und FIR gebracht. Insbesondere FIR Filter sind kein grosses
Problem solange man normale Filter verstanden hat und nicht gerade ein
Unifachbuch zum Thema liesst. .-)

Allerdings teile ich die Einschaetzung das ein AVR fuer Audio viel zu
langsam ist. Das im DSP Thread erwaehnte Einstiegskit von TI schafft
eine FFT von 20khz gerade mal so eben mit einem Kanal und auch wenn
dieser DSP bereits ziemlich veraltet ist, fuer so spezielle Aufgaben
haengt er einen AVR locker ab ohne auch nur ins schwitzen zu kommen.

Olaf

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.