Transmissor
__init__(datagram, fc=4000, fs=128000, Rb=400, output_print=True, output_plot=True)
Classe que encapsula todo o processo de transmissão no padrão PTT-A3. A estrutura do transmissor é representada pelo diagrama de blocos abaixo.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
datagram
|
Datagram
|
Instância do datagrama a ser transmitido. |
required |
fc
|
float
|
Frequência da portadora em Hz. |
4000
|
fs
|
float
|
Frequência de amostragem em Hz. |
128000
|
Rb
|
float
|
Taxa de bits em bps. |
400
|
output_print
|
bool
|
Se |
True
|
output_plot
|
bool
|
Se |
True
|
AS3-SP-516-274-CNES (seção 3.1 e 3.2)
prepare_datagram()
Gera o datagrama para transmissão, retornando o vetor de bits \(u_t\).
Returns:
Name | Type | Description |
---|---|---|
ut |
ndarray
|
Vetor de bits do datagrama. |
Exemplo
encode_convolutional(ut)
Codifica o vetor de bits \(u_t\) usando codificação convolucional, retornando os vetores de bits \(v_t^{(0)}\) e \(v_t^{(1)}\).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ut
|
ndarray
|
Vetor de bits a ser codificado. |
required |
Returns:
Name | Type | Description |
---|---|---|
vt0 |
ndarray
|
Saída do canal I. |
vt1 |
ndarray
|
Saída do canal Q. |
Exemplo
scramble(vt0, vt1)
Embaralha os vetores de bits \(v_t^{(0)}\) e \(v_t^{(1)}\), criando os vetores \(X_n\) e \(Y_n\) embaralhados.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
vt0
|
ndarray
|
Vetor de bits do canal I. |
required |
vt1
|
ndarray
|
Vetor de bits do canal Q. |
required |
Returns:
Name | Type | Description |
---|---|---|
Xn |
ndarray
|
Vetor embaralhado do canal I. |
Yn |
ndarray
|
Vetor embaralhado do canal Q. |
Exemplo
generate_preamble()
Gera os vetores de preâmbulo \(S_I\) e \(S_Q\).
Returns:
Name | Type | Description |
---|---|---|
sI |
ndarray
|
Vetor do preâmbulo do canal I. |
sQ |
ndarray
|
Vetor do preâmbulo do canal Q. |
Exemplo
multiplex(sI, sQ, X, Y)
Multiplexa os vetores de preâmbulo \(S_I\) e \(S_Q\) com os vetores de dados \(X\) e \(Y\), retornando os vetores multiplexados \(X_n\) e \(Y_n\).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sI
|
ndarray
|
Vetor do preâmbulo do canal I. |
required |
sQ
|
ndarray
|
Vetor do preâmbulo do canal Q. |
required |
X
|
ndarray
|
Vetor de dados do canal I. |
required |
Y
|
ndarray
|
Vetor de dados do canal Q. |
required |
Returns:
Name | Type | Description |
---|---|---|
Xn |
ndarray
|
Vetor multiplexado do canal I. |
Yn |
ndarray
|
Vetor multiplexado do canal Q. |
Exemplo
encode_channels(Xn, Yn)
Codifica os vetores dos canais \(X_n\) e \(Y_n\) usando \(NRZ\) e \(Manchester\), respectivamente, retornando os vetores de sinal codificados \(X_{NRZ}\) e \(Y_{MAN}\).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
Xn
|
ndarray
|
Vetor do canal \(X_n\) a ser codificado. |
required |
Yn
|
ndarray
|
Vetor do canal \(Y_n\) a ser codificado. |
required |
Returns:
Name | Type | Description |
---|---|---|
Xnrz |
ndarray
|
Vetor de sinal codificado do canal I \(NRZ\). |
Yman |
ndarray
|
Vetor de sinal codificado do canal Q \(Manchester\). |
Exemplo
format_signals(Xnrz, Yman)
Formata os vetores de sinal codificados \(X_{NRZ}\) e \(Y_{MAN}\) usando filtro RRC, retornando os vetores formatados \(d_I\) e \(d_Q\).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
Xnrz
|
ndarray
|
Vetor do canal \(X_{NRZ}\) a ser formatado. |
required |
Yman
|
ndarray
|
Vetor do canal \(Y_{MAN}\) a ser formatado. |
required |
Returns:
Name | Type | Description |
---|---|---|
dI |
ndarray
|
Vetor formatado do canal I, \(d_I\). |
dQ |
ndarray
|
Vetor formatado do canal Q, \(d_Q\). |
Exemplo
- Tempo:
- Frequência:
modulate(dI, dQ)
Modula os vetores de sinal \(d_I(t)\) e \(d_Q(t)\) usando modulação QPSK, retornando o sinal modulado \(s(t)\).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dI
|
ndarray
|
Vetor formatado do canal I, \(d_I(t)\). |
required |
dQ
|
ndarray
|
Vetor formatado do canal Q, \(d_Q(t)\). |
required |
Returns:
Name | Type | Description |
---|---|---|
t |
ndarray
|
Vetor de tempo, \(t\). |
s |
ndarray
|
Sinal modulado, \(s(t)\). |
Exemplo
- Tempo:
- Frequência:
- Fase e Constelação:
run()
Executa o processo de transmissão, retornando o sinal modulado \(s(t)\) e o vetor de tempo \(t\).
Returns:
Name | Type | Description |
---|---|---|
t |
ndarray
|
Vetor de tempo, \(t\). |
s |
ndarray
|
Sinal modulado, \(s(t)\). |