Hallo, nachdem ich festgestellt habe, dass was als 192 kHz Soundkarte verkauft wird einen 20 kHz Sperrfilter hat, und ich eine Soundwiedergabe bis 70 kHz brauche stelle ich mir die Frage ob es einen Weg gibt, realistisch ein Geraet zu bauen dem ich eine wave (oder auh nur die ASCI Werte meines Analogsignals) Datei auf eine SD Karte gebe und welches diese Datei mit 200 kS/s (min) und 16 bit wiedergibt, wenn ich einen Triggerpulse sende. Dabei sollte der Delay unter einer ms liegen. Reicht ein AVR dafuer aus? Kann man mit Bascom eine SD (oder CF) Karte ansprechen? Oder eine andere Form von Flash? Ih habe wirklich ernsthaft vor so etwas zu bauen weil ich es beruflich brauche und ueberlege mir nun halt was der einfachste Weg ist (klar, selbst der mag nch schwierig sein). Kennt jemand vielleicht ein projekt dazu? Oder sollte ich Audiocodecs verwenden? Viele gruesse, Micha
Bascom: Nein Rechne mal selbst: 200kS bei 16bit sind 400kByte/s bzw. 3,2MBit/s. Da eine SD (oder auch CF) Karte nicht kontinuierlich Daten liefern kann (wegen verschiedenen Sektoren usw.) musst du die Daten noch zwischenspeichern. Für all diese Operationen bleiben dir gerade mal 40 Takte pro Samplewert bei 16MHz, wovon etwa die Hälfte für die Wiedergabe benötigt werden (falls du es einfach machst, und die Werte einfach fortlaufend auf 2 Ports ausgibst.) Wenn du also nicht gut in Assembler bist, dann sehe ich kaum eine Chance sowas jemals zum Laufen zu bekommen.
Hallo Micha, die 192kHz sind die Samplingrate, die 20kHz die analoge Grenzfrequenz. Zwei gänzlich unterschiedliche Sachen. Um ein transientes Signal halbwegs sauber, ohne größere Amplituden und Phasenfehler ausgeben oder samplen zu können kann man von mindestens 10 Sample pro Periode ausgehen. (Die Nyquist/Shannon Grenze gilt nur für unendlich lange periodische Signale. Beides ist in praktischen Anwendungen nur selten zu erfüllen.) Wenn Du 'nur' ein konstantes 70 kHz Sinus-Signal erzeugen willst, dann kannst Du den Sperrfilter aus der Soundkarte auslöten und hinter die Soundkarte ein Rekonstruktionsfilter schalten. Wenn Du ein beliebiges transientes Signal mit f <= 70kHz erzeugen willst, kommst Du mit den 192 kHz nicht hin. Dann brauchst Du eine Ausgabe die 700 kSamples oder mehr schafft. Was weder mit 'nem Atmel noch mit einer normalen Soundkarte zu schaffen ist. Beschreib mal genauer was Du machen möchtest. Ciao, Werner
Nimm nen DSP und spar dir einen Haufen Arbeit. Die sind für so etwas ausgelegt. Um Assembler wirst du allerdings auch dort meist nicht herum kommen.
Also die Anendung die ich vorgesehen habe ist eine Soundausgabe fuer Verhaltensversuche. Das Problem ist aber, dass Ratten, die wir als Versuchstiere verwenden einen wesentlich hoeheren Hoerbereich haben als wir Menschen. 50 kHz sind fuer Ratten normal. Tja, also brauchen wir ein Soundsignal was sagen wir mal 50 kHz liefert. Naja, und da dachte ich, koennte man ja so eine 192 kS/s Soundkarte verwenden. Wie gesagt, geht aber nicht also brauchen wir etwas anderes. ARM Prozessoren bringen doch 60 Mhz, oder? Waere das vielleicht eine Idee? Viele Gruesse, Micha
wie wärs wenn ihr einfach einen verstärker hinter die soundkarte tut der schön verzerrt... dort die gewünschte oberwelle rausgrapschen,passend verstärken und fertig... oder doch gleich eine billigst dds verbraten... wenn noch "einfacher" sein soll einen billigst rc-oszillator nehmen und ein multimeter mit frequenzmesser und den ausioamp samt lautsprecher dran...wobei ich mir nicht sicher bin ob die letzeren 2 dinger das überhaupt noch rausbringen... 73
Hallo Michael, > Also die Anendung die ich vorgesehen habe ist eine Soundausgabe fuer > Verhaltensversuche. Nette Aufgabe ;-) Reicht es wenn das Labor mäßig nutzbar ist oder soll es klein, leicht, mobil für Versuche in der freien Wildbahn sein? > ARM Prozessoren bringen doch 60 Mhz, oder? auch beim 4fachen Takt wird das noch verdammt knapp, wobei ich nicht weiß, ob die ARMs den externen Takt nicht intern nochmal teilen. In dem Fall bringt das keine Verbesserung, da der ARM dann letzendlich nicht schneller als der Atmel ist. Imo solltest Du wirklich mal Richtung DSPs gucken. DSPs sind dafür ausgelegt hohe Datenströme zu verarbeiten und das ist das Hauptproblem in Deiner Anwendung. Erfahrungen damit fehlen mir aber gänzlich. Wenns Labor mäßg seien kann/darf, dann würde ich mal Richtung schnelle DA-Wandler Karten gucken. (National Instruments, Microstar, etc.) Der Anschaffungswiderstand ist zwar nicht ganz unerhelblich. Wenn Du aber Zeit und Entwicklungskosten für so ein Projekt auch nur teilweise berücksichtigen mußt, dann fährst Du mit so einer Karte sehr viel preiswerter. Mögliche Karten wären z.B. die PCI6110E/PCI6111E von NI. Analog out: max 4M Samples/s (1Ch), 2.5M Samples/s (2Ch) Analog in: 4Ch a 5M Samples/s max. (2Ch a 5M bei PCI6111E) Kosten rund 4000 Euro + MwSt inkl. Kabel und Anschlußbox. Ggf. einfach mal Anfragen ob nicht auch noch etwas kleineres/preiswerteres/mobiles verfügbar ist. Ciao, Werner
Hallo Michael, die Frage mag ja naiv klingen, aber wie willst du denn einen Ton von 50kHz in die Luft bekommen? Handelsübliche Schallwandler müssen da wohl passen und Lautsprecher auch. Also sind wir bei dem üblichen Ultraschall-Geraffel. Gibt es denn in diesem Umfeld nichts, was deinen Anforderungen entspricht?
@Werner "Die Nyquist/Shannon Grenze gilt nur für unendlich lange periodische Signale." "Wenn Du ein beliebiges transientes Signal mit f <= 70kHz erzeugen willst, kommst Du mit den 192 kHz nicht hin. Dann brauchst Du eine Ausgabe die 700 kSamples oder mehr schafft." sorry, aber wer hat dir denn den Bären aufgebunden? Lass mich raten: zuviel in der Audioszene rumgehangen? Net böse sein, Thomas :)
Hallo wie wärs mit nem 555 und nem AT... Der 555 erzeugt die Frequenzen (noch in Sinus filtern) und der AVR gibt den "Widerstandswert" aus Gruss Kurt Kurt
@Thomas
>>sorry, aber wer hat dir denn den Bären aufgebunden? Lass mich raten:
zuviel in der Audioszene rumgehangen?
Würde mich mal interessieren, wie Du dann zum Beispiel einen einzelnen
Sinuszug (Periode) 70kHz mit 192kS/s digitalisierst oder erzeugst. Du
hast eine Abtastrate von 5usec und der Sample ist 14usec lang, also
nicht mal 3 Abtastpunkte. Das kann dann alles mögliche sein...
Wenn es bei den Versuchen nicht nur um reine Sinusfrequenzen, sondern
um "Geräusche" geht, wird er um die professionellen DA-Karten nicht
rumkommen. Sonst reicht vielleicht auch schon ein Frequqnzgenerator
(VCO wäre dann steuerbar).
Sven
Hallo Thomas, > sorry, aber wer hat dir denn den Bären aufgebunden? Lass mich raten: > zuviel in der Audioszene rumgehangen? Bei meinem Gehör lohnt es sich nicht in der Audioszene rumzuhängen. Die Shannongrenze ist ein GRENZWERT für periodische, unendlich lange Signale. Modulierst Du die höchste Frequenz, dann ist sie nicht mehr die höchste Frequenz. Ansonsten würde ich Dir empfehlen nochmal ein bisschen Literatur zum Abtasttheorem zu lesen. Insbesondere die Vorraussetzungen und Definitionen und was im Spektrum passiert wenn du die Amplitude einer festen Frequenz veränderst. > Net böse sein nur ein bisschen angenervt, da man immer wieder Schrott zum Thema Shannon/Nyquist liest. Die meisten schnappen irgend etwas auf, ersetzen das ">" durch "=" und haben keinen blassen Schimmer welche Vorraussetzungen für den Genzwert überhaupt gelten. Spätestens wenn es dann um die Abschätzung geht, wie weit man an die Shannongrenze herangehen kann um noch brauchbare Daten zu messen oder halbwegs unverfäscht zu erzeugen, gehts völlig den Bach runter. Der Faktor 2.2 mit dem eine CD arbeitet lässt sich nicht mit 'einfachen' Mitteln wie einem RC-Tiefpass im Eingang und im Ausgang erreichen. D.h. erreichen schon, aber das gemessene/erzeugte Signal hat dann nur noch wenig mit dem Ausgangssignal zu tun. Die Audio puristen wiederum haben Gehöre, die Fehler weit unterhalb der Nachweisbarkeit, noch problemlos "spüren" können und sich ansonsten genausowenig mit dem Thema beschäftigt. Ciao, Werner
Nyquist sagt, dass ein zu samplendes Signal keine Frequenzanteile größer der halben Abtastfrequenz haben darf weil das Signal sonst unwiederruflich verfälscht wird. Phase, Amplitude und Dauer spielen dabei überhaupt keine Rolle, genausoweng wie ob es sich um ein periodisches Signal handelt. Eine einzelne Sinusschwingung besteht aber aus noch deutlich höheren Frequenzen als die der Schwingung selber. Trotzdem ist Nyquist weiterhin gültig. Zur Not muss ich mir das Signal halt vorher im Spektrumanalysator angucken und abwägen wie schnell ich abtasten muss um keine wichtigen Informationen zu verlieren. Wenn dann noch nennenswerte Amplituden im höheren Frequenzbereichen als der halben Abtastfrequenz auftreten müssen die mit einem Filter entfernt werden. Richtig ist, dass nur ein Sinus konstanter Frequenz, Amplitude und Phase der schon unendlich lange andauert und noch unendlich lange andauern wird neben dem Gleichanteil (Offset) das einzige Signal ist, was nur aus exakt einer Frequenz besteht. ALLE anderen Signale lassen sich als Überlagerung solcher Sinusschwingungen vollständig abbilden. Das heißt, wenn ich es schaffe die Silhouette einer schönen Frau als Überlagerung von Sinusschwingungen <96kHz im Zeitbereich darzustellen dann kann ich die mit einer Samplingfrquenz von 192kS/s verlustlos digitalisieren (mal abgesehen von der Amplitudenquantisierung) und hinterher wieder vollständig rekonstruieren. Rock'n'Roll, Thomas
Hallo Werner, darüer dass man in der praxis immer höher abtasten muss als Shannon fordert will ich nicht streiten. Mir scheint, wir haben da eh ein wenig aneinander vorbeigeredet, was die Definition der Frequenz angeht, ich denke dabei immer direkt an die Spektralanteile eines Signals und nicht an dessen Periodendauer^-1. CD-Player arbeiten meines Wissens nach auch mit "padding" (hinzufügen von bestimmten Werten, in diesem Fall Nullen) um bei der DA Umsetzung den gespiegelten Frequenzbereich weiter auf den Zahlenstrahl nach rechts zu verschieben, dadurch lässt sich der Rekonstruktionsfilter einfacher aufbauen. Ich denke in der Signalverarbeitung kenn ich mich ganz gut aus, inklusive Shannon und Modulationsverfahren. Gruß, Thomas
Hallo Thomas, > darüer dass man in der praxis immer höher abtasten muss als Shannon > fordert will ich nicht streiten. Mir scheint, wir haben da eh ein > wenig aneinander vorbeigeredet, was die Definition der Frequenz > angeht, Ok, beenden wir das hier. Ciao, Werner
Hmm, also die Sache mit dem Frequenzgenerator haben wir schon, leider ist es da ziemlich kompliziert Sweeps mit Bandbreite oder auch nur hohe Frequenzen mit Bandbreite rauszubekommen. (Jaja, ich kann Rauschen filtern). Aber das ganze selber zu bauen hat einen gewissen Geek Faktor, einen hohen Lernwert und zudem ist es billiger als 4000 Eusen NI DAQ Karte. Außerdem wär es doch so genial für das Experiment, wenn man einfach nur einen Triggerpuls braucht. Die Karte braucht einen PC, Software, Ansteuerung. Den Puls bekommt man vom MRT oder was immer man verwendet. (Jaja, hach, haben die hier am NIH einen netten 11,7 T Tomographen) Angenommen ich würde das mit einem DSP probieren (ich nehme an mein kleiner 30 MHz DSPic reicht nicht...) hat einer ne Idee was für einen man verwenden sollte, der: - ein billiges (ja billig, nicht preiswert ;-)) Entwicklungskit hat - den schon ein Haufen anderer Leute nimmt die man fragen kann - schnell genug ist - einen kostenlosen C-Compiler hat?
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.