Ich habe beliebige Signale bis zu 300kHz mit Amplituden bis zu 5V. Diese Signale werden mit dem ADC(12Bit) des dsPIC33EP32GS502 abgetastet. Der ADC läuft mit 1MS/s. Mein Problem ist nun, dass ich die Daten kontaktlos übermitteln muss. Da die WLAN Module von Microchip nicht zu gebrauchen sind(keine ausreichende Doku), wollte ich nun wieder zu Bluetooth zurückkommen. Mein Problem: 1MSamples * 16Bit(Datenlänge) = 16Mbps (hoffe das ich richtig rechne) Aber ich bringe keine 16Mbps über eine Bluetooth Leitung. Hat jemand von euch eine Idee, wie ich die Datenrate auf ein Minimum senken kann? Bezüglich WLAN: Ich habe es auch mit ESP8266 probieren wollen, aber die WLAN Module von Expressif schaffen nur maximal 7Mbps. Ich hab mir die ganzen Datenblätter durchgesehen, aber es ist wirklich keine ordentliche Doku vorhanden. Anderseits ist mir WLAN etwas zu kompliziert. Beitrag "ESP8622 Übertragungsgeschwindigkeiten"
Komprimieren? Gibt es ja diverse Algorithmen, auch für µC. Dann musst du halt wesentlich mehr rechnen und auf der gegenseite wieder entpacken. Alternativ (in abhängigkeit von deinen Werten) kannst du auch selbst eine einfache Komprimierung durchführen (z.B. Anstatt 1000x ne 0 zu übertragen einfach [1000]0 übertragen). Musst du halt auch auf der gegenseite wieder entpacken.
Maha S. schrieb: > Hat jemand von > euch eine Idee, wie ich die Datenrate auf ein Minimum senken kann? 1. Bandbreite des Nutzsignals verringern und Abtastrate verkleinern 2. ADC Auflösung verringern 3. Einen anderen µC nehmen mit dem du schneller bist (LAN, USB 3.0) und ein fertiger Protokollstack existiert den du einfach in dein Projekt einbinden und benutzen kannst.
ui schrieb: > Komprimieren? > Gibt es ja diverse Algorithmen, auch für µC. Eine Million Werte pro Sekunde in Echtzeit komprimieren? Schafft das der µC? Was passiert wenn die Daten so sind, daß sie wenig komprimiert werden können? Dann läuft die Kommunikation über. Wenn das System zuverlässig sein soll dürfte das dann ein Problem sein.
Maha S. schrieb: > Ich habe beliebige Signale bis zu 300kHz mit Amplituden bis zu 5V. Wenn Du die 12 Bit Auflösung brauchst, und die Daten wirklich beliebig sind, kannst Du es auf maximal 600ksamples/s (Nyquist) mal 1.5 bytes pro Sekunde zusammenschieben. D.h. 900 kbyte pro s.
Das mit dem komprimieren hab ich mir auch schon gedacht, aber ich Der Andere zustimmen, dass der RAM überläuft. lalala schrieb: > Wenn Du die 12 Bit Auflösung brauchst, und die Daten wirklich beliebig > sind, kannst Du es auf maximal 600ksamples/s (Nyquist) mal 1.5 bytes pro > Sekunde zusammenschieben. D.h. 900 kbyte pro s. Die 12Bit brauche ich eigentlich nicht, aber weil der ADC die kann benütz ich die einfach. lalala schrieb: > sind, kannst Du es auf maximal 600ksamples/s (Nyquist) mal 1.5 bytes pro > Sekunde zusammenschieben. D.h. 900 kbyte pro s. kannst du den Teil vielleicht nochmal erklären.
Maha S. schrieb: > Die 12Bit brauche ich eigentlich nicht, aber weil der ADC die kann > benütz ich die einfach. Nur weil das Messgerät es kann, muss man ja nicht die volle Auflösung weitergeben. Oder würdest Du auch mit einem Messschieber (aka "Schieblehre") die Fensteröffnung in einem Rohbau messen. Ein Zollstock (-> Gliedermessstab) reicht da vollkommen aus. Will heißen: einfach die "überflüssigen" Bits des Messwertes weglassen, und schon reduziert sich die Datenmange auf das Notwendige. Ob das dann schon ausreicht, musst Du wissen. Dann noch mit der Abtastrate soweit runter, dass der Herr Nyquist noch zufrieden ist, und schon wird es noch etwas weniger.
Moin, Das: Maha S. schrieb: > Ich habe beliebige Signale Beisst sich ganz stark mit dem: Maha S. schrieb: > Hat jemand von > euch eine Idee, wie ich die Datenrate auf ein Minimum senken kann? Eine Kompression geht immer nur dann, wenn man irgendwelche Redundanz in den Daten hat und die finden kann oder schon kennt. Nicht bei beliebigen Signalen. Und allgemein beisst sich drahtloses Funkgedoens mit garantierter Uebertragungsrate... Gruss WK
Dergute W. schrieb: > Und allgemein beisst sich drahtloses Funkgedoens mit garantierter > Uebertragungsrate... > > Gruss > WK Die Datenraten sind schon in Ordnung, bei den Mircochip Modulen, aber die haben keine für Anfänger taugliche Doku
Maha S. schrieb: > für Anfänger beisst sich mit den Anforderungen! Maha S. schrieb: > Die 12Bit brauche ich eigentlich nicht, aber weil der ADC die kann > benütz ich die einfach. Dann reduziere auf 8 Bit und du hast nur noch 2/3 der Datenmenge! Siehe mein Beitrag oben Punkt 2. Maha S. schrieb: > kannst du den Teil vielleicht nochmal erklären. Wenn man analoge Daten in digitale wandelt, sollte man die Grundlagen von Nyquist verstanden haben. Um die Signale wieder rekonstruieren zu können braucht man MINDESTENS die doppelte Abtastrate. Glerichzeitig braucht man aber auch ein entsprechend steiles Eingangsfilter, damit man keine Faltungen höherfrequenterer Signale misst. lalala schrieb: > kannst Du es auf maximal 600ksamples/s (Nyquist) mal 1.5 bytes pro > Sekunde zusammenschieben. Aber nur in der Theorie. Praktisch ist 1Msamples schon ein ganz guter Wert.
Ich habe daher auch nur eine Bandbreite von 300kHz, da ich einen AAF Bessel Filter 8.Ordnung benützt habe. Kann man über Bluetooth 7.2Mbit/s bringen?
Ich bring es nicht über Bluetooth. Vielleicht hilft mir die Multiraten - Signalverarbeitung. Kennt sich damit jemand aus?
Maha S. schrieb: > Ich bring es nicht über Bluetooth. > > Vielleicht hilft mir die Multiraten - Signalverarbeitung. Kennt sich > damit jemand aus? Was soll die denn bringen? Wenn du 300 kHz Bandbreite brauchst, musst du mind. doppelt so schnell abtasten. Du hast 1 MHz. Ob du dann noch eine Dezimierung (== Multiraten DSP) auf 600 kHz (Verhältnis 3/5) machen möchtest musst du entscheiden. Ich glaube das macht nur begrenzt Sinn. Wenn das Analogfilter schon steil genug ist, sodass deine Amplitude bei 600 kHz schwach genug (== stark genug gedämpft, das bedeutet mind. im Bereich eines LSB deiner gewünschten ADC Auflösung) ist, kannst du auch gleich mit 600 kHz abtasten. Brauchst du definitiv die 300 kHz Bandbreite?
:
Bearbeitet durch User
Jan K. schrieb: > Brauchst du definitiv die 300 kHz Bandbreite? Es ist halt ein Selbstbau Oszi für ein Projekt. Zunächst wollte ich ein Oszi bauen mit 1MHz Bandbereite, aber ich komme wegen der kontaktlosen Übertragung nicht hin(zu langsam). Die Microchip Module sind zu "wegwerfen", bezüglich WLAN und Bluetooth. Eigentlich bräuchte ich ein neues kontaktloses Medium, welches min. 8Mbit/s schafft.
Maha S. schrieb: > Es ist halt ein Selbstbau Oszi Das muss doch nicht kontinuierlich messen, oder? Also 1s messen, buffern, dann übertragen, fertig.
Maha S. schrieb: > Jan K. schrieb: >> Brauchst du definitiv die 300 kHz Bandbreite? > > Es ist halt ein Selbstbau Oszi für ein Projekt. Wenn die junge Blonde nicht ständig neue Threads zum selben Gesamtproblem eröffnen würde, könnte Jeder sofort den Sinn und den Zusammenhang ihrer Fragerei erkennen. So muß ständig doppelt und dreifach nachgefragt werden! Forenregeln sind nicht umsonst da. Eine Sauerei und Frechheit ist das.
Maha S. schrieb: > Es ist halt ein Selbstbau Oszi für ein Projekt Passt noch viel weniger zu: Maha S. schrieb: > Anfänger Ansonsten schreibt lalala ja wie es geht. Triggern, messen bis der Puffer voll ist und dann übertagen und auswerten.
Maha S. schrieb: > Es ist halt ein Selbstbau Oszi für ein Projekt. Zunächst wollte ich ein > Oszi bauen mit 1MHz Bandbereite, Oh je. Ach was sag ich, das wollten wir alle mal :-) - Überdenke Deine Anforderungen. Ein "echtes" Oszi mit 300 kHz Analog-Bandbreite tastet mit mehr als 1 MS/s ab. Nyquist/Shannon gilt nur für unendlich lange Messungen. Wenn es was taugen soll, man also innerhalb der Bandbreite die Signalform beurteilen können soll, geh in Richtung 10x Überabtastung. - Überdenke Deine Anforderungen. Wozu 300 kHz und 1 MS/s? Weil es der uC kann? - Überdenke Deine Anforderungen. Kontinuierliche Messung? Wozu? - Überdenke Deine Anforderungen. 12 bit? Wozu? - Überdenke Deine Anforderungen. Aliasing unterbinden? Was hast Du vor? Wie Du schon feststellst gibt es genug zu tun. Z.B. 100 kHz 8 bit kontinuierlich, 1 MS/s blockweise (so schnell es eben geht).
Markus W. schrieb: > ??? Sagt wer??? Icke! Wenn man keine Haare spalten möchte ist doch klar, was ich gemeint hab, oder? Das Abtasttheorem gilt natürlich immer, aber die oft fälschlich getroffene Annahme, dass doppelte Abtastfrequenz ausreichend wäre gilt halt nur für unendlich lange Messungen, also im realen Leben nie.
Markus W. schrieb: > ??? Sagt wer??? Der gesunde Menschenverstand. Schau dir z.B. mal die Tektronix TBS1000 Serie an. (Habe ich jetzt zufällig ausgewählt) Die haben eine analoge Bandbreite von 30 bis 200MHz, aber eine Samplerate von 1GS/s oder 2 GS/s. Warum glaubst du macht Tektronix das? Wenn denen 60MS/s bis 400MS/s reichen würden, dann würden sie das tun! Denn das würde Geld sparen.
Der Andere schrieb: > Der gesunde Menschenverstand. Nun ja... > Schau dir z.B. mal die Tektronix TBS1000 Serie an. (Habe > ich jetzt zufällig ausgewählt) Die haben eine analoge > Bandbreite von 30 bis 200MHz, aber eine Samplerate von > 1GS/s oder 2 GS/s. > Warum glaubst du macht Tektronix das? Weil sie gute Oszis bauen. Zum einen ist die analoge Bandbreite NICHT auf den -3dB-Punkt bezogen; der Abfall ist geringer -- oder anders gesagt: Die analoge Bandbreite der Kisten ist in Wahrheit größer. Zum anderen bestehen beim AA-Tiefpass eines Oszis nicht nur Forderungen an den Amplituden-, sondern auch welche an den Phasengang. Steilflankige Filter haben jedoch in der Regel den Nachteil, dass sie zum Klingeln neigen; Impulse zeigen also hinter dem Filter ein Überschwingen, das im Messsignal vor dem Filter gar nicht vorhanden ist. Für einen Oszi ist das nicht hinnehmbar. Infolgedessen macht man das Filter nicht so steilflankig, muss dann aber höher abtasten, damit Shannon/Nyquist/Kotel- nikow zufrieden sind (=das Abtasttheorem erfüllt ist). > Wenn denen 60MS/s bis 400MS/s reichen würden, dann würden > sie das tun! > Denn das würde Geld sparen. Du glaubst, Tektronix ist berühmt geworden, weil sie dem Käufer immer das Allerbilligste angedreht haben? Wirklich?
Ich habe jetzt einen PICMZ0512EFK064 ausgewählt. Der kann laut dem Microchip Homepage 18MS/s. Wenn man aber in das Datenblatt schaut (S.651) steht auf einmal nur 3.125MS/s. Die vom Microchip Marketing haben wohl die Sample Raten addiert, oder irre ich mich? Beim Filter habe ich einen Bessel Filter 8.Ordnung. Die anderen waren zu instabil bzw. hatten keine konstante Gruppenlaufzeit, welche ich benötige. Bei 8Bit komme ich immerhin auf 4.16MS/s.
Der Andere schrieb: > Ansonsten schreibt lalala ja wie es geht. > Triggern, messen bis der Puffer voll ist und dann übertagen und > auswerten. Nur kurz eine Verständnisfrage: Ich würde es nun so machen wie es lalala geschrieben hat. Wenn ich nun z.B. 36kSamples zusammenbringe, und diese grafisch darstellen will, dann hätte ich bei niederfrequenten Signalen ein Problem. Ich würde zu "schnell" abtasten und könnte keine vollständige Periode darstellen. z.B ein Rechteck mit 1Hz
Der Andere schrieb: > Markus W. schrieb: > >> ??? Sagt wer??? > > Der gesunde Menschenverstand. Das ist ein schwaches Argument! > Schau dir z.B. mal die Tektronix TBS1000 Serie an. Auch die sampeln nicht ewig. Das oversampling, das Oszilloskope betreiben, hängt an der begrenzen Qualität der Filter. Man mittelt damit die Fehler im Stoppband weg. Ein Signal kann generell beliebig sein und muss nicht unendlich ausgedehnt sein, damit Nyquist gilt. Nyqusit muss nur für jedes Sample eingehalten werden. Es gibt ja auch dynamische Abtastungen und Datenspeicherungen.
Maha S. schrieb: > h würde zu "schnell" abtasten und könnte keine vollständige Periode > darstellen. z.B ein Rechteck mit 1Hz Machs wie beim echten Oszi, vor Messung Auswahl des Zeitbereichs (div).
> Wenn du 300 kHz Bandbreite brauchst, musst du mind. doppelt so schnell > abtasten. Du hast 1 MHz. Ob du dann noch eine Dezimierung (== Multiraten > DSP) auf 600 kHz (Verhältnis 3/5) machen möchtest musst du entscheiden. Kann man das abgetastete Signal nicht auf 300kSamples/s und 8 o. 12bit dezimieren, es enthält doch keine Anteile oberhalb 300kHz. Der Empfänger macht dann eine sinc-Interpolation und stellt das Signal dar.
Markus W. schrieb: > Das oversampling, das Oszilloskope betreiben, hängt an der begrenzen > Qualität der Filter. Man mittelt damit die Fehler im Stoppband weg. soweit d'accord > Ein Signal kann generell beliebig sein und muss nicht unendlich > ausgedehnt sein, damit Nyquist gilt. das wird an den Hochschulen aber anders erklärt
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.