Señales
J3.8 · Nivel J3 · Computación científica
Objetivos
- Aliasing y frecuencia aparente.
- Espectro con
rfft y rfftfreq.
- Fuga y ventanas.
- PSD con
welch_pgram.
- Filtros (
filt, filtfilt) y espectrograma.
Aliasing
\[f_{ap}=\bigl|f-\operatorname{round}(f/f_s)\,f_s\bigr|\]
7 Hz muestreados a 10 Hz → 3 Hz.
FFT con FFTW
X = rfft(x); f = rfftfreq(N, fs)
A = 2 .* abs.(X) ./ N # amplitud
Resolución: \(\Delta f = f_s/N\). Vale para cualquier longitud.
Fuga y ventana de Hann
- 2,55 Hz sin ventana: 48 bins > 0,01, pico 0,64.
- Con Hann: 6 bins, pico 0,85 (tras corregir con \(\overline{w}\)).
Welch
p = welch_pgram(y, 4096, 2048; fs=100.0, window=DSP.hanning)
Coincide con psd_welch (< 0,05 % sobre 0,5 Hz). Parseval: \(\sum P\,\Delta f \approx \mathrm{var}(x)\).
Filtros
f = digitalfilter(Bandpass(0.8, 1.5), Butterworth(4); fs=100.0)
filt(f, x) # causal: retrasa
filtfilt(f, x) # fase cero
Pasa-bajos de 2 Hz sobre 1,1 Hz: 22 muestras de retraso con filt, 0 con filtfilt.
Cadena de análisis
![Señal, ventana, FFT, potencia y media de segmentos, con un filtro opcional]()
Se anotan fs, nseg, solape y ventana con cada espectro.
La doy por superada si…
- Predigo un alias.
- Corrijo la amplitud con la ventana.
- Elijo entre
filt y filtfilt.