02-15-2019 05:52 AM
Hello All,
My first post here and am new to Communications System Design Suite/NGX. I've used LabVIEW extensively, but not that clear about this and FPGA programming.
I am unable to get the 200 MS/s to work that would enable me to use the full 160 MHz BW of this radio consistently. I have tried the examples provided for LabVIEW and NXG and I constantly get under/over flows at high IQ rates even without any post processing of the data.
I am working on a project to implement an FMCW radar with the full 160 MHz bandwidth using this radio and I figured I would use NI USRP Rio APIs to get me started and then to switch to FPGA to and ultimately offload mixing of RX and TX to the FPGA and only get the beat frequency to the host instead.
The goal would be to load the TX signal on the on-board memory once and constantly transmit it, while the RX signal is received and mixed with TX on the FPGA to produce the beat frequency to the host.
I would really appreciate your advice, help and support:
This is my hardware/software setup:
Thank you for your help in advanced...
HoSsEiN
02-18-2019 06:17 PM
Any help is appreciated
02-18-2019 07:14 PM - last edited on 11-17-2024 01:26 PM by Content Cleaner
HoSsEiN,
I don't have that particular hardware, so it would be hard for me to test 160MHz full bandwidth, but I do have a few questions:
02-18-2019 08:41 PM
Thank you Sherlockholm!
I hope the screenshots help you to help me!
Warmest Regards,
HoSsEiN
02-22-2019 06:58 AM
I did work through the tutorials and many other references I could find and I think I now have a better understanding of how the FPGA programming and its communication to the host vi's work. I was able to compile the "Streaming Xcvr (FPGA).vi" and get the bitfile and I know my "Tx and Rx Streaming (Host).vi" is using the correct bitfile "niUsrpRio200_XcvrTime.lvbitx" for "USRP 294xR; 295xR 200 MSps".
All that said, I am still not able to get RX/TX anywhere close to 200 MS/s!
I am using the Simple Streaming example project on LabVIEW...
I only have RF0 enabled and transmit out of TX1 in "finite" mode with "immediate" start trigger and receive with only RF1 from RX2 with "finite" mode and "Tx Start Trigger". I keep the "Sample Rate" and "Number of Samples" the same for RX and TX.
At higher "Sample Rates" I always get FIFO under/over flows and with larger "Number of Samples" and higher sample rates I get this error:
Error -50400 occurred at Invoke Method: FIFO.Read in Fetch Rx Data (U32).vi:7490001->Fetch Rx Data (CDB).vi:2800001->Fetch Rx Data (CDB WDT).vi:3390001->Initiate and Fetch Time (Multi).vi:2060001->Initiate and Fetch (Multi).vi:2680001->Initiate and Fetch (Single).vi:2720001->Tx and Rx Streaming (Host).vi
Can anyone please help me understand what I am doing wrong and how can I get the 200 MS/s?
Any help is appreciated!
02-25-2019 03:32 PM
HoSsEin,
Did some research and here's some information that I found. The error is likely occurring because one of the FPGA FIFO buffers is overflowing while the host application is transferring data from the other FPGA FIFO buffer. This happens when you are acquiring at too high a sample rate and/or you are acquiring too many samples.
There are a few techniques to avoid buffer underflow: increase the Timeout of the FIFO Read method, reduce the rate at which the host reads data, or reduce the number of elements the VI reads from the buffer by reducing the value of the Number of Elements control you wire to the FIFO read function.
Hope this helps!
02-25-2019 04:48 PM - edited 02-25-2019 04:49 PM
Thank you Sherlock,
I see your point, but my goal is to use the full 160 MHz BW of this radio for the FMCW radar implementation and to get that I do need the 200 MS/s. This is my understanding, correct me if I am wrong please...
From what I've gathered, I need to do mostly FPGA processing... I need to store the TX data on the FPGA memory as it is a fixed signal that will be transmitted periodically and effectively do cross correlation (I think) between TX and RX on the FPGA to get the beat frequency and not have to send a whole bunch of data back and forth to/from the host.
Unfortunately, I haven't found any good working examples to build on so far.
I appreciate any and all help I can get...
Warmest Regards,
HoSsEiN
01-02-2024 09:32 PM
Hello Hossein can you please provide the vi for implementing the fmcw radar