---------- LTFAT 1.3 ------------------------------------------ This is a development release. It is fully backwards compatible with the LTFAT version 1.0 and 1.2 series and contain bugfixes, but the contents of the "wavelets" subdirectory is in development, and the interfaces described herein may change during the 1.3 development cycle. ---------- LTFAT 1.1 ------------------------------------------ Version 1.1 is backwards comptatible with the 1.0 series, but introduces some new stuff. The "new stuff" is the "frames" framework, which is an object-oriented interface to the various frames in LTFAT. It does not actually use the object oriented features in Matlab, instead it uses a simple struct to keep track of things. Strictly speaking, the object returned by "newframe" contains both an analysis and a synthesis frame, so it represents TWO frames and not one. They do not need to be duals of each other. The external interface of "frames" are expected to change during the 1.1 development cycle, and when we think that we have reached the right implementation, the interfaces will be stabilized and released as LTFAT 1.2, so LTFAT 1.2 will be the next "stable" version of LTFAT to which everything must be backwards compatible. The frames framework is tested by the test_frames routine, and currently passes all tests. Through the framework, you can access the following types of frames: * unstructured, general frames * dgt * dgtreal * dwilt * wmdct * filterbank * ufilterbank * filterbankreal * ufilterbankreal * dft * fft * fftreal * dcti, dctii, dctiii, dctiv * dsti, dstii, dstiii, dstiv Absent from this list are the non-stationary Gabor frames. The only reason for this is that I have not had time to implement them. The framework supports the following basic operators for each frame: * Analysis, frana * Synthesis, frsyn * Adjoint analysis, franaadj (synthesis using the analysis window) * Adjoint synthesis, frsynadj (analysis using the synthesis window) The coefficient layout for all the frames are simple column vectors, and *not* the layout that is "native" to each type of frame. It is possible to convert back and forth between the representations using framecoef2native and framenative2coef. The reason for this is that it would otherwise be impossible to do simple things like adding or scaling coefficients, without checking for their type. Some frame types support that their coefficients be laid out on a rectangular grid in the TF-plane. This includes the following types: dgt, dgtreal, dwilt, wmdct, ufilterbank, ufilterbankreal (and to come: unsgab and unsgabreal). For these transforms you can use framecoef2tf and frametf2coef to convert back and forth between column layout and a standardized layout on the TF-plane. The following advanced methods have already been implemented using this framework: * frsynabs: Iterative synthesis for absolute value of coefficients. * frsyniter: Iterative reconstruction of frame coefficients (useful if a dual frame is unknown or not possible to calculate) * framemuleigs: eigenvector pairs of frame multipliers * framelasso: LASSO threshholding using Landweber iterations. * framegrouplasso: Group LASSO threshholding -------- LTFAT 1.0 --------------------------- LTFAT version 1.0 was released on June 18. 2011 after more than 7 years of development. The Linear Time-Frequency Analysis Toolbox (LTFAT) is a free software toolbox (GPLv3) written in the Matlab/Octave scripting language. It comprises more than 200 different functions in the area of Fourier analysis, signal processing and time-frequency analysis. The toolbox can be downloaded from http://ltfat.sourceforge.net. The toolbox can be used for both educational, research and computational purposes. It has a backend implemented in C, which can be compiled to speed up all computational intensive functions. The following is a list of the current major functionality in LTFAT: Fourier analysis: * FFT for real valued signals (fftreal) and its inverse. * 8 different discrete cosine and sine transforms. * Next fast FFT size (modern nextpow2 replacement). * Periodic, zero-delay filtering. * Periodic, discrete function (chirp, heaviside, sinc etc.) * 2 different classes of discrete Hermite functions. * Periodic Gauss function. * Long list of classic FIR window functions (Hann, Hamming, Blackman, iterated sine, Nuttall etc.), Time-frequency analysis: * The discrete Gabor transform (DGT) and its inverse. * Wilson and windowed MDCT bases. * Methods for constructing dual and tight windows (perfect and paraunitary filter prototypes). * GUI (Matlab-only) to modify signals in the time-frequency domain. * Spectrogram and reassigned spectrogram plots. * Accurate computation of localized instantaneous frequency and group delay. * Twisted convolution and discrete, symplectic Fourier transform. * Zak transform and its inverse. * TF-multiplier operators with adjoint and best approximation function. * Spreading operators with inverse and adjoint. * Reconstruction from the magnitude of the DGT. Filterbanks: * Uniform filterbanks and inverse. * Non-uniform filterbanks and inverse. * Methods for constructing dual and tight filterbanks (perfect reconstruction and paraunitary filterbanks). Time-evolving TF-systems: * Non-stationary Gabor systems (NSDGT) and inverse. * Methods for constructing dual and tight NSDGTs. Auditory functions: * Perceptual frequency scales: Erb, Bark and Mel scales. * Gammatone filters. * Range compression (mu-law and A-law). Signal processing: * Levels of signals: RMS-norm, gain and crest factor. * Ramping of signals based on FIR windows. * Simple tools for working with coefficients (thresholding, N-term approx. etc) * Group and elitist threshholding. * Sparse regression in the Gabor and WMDCT domain. * Uniform quantization. and not forgetting: * Demos demonstrating the use of the toolbox. * Test signals: sounds, images and noise generators (white, pink, red/brown noise).