idealfilter

Aplica um filtro ideal no domínio da frequência a uma timeseries.

Categoria: Language Fundamentals > Data Types

Sintaxe

tsout = idealfilter(ts, interval, 'pass')

Mantém as frequências dentro de cada intervalo.

tsout = idealfilter(ts, interval, 'notch')

Remove as frequências dentro de cada intervalo.

Descrição

O filtro atua no domínio da frequência: os dados passam por uma FFT, as frequências indesejadas são zeradas e a transformada inversa fornece o sinal filtrado. O corte é perfeitamente abrupto, daí o nome ideal, mas também por isso pode oscilar perto de mudanças bruscas.

Argumentos de entrada

ts
Objeto timeseries.
interval
Matriz de duas colunas com as faixas de frequência [baixa alta], em ciclos por unidade de tempo da série.
'pass' | 'notch'
Se as faixas são mantidas ou removidas.

Argumentos de saída

tsout
timeseries filtrada com o mesmo vetor de tempo.

Exemplo

Passa-baixas de dois tons

t = (0:7)';
y = sin(2*pi*0.05*t) + sin(2*pi*0.4*t);
f = idealfilter(timeseries(y, t), [0 0.2], 'pass');
disp(round(f.Data' * 1000) / 1000)
Saída
   -0.4450   -0.4260   -0.1580    0.2030    0.4450    0.4260    0.1580   -0.2030

Veja também

filter fft ifft timeseries resample