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


von Jens-Erwin (Gast)


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

von Jörg Wunsch (Gast)


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.

von Gerhard Gunzelmann (Gast)


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

von martin m. (Gast)


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

von ape (Gast)


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.

von Olaf (Gast)


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

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
Noch kein Account? Hier anmelden.