LabVIEWForum.de
USRP-FPGA Übertragungsstrecke - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW FPGA (/Forum-LabVIEW-FPGA)
+---- Thema: USRP-FPGA Übertragungsstrecke (/Thread-USRP-FPGA-Uebertragungsstrecke)



USRP-FPGA Übertragungsstrecke - bde2 - 06.03.2015 20:09

Hallo zusammen,

ich möchte auf einem NI USRP-2950R unter LabVIEW 2013 sP1 inkl. FPGA- und vielen weiteren Modulen eine zunächst unidirektionale Funkübertragungsstrecke erstellen (Sender und Empfänger auf dem selben Host-PC), bei der ein Großteil der Signalverarbeitung (auf beiden Seiten - z.B. FFT und Filter) auf dem FPGA stattfindet.

Wie im Handbuch empfohlen habe ich mich daran versucht, das Full Duplex Streaming (Host).vi und die Streaming Xcvr (FPGA).vi aus dem Simple NI-USRP Streaming-Beispielprojekt zu modifizieren.

Mir erscheinen die beiden VIs aber immens komplex. Die gesamte - offensichtlich notwendige - Initialiserung der verschiedenen Busse und weitere Signalverarbeitung (Digital Up- und Down-Converter, Enables etc.) belegen bereits 25% der Slices des FPGA und die Kompilierung dauert auf einem i7-4790K über 3 Stunden - ohne, dass ich irgendwas hinzugefügt habe.

Eine Host-Simulation des FPGA-VI scheint mir auch aussichtlos, da gefühlte 100 Anschlüsse verarbeitet werden müssen. Bahn

Auf dem Host-VI sind sämtliche FPGA-Funktionen in USRP-Wrapper-VIs gepackt, die unheimlich verzweigt und vielschichtig sind.

Ich dachte da eher an zwei völlig simple VIs: Analog Input, Analog Output und zwei DMA-FIFOs im FPGA-VI. Zusätzlich FPGA im Host-VI initialisieren und DMA-FIFOs auslesen bzw. beschreiben. Für die Signalverarbeitung auf dem FPGA dann Target-Based-FIFOs und ... das wars eigentlich.

Geht das so einfach? Oder ist es unbedingt erforderlich (für einen LabVIEW-Amateur) die vertrackten Beispiel-VIs als Ausgangspunkt zu wählen? Sind die ganzen Funktionen vielleicht nur notwendig, weil das Beispielprojekt prinzipiell auch bidirektionale (sogar full-duplex) und MIMO-Übertragung ermöglicht?

Ich brauche nur:

Signal auf HOST-PC erzeugen -> Signalverarbeitung auf FPGA -> Antenne 1 Senden -> Antenne 2 Empfangen -> Signalverarbeitung auf FPGA -> gesendetes Signal auf HOST-PC empfangen...

... und das gleichzeitig und kontinuierlich.


Geht das so ohne Weiteres? Oder werde ich mich doch noch durch das Sample-Projekt kämpfen müssen?

Falls ja, werde ich dann noch einige Fragen zur Simulation haben Big Grin


Danke und viele Grüße
bde2


RE: USRP-FPGA Übertragungsstrecke - Holy - 14.03.2015 08:22

Der Füllgrad des FPGA ist nicht als linear anzusehen. Bei viel Platz wird der Compiler nicht so viel optimieren wie er kann um einfach Zeit zu sparen. Sobald es etwas voller wird, erfolgen dann diese Optimierungen und die Compilezeit wird steigen und gleichzeitig der Füllgrad nicht linear mitsteigen. Hier kann man in der Buildspezifikation mit den Design-Zielen ggf. etwas erreichen (Stichwort Minimierung/Reduzierung Kompilierzeit).

Ich denke du wirst schon einiges für den Start vereinfachen können. Wird nur nicht soviel Leute mit praktischer Erfahrung geben. SDR ist kein Trivialthema auch wenn die bereitgestellten Beispiele von NI hier einiges einfacher machen wie mit anderen Ansätzen (VHDL, Verilog,...).

Dein vorgeschlagener Weg um FPGA-Programmierung mit LabVIEW zu verstehen ist sicher nicht verkehrt. Der Einstieg mit SDR natürlich gleich eine richtige Hausnummer.