- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Wav-datei am ADC auswerten

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167

    Wav-datei am ADC auswerten

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo, ich möchte eine Wav-datei 32000hz am ADC auswerten.
    Kopfhörerausgang verstärkt an den ADC:
    Ich habe einen Atmega32 mit 16mhz.

    Geht das überhaupt mit dem ADC vom Atmega32, 32000hz auswerten?
    Schafft das Bascom überhaupt ?

    Wie kann man das realisieren ?

    Gruss

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Ich hatte hier mal ein Kopfhörersignal verstärkt an einem ADC-Eingang versucht:

    https://www.roboternetz.de/phpBB2/viewtopic.php?t=36754

    Der RP6 verwendet einen mit 8MHz getakteten Mega32 und sampelt das Kopfhörersignal mit dem ADC. Nach der "Aufnahme" wird das Gespeicherte endlos abgespielt:

    http://www.youtube.com/watch?v=-XpAL3PlMAw

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167
    Jup, danke für den Hinweis.

    Wo ist jetzt die Datei mit dem ADC und den Wav-werten?

    Gruss

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    31
    Beiträge
    1.578
    Also ich bin sicher kein Experte in Sachen Geschwindigkeit und ADC, allerdings denke ich, das ganze sollte bei 16Mhz durchaus machbar sein. Um das Signal überhaupt abtasten zu können, muss deine Abtastfrequenz mindestens 32000hz*4 = 128000hz, also 128khz betragen.
    Um das in Bascom zu realisieren, würde ich den ADC im Free-Run Modus laufen lassen und immer nur zu bestimmten Zeitpunkten (in ner Timer-isr alle 8µs) die hochwertigen 8-Bit des ADC auslesen (also linksbündig einstellen und dann das ADCL-Register auslesen).

    Evtl. brauchst du dazu aber noch n'bisschen Inline-Assembler.
    Wie gesagt, ist nur eine grobe Vermutung von mir, da können dir andere sicher besser helfen! Viel Zeit bleibt dann aber nicht mehr für anderen Sachen.

    Gruß
    Chris

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167
    Ich möchte jetzt mit den Daten eine weisse Leuchtdiode ansteuern für ein Nipkowbild. Es besteht aus y=80 Pixel und x=32 Pixel.
    Also 2560 Pixel. Pro Sekunde werden 12,5 Bilder benötigt. Sind also 32000 Datenwerte pro Sekunde.
    Wie kann man es mit dem Timer jetzt realisieren in 0.00003125 sec 1 Wert in PWM einzuspeisen um damit eine bestimmte Helligkeit der Leuchtdiode zu erzeugen?

    Atmega32 mit 16mhz.

    Gruss

  7. #7
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Ach, das gehört zum mechanischem Fernsehen. Das habe ich nicht gleich zugeordnet. Inzwischen habe ich mir dazu auch ein paar Gedanken gemacht. Mit einem µC sollte das recht einfach sein. Allerdings nur zur Drehzahlregelung der Scheibe, das Signal würde ich direkt auf das Leuchmittel geben. Der AVR kann das Signal zwar ohne Probleme einlesen, ausgeben kann er es aber leider nicht so einfach, weil der keinen DA-Wandler besitzt.

    Ich befürchte, im Moment kann ich dir hier nicht weiterhelfen.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  8. #8
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der AD Wandler kann mit 30 kHz Abtastrate noch arbeiten, aber wohl nicht mehr mit den vollen 10 Bits. Auch in Bascom könnte man das wohl noch hinbekommen, man hat ja schließlich rund 300 Zyklen pro AD sample zur verfügung (bein 10 MHz Takt).

    Die Wandlung vom Digitalen in ein analoges Signal sollte bis etwa 32 kHz auch noch per PWM gehen (ca. 8 Bit). Man hat dann aber pro Wert nur noch 1 oder 2 Zyklen des PWM Signals und müßte die Ausgangbare wohl schon mit der PWM Frequenz Syncron haben. Eine Alternative wäre sonst ein externen DA Wandler oder bei geringer Anforderung ggf. auch ein R2R Widerstandskette an 7 oder 8 IO Pins.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167
    das Signal würde ich direkt auf das Leuchmittel geben.
    Das wollte ich auch.
    Den ADC-Wert zum PWM, der dann die Leuchtdiode ansteuert.

    Dazu Suche ich eine Zeit-Routine um 32*80*12,5 Punkte zu realisieren.
    Vom ADC zum PWM zur Leuchtdiode.

    So wird das Bild Zeitlich beschrieben:
    About the Pictures
    The pictures were generated as Windows Bitmaps, then converted to WAV files on a PC using "Cool Edit 96" by Syntrillium Software.

    * Each bitmap was made to the NBTVA 32 line standard (Narrow Band TeleVision Association).
    * The sync pulse height is 30 percent, 77/255, or 4D(Hex).
    * The sync pulse duration chosen was 6/80 line period, 187.5 microseconds.
    * The bitmap format chosen was width 80 x height 32, 8 bit monochrome.
    * This results in a 32 line scan, with 2560 samples, bytes or pixels per frame.

    This was converted to a WAV file at a sampling rate of 32000 samples per second:

    * It produces 32000/2560 = 12.5 frames per second, and
    * A frequency spectrum with a bandwidth of 16 kHz.


    Hier die Nipkow-Variante:
    http://www.sptv.demon.co.uk/nbtv/

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167
    bei geringer Anforderung ggf. auch ein R2R Widerstandskette an 7 oder 8 IO Pins.
    Wie sieht das denn aus???

    Gruss

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus