Forum: Analoge Elektronik und Schaltungstechnik 2 Sekunden akustische Verzögerung einbauen


von Manfred O. (Gast)


Lesenswert?

Hallo,

Ich würde gerne eine Verzögerung von 2 Sekunden bei einem analogen 
Tonsignal ( 300Hz - 3400Hz ) erreichen. Gibt es dafür einen simplen 
analogen Ansatz?

ADC + Speicher + DAC halte ich für etwas übertrieben.

Danke für die Hilfe,

Manfred O.

von Dietrich L. (dietrichl)


Lesenswert?

Manfred O. schrieb:
> Gibt es dafür einen simplen
> analogen Ansatz?

Ich sage mal brutal: NEIN

von Henrik V. (henrik_v)


Lesenswert?

Naja, der klassische analoge Ansatz ist bei alten Gitarreneffekten zu 
finden:
gurgel: Bandecho :)
Tonbandschleife mit zwei Köpfen, einer schreibt, der zweite macht die 
Wiedergabe.

von npn (Gast)


Lesenswert?

Manfred O. schrieb:
> Ich würde gerne eine Verzögerung von 2 Sekunden bei einem analogen
> Tonsignal ( 300Hz - 3400Hz ) erreichen. Gibt es dafür einen simplen
> analogen Ansatz?

Tonband-Endlosschleife und mehrere Tonköpfe, wie man es früher bei 
Echogeräten gemacht hat. Ist analog, aber du brauchst eben ein 
Tonbandgerät dafür.
Ansonsten, wenn es klein, zuverlässig und preiswert werden soll, wirst 
du wohl nicht um ICs herumkommen.

von Manfred O. (Gast)


Lesenswert?

Danke für die schnelle Hilfe,

ja es soll klein, zuverlässig und preiswert sein ;).

Okay, das heißt ADC + µC + FIFO + DAC ?

von Udo S. (urschmitt)


Lesenswert?


von npn (Gast)


Lesenswert?

Manfred O. schrieb:
> Danke für die schnelle Hilfe,
>
> ja es soll klein, zuverlässig und preiswert sein ;).
>
> Okay, das heißt ADC + µC + FIFO + DAC ?

Zum Beispiel. Ich denke, es sollte mit dem STM32F4 machbar sein. Der hat 
schon alles on Board, was du brauchst. Da ich auch erst mit dem STM 
angefangen habe mich zu beschäftigen, könnte sich bitte mal jemand 
anders dazu äußern. Ich will hier keinen Unsinn verbreiten. Ich könnte 
mir vorstellen, daß es damit relativ einfach machbar ist.

von npn (Gast)


Lesenswert?

Udo Schmitt schrieb:
> http://de.wikipedia.org/wiki/Hallger%C3%A4t#Federhall

Damit eine Verzögerung(!) von 2 Sekunden? Hall ja, aber eine Verzögerung 
bedeutet ja, daß man das Eingangssignal zwei Sekunden später am Ausgang 
wieder möglichst unverändert zur Verfügung hat. Das wage ich bei einem 
Federhall zu bezweifeln. (Auch wenn der Federhall einen ganz tollen und 
unverwechselbaren Charme in der Musik hat).

von Marian (phiarc) Benutzerseite


Lesenswert?

Wenn's näherungsweise Qualität haben soll, muss der FIFO Zeit * 
Kanalzahl  22 kHz  2 Byte groß sein, also mindestens 88 K pro Kanal 
für 2 Sekunden. Das übersteigt den SRAM der meisten MCUs bei weitem. Und 
22 KSPS klingt bei Audio schon ziemlich Scheiße, man will eher 44 KSPS.

von npn (Gast)


Lesenswert?

Marian B. schrieb:
> Wenn's näherungsweise Qualität haben soll, muss der FIFO Zeit *
> Kanalzahl  22 kHz  2 Byte groß sein, also mindestens 88 K pro Kanal
> für 2 Sekunden. Das übersteigt den SRAM der meisten MCUs bei weitem. Und
> 22 KSPS klingt bei Audio schon ziemlich Scheiße, man will eher 44 KSPS.

Da ging irgendwas mit der Formatierung schief. Versuchs nochmal ohne 
Sternchen :-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Udo Schmitt schrieb:
> http://de.wikipedia.org/wiki/Hallger%C3%A4t#Federhall
Es soll nicht verhallt, sondern nur verzögert werden.

Ich würde da bei Ebay für 15 Euro ein fertiges (Multi-)Effektgerät 
kaufen und passend einstellen...

von Route_66 H. (route_66)


Lesenswert?

Hallo!
Zu Qualitätsanforderungen hast Du ja nichts gesagt.

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

geht bis 1,7 Sekunden.

von Noch einer (Gast)


Lesenswert?

300Hz - 3400Hz. 7kHz Samplerate brauchen nur 28k Speicher.

von Manfred O. (Gast)


Lesenswert?

Hallo,

dass es einiges an RAM bedarf, den die meisten ( kleinen ) µC nicht 
haben, ist mir bewusst. Der Ansatz mit dem externen DRAM sieht sehr 
interessant aus, habe mir schon ähnliches gedacht, aber ein Projekt dazu 
noch nicht gefunden, das werde ich mir mal zu gemüte führen!

Danke

von npn (Gast)


Lesenswert?

Route 66 schrieb:
> Zu Qualitätsanforderungen hast Du ja nichts gesagt.

Doch, hat er. Zumindest die NF-Bandbreite des Signals.

Manfred O. schrieb:
> Ich würde gerne eine Verzögerung von 2 Sekunden bei einem analogen
> Tonsignal ( 300Hz - 3400Hz ) erreichen.

von Route_66 H. (route_66)


Lesenswert?

npn schrieb:
> Route 66 schrieb:
>> Zu Qualitätsanforderungen hast Du ja nichts gesagt.
>
> Doch, hat er. Zumindest die NF-Bandbreite des Signals.

Noch spärlicher kann man Audioqualität wohl nicht beschreiben!

von Udo S. (urschmitt)


Lesenswert?

npn schrieb:
> Das wage ich bei einem
> Federhall zu bezweifeln. (Auch wenn der Federhall einen ganz tollen und
> unverwechselbaren Charme in der Musik hat).

Das war ein nicht ganz ernst gemeinter Hinweis an den TO weil er meint, 
sowas müsste 'analog' doch viel einfacher gehen.
:-)

Ich finde es immer wieder lustig wie der ein oder andere Jungspund es 
gar nicht verstehen kann wie 'einfach' moderne Digitaltechnik, hier µCs 
(oder DSPs) mache Dinge machen, die früher wirklich nur mit großem 
Aufwand zu lösen waren.
Anderes Beispiel sind Ringkernspeicher oder (mein persönicher Favorit) 
der Quecksilber Laufzeitspeicher. Siehe 
http://de.wikipedia.org/wiki/Verz%C3%B6gerungsleitung

von NurEinGast (Gast)


Lesenswert?

Früher gabs auch noch Eimerkettenspeicher.
http://de.wikipedia.org/wiki/Eimerkettenspeicher

von npn (Gast)


Lesenswert?

Route 66 schrieb:
> npn schrieb:
>> Route 66 schrieb:
>>> Zu Qualitätsanforderungen hast Du ja nichts gesagt.
>>
>> Doch, hat er. Zumindest die NF-Bandbreite des Signals.
>
> Noch spärlicher kann man Audioqualität wohl nicht beschreiben!

Das ist gerade mal Telefonqualität, ausreichend für Sprachübertragung. 
Mehr nicht. Und wenn du das mit beispielsweise 8kHz sampelst, ist das 
mehr als ausreichend. Oder willst du die 3kHz wirklich mit 44,1kHz 
sampeln? Dadurch wird auch keine CD-Qualität draus.
Also reicht die Angabe von Manfred völlig aus.

von npn (Gast)


Lesenswert?

NurEinGast schrieb:
> Früher gabs auch noch Eimerkettenspeicher.
> http://de.wikipedia.org/wiki/Eimerkettenspeicher

Kam mir auch erst in den Sinn :-)
Damit habe ich auch schon einiges genaut damals. Da waren z.B. die 
"Echomikrofone" noch angesagt. Aber ich glaube, auf 2 s zu kommen, ist 
nicht ganz einfach. Oder man müßte mehrere hintereinanderschalten. Oder 
den Takt verringern, was aber wieder auf Kosten der Auflösung geht.
Abgesehen davon sind die mittlerweile wohl ziemlich schwer aufzutreiben.

von Route_66 H. (route_66)


Lesenswert?

npn schrieb:
> Das ist gerade mal Telefonqualität,

Du meinst sicher Telefonbandbreite.
Google mal, oder sieh bei Wiki nach, was der Unterschied ist.
Ich bin zu faul, Dir das hier zu erklären.

von 6A66 (Gast)


Lesenswert?

Manfred O. schrieb:
> Danke für die schnelle Hilfe,
>
> ja es soll klein, zuverlässig und preiswert sein ;).
>
> Okay, das heißt ADC + µC + FIFO + DAC ?

Behringer sharc dsp 110, 0...2.5s Delay

rgds

von Kai S. (zigzeg)


Lesenswert?

Manfred O. schrieb:

> dass es einiges an RAM bedarf, den die meisten ( kleinen ) µC nicht
> haben, ist mir bewusst. Der Ansatz mit dem externen DRAM sieht sehr
> interessant aus, habe mir schon ähnliches gedacht, aber ein Projekt dazu
> noch nicht gefunden, das werde ich mir mal zu gemüte führen!

Ein STM32F4 Discovery bord hat 192kByte (externes) RAM, das sollte 
genuegen, und is bei dem Preis wahrscheinlich unschlagbar.

ZigZeg

von npn (Gast)


Lesenswert?

Route 66 schrieb:
> npn schrieb:
>> Das ist gerade mal Telefonqualität,
>
> Du meinst sicher Telefonbandbreite.
> Google mal, oder sieh bei Wiki nach, was der Unterschied ist.
> Ich bin zu faul, Dir das hier zu erklären.

Jetzt reite mal nicht auf akademischen Spitzfindigkeiten herum. Fakt ist 
doch, daß du diese Bandbreite mit max. 8kHz sampeln mußt, um das Signal 
(fast) 1:1 zu erfassen und auch wieder ausgeben zu können. Jede höhere 
Samplerate verbessert das Ergebnis nicht, sondern erfordert nur einen 
größeren Speicherbedarf. Und nur darum ging es hier.
Jetzt kann man sich noch trefflich streiten, ob nun 16bit ausreichend 
sind oder vielleicht doch 24 oder 32bit. Aber da kommen wir schon wieder 
zum Ausgangspunkt zurück. Es ist lediglich die Bandbreite eines 
Sprachkanals und keine HiFi- oder CD-Aufzeichnung!

von Route_66 H. (route_66)


Lesenswert?

Bandbreite != Qualität

von Noch einer (Gast)


Lesenswert?

> und is bei dem Preis wahrscheinlich unschlagbar.

Die Zeiten ändern sich. Vor kurzem noch ADC und PWM optimiert, damit 
überhaupt beides gleichzeitig läuft. Heute ist der billigste Controller 
mit Quick&Dirty Code sowieso schnell genug.

von ... (Gast)


Lesenswert?

> Abgesehen davon sind die mittlerweile wohl ziemlich schwer aufzutreiben.

MN3207 gibt es reichlich.

von npn (Gast)


Lesenswert?

Route 66 schrieb:
> Bandbreite != Qualität

Stimmt. Sind zwei verschiedene Wörter. :-)
Kommt natürlich immer drauf an, was du unter Qualität verstehst. Wenn 
man die so definiert, daß man z.B. Morsezeichen bestens aufzeichnen und 
wiedergeben kann, dann kann man durchaus mit einer Bandbreite von 50Hz 
eine Qualität von 100% erreichen.

Trotzdem Krümelkackerei!

Ich stell mal dagegen: Kleine Bandbreite->niedrige Qualität (im Sinne 
von Audioqualität, wie sie z.B. bei Musikwiedergabe gebräuchlich ist).

Und jetzt bleib auf dem Teppich mit den akademischen Fürzen. :-))
Du weißt genau, um was es hier geht.

von Marian (phiarc) Benutzerseite


Lesenswert?

npn schrieb:
> Jetzt reite mal nicht auf akademischen Spitzfindigkeiten herum. Fakt ist
> doch, daß du diese Bandbreite mit max. 8kHz sampeln mußt, um das Signal
> (fast) 1:1 zu erfassen und auch wieder ausgeben zu können. Jede höhere
> Samplerate verbessert das Ergebnis nicht, sondern erfordert nur einen
> größeren Speicherbedarf. Und nur darum ging es hier.

Er sagt x bis 3.4 kHz Tonsignal. Er hat nichts von Bandbreite gesagt. 
7 kHz kann ausreichen (macht aber den AA-Filter aufwändig, da hohe 
Steilheit nötig). Wenn er aber z.B. ein Instrument mit 3.4 kHz 
Grundton verzögern will, reicht das bei weitem nicht.

von npn (Gast)


Lesenswert?

Marian B. schrieb:
> Er sagt x bis 3.4 kHz Tonsignal. Er hat nichts von Bandbreite gesagt.
> 7 kHz kann ausreichen (macht aber den AA-Filter aufwändig, da hohe
> Steilheit nötig). Wenn er aber z.B. ein Instrument mit 3.4 kHz
> Grundton verzögern will, reicht das bei weitem nicht.

Wenn man das so interpretiert, dann kann man ja auch sagen: Egal was man 
übertragen will, man muß IMMER alles bis 20kHz oder mehr übertragen. 
Denn wenn man z.B. eine Geige sampelt, die einen Grundton von 3,4kHz 
spielt, reichen die Obertöne bis weit in den zweistelligen kHz-Bereich.
Da er aber ausdrücklich von "300Hz bis 3400Hz" sprach und nicht von 
"Grundton bis 3400Hz einschließlich aller seiner Oberwellen", gehe ich 
davon aus, daß die "300Hz bis 3400Hz" einem Sprachkanal entsprechen.
Aber warum hauen wir uns denn die Köppe ein? Soll sich doch mal Manfred 
dazu äußern. Alles andere ist doch nur Rätselraten.

von Georg (Gast)


Lesenswert?

Marian B. schrieb:
> Das übersteigt den SRAM der meisten MCUs bei weitem

Stell dir vor, man kann SRAMs kaufen - z.B. 128 k für 2 Euro.

Georg

von Manfred O. (Gast)


Lesenswert?

Hallo,

bevor das hier noch entgleitet ;).

Es geht wirklich um ein reines Sprachsignal, und zwar via Telefon ( 
deshalb die definitive Begrenzung bis 3400Hz, alles darüber wird sowieso 
nicht übertragen ).

Daher reichen tatsächlich theoretisch 7kHz sampling Rate für mein 
vorhaben.

Habe jetzt noch nach einen C-Code gesucht, um einen DRAM mittels AVR 
anzusteuern und dabei das hier entdeckt: http://www.myplace.nu/avr/dram/
Das sieht mir relativ einfach aus.

Leider habe ich keine Ahnung von asm, deshalb helfen mir ( wenn sie auch 
schneller wären eventuell ) die asm Codes zur DRAM Ansteuerung recht 
wenig.

Da aber meine Aufgabe für den µC nicht allzu groß ist (vom Refresh des 
DRAMs und einlesen / ausgeben der Werte abgesehen ), müsste es mit C 
funktionieren denke ich.

Hat noch jemand diesbezüglich Tipps für mich?

von npn (Gast)


Lesenswert?

Georg schrieb:
> Marian B. schrieb:
>> Das übersteigt den SRAM der meisten MCUs bei weitem
>
> Stell dir vor, man kann SRAMs kaufen - z.B. 128 k für 2 Euro.
>
> Georg

Und davon abgesehen, der STM32F429 hat schon intern 256k SRAM. Und 
extern kann man auch reichlich ansteuern...
Damit kannst du schon fast die fünfte von Beethoven aufnehmen :-)))

von Marian (phiarc) Benutzerseite


Lesenswert?

npn schrieb:
> Aber warum hauen wir uns denn die Köppe ein? Soll sich doch mal Manfred
> dazu äußern. Alles andere ist doch nur Rätselraten.

:-)

von Martin S. (led_martin)


Lesenswert?

Wenn's tatsächlich ein AVR werden soll, SRAM ist deutlich einfacher 
anzusteuern, vom Timing her unkritisch. Heute sind auch SRAMs billig, 
die dafür groß genug sind, da muß man sich kein DRAM antuen, mit der 
komplizierten Ansteuerung, und den kritischen Timings. Man kann einen 
AVR mit SRAM-Interface nehmen, für diese Aufgabe tut es aber einer ohne 
genausogut, man hat genug Zeit die Ansteurung 'zu Fuß' zu machen. Selbst 
512 kb sind noch billig, da kann man dann auch schon schneller abtasten, 
und sich viel Stress bei den Filtern sparen, oder gleich über einen 
1-Bit A/D und D/A nachdenken, die UART-Schnittstelle als SPI betrieben 
eignet sich da hervorragend. Die Hardware-SPI ist da nicht geeignet, da 
sie keinen lückenlosen Bitstrom erfassen / ausgeben kann, der UART im 
SPI-Modus kann das, dank seiner Pufferung.

Ich will eigentlich schon länger mal einen Sprachrekorder auf dieser 
Basis bauen, habe aber irgendwie zu viele Ideen, und Projekte, und so 
liegt Vieles auf Eis.

Mit freundlichen Grüßen - Martin

von Noch einer (Gast)


Lesenswert?

Wozu den Aufwand mit externen RAM. Bei 8kHz Samplarate reicht internes 
RAM und ein 32Bit Controller bringt auch für 22kHz genug internes RAM 
mit?

von Manfred O. (Gast)


Lesenswert?

Hallo,

eigentlich nur, weil ich keine Ahnung von 32 Bit Controllern habe, und 
bislang nur 8-Bit AVR programmiert habe. Und für diese kleine eigentlich 
unwichtige Aufgabe, möchte ich mich nicht ans Erlernen der großen 
machen. Da es weder Vorteile, noch Einsparungen bringt.

von Tulsa (Gast)


Lesenswert?

Manfred O. schrieb:
> Hallo,
>
> bevor das hier noch entgleitet ;).
>
> Es geht wirklich um ein reines Sprachsignal, und zwar via Telefon (
> deshalb die definitive Begrenzung bis 3400Hz, alles darüber wird sowieso
> nicht übertragen ).

Für das "Entgleiten hast Du selbst mit Deinen Anforderungen gesorgt!
Was man von einer Salami mal so erwartet: scheibchenweise.

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.