Hallo Leute, Frage: Ist es mit Mega/Tiny möglich ein Tonsignal (im Sprachbereich) aufzunehmen, um 100 msec zu verzögern und dann wieder auszugeben. Gibt es alternativ fertige Bausteine die das bewerkstelligen. Die Ausgabe muss ev. schon wärend des Einlesens beginnen. Max Länge der NF ist irgendwo bei 300 msec. Conrad hatt(e) mal solche/ähnliche Bausteine. Es kommt nicht auf Hifi an. Kurt
Gast schrieb:
> Taschenrechner zur Hand nehmen und den Speicherbedarf durchrechnen.
Ich versuch mal mein Verständnis darzulegen
festen Takt, z.B. 10 Khz bereitlegen
NF über A/D Wandler einlesen
in RAM ablegen (Zeiger verwenden damit die Adresse auch bekannt ist)
Max Anzahl beachten
nach Verzögerung:
RAM lesen (eigener Zeiger)
auf Portpin ausgeben und mit RC filtern
solange ausgeben bis Ausgabezeiger gleich Einlesezeiger
bei 10 Khz Wandlerrate und 1 Sekunde Aufnahmedauer wären 10 kB RAM
notwendig (8 Bit Auflösung)
Soweit verständlich/richtig?
Kurt
Hi
>Gibt es alternativ fertige Bausteine die das bewerkstelligen.
Früher gab es sog. Eimerkettenschaltungen als IC. Wurden in der
Musikelektronik für Echo, Hall etc. verwendet.
MfG Spess
Hi Mal kurz gesucht: www.musikding.de/index.php/cat/c83_Delay-ICs.html MfG Spess
> bei 10 Khz Wandlerrate und 1 Sekunde Aufnahmedauer wären 10 kB RAM > notwendig (8 Bit Auflösung) > > Soweit verständlich/richtig? der rest ist OK, aber hier hast du einen groben irrtum: du mußt deinen speicher nur für die verzögerungszeit dimensionieren, wenn du ein sample wieder ausgegeben hast, kannst du es ja überschreiben. dh. die sache funktioniert für deine 100ms verzögerung schon zb mit einem atmega8, der hat 1024 bytes RAM. cm.
8Bit kann man ohne zusätzliche Prozesse rein klangmäßig eigentlich vergessen, auch bei Sprache. Besser ist es in der Tat, mit externen 16Bit ADC und DAC und ein wenig externem RAM zu arbeiten. Dafür würde ich einen Controller nehmen, der über ein Speicherinterface verfügt, zum Beispiel der ATMEGA1281. Der ATXMEGA kann immerhin mit 12Bit Audio on chip digitalisieren und wieder analog ausgeben. Für einen sauberen Klang reicht dies aber auch noch nicht ganz.
Die Sample-Rate kannst du durchaus noch etwas reduzieren, wenn die Qualität leiden darf. Tiefpass vor dem Sampeln aber nicht vergessen! Ebenso könntest du noch an der Auflösung schrauben - 8 Bit reichen ja schon für sehr, sehr gute Sprachqualität. 4 Bit versteht man ebenfalls noch sehr gut, und ich habe schon gehört, dass man selbst mit 1 Bit Sprache noch versteht.
cm (christian mock) schrieb: >> bei 10 Khz Wandlerrate und 1 Sekunde Aufnahmedauer wären 10 kB RAM >> notwendig (8 Bit Auflösung) >> >> Soweit verständlich/richtig? > > der rest ist OK, aber hier hast du einen groben irrtum: du mußt deinen > speicher nur für die verzögerungszeit dimensionieren, wenn du ein sample > wieder ausgegeben hast, kannst du es ja überschreiben. > > dh. die sache funktioniert für deine 100ms verzögerung schon zb mit > einem atmega8, der hat 1024 bytes RAM. > > cm. Danke euch für die guten Informationen. Ich hab an einen Mega 32 gedacht, den hätt ich auf Platine. Port A wär komplett frei. Der Rest ist mit einem Display beschaltet, einige Pins brauch ist noch anderweitig. Was ich noch nicht bedacht habe ist die Ausgabe. Parr oder mit PWM Bei parr wären 7 Bit des Port A verfügbar. Über ein R2R Netzwerk gings direkt mit 7 Bit Auflösung raus. Jedoch verunsichern mich die beiden gegenteiligen Aussagen von mr.chip: --------------- Die Sample-Rate kannst du durchaus noch etwas reduzieren, wenn die Qualität leiden darf. Tiefpass vor dem Sampeln aber nicht vergessen! ---------- und Travel Rec: ----------- 8Bit kann man ohne zusätzliche Prozesse rein klangmäßig eigentlich vergessen, auch bei Sprache. Besser ist es in der Tat, mit externen .. ----------- etwas. Was ist nun richtig? Ich habe einen stark eingegrenten Frequenzbereich. ab 1000 und bis ca 3000 Hz Wenn hier wiederum ein einigermassen guter Sinus rauskommt dann ists ok. Es kommt auch nur dieser Bereich im NF-Quellsignal vor. Kurt
>Wenn hier wiederum ein einigermassen guter Sinus rauskommt dann ists ok. >Es kommt auch nur dieser Bereich im NF-Quellsignal vor. Dann bau es halt einfach mal auf. Ist doch schnell gemacht. 7Bit R2R an PortA. Dann sampelst du mit z.B. 8kHz und gibst das gleich wieder auf Porta aus. Dann kannst du entscheiden ob das so ausreichend für dich ist. Mit 8 Bit R2R habe ich früher Samples aus Eproms ausgegeben. Qualität war recht gut. Später baust du das dann auf PWM um und fügst deine Verzögerung ein.
Such mal bei ELV nach Soundmodul, das ist nach einer Appnote von Atmel aufgebaut, Schaltplan für den Ausgangsfilter wäre auch aus dem ELV Pdf ersichtlich. Eingang per ADC, Ausgabe per PWM, funktioniert einwandfrei, hab' ich hier.
Hi Das Samplen und die Ausgabe könntest du von hier übernehmen: http://www.atmel.com/dyn/resources/prod_documents/doc1456.pdf MfG Spess
holger schrieb: >>Wenn hier wiederum ein einigermassen guter Sinus rauskommt dann ists ok. >>Es kommt auch nur dieser Bereich im NF-Quellsignal vor. > > Dann bau es halt einfach mal auf. Ist doch schnell gemacht. > 7Bit R2R an PortA. Dann sampelst du mit z.B. 8kHz und gibst > das gleich wieder auf Porta aus. Dann kannst du entscheiden > ob das so ausreichend für dich ist. Mit 8 Bit R2R habe ich > früher Samples aus Eproms ausgegeben. Qualität war recht gut. > Später baust du das dann auf PWM um und fügst deine Verzögerung ein. Hallo Leute, möchte es erstmal bei dem Verstandenem/von euch Geliefertem belassen, mich recht herzlich bedanken. Der obige Vorschlag ist das was ich als erstes machen werde. Dann kann ich selbst -entscheiden- obs mir reicht oder nicht. Kurt
Bei mir fiel die Entscheidung gegen 8 und für 16 Bit aus. Für eine Türsprechanlage mit Quäkenleisesprecher reichen 8 Bit, aber für echtes Audio - naja. Auch ein eingegrenzter Übertragungsbereich bringt hier keine Vorteile seitens der Qualität. Beim ISDN-Telefon werden auch nur 8 Bit und 8kHz benutzt, allerdings mit nichtlinearer Gewichtung der Bits (A-Law), was das Quantisierungsrauschen deutlich reduziert und so die Klangqualität deutlich steigert. Aber das willst Du sicher nicht wirklich. Sag doch mal genau, worum es geht.
> 8Bit kann man ohne zusätzliche Prozesse rein klangmäßig eigentlich > vergessen, auch bei Sprache. Besser ist es in der Tat, mit externen .. Nein, das stimmt definitiv nicht. Audio-Datei konvertieren und anhören! Knapp Radioqualität, aber viel besser als Stadionkommentator, Telefon oder Gegensprechanlage.
Travel Rec. schrieb: > Sag doch mal genau, worum es geht. Es war eine ganz spontane Idee. Ich hab ein V24 Signal welches auf einen Modulator geschaltet ist. Dieser wandelt es in ein AFSK Signal um welches dann übertragen wird. Ich muss das V24 Signal u.A. etwas verzögern und dann erst übertragen. Die Übertragungsstrecke hat keine DC-Kopplung. Also steh ich vor der Entscheidung ob ich es so mache wies jetzt läuft, also ein FSK-Signal bastle oder gleich das sowieso vorhandene Signal hernehme. Ums verwenden zu können muss ich es aber verzögern. Darum die Anfrage ob das mit dem AVR auf einfache Weise geht. Ich weiss dass so ein AFSK-Decoder ein einigermassen sauberes Signal braucht, vor allem mit hohem Klirrfaktor und Unsymetrie hat er Probleme. Kurt
>Nein, das stimmt definitiv nicht. Audio-Datei konvertieren und anhören! >Knapp Radioqualität, aber viel besser als Stadionkommentator, Telefon >oder Gegensprechanlage. Na gut - ich muß vielleicht sagen, daß ich tontechnisch schon eine Weile unterwegs bin, aber Radioqualität ist um Längen besser, als 8-Bit Audio. Das Quantisierungsrauschen liegt im Idealfall um -48db, und ist lediglich in lauten Aussteuerpassagen nicht wahrnehmbar. Bei Sprache, die naturgemäß Pausen enthält, ist das Rauschen sehr deutlich wahrnehmbar und störend. Die Reproduktion des Audiosignals an sich ist schon nicht schlecht, aber nix für meine Ohren. Ein guter Analogtuner liefert mit guter Radiostation deutlich bessere Werte.
> Ich hab ein V24 Signal welches auf einen Modulator geschaltet ist. > Dieser wandelt es in ein AFSK Signal um welches dann übertragen wird. jetzt hab ich aber eine ganz blöde frage: wieso verzögerst du nicht einfach das v.24-signal? das ist digital und damit verlustfrei verzögerbar... cm.
@cm
>wieso verzögerst du nicht einfach das v.24-signal?
Ich glaube, er müßte im Gegenzug das V.24-Signal beschleunigen. Das geht
aber nicht!
Eine andere Lösung im Anhang!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.