Quantcast
Channel: LabVIEW topics
Viewing all articles
Browse latest Browse all 69326

Real-Time lossless compression of 4-8GByte/s ADC data stream using PNG/ZIP

$
0
0

Dear All,

 

we have an analog-to-digital converter card (ADC) from Alazartech (ATS 9373) that can stream at 4GS/s directly to memory. It thus produces a data stream of either 4GByte/s (8-bit per sample) or ~6.8 GByte/s (12-bit per sample). 

Now we are using this ADC to acquire data from a laser scanning fluorescence microscope, so a lot of the samples do not contain physical information and can be set to zero. Thus, the data can be heavily compressed. I tested e.g. Labviews IMAQ array to PNG and achieved a factor of 100-1000 compression. However, it currently is about a factor of 40 too slow to be real-time applicable. This factor of 40 also leaves parallelization out of question for our 20-core CPU.

Right now I'm thinking about a) parallelizing on a GPU using CUDA, b) trying a C-coded DLL using libPNG to test wether PNG creation can be sped up, c) testing gzip to hopefully run faster than Labviews add file to zip function. 

 

My question is: Does anyone have experience with this? A fast, real-time compression algorithm in Labview capable of handling 4GByte/s?

Preferrably I would want PNGs as this directly permits viewing the raw data as images obtained with the microscope.

 

Thank you for your help!

Nino


Viewing all articles
Browse latest Browse all 69326

Trending Articles