mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Simple digitale Audioübertragung


Autor: Dantor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir jetzt ziehmlich viele Threads über digitale 
Audioübertragung durchgelesen.
Allerdings habe ich noch nie wirklich etwas mit Audio gemacht.
Ich würde das gerne mal testen, es würde völlig ausreichen, wenn ich 
Stimme übertragen könnte, die man ohne größere Probleme verstehen könnte 
(also in etwa Telefon- oder Türsprechanlagenqualität).
Ich fasse mal zusammen, was ich in den vielen Threads hier gelesen habe:

Vom Aufbau her benötigt man zb ein Kondensatormikrofon, dessen Signal 
man erst verstärken muss (entweder diskret oder zb mit dem max4466). 
Dann muss man das Ganze durch einen Tiefpass schicken, um Aliasing zu 
vermeiden (das leuchtet mir auch ein, auch wenn ich nicht weiß, wie ein 
solcher Tiefpass funktioniert).
Anschließend wandelt ein A/D Wandler das analoge Signal in ein digitales 
um.
Meine Frage hierzu: Ist es wichtig, dass es sich um einen Audio A/D 
Wandler handelt? Worin bestünde da der Unterschied? Reichen 8-bit für 
simple Anwendungen aus? Sind 40khz Abstastrate genug?
Die gleichen Fragen stelle ich mir natürlich auch dann entsprechend für 
den D/A Wandler.
Jetzt habe ich von digitalen Filtern gelesen. Was können diese genau 
herausfiltern? Sind diese zwingend notwendig?

Da ich, wie gesagt, nicht wirklich Ahnung von analogen Sachen habe: 
Kennt vielleicht jemand einen Link, auf der die Grundlagen von 
Audiotechnik erklärt werden? Unter anderem Fragen wie:

Wie sehen bestimmte Audiosignale aus
Wie funktionieren Verstärker, auf was ist zu achten
Wie mischt/filtert man Signale
Was bedeuten Begriffe wie Rauschabstand, Bandbreite, Klirrfaktor usw

So, ich hoffe das ist jetzt nicht zu viel verlangt, ich würde mich aber 
freuen, wenn zumindest ein Teil meiner Fragen beantwortet werden könnte.

Danke im Vorraus!

Autor: Xor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein es muss kein Audio ADC sein. Ein 8bit Wandler ist moeglicherweise 
etwas wenig. Das Leiseste zum Lautesten ist dort nur ein Faktor 256, 
etwa 46 dB. Die ganze Audiotheorie hier abzuspulen ist etwas viel 
verlangt.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst 2 AVRs (z.B. ATMEGA8) damit betrauen. Einen auf jeder Seite 
des Systems. Die haben interne A/D-Wandler und PWM-Ausgänge zum 
(indirekten) Digital-nach-Analog-Wandeln, also den Rückweg für die 
Audiosignale. Dein Mikrofonsignal verstärkst Du mit einem OpAmp, in 
dessen Gegenkopplung ein R/C-Glied liegt, welches als Tiefpaß wirkt. 
Damit gehst Du auf den Eingang A/D-Wandlers, der 8 bit bei mindestens 
16kHz Samplerate wandelt. Das entspricht 8kHz Bandbreite bei 8 Bit, also 
Telefonqualität. Dann verschickst Du das Signal per UART an den zweiten 
AVR, wo Du die empfangenen Signale über ein Hardware-PWM mit 
nachgeschaltetem R/C-Filter (wieder ein Tiefpaß) wieder in hörbare 
Audiodaten zurückwandelst. Ein kleiner Audioverstärker (TDA xxxx) treibt 
dann einen kleinen Lautsprecher und schon hast Du, was Du benötigst. Ein 
paar Taster und LEDs zum Umschalten der Signalrichtung und zum 
Signalisieren des Betriebsstatus kannst Du auch noch anschließen. Ich 
empfehle Dir das Tutorial zum Einarbeiten in die AVRs und die Grundlagen 
zum Bau von analogen Filtern findest Du auch hier. Digitale Filter sind 
für Dein Vorhaben nicht notwendig.

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche qualität schwebt dir denn vor? Telefon tastet mit 8khz. 
frequenzbereich 300-3400hz

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
8Bit sollte wohl reichen.
Probier das mit den Bits und Bits/s einfach mal aus. Bei den meisten 
Pc-Audiorecorder-Programmen kannst du deine Aufnahme in verschiedienen 
Qualitäten speichern. Speicher deine Aufnahme zum Beispiel einfach mal 
mit 8Bit/8kHz/mono und hör dir danach das Ergebnis am PC an.
Wegen deiner anderen Fagen such einfach mal im Internet, oder kauf dir 
ein Elektroniklexikon.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

entscheidend für die Qualität bei niedrigen Sampleraten ist es, dafür zu 
sorgen daß keine Freuenzen über Samplerate/2 an den Eingang des Wandlers 
kommen. Keine heißt ein steiler Tiefpass ab 30db Dämpfung. Ein alter 
10-Kanal-Equilizer aus irgendeinem Auto-Verstärker hat bei 
entsprechender Einstellung Wunder gewirkt. 8Bit reichen selbst für Musik 
noch aus, wenn es nicht um HiFi geht, die Alaising-Effekte, wenn höhere 
Freuenzen reingeraten, sind dagegen unerträglich.

Gruß aus Berlin
Michael

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte man einen AVR mit integrierten 20x verstärker nehmen um ein 
mikrofon direkt an den internen AD an zu schließen?

Welche Qualität hat FM radio?

Bei der Übertragung der Audiodaten wird es mit rs232 schon ziemlich eng, 
wenn man standard baudraten verwenden will (da ich an einen PC 
übertragen möchte).

Meine Idee war einen radio baustein TEA* zu nehmen, das audio signal per 
AVR zu verstärken und wandeln und dann am liebsten per software USB an 
den PC zu schicken, aber bei software usb kommt man nur auf grob 6500 
bytes/s. Also ein USB radio mit möglichst wenigen und günstigen 
Bauteilen.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


@Marius Schmidt:

UKW geht bis 15kHz, 16Bit wäre sinnvoll, theoretisch würden wohl 
10-12Bit reichen, mehr als 60db Fremdspannungsabstand und damit Dynamic 
sind auf UKW sowieso nicht drin.

Abtastrate wäre also minimal 32kHz. Erfordert also 2 brauchbare externe 
10-12Bit-Wandler für rechts/links, dann müssen die Daten noch über USB 
geschafft werden und irgendwer muß sie im PC ja wieder entgegennehmen 
und für die Soundkarte auseinander basteln...

Deshalb haben die ganzen USB-Radios nur die Steuerung per USB und den 
Sound über LineIn.

Gruß aus Berlin
Michael



Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mal zum Testen über die Serielle schnittstelle (mit 
USB<-->Seriell Wandler, wegen der wesendlich höheren baudrate) Sound, 
gesampled von einem Mega128 (steckte gerade auf dem STK501) laufen 
lassen, den Wandler im AVR kann man etwas übertakten, wenn man sich auf 
8 bit beschränkt. Die Qualität ist garnicht mal soo schlecht ;) Wenn man 
die Eingangsbeschaltung anständig ausführt, rauscht das ganze auch nicht 
mehr so viel (ich hatte 10cm Draht bis zum steckbrett, einfache kopplung 
durch nen Keramik-Kondensator (eigentlich bei Audio das schlimmste was 
man machen kann ;) ) und über 2 Widerstände nach Vref und GND auf Vref/2 
gezogen)

8 Bit rechen für Telefonqualität auf jeden fall aus und ~40kHz 
Samplerate bekommt man aus dem AVR wandler auch noch raus.

Bei den kleinen Radios ist die Soundübertragung wohl eher aus 
Kostengründen über Line-In realisiert, da man so das Signal nicht 
Sampeln muss und nicht so hohe anforderungen an die USB schnttstelle 
gestellt werden (USB1.1 HID reicht dann völlig) und das ganze dadurch 
billiger wird.

Autor: Th (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dantor:

Vielleicht hilft das:

http://elm-chan.org/he_a_e.html
http://elm-chan.org/works/vp/report.html

Der zweite Link zeigt, wie man mit einem AVR Sprache digitalisieren und 
analogisieren (??) kann. Hier ist die oben erwaehnte PWM benutzt.
Natuerlich brauchst Du keinen DRAM um die Ergebnisse 
zwischenzuspeichern. Statt dessen moechtest Du die Daten versenden (z.B. 
per UART)

Viel Erfolg!

T

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Tiefpaß zum Eliminieren der Frequenzen über 1/2 Samplerate kann ein 
Linkwitz-Riley Filter sein, ähnlich diesem hier:

http://sound.westhost.com/project09.htm

Ist einfach aufzubauen und mit 24db/Oktave durchaus geeignet. Einen 
Beispielrechner für die R/C-Werte ist auf der Seite auch zu finden.

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir mal das Application Note AVR335 von Atmel. Das könnte dir 
weiterhelfen.

Autor: Philipp Sªsse (philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Hinweis, den ich bisher vermißt habe: damit 8 Bit ausreichen, muß 
die Aussteuerung optimal sein!

Wenn einfach jemand irgendwie in ein Mikro spricht, kann der Pegel schon 
sehr schwanken zwischen lauter Stimme nah dran und leiser Stimme etwas 
weiter weg. Wenn die laute Stimme dann nicht übersteuern darf, bleiben 
für die leise nur wenige Bit übrig.

Daher Vorverstärker mit automatischer Aussteuerung benutzen!

Gruß, Philipp.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael U.

Wie hört sich so ein Aliasing-Effekt an? Hast Du eine Hörprobe? Würde 
mich mal interessieren..

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.