Ich möchte ein Signal, das (in einem neuen Messsystem) mit einer Messfrequenz von 2,048 MHz gesampelt und bearbeitet wurde auf der alten Frequenz von 512 kHz ausgeben, damit es in die alten Baugruppen passt. Fall 1: Es besteht eine feste Relation von 4:1 Jetzt ist mir bekannt, dass man ein solches Signal erzeugen kann, in dem man einfach alle anderen Samples als jedes 4. weglässt. Nun ist es aber so, dass damit ja eine Bandbreitenreduzierung stattfindet. Ich gehe davon aus, dass ich den Datenstrom zuvor einfach auf die neue Nyquistfrequenz von 50% 512kHz = 256kHz filtern muss? Ich würde dann mal so 200kHz als Maxfrequenz angeben, die man mit dem neuen System im alten Modus noch ausgeben kann. Fallv2: Es besteht eine feste Relation von 2048:1750 (Alternative). Nehme ich dann <40% von 1750, also rund 600kHz an? Wie verhindere ich ein sample-Problem bei der Übergabe der Werte von der einen in die andere Domain?
@ Martin (Gast) >so, dass damit ja eine Bandbreitenreduzierung stattfindet. Ich gehe >davon aus, dass ich den Datenstrom zuvor einfach auf die neue >Nyquistfrequenz von 50% 512kHz = 256kHz filtern muss? Sicher. > Ich würde dann mal >so 200kHz als Maxfrequenz angeben, die man mit dem neuen System im alten >Modus noch ausgeben kann. >Fallv2: Es besteht eine feste Relation von 2048:1750 (Alternative). Ähnlicher Fall. >Nehme ich dann <40% von 1750, also rund 600kHz an? Kann man machen, je nach Filteraufwand. >Wie verhindere ich ein sample-Problem bei der Übergabe der Werte von der >einen in die andere Domain? Wenn es unabhängige Takte sind, mit einem asynchronen FIFO. MfG Falk
>> Fall 1: Es besteht eine feste Relation von 4:1
Dein Signal ist oversampled. Addiere einfach 4 Samples und freue Dich
über die hohe Auflösung.
Stefan
@Stefan, das Signal ist nicht oversampled, sondern es hat eine höhere Bandbreite. Diese kann im alten System nicht genutz werden. @Falk: SO dachte ich mir das. Danke.
Martin schrieb: > Fall 1: Es besteht eine feste Relation von 4:1 In diesem Fall kann Dir ein CIC-Filter [1] weiterhelfen. Duke [1] http://de.wikipedia.org/wiki/Cascaded-Integrator-Comb_Filter
Das CIC funktioniert aber nur bei festem Systemtakt, bzw ganzzhaligem Verhältnis der abtastenden Takte In und Out. Was ist mit Jitter? Das wäre freilich ein dritter Fall.
Überlege dir das einfach ganz theoretisch. Eine Abtastratenwandlung um einen rationalen Faktor L/M wird durch eine Interpolation um den Faktor L und eine anschließende Dezimation um den Faktor M. Dazwischen liegt das Interpolationsfilter und das Dezimationsfilter, welches zu einem einzelnen Tiefpassfilter zusammengeführt werden kann. Der Sperrbereich des Tiefpassfilters muss für M > L bei spätestens Pi/M und für L > M bei spätestens Pi/L beginnen. Eine besonders recheneffiziente Struktur dieses Abtastratenumsetzers ist zum Beispiel die Realisierung mittels Polyphasenfiltern.
Irgendwo hat man aber doch einen Zeitsprung zwischen den domains, wenn man den jitter ignoriert und einsampelt. Ausserdem ist ja nicht unbedingt gesagt, dass es ein KGV der beiden Frequenzen gibt. Versuche mal im Videobereich ein 1024x768 auf 800x600 genau zu wandeln. Das geht nur theoretisch entlang der Horizontalfrequenz. Praktisch - auf den Bildspeicher bezogen - kommt man auf ein Frequenzverhältnis von 32:25 brächte also 25x70MHz. Das ist ein bissel viel fürs FPGA.
Ich habe mir nun einn CIC im Xilinx angesehen und dort vorgefunden, dass man offensichtlich 2 Möglichkeiten hat, ihen einzustellen. Ganz blicke ich da noch nicht, was ich nehmen muss. Welche Endfrequenz brauche ich? Kann ich direkt die 2,048MHz nehmen? Was bringt mir das Filter, statt dem einfachen Weglassen von samples? Welche Frequenz käme für den Fall 2048:1750 in Betracht? Ich erkenne nicht, wo ich das genau einstellen kann, soll , muss.
Ach, gerade sehe ich noch ein Problem: Das Xilinx-Geraffel kann nur 20 Bit! Kann man das aufstocken oder muss ich selber bauen?
Martin schrieb: > Das Xilinx-Geraffel kann nur 20 > Bit! Kann man das aufstocken oder muss ich selber bauen? Wenn das eine Limitierung für Dich ist, hilft nur selber bauen (oder bauen lasen...) Duke
Martin schrieb: > Was bringt mir das Filter, statt dem einfachen Weglassen von samples? Bei ganzzahligen Verhältnissen ist "Weglassen" = "Resampeln", weil man die Stützstelle, die es zu errechnen gälte direkt trifft. Umrechnen muss man nur bei Zwischenwerten, hier anhand des Beispiels 7:5: Man bekommt folgende Koordinatentransforamtion (aus Sicht A, aus Sicht B) A-Nr. B-Nr. 1 0,7 2 1,4 3 2,1 4 2,9 5 3,6 6 4,3 7 5,0 B-Nr. A-Nr. 1 1,4 2 2,8 3 4,2 4 5,6 5 7,0 Um also die 5 Zielpunkte zu berechnen, braucht man 5x eine Interpolationsgleichung der Punkte: 1: 0,0 ... 1,4 2: 1,4 ... 2,8 ... 5: 5,6 ... 7,0 Der "Punkt" 5,6 sind einfach 40% des Punktes 5 und 60% des nächsten Punktes 7.
BiBi schrieb: > Der "Punkt" 5,6 sind einfach 40% des Punktes 5 und 60% des nächsten > Punktes 7. Das ist lineare Interpolation zwischen 2 Punkten. Die Spektren dürften sich danach deutlich unterscheiden. (Die Koeffizienten eines FIR Filter haben ganz gerne mal eine si-ähnliche Ausprägung)
Was macht denn der CIC, statt linear zu interpolieren? Inwiefern erhält man da ein besseres Spektrum?
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.