Hot answers tagged

18

All three transforms are inner product transforms, meaning the output is the inner product of a family of basis functions with a signal. The parametrization and form of the basis functions determine the properties of the transforms.The number of basis functions for a complete picture (i.e. a result that contains enough information to reconstruct the original ...


14

Synchrosqueezing is a powerful reassignment method. To grasp its mechanisms, we dissect the (continuous) Wavelet Transform, and how its pitfalls can be remedied. Physical and statistical interpretations are provided. If unfamiliar with CWT, I recommend this tutorial. SSWT is implemented in MATLAB as wsst, and in Python, ssqueezepy. (-- All answer code) ...


12

Laplace of Gaussian The Laplace of Gaussian (LoG) of image $f$ can be written as $$ \nabla^2 (f * g) = f * \nabla^2 g $$ with $g$ the Gaussian kernel and $*$ the convolution. That is, the Laplace of the image smoothed by a Gaussian kernel is identical to the image convolved with the Laplace of the Gaussian kernel. This convolution can be further expanded, ...


10

Remember that Wavelet Transforms are nothing but time-localized filtering/correlation operations. The wavelet transforms provide a unified framework for getting around the Heisenberg Uncertainly Principle that the Fourier Transform suffers from. So when you ask "what should my settings be for bandwidth, and center frequency", you are asking for filter ...


9

I think it is kind'a similar to soft and hard thresholding using in wavelet de-noising. Have you come across this topic? pywt has already an in-built function for this purpose. Please take a closer look at this code and try to play with it: import pywt import matplotlib.pyplot as plt import numpy as np ts = [2, 56, 3, 22, 3, 4, 56, 7, 8, 9, 44, 23, 1, 4, 6,...


9

In designing such transformations, one should take into account competing interests: fidelity to the human auditory system (that varies with people), including non-linear or even chaotic aspects (tinnitus) easiness of the mathematical formulation for the analysis part possibility to discretize it or allow fast implementations existence of a suitable stable ...


9

My answer is for real scale $a$ and the fact that wavelet transform is usually defined in $L_2$ with norm $$||\Psi(\tau)|| = \int_\mathbb{R} \Psi(\tau)\Psi^*(\tau)\mathrm{d}\tau $$ So $$||\Psi_{a,t}(\tau)|| = \int_\mathbb{R} \frac{1}{|a|}\Psi(\frac{\tau-t}{a})\Psi^*(\frac{\tau-t}{a})\mathrm{d}\tau$$ Set $\tau' = \frac{\tau-t}{a} \implies d\tau' = d\tau / ...


8

It is important to define the time and frequency widths $\Delta_t$ and $\Delta_{\omega}$ of a signal before discussing any special forms of the uncertainty principle. There is no unique definition of these quantities. With appropriate definitions it can be shown that only the Gaussian signal satisfies the uncertainty principle with equality. Consider a ...


7

The HUP follows directly from the properties of the Fourier Transform, because time and frequency are orthogonal bases in which we can expand the co-efficient sequence of our signal. In fact all pairs of orthonormal bases will have some kind of Uncertainty Principle associated with them. In traditional Fourier analysis, the either the time axis or the ...


7

Wavelet transforms can be more difficult to interpret than FFT at face value due to the various representations, nomenclature and output formats. I had to study more than 15 resources to get a good sense of the variety and which one is used by Pywavelets (which does not provide much theory or explanation in its documentation). In order to grasp the meaning ...


6

I don't think there is any difference. The documentation for dwt2 says Single-level discrete 2-D wavelet transform The dwt2 command performs a single-level two-dimensional wavelet decomposition... While the documentation for wavedec2 says Multilevel 2-D wavelet decomposition The difference is that dwt2 is single-level (produces a single A, H, ...


6

The other answers are good, but I thought that I would try to give a more intuitive/visual answer since I am an intuitive/visual guy. The picture below is the plot of two tones that are almost the same frequency. One tone is plotted in red, and the other in blue. I generated the picture in Matlab with the following code: tone1 = sin(2*pi*.05 * (0:99)); ...


6

Both JPEG and JPEG 2000 use the change of basis compression type. Namely, we transform the data into a different representation assuming in this representation the number of parameters needed to describe to data is lower. Or to the least, most of the information is gathered within few parameters. Now, if you look at the energy level of the DCT coefficients ...


6

Yeah some of us can do it, you can speed up or slow down without affect the pitch, some guys call this applications of Time Stretch, there different ways to do it, you can do in frequency domain or time domain, you will need choose what is best for you, you will find some advantages and disadvantages of each. Time Domain: In Time Domain you can try some ...


5

you can have a look at the LTFAT's wavelet module http://ltfat.sourceforge.net/doc/wavelets/index.php it runs in Matlab/Octave with backend written in C. It has fairly large database of wavelet filters and new ones can be added easily. What exactly do you mean by 2) Ability to run in parallel - VERY IMPORTANT Should the computation itself be somewhat ...


5

If you approximate the Fourier transform $$X(f)=\mathcal F(x)(f)=\int_{-\infty}^\infty x(t)\,e^{-2\pi j\,ft}\,dt$$ by the discrete Fourier transformation for by sampling on the time segment $[-T,T]$ as $$X(f_n)\approx \sum_{k=-N}^{N-1} x(k\tau)\,e^{-2\pi j\,f_nk\tau}\,\tau=s[n]\,\tau$$ with $T=N\tau$, $f_n=n/(N\tau)=n/N*f_s=n/T$, $n=-N,...,N-1$, $s$ the ...


5

complex morlet was added Aug 10, 2007 ricker and cwt were added Sep 20, 2011 There's no indication that cwt is meant to be compatible with morlet. As cwt docstring says: Wavelet function, which should take 2 arguments. ... second is a width parameter, defining the size of the wavelet (e.g. standard deviation of a gaussian). The morlet function takes 4 ...


5

Since the bulk of R’s DSP capability comes from the signal package which was ported over from the open source project Octave (itself influenced by MATLAB), there's no intrinsic limitation of R. What you have picked up on, are ecosystem preferences. We learned MATLAB in university, picked up numpy/scipy/sklearn at work, so R isn't the first weapon of choice. ...


5

Let's say you have a signal which is all zeros except for a spike at one point where x(8)=1 (total N=32, for example). If you perform the DWT on this signal and then calculate the total energy (by taking the square root of the sum of the squares of all the results), you will get a value - call it "E1". Now, let's take another signal which is still all ...


5

In the Fourier transform, the basis functions are complex exponentials. These functions are perfectly localized in the frequency domain, i.e., they exist at one frequency, but they have no time localization because of their infinite duration. The localization of a function depends on its spread in time and frequency. A complex exponential has zero spread in ...


5

The Ricker wavelet, the (isotropic) Marr wavelet, the Mexican hat or the Laplacian of Gaussians belong to be the same concept: continuous admissible wavelets (satisfying certain conditions). Traditionally, the Ricker wavelet is the 1D version. The Marr wavelet or the Mexican hat are names given in the context of 2D image decompositions, you can consider ...


5

Yes indeed! In theory as long as the wavelet is orthogonal, the sum of the squares of all the coefficients should be equal to the energy of the signal. In practice, one should be careful that: the decomposition is not "expansive", i.e. the number of samples and of coefficients is the same. wavelet filter coefficients are not re-scaled, as happens in some ...


4

Modifying your code a little bit, but no major changes, and I get correct results either way. Use this template code here, and you should not see any problems. I get the correct results. clear all; t=linspace(0,30,301); Fs = (inv(t(2)-t(1))); x=randn(100,1); wname = 'morl'; scales = 1:1:256; chefs = cwt(x,scales,wname,'lvlabs'); freq = scal2frq(...


4

Continuous wavelet transform (CWT) is a method for time-scale analysis. Yes, you read it correctly, scale, not frequency. However, it is possible to map the scales to frequencies, and even quite easily. Since you are a MATLAB user, you will probably want to use this function, which does the following: F = scal2frq(A,'wname',DELTA) returns the pseudo-...


4

The Matlab code of the S-transform can be found here for example: http://en.verysource.com/code/1180181_1/st.m.html The main advantage compared to CWT is its simplicity. In fact, it can be seen as equivalent to a Morlet wavelet, see for example paper by Ventosa, Schimmel, Simon, Dañobeitia and Mànuel "The S-transform from a wavelet point of view", IEEE ...


4

Wavelets are ideal for localized events. The Fourier Transform represents a function as a sum of sines and cosines, neither of which are localized. The spectrogram does keep some time information, at the expense of frequency resolution In your case, the signal is not localized at all. The spectrogram smears your 15 Hz band over several Hz, as it captures ...


4

The short-time Fourier transform is generally a redundant transformation, usually implemented with the same subsampling over every frequency. If the window is well chosen, it is complete: you can invert it and recover any initial signal. Since it is redundant and complete, it has many perfect inverses. It can be implemented and understood using more ...


4

A transform being linear has very little to do with its ability to analyze linear or nonlinear systems. The wavelet transform $W[s(t)]$ of a signal $s(t)$ is linear because $$W[a s_1(t) + b s_2(t)]=a W[s_1(t)]+b W[s_2(t)]$$ for real or complex $a$ and $b$. The signal you're analyzing is just a signal, it has no concept of linearity. However, if you try to ...


4

Shannon entropy is a way of measuring the degree of unexpectedness or unpredictability of a random variable. For example rolling a die has higher entropy than flipping a coin because the die has more possible outcomes making it harder to predict. Same goes for a biased coin versus a fair coin.


4

It's the uncertainty principle. http://en.wikipedia.org/wiki/Uncertainty_principle#Harmonic_analysis


Only top voted, non community-wiki answers of a minimum length are eligible