An effective algorithm to emulate a Lock-In Amplifier.
To install ulia you can use pip.
ulia package can be installed directly from PyPI using pip (pip3).
$ pip install git+https://gitlab.com/UhlDaniel/ulia.gitor
$ pip install uliaThis package depends on:
- Numpy
- Scipy
- Numba
A simple example on how to utilize the ULIA.
>>> import numpy as np
>>> import ulia
>>> modulation_frequency = 5000.0
>>> sampling_rate = 200000.0
>>> t = np.arange(0, 0.3*sampling_rate) / sampling_rate
>>> signal = np.cos(2*np.pi*t*modulation_frequency)
>>> reference = np.cos(2*np.pi*t*modulation_frequency)
>>> lia = ulia.ULIA(signal.size, sampling_rate, 0.03, 2, 0.2)
>>> lia.load_data(reference, signal)
>>> lia.execute()
Ignore the first 30% and last 10% of data due to filter artefacts.
>>> x = np.mean(lia.x[int(0.3*lia.x.size):int(0.9*lia.x.size)])
>>> y = np.mean(lia.y[int(0.3*lia.y.size):int(0.9*lia.y.size)])
>>> print(x + 1j * y)