ulia


Nameulia JSON
Version 2023.2.1 PyPI version JSON
download
home_pagehttps://gitlab.com/UhlDaniel/ulia
SummaryAlgorithm to emulate a lock-in amplifier
upload_time2023-03-12 18:26:46
maintainerDaniel Uhl
docs_urlNone
authorDaniel Uhl
requires_python>=3.6
licenseMIT
keywords lia lock-in amplifier
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Universal Software Lock-In Amplifier (ULIA)
===========================================

.. image:: https://gitlab.com/UhlDaniel/ulia/-/jobs/artifacts/master/raw/license.svg?job=badges
        :target: https://gitlab.com/UhlDaniel/ulia/-/blob/master/LICENSE

.. image:: https://gitlab.com/UhlDaniel/ulia/-/jobs/artifacts/master/raw/pypi.svg?job=pypi
        :target: https://pypi.org/project/ulia/

.. image:: https://img.shields.io/badge/DOI-10.1063%2F5.0059740-blue
        :target: https://aip.scitation.org/doi/10.1063/5.0059740


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`).

.. code-block:: console

  $ pip install git+https://gitlab.com/UhlDaniel/ulia.git

or

.. code-block:: console

  $ pip install ulia


Dependencies
------------

This package depends on:

 - Numpy
 - Scipy
 - Numba



Usage
-----

A simple example on how to utilize the ULIA.

.. code-block:: python

  >>> 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
=====

 * `ULIA on PyPi <https://pypi.org/project/ulia/>`_
 * `Publication <https://doi.org/10.1063/5.0059740>`_



            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/UhlDaniel/ulia",
    "name": "ulia",
    "maintainer": "Daniel Uhl",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "daniel_uhl@hotmail.de",
    "keywords": "lia lock-in amplifier",
    "author": "Daniel Uhl",
    "author_email": "daniel_uhl@hotmail.de",
    "download_url": "",
    "platform": null,
    "description": "Universal Software Lock-In Amplifier (ULIA)\n===========================================\n\n.. image:: https://gitlab.com/UhlDaniel/ulia/-/jobs/artifacts/master/raw/license.svg?job=badges\n        :target: https://gitlab.com/UhlDaniel/ulia/-/blob/master/LICENSE\n\n.. image:: https://gitlab.com/UhlDaniel/ulia/-/jobs/artifacts/master/raw/pypi.svg?job=pypi\n        :target: https://pypi.org/project/ulia/\n\n.. image:: https://img.shields.io/badge/DOI-10.1063%2F5.0059740-blue\n        :target: https://aip.scitation.org/doi/10.1063/5.0059740\n\n\nAn effective algorithm to emulate a Lock-In Amplifier.\n\n\nQuickstart\n==========\n\nInstallation\n------------\n\nTo install `ulia` you can use `pip`.\n\n\n`ulia` package can be installed directly from PyPI using `pip` (`pip3`).\n\n.. code-block:: console\n\n  $ pip install git+https://gitlab.com/UhlDaniel/ulia.git\n\nor\n\n.. code-block:: console\n\n  $ pip install ulia\n\n\nDependencies\n------------\n\nThis package depends on:\n\n - Numpy\n - Scipy\n - Numba\n\n\n\nUsage\n-----\n\nA simple example on how to utilize the ULIA.\n\n.. code-block:: python\n\n  >>> import numpy as np\n  >>> import ulia\n\n\n  >>> modulation_frequency = 5000.0\n  >>> sampling_rate = 200000.0\n\n  >>> t = np.arange(0, 0.3*sampling_rate) / sampling_rate\n  >>> signal = np.cos(2*np.pi*t*modulation_frequency)\n  >>> reference = np.cos(2*np.pi*t*modulation_frequency)\n\n  >>> lia = ulia.ULIA(signal.size, sampling_rate, 0.03, 2, 0.2)\n  >>> lia.load_data(reference, signal)\n  >>> lia.execute()\n\n\n  Ignore the first 30% and last 10% of data due to filter artefacts.\n  >>> x = np.mean(lia.x[int(0.3*lia.x.size):int(0.9*lia.x.size)])\n  >>> y = np.mean(lia.y[int(0.3*lia.y.size):int(0.9*lia.y.size)])\n\n  >>> print(x + 1j * y)\n\n\n\nLinks\n=====\n\n * `ULIA on PyPi <https://pypi.org/project/ulia/>`_\n * `Publication <https://doi.org/10.1063/5.0059740>`_\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Algorithm to emulate a lock-in amplifier",
    "version": "2023.2.1",
    "split_keywords": [
        "lia",
        "lock-in",
        "amplifier"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "294d3069e494e94d105cf8a454c8c78b106710e643b6c26f58df905c3821443f",
                "md5": "23b5aa1e4023f8e9881bb382687131cf",
                "sha256": "4767bfe6f7ce5dfff96334b15532c391d55954db978a4b34f4f879ab29c2b905"
            },
            "downloads": -1,
            "filename": "ulia-2023.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "23b5aa1e4023f8e9881bb382687131cf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 7033,
            "upload_time": "2023-03-12T18:26:46",
            "upload_time_iso_8601": "2023-03-12T18:26:46.881834Z",
            "url": "https://files.pythonhosted.org/packages/29/4d/3069e494e94d105cf8a454c8c78b106710e643b6c26f58df905c3821443f/ulia-2023.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-12 18:26:46",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "gitlab_user": "UhlDaniel",
    "gitlab_project": "ulia",
    "lcname": "ulia"
}
        
Elapsed time: 0.05383s