Skip to content

Formatador

__init__(alpha=0.8, fs=128000, Rb=400, span=6, type='RRC')

Inicializa um formatador, utilizado preparar os símbolos para modulação.

Parameters:

Name Type Description Default
alpha float

Fator de roll-off do pulso RRC.

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 pulso, atualmente apenas \(RRC\) é suportado.

'RRC'

Raises:

Type Description
ValueError

Se o tipo de pulso não for suportado.

Exemplo

pageplot

Referência:
EEL7062 – Princípios de Sistemas de Comunicação, Richard Demo Souza (Pg. 55)

rrc_pulse()

Gera o pulso Root Raised Cosine (\(RRC\)). O pulso \(RRC\) no dominio do tempo é definido pela expressão abaixo.

\[ 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} \]
Sendo
  • \(g(t)\): Pulso formatador \(RRC\) 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.

Exemplo
  • pageplot

apply_format(symbols)

Formata os símbolos de entrada usando o pulso inicializado. O processo de formatação é dado por:

\[ d(t) = \sum_{n} x[n] \cdot g(t - nT_b) \]
Sendo
  • \(d(t)\): Sinal formatado de saída.
  • \(x\): Vetor de símbolos de entrada.
  • \(g(t)\): Pulso formatador.
  • \(n\): Indice de bit.
  • \(T_b\): Período de bit.

Parameters:

Name Type Description Default
symbols ndarray

Vetor de símbolos a serem formatados.

required

Returns:

Name Type Description
out_symbols ndarray

Vetor formatado com o pulso aplicado.