El modelo
La señal es una suma de componentes con tamaño y frecuencia que cambian despacio:
x(t) = \sum_{k=1}^{K} A_k(t)\cos\big(2\pi\phi_k(t)\big), \qquad f_k(t) = \phi_k'(t)
Las condiciones
Con una ventana gaussiana de tamaño \sigma, en radianes por segundo, la frecuencia de cada componente cambia poco mientras dura la ventana, su tamaño cambia poco en una vuelta, y dos componentes distan más de dos veces la anchura de la ventana en frecuencia:
\sigma^2\,|\varphi_k''(t)| \le \varepsilon, \qquad |a_k'(t)| \le \varepsilon\,\varphi_k'(t), \qquad |\varphi_k'(t) - \varphi_l'(t)| \ge 2\Delta, \quad \Delta = \frac{\sqrt{2\ln 2}}{\sigma}
En hercios, la separación mínima entre dos componentes, con la desviación de la ventana en segundos, es:
|f_k - f_l| \ge \frac{\sqrt{2\ln 2}}{\pi\,\sigma}
La transformada de tiempo corto referida al centro de la ventana
La noria de prueba empieza a contar en el centro de la ventana:
\tilde V_x(t,f) = \int x(s)\,g(s-t)\,e^{-i2\pi f (s-t)}\,ds
La etiqueta
La frecuencia que dice la fase de cada casilla, calculada con la transformada de la derivada de la ventana, que coincide con cuánto gira la fase en el tiempo:
\hat f(t,f) = f - \frac{1}{2\pi}\,\operatorname{Im}\!\left\{\frac{V_x^{g'}(t,f)}{V_x^{g}(t,f)}\right\} = \frac{1}{2\pi}\frac{\partial}{\partial t}\arg \tilde V_x(t,f)
Exprimir
Cada casilla, con su número complejo, se suma en la fila de su etiqueta, en el mismo instante, y solo se usan las casillas cuyo tamaño supera un umbral \gamma:
T_x(t,f') = \frac{1}{g(0)}\int_{|\tilde V_x(t,f)|>\gamma} \tilde V_x(t,f)\;\delta\big(f' - \hat f(t,f)\big)\,df
La inversión por columnas
Sumando en frecuencia la transformada de un instante sale la señal en ese instante, multiplicada por g(0):
x(t) = \frac{1}{g(0)}\int \tilde V_x(t,f)\,df
En su versión discreta, con N casillas por columna y una señal real:
x[n] = \frac{1}{N\,g[0]}\Big(\tilde V[n,0] + \tilde V[n,\tfrac{N}{2}] + 2\,\operatorname{Re}\sum_{k=1}^{N/2-1}\tilde V[n,k]\Big)
Exprimir no cambia la suma de la columna
Moverse de fila dentro de la columna deja igual la suma de lo que supera el umbral:
\sum_{k'} T[n,k'] = \frac{1}{g[0]}\sum_{k:\,|\tilde V[n,k]|>\gamma} \tilde V[n,k]
Reconstruir una componente
Se suma solo la franja de anchura 2d alrededor de su línea, y con una señal real se toma el doble de la parte real:
x_k(t) \approx 2\,\operatorname{Re}\int_{|f - f_k(t)|<d} T_x(t,f)\,df
Lo que queda con un chirp
Con un chirp lineal de \alpha hercios por segundo y una ventana gaussiana, la etiqueta se queda entre la frecuencia verdadera y la de la fila, y la fracción del borrón que sobrevive es \kappa. Se deduce de la ecuación 17 de Auger y colaboradores (2013) y coincide con las simulaciones de esta lección:
\hat f = (1-\kappa)\,f_i(t) + \kappa\,f, \qquad \kappa = \frac{q^2}{1+q^2}, \qquad q = 2\pi\,\alpha\,\sigma^2
La versión con wavelets
La etiqueta es la velocidad de giro de la transformada wavelet en el tiempo, en cada fila de frecuencia se suman las escalas que apuntan a ella, y la señal sale sumando filas, con una constante que solo depende de la wavelet:
\omega(a,b) = -i\,\frac{\partial_b W_x(a,b)}{W_x(a,b)}, \qquad T_x(\omega_\ell,b) = \frac{1}{\Delta\omega}\sum_{a_k:\,|\omega(a_k,b)-\omega_\ell|\le\Delta\omega/2} W_x(a_k,b)\,a_k^{-3/2}\,(\Delta a)_k
x(b) \approx \operatorname{Re}\Big[C_\psi^{-1}\sum_\ell T_x(\omega_\ell,b)\,\Delta\omega\Big]
Con wavelets, la separación pedida es relativa:
|\varphi_k' - \varphi_{k-1}'| \ge d\,(\varphi_k' + \varphi_{k-1}')