Coder Social home page Coder Social logo

schottkyspectroscopyimp / data-analysis Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 2.0 104 KB

A bundle of codes targeted on analyses of IQ data in the context of Schottky spectroscopy

License: GNU General Public License v3.0

Python 100.00%
schottky-spectroscopy iq-data data-analysis fft periodogram multitaper power-spectral-density spectral-density-estimates

data-analysis's Introduction

Schottky Data Analysis Framework

This repo's codes efficiently implement a wide spectrum of algorithms useful for Schottky data analyses within the context of Schottky spectroscopy experiments. A selected examples include, but are not limited to, numerical calculation of discrete prolate spheroidal sequence (DPSS), spectral density estimation of Schottky signal, periodogram with different windows, multitaper, and so on.

Presently, it is compatible with wv files (e.g. generated by Rohde & Schwarz FSVR), as well as tiq files (e.g. generated by Tektronix RSA5000B).

Prerequisites

  • Python 3
  • Scipy, Numpy
  • BLAS and LAPACK libraries (essential for matrix computation)
  • pyFFTW (essential for FFT)
  • true-random-number (essential for provoding true random numbers of normal distribution)
  • Matplotlib (optional, only if visualization is needed)

Usage

All the codes are supposed to be imported as modules into a main Python script, or a Jupyter notebook.

  1. dpss.py: generate a list of DPSSs with given length and bandwidth
  2. preprocessing.py: read meta-info from header, and load IQ data into memory
  3. processing.py: spectral density estimation using periodogram or multitaper in 1D and 2D

See Wiki for more explanations about the class methods and arguments.

In addition, this repo is shipped with an extra script synthetic.py for test. By using that, one can produce synthetic wv files with customized artificial signals inside. Common waveforms include sinusoids, rectangular and triangular pulses, etc., as well as stochastic processes, such as autoregressive processes and noise-corrupted sinusoids.

License

This repository is licensed under the GNU GPLv3.

data-analysis's People

Contributors

nanavan avatar nerdull avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.