Filtro Passa Baixa
__init__(cut_off, order, fs=128000, type='butter')
Inicializa um filtro passa-baixa com base em uma frequência de corte \(f_{cut}\) e uma ordem \(N\).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
cut_off
|
float
|
Frequência de corte \(f_{cut}\) do filtro. |
required |
order
|
int
|
Ordem \(N\) do filtro. |
required |
fs
|
(int, opcional)
|
Frequência de amostragem \(f_s\). |
128000
|
type
|
(str, opcional)
|
Tipo de filtro. Padrão é "butter". |
'butter'
|
Raises:
Type | Description |
---|---|
ValueError
|
Se o tipo de filtro for inválido. |
Exemplo
butterworth_filter(fNyquist=0.5)
Calcula os coeficientes do filtro Butterworth utilizando a biblioteca scipy.signal
. A função de transferência contínua \(H(s)\) de um filtro Butterworth é dada pela expressão abaixo.
Sendo
- \(s\): Variável complexa no domínio de Laplace.
- \(2 \pi f_{cut}\): Frequência angular de corte do filtro.
- \(n\): Ordem do filtro.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
fNyquist
|
float
|
Fator de Nyquist. Padrão é 0.5 * fs. |
0.5
|
Returns:
Name | Type | Description |
---|---|---|
tuple |
Coeficientes \(b\) e \(a\) correspondentes à função de transferência do filtro Butterworth. |
Exemplos
calc_impulse_response(impulse_len=1024)
Para obter a resposta ao impulso no dominio do tempo, um impulso unitário é aplicado como entrada. Para um filtro Butterworth, o calculo é dado pela expressão abaixo.
Sendo
- \(h(t)\): Resposta ao impulso do filtro.
- \(H(f)\): Função de transferência do filtro.
- \(\mathcal{L}^{-1}\): Transformada de Laplace inversa.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
impulse_len
|
int
|
Comprimento do vetor de impulso. |
1024
|
Returns:
Name | Type | Description |
---|---|---|
impulse_response |
tuple[ndarray, ndarray]
|
Resposta ao impulso e vetor de tempo. |
Exemplo
apply_filter(signal)
Aplica o filtro passa-baixa com resposta ao impulso \(h(t)\) ao sinal de entrada \(s(t)\), utilizando a função scipy.signal.filtfilt
. O processo de filtragem é dado pela expressão abaixo.
Sendo
- \(x(t)\): Sinal filtrado.
- \(s(t)\): Sinal de entrada.
- \(h(t)\): Resposta ao impulso do filtro.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
signal
|
ndarray
|
Sinal de entrada \(s(t)\). |
required |
Returns:
Name | Type | Description |
---|---|---|
signal_filtered |
ndarray
|
Sinal filtrado \(x(t)\). |