Forum: Digitale Signalverarbeitung / DSP / Machine Learning Signal herausfiltern


von Juri S. (okidoki)


Lesenswert?

Schönen guten Tag,

ich habe eine kleine Frage. Ich arbeite gerade in meiner Freizeit an 
einem kleinen Projekt. Für dieses ist es notwendig, dass ein 
Lautsprecher einen Ton erzeigt der beim Mikrofon wieder rausgefiltert 
wird.
Beides ist an meinem Rechner angeschlossen, leider schwankt aufgrund 
Auslastung die Rechenzeit zu stark. Folglich werde ich das Ganze extern 
über einen Microcontroller laufen lassen. Ich habe schon etwas mit dem 
AVR gearbeitet.

Meine Idee war es, dass analoge Signal vom Lautsprecher anzuzapfen (AD) 
und es zu speichern oder gleich zeitverzögert an einen anderen 
Microcontroller weiterzuleiten. Der zweite Microcontroller liest das 
Mikrofonsignal aus (AD) und zieht die Daten vom ersten Microcontroller 
ab. Danach wird das modifizierte Digitale Signal wieder ins Analoge 
transformiert und an den Rechner weitergeleitet.
Gibt es schon so etwas? Oder hat jemand schon etwas ähnliches gemacht? 
Muss ich etwas Wichtiges berücksichtigen?

Schöne Grüße

von Philipp D. (philipp9494)


Lesenswert?

Hallo

Naja zu berücksichtigen gibts da schon einiges :)

Der Lautsprecher und das Mikrofon haben wahrscheinlich einen mehr oder 
weniger großen Unterschied im Frequenzgang, den musst du rechnerisch 
ausgleichen.
Weiters hast du zwischen dem Lautsprecher- und Mikrofonsignal eine 
Totzeit, bedingt durch die Schallgeschwindigkeit, welche abhängig vom 
Abstand und Temperatur ist.
Sind die Schallwellen genau phasengleich könnte es sein, dass das Signal 
nicht ausgelöscht, sondern sogar verstärkt wird.

Liebe Grüße
Philipp

von Juri S. (okidoki)


Lesenswert?

Hi Philipp,

danke für die schnelle Antwort. Du weißt nicht vielleicht ob es ein 
soundkarten Modul für den AVR gibt. Mit das einen sauberen Ton ausgeben 
kann.

Schöne Grüße,
Juri

von Philipp D. (philipp9494)


Lesenswert?

Guten Morgen!

Du kannst dir mal den Artikel und die verlinkten Seiten darin ansehen: 
http://www.mikrocontroller.net/articles/Klangerzeugung

Aber mit dem AVR wird dass sowieso etwas schwierig.
Recht viel mehr als 8-bit Sound wird da nicht werden, da der AVR für 
mehr zu langsam sein wird, geschweige denn noch in Echtzeit die Werte 
umzurechnen.
Dafür nimmt man speziell dafür entwickelte DSP Bausteine. Diese haben 
extra Befehle für die Signalverarbeitung, welche dir viel Arbeit 
abnehmen.

Liebe Grüße
Philipp

von Pit (Gast)


Lesenswert?

Guten Morgen,

ich würde dir auch direkt zu einem DSP raten. Die Dinger sind ja extra 
für solche Anwendungen ausgelegt. Du kannst dein Glück auch mit einem 8 
bit Controller probieren aber das wird dir mehr Frust als Lust bringen.

von Juri S. (okidoki)


Lesenswert?

Danke für den Tip,

welches DSP könnt ihr für einen Anfänger empfehlen. Es sollte so günstig 
wie möglich sein und wenn möglich mit Video Unterstützung.

Mit erscheint der C5505 eZdsp USB Stick als guter Einstieg.

Schöne Grüße

: Bearbeitet durch User
von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Juri S. schrieb:
> Ich arbeite gerade in meiner Freizeit an einem kleinen Projekt

Das was du machen willst klingt nach Echokompensation, aber ohne zu 
wissen was das für ein Projekt ist, kann man dir nicht wirklich helfen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Juri S. schrieb:
> Gibt es schon so etwas?
Ja, bei Gegenschallanlagen, selbstjustierenden PA-Systemen, 
schallbasierten Radargeräten und Sonografiegeräten.

> Oder hat jemand schon etwas ähnliches gemacht?
Ja

> Muss ich etwas Wichtiges berücksichtigen?
Ja, eine ganze Menge.

Je nachdem was Du vorhast, brauchst Du u.U. ein virtuelles 
Luftmassenschalldämpfungsmodell, ein 3D-Schallrezeptionsmikrofonmodell, 
ein miniatur line array zum gebündelten Abstrahlen des Suchschalls, eine 
spezielle Flächenanordnung von MEMS-Mikros zur Rezeption und etwas 
Signalverarbeitung.

Es kann auch sein, dass Du für Deine App das Signal nicht am 
Lautsprecher, sondern elektrisch davor abgreifen kannst /musst.

Aber wie Andreas schon schreibt: Ohne Details Deiner App kann man 
schlecht beraten, was Du brauchst.

von npn (Gast)


Lesenswert?

Jürgen Schuhmacher schrieb:
> schallbasierten Radargeräten

So etwas gibt es nicht. Radar heißt "Radio Detection and Ranging", also 
"Funk-Ortung und -abstandsbestimung".
Was du meinst, ist vermutlich "Sonar". Das ist schallbasiert. Radar ist 
IMMER Funk...

Aber mit dem Rest deines Beitrages bin ich einverstanden :-)

von J. S. (engineer) Benutzerseite


Lesenswert?

Ich hatte auch überlegt, aber Radar wird ja sogar für die 
Rückfahrsysteme verwendet, die auf Ultraschall basieren (was ja nicht 
alle tun). Wird wohl Zeit für einen neuen Begriff. Wie wäre es mit 
SODAR? (Sound Detection ...)

von Michael W. (Gast)


Lesenswert?

Von der CPU Leistung her gesehen könnte das mit einem dsPIC schon gehen, 
wenn du auf etwa 10kHz begrenzt. Jedenfalls ist der schon um eine Klasse 
besser als ein 8 Bit AVR.

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.