Filtro Casado
__init__(alpha=0.8, fs=128000, Rb=400, span=6, type='RRC-Inverted')
Inicializa um filtro casado. O filtro casado é usado para maximizar a SNR do sinal recebido.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
alpha
|
float
|
Fator de roll-off do filtro casado. |
0.8
|
fs
|
int
|
Frequência de amostragem. |
128000
|
Rb
|
int
|
Taxa de bits. |
400
|
span
|
int
|
Duração do pulso em termos de períodos de bit. |
6
|
type
|
str
|
Tipo de filtro, atualmente apenas "RRC-Inverted" é suportado. |
'RRC-Inverted'
|
Raises:
Type | Description |
---|---|
ValueError
|
Se o tipo de pulso não for suportado. |
Exemplo
rrc_inverted_pulse()
Gera o pulso Root Raised Cosine (\(RRC\)) invertido \(-g(t)\) para filtragem casada do sinal de entrada.
Sendo
- \(-g(t)\): Pulso formatador \(RRC\) invertido no dominio do tempo.
- \(\alpha\): Fator de roll-off do pulso.
- \(T_b\): Período de bit.
- \(t\): Vetor de tempo.
Returns:
Name | Type | Description |
---|---|---|
rc |
ndarray
|
Pulso RRC invertido \(-g(t)\). |
Exemplo
calc_impulse_response(impulse_len=512)
Calcula a resposta ao impulso do filtro casado.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
impulse_len
|
int
|
Comprimento do vetor de impulso. |
512
|
Returns:
Name | Type | Description |
---|---|---|
impulse_response |
tuple[ndarray, ndarray]
|
Resposta ao impulso e vetor de tempo. |
apply_filter(signal)
Aplica o filtro casado com resposta ao impulso \(-g(t)\) ao sinal de entrada \(s(t)\). O processo de filtragem é dado pela expressão abaixo.
Sendo
- \(x(t)\): Sinal filtrado.
- \(s(t)\): Sinal de entrada.
- \(-g(t)\): Pulso formatador \(RRC\) invertido.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
signal
|
ndarray
|
Sinal de entrada \(s(t)\). |
required |
Returns:
Name | Type | Description |
---|---|---|
signal_filtered |
ndarray
|
Sinal filtrado \(x(t)\). |