Skip to content

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

pageplot

rrc_inverted_pulse()

Gera o pulso Root Raised Cosine (\(RRC\)) invertido \(-g(t)\) para filtragem casada do sinal de entrada.

\[ \begin{equation} -g(t) = - \frac{(1 - \alpha) sinc((1- \alpha) t / T_b) + \alpha (4/\pi) \cos(\pi (1 + \alpha) t / T_b)}{1 - (4 \alpha t / T_b)^2} \end{equation} \]
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

pageplot

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.

\[ x(t) = s(t) \ast h(t) \]
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)\).