Bild im anhang zeit was man braucht um ein radio empfänger zu basteln. Für ersten der die Lösung hat, gibt es etwas belohnung auch, bitte email wer die lösung gefunden hat.
Mit 2 Widerständen die Betriebsspannung auf die Hälfte teilen, den RF Input kapazitiv ankoppeln. Das Ganze an einen Digital-IO des XILINX. Funktioniert leider nur bei Eingangsspannung in der Nähe von 1 Vpp. Die Analog-Eingänge sind mit 1 MSPS leider viel zu langsam für sowas wie ein SDR. Einen Mischer sehe ich auch nirgendswo. Wegen der Belohnung melde ich mich nochmal, erst mal gucken, wie der Thread hier weiterläuft :-)
Interessante Idee. :) http://cas.tudelft.nl/pubs/Homulle15fpga.pdf Und noch interessanter: http://www.latticesemi.com/~/media/LatticeSemi/Documents/WhitePapers/AG/CreatingAnADCUsingFPGAResources.PDF?document_id=36525 Hmm, anbesehen davon , das dies ein anderer FPGA-Chip ist, und der Xilinx vielleicht schon von Haus aus höhere Samplingraten zulässt, kann man mit vier von diesen Dingern, wenn das Timing stimmt, sicher eine höhere Samplingrate ereichen.
:
Bearbeitet durch User
Das erste Paper ist spannend, vor allem die Idee mit der TDC Delayline. Das mit dem LVDS und externen RC gibt es schon lange, aber das ist leider nicht schnell. Die hier machen das schon recht lange, aber eben nicht schnell. http://www.stellamar.com/index.shtml Was benötigt man denn für die schnelle Lösung? Also geht das an einem normalen LVDS Eingang vom Artix oder braucht man so GPT-Anschlüsse?
Sach mal willst das Forum für eigene Ambitionen bei diesem "Programmier-Wettbewerb" vor den Karren spannen: https://www.ettus.com/sdr-software/detail/rfnoc-vivado-challenge ???
Gustl B. schrieb: > Was benötigt man denn für die schnelle Lösung? Also geht das an einem > normalen LVDS Eingang vom Artix oder braucht man so GPT-Anschlüsse? http://www.eevblog.com/forum/rf-microwave/for-anyone-complaining-about-8-bit-ffts-(xilinx-gtx-as-1-bit-'sdr')/
C. A. Rotwang schrieb: > Sach mal willst das Forum für eigene Ambitionen bei diesem > "Programmier-Wettbewerb" vor den Karren spannen: > > https://www.ettus.com/sdr-software/detail/rfnoc-vivado-challenge > > ??? neeee. Das ist da ja was ganz anderes, da hast externes ADC und machst DSP mit SDSoC. Aber natürlich den 4R+4C radio signal kann man auch mit SDSoC bearbeiten.
Danke für den Link! Mit GTX bin ich leider raus ... Also wenn ich das richtig verstanden habe erzeugt man intern eine Sampleclock die !an durch einen Tiefpassfilter zu V_ref macht. Das muss dann noch kalibriert werden. Da könnte man doch auch einen externen Oszillator verwenden, vielleicht gibt es da welche mit Sägezahnausgang. Klar man muss immer noch kalibrierte aber im Vergleich zu einer PLL ist das doch deutlich jitterärmer.
nene, kein GTx notwendig https://forums.xilinx.com/t5/Xcell-Daily-Blog/Antti-s-Trenz-Challenge-Build-a-500MHz-radio-receiver-with-4/ba-p/757338 Antti
OK. So wie die Widerstände gemalt sind könnten das auch zwei LVDS Pärchen sein ... es bleibt spannend! Geht es eigentlich überhaupt um einen ADC? Weil Radio geht vielleicht auch ohne ADC mit PLL/MMCM.
:
Bearbeitet durch User
Sieht für mich nach dem klassischen Sigma-Delta-Ansatz mit LVDS inputs aus. Für SDR kann man mit wenigen Bits arbeiten. Da ich mal von FM ausgehe, brauchts dann je Q und I ein RC-Glied. What's new?
Zitat: By this point I was thinking Delta Sigma ADC using the FPGA’s LVDS inputs. (There are papers and articles about this technique online.) However, Antti tells me this is not his solution and he was kind enough to provide a few hints for this challenge below:
Ok, spannend, das Xilinx-Post hatte ich überlesen. Es gäbe sonst noch Undersampling-Tricks mit gezielter Verstimmung, da brauchts eigentlich nur noch Komparatoren. Aber da sehe ich noch nicht, wie das ohne Schwingkreis gehen sollte. Ohne LVDS gehts bestimmt nicht...
Ah :) Die Lösung wird öffentlich gemacht, mit Kommentaren und Erklärungen. Kann noch hier ergänzen das ich die Schaltung heute auch wirklich mit 500 MHz getestet habe. Die ersten Tests waren ja mit nur 3.5 MHz.
Wie wäre es hiermit? Es ist nur ein Kanal von I und Q gezeigt. Der LO muss natürlich ein entsprechend verschobenes Signal je Kanal erzeugen. Der "Mixer" ist in diesem Vorschlag der tristate-fähige Buffer des FPGAs.
Antti L. schrieb: > Ah :) > > Die Lösung wird öffentlich gemacht, mit Kommentaren und Erklärungen. > > Kann noch hier ergänzen das ich die Schaltung heute auch wirklich mit > 500 MHz getestet habe. Die ersten Tests waren ja mit nur 3.5 MHz. Was Willst du empfangen? UKW? Dann ist die frage wie selektive kannst du die Sender trennen? Sehr interessante Idee mal sehen wo du landest.
bandbreite kannst auf 0.1Hz setzen, wenn du eine clock hast das genügend sauber ist ;)
Fehlerkorrektur, für kleine bandbreite muss der clock sehr GENAU sein, sauber (jitter) ist ehe zweitrangig.
Antti L. schrieb: > Fehlerkorrektur, für kleine bandbreite muss der clock sehr GENAU sein, > sauber (jitter) ist ehe zweitrangig. ???? Was ist denn "sehr genau"? Lagestabil aber Jitter angebelich egal?
weltbester FPGA-Pongo schrieb im Beitrag #4965038: > Antti L. schrieb: >> Fehlerkorrektur, für kleine bandbreite muss der clock sehr GENAU sein, >> sauber (jitter) ist ehe zweitrangig. > > ???? > > Was ist denn "sehr genau"? Lagestabil aber Jitter angebelich egal? Also der zeitliche Abgstand der Samplestellen müssen den gleichen Abstand haben, ansonsten entsteht bei der Demuolation eine ungewollte Frequenzmodulation. Das ist Fakt. Ich habe auch bereits über die "Machbarkeit" eines getasteten 1Bit Demodulator nachgedacht. Es geht über Korrellationsverfahren und Rauschfilter. Da bin ich mal gespannt welchen Weg Antti hier nutzen will.
C. T. schrieb: > Wie wäre es hiermit? Es ist nur ein Kanal von I und Q gezeigt. Der LO > muss natürlich ein entsprechend verschobenes Signal je Kanal erzeugen. > Der "Mixer" ist in diesem Vorschlag der tristate-fähige Buffer des > FPGAs. Ich nehme bezug auf deine Skizze. Nein so wird es nicht gehen. Deine Verschaltung von Widerständen und Kondensatoren sind nur lineare Bauteile. Ein Mischer braucht ein nichtlineares Bauteil. Als getasteter Demodulator sieht das so aus. Dieser Emfängt exakt die Frequenz, die an den Transistor geht.
René D. schrieb: > Ich nehme bezug auf deine Skizze. > > Nein so wird es nicht gehen. Deine Verschaltung von Widerständen und > Kondensatoren sind nur lineare Bauteile. > Ein Mischer braucht ein nichtlineares Bauteil. Schon richtig, aber der Tristate-Buffer macht den Job. Der wechselt mit der Local-Oscillator Frequenz immer zwischen Low und High-Z, quasi als Open-Drain Ausgang. Ich kann mir in vielerlei Hinsicht bessere Mischer vorstellen, aber mit den gegebenen Einschränkungen erscheint es mir zumindest eine Möglichkeit zu sein. Man wird auch das C in Serie zum "Drain" noch weglassen können, aber dann wird man sich ein wenig mehr Mühe beim einstellen des DC-Offsets geben müssen und ggF. etwas vom Eingangsbereichs des ADCs verlieren (müsste mal nachlesen was der XADC Block wirklich kann). Welche anderen Eigenschaften der FPGAs könnte man denn noch dafür zweckentfremden?
@cajt Du hast recht, aber ich habe auch eine Lösung bekommen die zwar ähnlich ist aber doch etwas anders ist. Anfangs dachte ist das gleiche, dann dachte es funktioniert nicht, aber es tut es doch. Tristate wurde da auch verwendet aber ANDERS. XADC: zum Überraschung geht läuft der auch ohne extern eingestellte DC common mode ganz gut.
C. T. schrieb: > Schon richtig, aber der Tristate-Buffer macht den Job. Der wechselt mit > der Local-Oscillator Frequenz immer zwischen Low und High-Z, quasi als > Open-Drain Ausgang. Als open Drain. Da hast du recht. Ich hatte es reinen Ausgang gesehen. > Welche anderen Eigenschaften der FPGAs könnte man denn noch dafür > zweckentfremden? Jetzt wird es interessant. Jedes Digitalgatter beherrscht auch die Eigenschaften der Analogtechnik. Dieser Bereich ist in der Digitaltech die verbotene Zone, hier hört die Elektrotechnik nicht auf. Es nur stabil zum Laufen zu bekommen bis hin bei unterschiedlichen Temperaturen. das ist die Kunst.
:
Bearbeitet durch User
nein, falsch. ANALOG bereich von dem digital eingang wird NICHT verwendet.
Hier ein paar mögliche Puzzle-Stücke: Clock-Recovery der GTX: Die Recovery funktioniert im Bereich von 250MHz (500Mbps) bis 6.25GHz (12.5Gbps). Idelays: die kann man grob in 78ps-Schritten einstellen. Ich habe damit mal ein Sampling-Scope gebaut. Im Rahmen der Idelay-Tap-Genauigkeit natürlich, es ist nicht jeder Tap gleich. Ein weitere Puzzle-Teil, mit einem RC-Tiefpass eine einstellbare Spannung erzeugen, welche eine LVDS referenziert. Der V7 hat DDR3-HardIP mit Phasern. Zu den Teilen gibt es keine offizielle Doku, aber die sollten in der Lage sein, eine Clock auf einen Puls oder eine Pulsfolge zu alignen. Jetzt geht mir Digitalo der Schmalz aus. Gruß,
einmal den ersten BILD von cajt ansehen. Das ist Lösung was FUNKTIONIERT. Es ist ein radio Empfänger ! * Empfindlichkeit unter 1 mV * Frequenz bereich über 500MHz SNR geht mit hohen Frequenz ins Eimer, aber Empfang über 500Mhz kann ich bestätigen.
:
Bearbeitet durch User
C. T. schrieb: > René D. schrieb: >> Ich nehme bezug auf deine Skizze. >> >> Nein so wird es nicht gehen. Deine Verschaltung von Widerständen und >> Kondensatoren sind nur lineare Bauteile. >> Ein Mischer braucht ein nichtlineares Bauteil. > > Schon richtig, aber der Tristate-Buffer macht den Job. Der wechselt mit > der Local-Oscillator Frequenz immer zwischen Low und High-Z, quasi als > Open-Drain Ausgang. > > Ich kann mir in vielerlei Hinsicht bessere Mischer vorstellen, aber mit > den gegebenen Einschränkungen erscheint es mir zumindest eine > Möglichkeit zu sein. Man wird auch das C in Serie zum "Drain" noch > weglassen können, aber dann wird man sich ein wenig mehr Mühe beim > einstellen des DC-Offsets geben müssen und ggF. etwas vom > Eingangsbereichs des ADCs verlieren (müsste mal nachlesen was der XADC > Block wirklich kann). > > Welche anderen Eigenschaften der FPGAs könnte man denn noch dafür > zweckentfremden? Nein, nein den C darf man nicht weglassen. Ich bin enttäuscht. Das ausgangs Produkt von dem MIXER bildet sich auf diesem C !! Dieser C und der SWITCH zu GND sind das Herzstück des Mischers! Wenn man diese C weglässt? Das wäre keine gute Idee. Es geht auch ohne diesen "C in series" dann ist das Prinzip aber etwas anders - Änderung von Gain wegen switch gegen masse. Aber da müssten mehr C rein. Und ob wie gut es so geht habe ich nicht ausprobiert. Und es gibt noch FPGA Eigenschaften die man zweckentfremden könnte :)
> * Empfindlichkeit unter 1 mV > * Frequenz bereich über 500MHz > DAB ist von 170-240MHz. Da bietet sich Digitalradio an.
Ideengeber schrieb: > Hier ein paar mögliche Puzzle-Stücke: > > Clock-Recovery der GTX: Die Recovery funktioniert im Bereich von 250MHz > (500Mbps) bis 6.25GHz (12.5Gbps). > > Idelays: die kann man grob in 78ps-Schritten einstellen. Ich habe damit > mal ein Sampling-Scope gebaut. Im Rahmen der Idelay-Tap-Genauigkeit > natürlich, es ist nicht jeder Tap gleich. Andere Frage gibt es eine Möglichkeit das Tastverhältnis Duty-Cycle verändern? Dann kommt man in noch höhere Fequenzen.
nicht unbedingt, für Tayloe braucht man bishen mehr als 4 von C+R.. Das original war nicht Tayloe.
Antti L. schrieb: > nicht unbedingt, für Tayloe braucht man bishen mehr als 4 von C+R.. > > Das original war nicht Tayloe. Welches Original?
Die Lösung von cajt (Beitrag "Re: 4R+4C+1FPGA = RADIO !") habe ich simuliert. In der Simulation funktioniert sehr zufriedenstellend. @Antti Habe ich es richtig verstanden, dass die Lösung von cajt nicht die Schaltung ist, die du erwartest?
Habe ich ja nicht gesagt das es es nicht ist. Es ist sogar SEHR ähnclih zu dem Schaltung ich auf dem prototype brett gerade teste. Ich habe später nur gesagt das ich entäuscht bin wenn cajt den C wegnehmen wollte von seiner Schaltung. Es gibt auch schaltung wo der C in series zu open drain nicht da ist, aber der funktioniert etwas anders als die variante mit C.
@ René D. >Andere Frage gibt es eine Möglichkeit das Tastverhältnis Duty-Cycle >verändern? Dann kommt man in noch höhere Fequenzen. Ja, kann man. Es gibt Ausgänge aus dem Clock-Manager (MMCM) für große Schritte: "Since the VCO can provide eight phase shifted clocks at 45° each; always providing possible settings for 0°, 45°, 90°, 135°, 180°, 225°, 270°, and 315° of phase shift" Für die kleinen Schritte kann man feinjustieren per Dynamic Shift Interface in Schritten von 1/(56*Fvco). VCO-Freqoenz kann 600-1600MHz sein. Bei den GTX kann man noch manuell in die Abtastung eingreifen und schieben, aber GTX sollen ja nicht im Spiel sein. Gruß,
https://forums.xilinx.com/t5/Xcell-Daily-Blog/Antti-s-Trenz-Challenge-Build-a-500MHz-radio-receiver-with-4/ba-p/757338 "The closing date for entries is July 3rd. The judges will be Antti and myself (Adam Taylor)." Warum zieht sich der Wettbewerb solange hin?
Ich weiß nicht, was diese Geheimniskrämerei mit Ratespiel soll, wir sind doch hier nicht im Kindergarten ;). Wenn es für die Öffentlichkeit bestimmt ist, dann erklärt man einfach wie es funktioniert. Wenn nicht, behält man es für sich, auch ok... Oder will man hier möglichst viele interessante Ideen (für ein kommerzielles? Produkt) sammeln?
nein, ist kein so geheimnis und wird nichts so gestohlen auch, das termin wurde von Adam so festgelegt, end termin. Das SCHNELL etappe ist ja längst vorbei https://wiki.trenz-electronic.de/display/PD/Challenge+Nr+1%3A+4R4C-RADIO Wenn sie den ULTRAscale kit wollen, muss noch bishen mühe geben bis 3 juli ;) Da ist mein original noch nicht beschrieben, das kommt auch mit mehr erklärungen.
Gibt es was Neues, ist in der Angelegenheit noch irgendwas herausgekommen?
Was genau kann man mit der Schaltung machen? Nehmen wir an, es soll ein FM-Radio für den Frequenzbereich 88-108MHz damit "programmiert" werden. Haben wir dann einen 500MHz sampling ADC mit 1 Bit Auflösung? Reicht das Signal, um die gewünschte Frequenz mit einem Bandpassfilter herauszufiltern und danach die FM-Demodulation zu machen? Ist Alliasing ein Problem? Könnte man das Ganze auch mit einem Altera MACH10 realisieren?
Antti Lukats schrieb: > Da ist mein original noch nicht beschrieben, das kommt auch mit mehr > erklärungen. Der 3. Juli ist aber nun abgelaufen. Kommt jetzt hier die Lösung oder nicht?
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.