Hi, I’m a beginner in LabVIEW FPGA. I have PXIe-5170r. I use the template of a project to acquire data. In host program : I acquire 10k points which are plotting – channels 0 to 7 (fetch single record + Format Waveform Graph) – it works
In FPGA program : a) I take data from Channel 0 : Table size 2 <+-18,1> Question 1 : I have two values, why ? No decimation. Sample 250Mhz and FPGA work at 125Mhz ?
b) I add Delay to channel 0 Delays 0 to 511 Question 2 : How doing a second plot in host program. In the host, I can read channel_0_delay but size 2 like input. c) in fact, I want to acquire data (10k points) and use this data to do a process in FPGA and seeing the output (10k points) on host Can you help me ? Thanks
Go to Solution.
The PXIe 5170R acquires at a sample rate of 250 MS/s but the LabVIEW FPGA loop cannot run that fast.
The loop is therefore running at half speed (125 MHz) and for each iteration you get two samples from your acquisition.
This is why each channel returns an array of two elements. [sample N, sample N+1]
Doing processing of the data is therefore a little tricky because you have to process two consecutive samples at a time.
For example if you want to take the average value of two consecutive samples you'll have to return two values. If your input consists of
[v0, v1], [v2, v3], [v4, v5] ... your output should be
[(0+v0)/2, (v0+v1)/2]. [(v1+v2)/2, (v2+v3)/2],...
so you need to use a shift register to retrieve the second element of your previous iteration. Conceptually it looks like this
I don't understand question 2. Do you want to see both the original data from channel 0 and a delayed version of channel 0 on your host display?