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
Referência:
EEL7062 – Princípios de Sistemas de Comunicação, Richard Demo Souza (Pg. 55)
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
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. |