Lena/Sep 2016

From zhivun
Revision as of 20:09, 16 September 2016 by Zdeland (talk | contribs) (→‎09/12/2016)
Jump to navigation Jump to search

September 2016

BACK/NEXT

<< BACK NEXT >>

09/01/2016

Moving modulation/demodulation into LUT

Started on addressing the problems in the LabVIEW VIs. The first problem are the overflows in modulation/demodulation paths. The problem is that two 16-bit words are multiplied and they result in a 32 bit word, which is then scaled to fit back into a 16-bit word, and the scaling is not done correctly. I updated the VI, but it wouldn't compile because the compiler ran out of DSP48 blocks. The solution was to replace the Numeric multiplication blocks with High-throughput multiplication blocks and set the implementation to Look-Up Table, as described in this link http://forums.ni.com/t5/LabVIEW/Large-FPGA-vi-compiled-in-LV-2009-but-not-2010/m-p/1678820#M597625

Lab meeting

  • File:2016.09.01 Group Meeting.pdf
  • Thad suggested that we should have a logarithmic amplifier (so the signal is large enough for the ADC), and a PID loop at sub-Hz frequency to get rid of the DC fields around the sensor array.

09/01/2016

Talked to Mike about the insufficient bit resolution problem. Mike says the correct averaging should give us effectively more bits http://www.analog.com/library/analogDialogue/archives/40-02/adc_noise.html This should work as long as we increase the number of bits after the averaging.

09/08/2016

Implementing Mike's suggestions in LabVIEW (because it's easier to change the code than the hardware). The code mostly works, but still needs some debugging to make it compatible with the heartbeat recording VI.

Changes made compared to the previous version:

  1. Data is acquired at the maximum ADC rate of 500 ksps
  2. Raw ADC data is scaled up to int32 from int16 and anti-aliased by a rational resampler. The output data rate is ~20 ksps (2011 ticks at 40 MHz instead of expected 2000 ticks).
  3. Data is low-pass filtered at 250 Hz by a 6-pole Bessel filter.
  4. Data is sent to the PC with 32 bit resolution


09/12/2016

The LabVIEW VI's turned out to be way harder to maintain than I anticipated. For this reason, I cleaned up the project by selecting only the files necessary for the fMCG magnetometer to run (reduced the folder size from 1 GB to about 50 MB) and initialized a GitHub repo in the project folder. The project is pushed to this private GitHub repo: https://github.com/lenazh/fMCG-LabView-VIs


09/16/2016

The 32-bit magnetometer LabVIEW VI finally is working. Took several measurements to compare the noise performance of the 16-bit and the 32-bit VIs. Also measured how magnetic is a thermoresistor used in a different experiment in Chamberlain.

Measurements

Run Noise Comment
25 00 Z mode, 16 bit, with RTD, magnetic noise
25 01 Z mode, 16 bit, with RTD, technical noise
26 00 Z mode, 16 bit, no RTD, magnetic noise
26 01 Z mode, 16 bit, no RTD, technical noise
28 00 Z mode, 32 bit, no RTD, magnetic noise
28 01 Z mode, 32 bit, no RTD, technical noise
32 00 Z mode, 32 bit, with RTD, magnetic noise
32 01 Z mode, 32 bit, with RTD, technical noise
32 02 Z mode, 32 bit, no RTD, electronic noise