Motions in the time-frequency distribution

From HandWiki
Short description: Modification of frequency and time distributions of signals, as used in computer graphics

Several techniques can be used to move signals in the time-frequency distribution. Similar to computer graphic techniques, signals can be subjected to horizontal shifting, vertical shifting, dilation (scaling), shearing, rotation, and twisting. These techniques can help to save the bandwidth with proper motions apply on the signals. Moreover, filters with proper motion transformation can save the hardware cost without additional filters.

The following examples assume time in the horizontal axis versus frequency in the vertical axis. As a coincident, the following transformations happen to have the motion properties in the time-frequency distribution.

Shifting

Shifting on time axis is like horizontal shifting in time-frequency distribution. On another hand, shifting on the frequency axis would be vertical shifting in time-frequency distribution.

Horizontal shifting

If t0 is greater than 0, we would be shifting the signal to the right on time axis. (negative would be left)

STFT, Gabor:

[math]\displaystyle{ x(t-t_0) \rightarrow S_x(t-t_0,f)e^{-j2 \pi ft_0} }[/math]

WDF:

[math]\displaystyle{ x(t-t_0) \rightarrow W_x(t-t_0,f)\, }[/math]

TFA shift horizontal.jpg

Vertical shifting

If f0 is greater than 0, we would be shifting the signal to the upward on frequency axis. (negative would be downward)

STFT, Gabor:

[math]\displaystyle{ e^{j2 \pi f_0t}x(t) \rightarrow S_x(t,f-f_0) }[/math]

WDF:

[math]\displaystyle{ e^{j2 \pi f_0t}x(t) \rightarrow W_x(t,f-f_0) }[/math]

TFA shift vertical.jpg

This results in an amplitude modulation signal. This sort of shift is also used in a frequency extender. This sort of shift is also used in most bat detectors.

Such an effect is typically implemented using heterodyning

Dilation

Dilation is like doing scaling on one of the axis and area is the same after the process. When a > 1, it's expanding on time axis, and narrowing on frequency axis ;vice versa when a < 1.

STFT, Gabor:

[math]\displaystyle{ \frac{1}{\sqrt{|a|}}x(\frac{t}{a}) \rightarrow \approx S_x(\frac{t}{a},af) }[/math]

WDF:

[math]\displaystyle{ \frac{1}{\sqrt{|a|}}x(\frac{t}{a}) \rightarrow W_x(\frac{t}{a},af) }[/math]

TFA dilation ag1.jpg TFA dilation as1.jpg

When this kind of dilation is applied to audio, it causes a chipmunk effect.

Time stretching

Main page: Audio time stretching and pitch scaling

Time stretching is doing scaling only on the time axis, leaving frequencies the same. When [math]\displaystyle{ a \lt 1 }[/math] (the most common case), it's narrowing on the time axis, reducing the area.

STFT, Gabor:

[math]\displaystyle{ \approx S_x(at,f) }[/math]

WDF:

[math]\displaystyle{ \approx W_x(at,f) }[/math]

Shearing

Shearing by definition is moving the side of the signal on one direction. Vertical and Horizontal shearing is introduced here.

On Vertical axis only (frequency)

It's shearing on frequency axis, since this only changes the phase.

[math]\displaystyle{ x(t) = e^{j \pi at^2}y(t) \, }[/math]

STFT, Gabor:

[math]\displaystyle{ S_x(t,f) \approx S_y(t,f-at) \, }[/math]

WDF:

[math]\displaystyle{ W_x(t,f) = W_y(t,f-at) \, }[/math]

TFA shear vertical.jpg TFA shear vertical as1.jpg

On Horizontal axis only (time)

It's shearing on time axis, since this only changes the time.

[math]\displaystyle{ x(t) = e^{j \pi \frac{t^2}{a}}y(t) \, }[/math]

STFT, Gabor:

[math]\displaystyle{ S_x(t,f) \approx S_y(t-af,f) \, }[/math]

WDF:

[math]\displaystyle{ W_x(t,f) = W_y(t-af,f) \, }[/math]

TFA shear horizontal.jpg TFA shear horizontal as1.jpg

Generalized Shearing

Transforming the time-frequency distribution from a band-like pattern to a curved shape requires the use of polynomials of order three or higher with respect to [math]\displaystyle{ \phi (t) }[/math]. It is beneficial for implementing higher-order modulation, and furthermore, it reduces bandwidth, allowing for lower sampling rates and decreased white noise through filtering.

On Vertical axis only (frequency)

It's shearing on frequency axis, since this only changes the phase.

[math]\displaystyle{ x(t)=e^{j\phi (t)}y(t)\, }[/math]

[math]\displaystyle{ \phi (t)=\sum \limits_{k=0}^{n}a_{k}t^{k}\, }[/math]

STFT, Gabor:

[math]\displaystyle{ S_{x}(t,f)\approx S_{y}(t,f-\sum \limits _{k=1}^{n}{\frac {ka_{k}}{2\pi }}t^{k-1})\, }[/math]

WDF:

[math]\displaystyle{ W_{x}(t,f)\approx W_{y}(t,f-\sum \limits _{k=1}^{n}{\frac {ka_{k}}{2\pi }}t^{k-1})\, }[/math]

On Horizontal axis only (time)

It's shearing on time axis, since this only changes the time.

[math]\displaystyle{ x(t)=h(t)*y(t)\, }[/math]

[math]\displaystyle{ h(t)=IFT(exp(j\sum \limits_{k=0}^{n}a_{k}f^{k}))\, }[/math]

STFT, Gabor:

[math]\displaystyle{ S_{x}(t,f)\approx S_{y}(t+\sum \limits _{k=1}^{n}{\frac {ka_{k}}{2\pi }}f^{k-1},f)\, }[/math]

WDF:

[math]\displaystyle{ W_{x}(t,f)\approx W_{y}(t+\sum \limits _{k=1}^{n}{\frac {ka_{k}}{2\pi }}f^{k-1},f)\, }[/math]

Rotation

Many transforms has the property of rotations, like Gabor-Wigner, Ambiguity function (counterclockwise), modified Wigner, Cohen's class distribution.

STFT, Gabor, and WDF is introduced in here.

Clockwise rotation by 90 degrees

By switching the time and negative frequency to frequency and time would act like rotating 90 degrees clockwise.

[math]\displaystyle{ X(f) = FT(x(t)) \, }[/math]

STFT:

[math]\displaystyle{ |S_X(t,f)| \approx |S_x(-f,t)| \, }[/math]

Gabor:

[math]\displaystyle{ G_X(t,f) = G_x(-f,t)e^{-j2 \pi ft} \, }[/math]

WDF:

[math]\displaystyle{ W_X(t,f) = W_x(-f,t) \, }[/math]

TFA rotate c90.jpg

Counterclockwise rotation by 90 degrees

By switching the negative time and frequency to frequency and time would act like rotating 90 degrees counterclockwise.

If [math]\displaystyle{ X(f) = IFT[x(t)] = \int_{-\infty}^{\infty} x(t)e^{j2 \pi ft} \, dt }[/math], then

[math]\displaystyle{ W_X(t,f) = W_x(f,-t) \, }[/math]
[math]\displaystyle{ G_X(t,f) = G_x(f,-t)e^{j2 \pi tf} \, }[/math]

TFA rotate cc90.jpg

Rotation by 180 degrees

Changing the sign of both time and frequency would be like flipping twice on both axis, and it ends up like doing 180 degrees rotation.

If [math]\displaystyle{ X(f) = x(-t) \, }[/math], then

[math]\displaystyle{ W_X(t,f) = W_x(-t,-f) \, }[/math]
[math]\displaystyle{ G_X(t,f) = G_x(-t,-f) \, }[/math]

TFA rotate 180.jpg

Rotation: Fractional Fourier Transform (FRFTs)

Rotating the time-frequency distribution by the angle other than [math]\displaystyle{ \pi/2, \pi, 3\pi/2 }[/math] and [math]\displaystyle{ 2\pi }[/math]. Compared to Fourier Transform, it transform signal from time domain to fractional domain, domain between time and frequency.

[math]\displaystyle{ X_{\phi }(u)={\sqrt {1-jcot\phi }} e^{j\pi cot\phi u^{2}}\int _{-\infty }^{\infty }e^{-j2\pi csc\phi ut}e^{j\pi cot\phi \ t^{2}}x(t)dt, \quad \phi = 0.5a\pi }[/math]
For Fourier Transform, [math]\displaystyle{ a=1,\, \phi = 0.5 \pi }[/math] and [math]\displaystyle{ csc\phi = 1,\, cot\phi = 0 }[/math]

It is equivalent to the clockwise rotation operation with angle [math]\displaystyle{ \phi }[/math]. for Wigner distribution funciton and Gabor transform.

Gabor:

[math]\displaystyle{ |G_{X_\phi}(u,v)| = |G_x(ucos\phi -vsin\phi, usin\phi + vcos\phi)| \, }[/math]

WDF:

[math]\displaystyle{ W_{X_\phi}(u,v) = W_x(ucos\phi - vsin\phi, usin\phi + vcos\phi) \, }[/math]

Twisting: Linear Canonical Transform (LCT)

The Linear Canonical Transform makes arbitrary linear and integral transformation of a time-frequency distribution.

[math]\displaystyle{ F_{(a,b,c,d)}(u)=\sqrt{\frac{1}{jb}} e^{j\pi \frac{d}{b}u^2}\int_{-\infty}^{\infty}e^{-j2\pi \frac{1}{b}ut}e^{-j\pi \frac{a}{b}t^2}x(t)dt, \quad b\neq 0 }[/math]
[math]\displaystyle{ F_{(a,0,c,d)}(u)={\sqrt {d}} e^{j\pi cdu^{2}}x(du), \quad b = 0 }[/math]

Constraint:

[math]\displaystyle{ ab - bc = 1 }[/math]

Transformation Type

a. fractional Fourier transform

[math]\displaystyle{ \begin{bmatrix}a & b\\c & d\end{bmatrix} = \begin{bmatrix}cos\phi & sin\phi\\-sin\phi & cos\phi\end{bmatrix} }[/math]
  • Fourier transform: [math]\displaystyle{ \phi = \pi/2 }[/math]
  • identity operation: [math]\displaystyle{ \phi = 0 }[/math]
  • inverse Fourier transform: [math]\displaystyle{ \phi = -\pi/2 }[/math]

b. Fresnel transform (convolution with a chirp)

[math]\displaystyle{ \begin{bmatrix}a & b\\c & d\end{bmatrix} = \begin{bmatrix}1 & \lambda z\\0 & 1\end{bmatrix} }[/math]

c. chirp multiplication

[math]\displaystyle{ \begin{bmatrix}a & b\\c & d\end{bmatrix} = \begin{bmatrix}1 & 0\\ \tau & 1\end{bmatrix} }[/math]

d. scaling

[math]\displaystyle{ \begin{bmatrix}a & b\\c & d\end{bmatrix} = \begin{bmatrix}\frac{1}{\sigma} & 0\\0 & \sigma\end{bmatrix} }[/math]


Example

If we want the left image to become the right image, we can use the techniques from above to achieve the requirement.

Hm3pro5.jpg

There are several ways to solve this problem, this is one of the possible solutions.

First, we apply clockwise rotation of 90 degree by using one of the transform.

STFT:

[math]\displaystyle{ |S_X(t,f)| \approx |S_x(-f,t)| \, }[/math]

Gabor:

[math]\displaystyle{ G_X(t,f) = G_x(-f,t)e^{-j2 \pi ft} \, }[/math]

WDF:

[math]\displaystyle{ W_X(t,f) = W_x(-f,t) \, }[/math]

Hm3pro5 1step.jpg

Second, we set a = 1/3, and perform a horizontal shearing on t-axis.

STFT, Gabor:

[math]\displaystyle{ S_x(t,f) \approx S_y(t- \frac{1}{3} f,f) \, }[/math]

WDF:

[math]\displaystyle{ W_x(t,f) = W_y(t- \frac{1}{3} f,f) \, }[/math]

Hm3pro5 2step.jpg

Third, we shift the signal 2 to the right on t-axis by setting t0 = 2

STFT, Gabor:

[math]\displaystyle{ x(t-t_0) \rightarrow S_x(t-2,f)e^{-j2 \pi ft_0} }[/math]

WDF:

[math]\displaystyle{ x(t-t_0) \rightarrow W_x(t-2,f)\, }[/math]

Hm3pro5 2 1step.jpg

Finally, we shift the signal 1 to the left on f-axis by setting f0 = -1

STFT, Gabor:

[math]\displaystyle{ e^{j2 \pi f_0t}x(t) \rightarrow S_x(t,f+1) }[/math]

WDF:

[math]\displaystyle{ e^{j2 \pi f_0t}x(t) \rightarrow W_x(t,f+1) }[/math]

Hm3pro5 3step.jpg

Applications

Efficient Sampling

As mentioned in the introduction, the above techniques can be used to save the bandwidth or the filter cost.

Assume the signal look like this.

TFA application 1.jpg.

The dashed box is the filter, and the area of the dashed box would be the bandwidth required.

After some operations like the above example, the signal turn into the position like this.

TFA application 2.jpg

As a result, the bandwidth was saved, since the area became smaller. Moreover, only a lowpass filter is required to recover the signal, instead of a bandpass filter.

Signal Decomposition and Filter Design

Signal is decomposed into several components and filter removes the undesired component of a signal. The Fourier transform is suitable to filter out the noise that is a combination of sinusoid functions. If signal are not separable in both time and frequency domains, using the fractional Fourier transform (FRFTs) is suitable to filter out the noise that is a combination of higher order exponential functions.

Fiter designed by the fractional Fourier transform:

[math]\displaystyle{ x_o(t) = O^{-\phi}_F{O^{\phi}_F[x_i{t}]H(u)} }[/math]
[math]\displaystyle{ O^{\phi}_F(x(t)) = {\sqrt {1-jcot\phi }} e^{j\pi cot\phi u^{2}}\int _{-\infty }^{\infty }e^{-j2\pi csc\phi ut}e^{j\pi cot\phi \ t^{2}}x(t)dt \quad (FRFTs) }[/math]

(1) If [math]\displaystyle{ H(u) = S(-u+u_0), \quad H(u)=\begin{cases} 1 \ \ \ u \lt u_0 \\ 0\ \ \ u \gt u_0 \ \ \ \end{cases} }[/math]

[math]\displaystyle{ S(u) }[/math]: Step function

(2) [math]\displaystyle{ \phi }[/math] is determined by the angle of cutoff line and f-axis.

(3) [math]\displaystyle{ u_0 }[/math] equals the distance from origin to cutoff line.


See also

Other time-frequency transforms:

References

  • J.J. Ding, "time-frequency analysis and wavelet transform course note," the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2007.
  • J.J. Ding, "time-frequency analysis and wavelet transform homework 3," the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2007.