GithubHelp home page GithubHelp logo

zhu-shengwei / juwvid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hajimekawahara/juwvid

0.0 1.0 0.0 38.14 MB

Julia code for the time-frequency analysis

License: GNU General Public License v2.0

Julia 0.51% Makefile 0.01% Fortran 0.71% Jupyter Notebook 98.78%

juwvid's Introduction

Licence arXiv arXiv ascl

Julia codes for time-frequency analysis. I started to import the Wigner distribution, the pseudo-Wigner distribution, and the short-time Fourier transform from MATLAB GPL programs, tftb-0.2 and modified them and added other techniques. Regarding tftb, visit http://tftb.nongnu.org/. The modification and new additions include the zero-padding FFT, the non-uniform FFT, the adaptive algorithm by Stankovic, Dakovic, Thayaparan 2013, the S-method, the L-Wigner distribution, the polynomial Wigner-Ville distribution, extraction of instantaneous frequency, mode tracking, time-frequency distributions of the Stokes parameters for the spectrogram, the Wigner-Ville distribution, the S-method. Juwvid was initially developed for the paper on a characterization method of Earth-like exoplanets, Kawahara (2016) (TFA in general). It was extended for the paper on the gravitational wave of core-collapse supernovae Kawahara et al. (2018) (polarization and IF tracking). If you want to refer juwvid, consider citing those papers because the detailed description is given in them, depending on topics though. Recently, Julia 1.0 was released. I plan to update juwvid to match Julia 1.0. Until this, use Julia 0.6. Sorry for the inconvenience.

Current Stable Version

Juwvid 0.6

Gallery

Visit wiki for various samples

Available

  • Wigner-Ville distribution w/ NUFFT
  • Cross Wigner-Ville distribution w/ NUFFT
  • Pseudo Wigner-Ville distribution w/ zero-padding FFT and NUFFT and Adaptive Algorithm
  • Short-time Fourier Transform w/ NUFFT
  • S-method w/ NUFFT
  • L-Wigner distribution w/ NUFFT
  • polynomial Wigner-Ville distribution w/ NUFFT
  • Stokes parameters for the Short-time Fourier Transform (spoectrogram-type Stokes)
  • Stokes parameters for the Wigner-Ville distribution
  • Stokes parameters for the pseudo Wigner-Ville distribution
  • Stokes parameters for the S-method (S-type Stokes)

Requirements and Install

  • Julia v0.6 (VERSION<0.6 does not work now.)

Julia Packages

  • DSP
  • PyPlot
  • Distributions, IJulia (just for tutorials)

To install, use Pkg.add in the julia console, such as

Pkg.add("DSP")

Set JULIA_LOAD_PATH as

setenv JULIA_LOAD_PATH /Users/kawahara/juwvid

for csh/tcsh or

export JULIA_LOAD_PATH=/Users/kawahara/juwvid

for bash.

Julia Bindings of non-uniform FFT (NUFFT)

Juwvid has the Julia bindings of parts of CMCL/NUFFT version 1.3.3 (but currently only for nufft1d2). The original Fortran code of NUFFT is from CMCL/NUFFT. The source files in the nufft_src directory are BSD licensed, and the Julia bindings are GPLv2.

Edit Makefile and type

make

to generate a shared library file, libnufft.so. Change the path of ccall in jnufft.jl.

Features

  • Various TFDs
  • Dense frequency sampling using NUFFT
  • Thinning out the time grid for large dataset
  • TFDs for polarization

Tutorials

See ipython notebooks in the ipynb directory.

  • Wigner Ville Distribution with FFT, zero-padding FFT, and NUFFT.ipynb
  • Pseudo Wigner Ville Distribution for the nonlinear IF using FFT and NUFFT.ipynb
  • Adaptive algorithm for window selection of the pseudo WV.ipynb
  • S-Method.ipynb
  • S-Method with NuFFT.ipynb
  • L-Wigner Distribution and Polynomial Wigner Ville Distribution.ipynb
  • Polynomial Wigner Ville distribution with NuFFT.ipynb
  • Stokes Distribution.ipynb
  • Application to LIGO data.ipynb

References

  • Cohen, L. 1995, Time-Frequency Analysis (PTR-PH)
  • Stankovic, L., Dakovi ฬc, M., & Thayaparan, T. 2013, Time-frequency signal analysis with applications (Artech House)
  • Boashash, B. 2015, Time-Frequency Signal Analysis and Processing, 2nd Edition A Comprehensive Reference (Elsevier)
  • Kawahara, H. 2016, Frequency Modulation of Directly Imaged Exoplanets: Geometric Effect as a Probe of Planetary Obliquity, ApJ 822, 112
  • Kawahara, H. et al. 2018, A Linear and Quadratic Time-Frequency Analysis of Gravitational Waves from Core-Collapse Supernovae, accepted for publication in ApJ

juwvid's People

Contributors

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