mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Kontinuierliches Abspielen in Matlab


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi ...

Ich bin gerade dabei einen ein wenig mit Labview herumzuspielen ...

Und zwar möchte ich gerne eine Impulsanwort online auf den 
Mikrofoneingang rechnen. Die Berechnung etc. macht mir dabei keine 
Probleme nur kann ich den Ausgangspuffer der Soundkarte nur "Blockweise" 
ansteuern. D.h ma hört immer wieder ein "Knacksen" beim Übergang auf 
einen Block ... was ja irgendiwe dadurch entsteht weil ein Block 
abgespielt wird, ein neuer abgeholt und wieder abgespielt wird ...

In Matlab gibts mit wavplay natürlich das selbe Problem ... die Lösung 
wäre ein Ringbuffer nur wie sage ich das dem Audiotreiber der Soundkarte 
das kontinuierlich abgespielt werden soll ?


lg Peter

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei normalen Soundkarten ist der Datenaustausch immer blockweise. Die 
Blockgröße kann man normal in einigen Stufen einstellen. Normal ist es 
auch so, dass eine Karte einen gemeinsamen Wordclock hat, die Pakete 
werden daher zum Aufnehmen und Abspeilen zeitgleich übergeben. Damit 
muss man das Einlesen und Ausgeben nahezu zeitgleich handhaben können. 
Damit man noch Rechenzeit übrig hat, sollte man mit einer 
Mehrfachpufferung arbeiten, also drei Puffer einrichten:

* Einlesepuffer
* Puffer in Bearbeitung
* Ausgabepuffer

Jeder Puffer muss genau die Blockgröße haben, die die Soundkarte 
erwartet.

Wie man das in Labview macht, kann ich dir aber nicht sagen, ich 
programmiere Audioanwendungen immer in C++.

Grüße,

Peter

Autor: audio_eng (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt Matlab Toolboxen, die genau dein Problem lösen.

MSound: 
http://www.hoertechnik-audiologie.de/web/file/Fors...

Soundmex Pro: http://www.soundmexpro.de/

Ersteres ist kostenfrei, zweiteres kostet Geld.
Beide Programm funktionieren sehr gut, erfordern aber Einarbeitungszeit.

Viel Erfolg!

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dankeschön vielmals für die Anworten ... genau das was ich brauche ;-9

lg Peter

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.