NSGT_REAL - Nonstationary Gabor transform for real signals

Usage

[c,Ls] = nsgt_real(f,g,shift,M)
[c,Ls] = nsgt_real(f,g,shift)
c = nsgt_real(...)

Input parameters

f A real-valued signal to be analyzed (For multichannel signals, input should be a matrix which each column storing a channel of the signal).
g Cell array of frequency side analysis windows
shift Vector of time shifts
M Number of frequency channels (optional). If M is constant, the output is converted to a matrix

Output parameters

c Transform coefficients (matrix or cell array)
Ls Original signal length (in samples)

Description

Given the cell array g of windows, the time shift vector shift, and channel numbers M, nsgt_real computes the corresponding nonstationary Gabor transform of f, computing only the positive frequency samples. Let \(P(n)=\sum_{l=1}^{n} shift(l)\) , then the output c = nsgt_real(f,g,shift,M) is a cell array with

\begin{equation*} c\{n\}(m) = \sum_{l=0}^{Ls-1} f[l]\overline{g\{n\}[l-P(n)]}e^{-2\pi i(l-P(n))m/M(n)}, \end{equation*}

where m runs from 0 to floor( M(n)/2 ).

For more details, see nsgt.