PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Audiosignal digitalisieren und wieder zurück..sehr aufregend



Zeiner-Rider
17.09.2006, 10:11
Hallo!

Ich möchte mir eine normales audiosignal (zum anfang tut es auch mono) mit einem wandler digitalisieren , und das ganze wieder zurück in ein analoges signal wandeln.
klingt recht einfach, habe da aber praktisch gesehen null ahnung.
gibt es da standart wandler, die auf soundkarten zu finden sind, die sich für diese Übung verwenden lassen?
brauch ich im prinzip nur einen AD-Wandler und einen DA-Wandler?
Kann mir da jemand helfen?

lg Martin

BASTIUniversal
17.09.2006, 10:40
Hallo!
Also Nyquist oder wie der Mensch hieß kennst du? Jenachdem wie groß die max. Frequenz ist, die du Aufzeichnen willst, muss die Sampling-Rate mindestens doppelt so groß sein!
Wenn du bis 10 KHz gehen willst, muss dein A/D-Wandler mindestens 20 KHz schaffen.
Ausserdem musst du wissen wie groß der Pegel deines Eingangssignals, musst einen Filter vor den A/D-Wandler setzen damit es nicht zum Aliasing kommt...usw...!
Spezielle Audio A/D und D/A Wandler gibt es von verschiedenen Herstellern, musst einfach mal bei verschiedenen Halbleiterherstellern nachschaun.

MfG

Zeiner-Rider
17.09.2006, 11:02
auf der soundkarte ist alles im snd-chip integriert?
die externen bauteile sind alles inverter, opv, leistungsverstärker,...
aber da muss es doch ein bauteil vom chip ( der große) auf den verstärker geben, oder besitzt der chip analoge ein/ausgönge.
vielleicht kann ich da den chip verwenden?
wo würde ich ein datenblatt herbekommen?

BASTIUniversal
17.09.2006, 11:16
aber da muss es doch ein bauteil vom chip ( der große) auf den verstärker geben

Du weißt schon das es hunderte Soundkarten und Millionen verschiedener "Chips" gibt?

Der Soundprozessor (ich nehm mal an das du das mit "Chip" meinst) bekommt die Sounddaten digital und schickt die dann z.B. per I²S an den D/A-Wandler. Von dort geht's dann auf den Verstärker und raus aus dem PC.

Am Eingang wird wahrscheinlich das Signal gefiltert und mit nem OP auf nen annehmbaren Pegel für den A/D-Wandler gebracht. Ich vermute einfach das der Prozessor ne AGC oder so integriert hat und die Verstärkung nicht fest ist.

Felix G
17.09.2006, 11:19
aber da muss es doch ein bauteil vom chip ( der große) auf den verstärker geben, oder besitzt der chip analoge ein/ausgönge.
vielleicht kann ich da den chip verwenden?
wo würde ich ein datenblatt herbekommen?Ich glaube das ist ziemlich aussichtslos...
die heutigen Soundprozessoren sind extrem komplex und leistungsfähiger also so manche ältere CPU, so ein Ding bekommt man nicht problemlos angesteuert (zumindest nicht ohne Computer)

Albanac
17.09.2006, 11:28
Hier ist was für dich zum lesen:
http://www.mikrocontroller.net/forum/read-10-298711.html


Such mal nach DSP (Digitaler Signal Prozessor) und du wirst sicherlich einiges finden.

Für was willst du das ganze benutzen?

Zeiner-Rider
17.09.2006, 11:32
hmm... also ich wollt eigentlich nur mit einem ad wandler das ganze digitalisieren, und dann gleich wieder zurück analogisieren.
also habe ich da an 2 0815 wandler gedacht.

wenn es erfolgreich ist, dann vl etwas mehr in richtung speicherung gehen.

aber zuerst will ich alles ohne controller versuchen

BASTIUniversal
17.09.2006, 12:04
Hi!
Ohne Controller könnte das etwas schwierig werden, je nach A/D und D/A Wandler endet es dann in nem IC-Grab!
Auf jeden Fall sollten es, wenn ohne µC gearbeitet werden soll, parallele Wandler sein. Ansonsten ist es aussichtslos.
Ausserdem müssen die Wandler noch dazu bewegt werden zu Wandeln, wenn der A/D-Wandler fertig ist und das Ergebnis ausgibt muss schon der D/A-Wanlder am Wandlen sein bzw. fertig sein bevor der A/D seinen Ausgangswert ändert.

So pauschal kann man da nix sagen, kommt auf die Wandler an, die verwendet werden sollen!

Zeiner-Rider
17.09.2006, 12:14
aha
also geht das nicht mit 2 einfachen billigen bauteilen?!

BASTIUniversal
17.09.2006, 12:25
Nein, warum sollte sich auch jemand die Mühe machen sowas zu entwickeln? Erst etwas digitalisieren um es dann wieder unter Qualitätsverlust wiederzugeben hat ja auch nicht wirklich einen Sinn, oder?

Was du machen könntest wäre z.B. einen µC mit A/D und D/A Wandler darauf zu Programmieren. Das wäre wohl das einfachste!

MfG

P.S.: Speicher, die z.B. Sprache aufnehmen um sie dann wieder auf Befehl auszugeben gibt es aber, sogar als einziger IC.

Zeiner-Rider
17.09.2006, 12:27
diesen thread dazu habe ich hier gesehen...

will mich doch nur etwas mit der digitaltechnik beschäftigen, da wir in der schule damit nicht so viel machen, meine intersse ist jedoch vorhanden.

BASTIUniversal
17.09.2006, 13:02
Naja, dann schnapp dir doch nen kleinen µC und lern ne passende Programmiersprache! Heutzutage werden kaum noch Logikgatter eingesetzt, die sind alle in FPGA's oder CPLD's verschwunden.
Damit gibt's dann kein Gattergrab mehr, denn in diesen Bausteinen sind hunderte Logikelemente integriert. Die Verbindungen werden dann reingebrannt oder geladen.

MfG

PICture
17.09.2006, 13:50
Hallo Zeider-Rider!

Wenn es nur ein Lehrgang in Digitaltechnik seien sollte, würde ich es doch ohne Mikrokontroller machen.

Du brauchst dazu nur:

Taktgenerator (1xShmitt-Trigger Inverter oder Gatter)
A/D Wandler (z.B. ADC0804)
RAM (statisch, Grösse nach bedarf)
Adresszähler (z.B. 74XX393)
D/A Wandler (kann auch mittels R-2R Widerstände selbst aufgebaut werden)

Die Lösung mit Mikrokontroller ist Hardwaremässig einfacher, aber insgesamt kompliezierter. Wie Du es machen willst, überlasse ich Dir. :)

MfG

Zeiner-Rider
18.09.2006, 18:25
wir haben schon 1 jahr µcontroller programmiert, fühle mich dieser aufgabe jedoch nicht gewachsen.
kann grundlegende sachen wie adc programmieren, jedoch keine speicher.
ich werde mir auch in ferner zukunft einen µcontroller vl mit board besorgen, jedoch weiß ich nicht genau welchen.

und wie steuere ich das SRAM an?
kann ich da Pc-Module verwenden?

tholan
18.09.2006, 22:41
Bin gerade dabei was auszuprobieren.
Das hier ist ein sog. Codec.
Den hab ich vorsichtig von einer Mad16 Soundkarte,
zusammen mit den Quarzen extrahiert, nachdem ich das
Datenblatt gefunden hatte.
Der digitalisiert stereo 16 Bit bis 48KHz, hat auch 'nen
D/A Wandler, 'ne 6-Kanal analoge Mischeinheit und nimmt nur
1x5V. Es ist ein Jammer, daß sowas für Bastler neu quasi nicht zu
bekommen ist. Und dann sind die Datenblätter meistens auch noch
"confidental".
Von unten zeig ich den lieber nicht, sieht ziemlich wüst aus.
Die Kondensatoren hab ich auf Anraten schon verkleinert, damit der mir
nicht die I/O- Pins vom µC grillt.
Der kommt jedenfalls an einen Mega8 mit SRAM (alte Cache RAMs).
Drückt mir mal die Daumen, daß er noch lebt!
Tja, wie Du siehst, so einfach is nich...

Zeiner-Rider
19.09.2006, 17:30
sieht doch sehr interessant aus!
Woher bokomme ich nur die Datenblätter?
ältere Soundkarten ( Soundblaster AWE 32) wären doch ideal für sowas, wenn man nur ein Datenblatt für den Soundprozessor findet.
Wir in der Schule programmieren mit WRKIT (C++).
Wie siehts mit so einem Teil für div. basteleien aus: http://cgi.ebay.at/AVR-Mega32-System-m-LED-bel-LCD-RS232-BOOTLOADER_W0QQitemZ270027829837QQihZ017QQcategory Z10662QQrdZ1QQcmdZViewItem
doder hat dieses board einige Schwachstellen?
wrkit kann doch jeden µ controller über seriell programmieren, oder?
ich kenne mich da leider noch nicht so gut aus.

lg Martin

tholan
20.09.2006, 01:31
Datenblätter gibt's bei: www.alldatasheet.com,
www.datasheetarchive.com usw.
Das Angebot aus Deinem Link finde ich schon O.K. ,
ist immerhin mit beleuchtetem 2x16 LCD. Du brauchst dann
allerdings noch 'ne Spannungsversorgung.
Ich hol mir die 5V immer aus dem USB oder PS2.
Hier ist allerdings ein Festspannungsregler drauf,
der hätte gerne eine etwas höhere Eingangsspannung (wie beschrieben).
Ein Adapterkabel für die ISP fehlt ebenfalls noch.
C++ ist beim ATMega nicht angesagt.
Das wäre wegen der begrenzten Ressourcen wohl
ziemlicher Overkill.Mit Winavr lassen sich
sehr schöne und zweckdienliche C- Programme schreiben.
BASCOM- Basic ist auch sehr beliebt.
Für's Überspielen des Kompilats nehm ich immer Twinavr.
Für den Einstieg in AVR Programmierung gibts hier
'ne Menge Hilfe.
Hab übrigens bei www.Segor.de noch nen Codec gefunden:
PCM3008T von BB für 10Euronen.
viel Spaß!

Zeiner-Rider
20.09.2006, 06:56
was genau ist ein codec?

heißt das dass ich den atmel nicht mit c programmieren kann, oder nicht mit dem wrkit ide übertragen kann?

ich würde schon bei c+ bleiben.
sonst muss halt ein anderer controller her.

tholan
20.09.2006, 10:21
Als Codec bezeichnet man IC in denen A/D sowie D/A Wandlung integriert sind.
Viele enthalten zusätzlich analoge Audiomixer.
C++ für einen Mikrocontroller mit sagen wir 1KB RAM und 8KB Flash
halte ich einfach für Overkill. Die ATMegas werden halt hardwarenah programmiert.
Das hantieren mit Objekten ist hier einfach zu abstrakt und auch nicht nötig.
Ich mach jedenfalls immer mit Winavr.