You are not logged in.
I am new to WARP, so please excuse me if I post dumb questions.
My idea is to modify this WARPLab Spectrogram Example https://warpproject.org/trac/wiki/WARPL … ectrogram, in order to show spectrogram for extended predefined time (for example: 60s). Is it possible to do so by only modifying this example?
Other idea is to use this wlan_exp example https://warpproject.org/trac/wiki/802.1 … continuous and to pass .hdf5 log file to Matlab to show spectrogram.
Could someone help me, what is the best approach to solve this?
Offline
60 seconds sampled at 40 MSPS is a lot of data (60 * 40e6 = 2.4e9 samples = 4.8 Gigabytes). That's larger than the available DRAM on WARPv3. The largest buffer size that WARPLab supports is 128M samples, or 3.35 seconds of continuous reception. Do you need it to be 60 continuous seconds or could you capture 3.35 seconds at a time repeatedly?
It would require significant changes to the underlying FPGA design, but you could modify the design to reduce the bandwidth being stored if you don't need 40MHz. A modified design capturing only 10MHz of bandwidth would achieve 3.35 * 4 = 13.4 seconds of storage since each sample has been elongated by a factor of 4.
The 802.11 design won't give you a raw spectrogram of energy on the medium -- it's an 802.11 PHY and can extract channel coefficients from receptions, but it doesn't capture raw I/Q for conversion to a spectrogram. WARPLab is the better fit for the project as I understand it.
Offline
Thank you so much for your answer!
I need as longer as possible, not necessarily 60 s. Instead of it, I could capture 3.35s at a time repeatedly, but is there any way to avoid such long delay between two experiments?
I modified WARPLab Spectrogram Example to have multiple iterations, but there is significant delay between two experiments (it take almost 5s for two iterations of 0.8s).
Thank you in advance.
Offline
The spectrogram example works like any other WARPLab Rx script - there are 3 phases:
(1) Capture N IQ samples, buffered to DRAM
(2) Transfer N samples to MATLAB via Ethernet
(3) Process N samples in M code
The duration of step (1) is fixed by N/40e6 (i.e. 40MHz sampling rate)
The duration of step (2) is limited by the Ethernet transfer speed. If you're using 1Gb Ethernet and the WARPLab mex transport you can expect transfer rates at nearly the line rate (see benchmarks). However even 1Gbps is slower than the raw sampling rate, so step (2) will always take longer than step (1).
The duration of step (3) depends entirely on your M code. For the spectrogram example this involves many large FFTs then plotting the results. The processing delay depends mostly on the speed of your PC.
Offline