Thanks to visit codestin.com
Credit goes to github.com

Skip to content

NJM-QSensing/ulia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Universal Software Lock-In Amplifier (ULIA)

https://gitlab.com/UhlDaniel/ulia/-/jobs/artifacts/master/raw/license.svg?job=badges https://gitlab.com/UhlDaniel/ulia/-/jobs/artifacts/master/raw/pypi.svg?job=pypi https://img.shields.io/badge/DOI-10.1063%2F5.0059740-blue

An effective algorithm to emulate a Lock-In Amplifier.

Quickstart

Installation

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.git

or

$ pip install ulia

Dependencies

This package depends on:

  • Numpy
  • Scipy
  • Numba

Usage

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)

Links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors