Resumo de LoRa
LoRa é um protocolo de camada física atualmente registrado pela Semtech Corporation que define o modo no qual os dispositivos transmitem a informação. Por ser um protocolo de camada física, o LoRa apenas estabelece os parâmetros da comunicação, modulações e codificações utilizadas e formato dos pacotes a serem transmitidos. Enquanto alguns parâmetros como potência de transmissão, largura de banda e canal são comuns a várias outras formas de modulação, outros são específicos da própria modulação LoRa. São eles o Spread Factor (SF) e o Coding Rate (CR).
A descrição da modulação LoRa assume que o leitor possui conhecimentos básicos em transmissão digital. Caso detalhes sobre a modulação não sejam necessários, a seção de glossário contém um resumo de todos os parâmetros de transmissão que podem ser alterados de modo simplificado.
Modulação do LoRa
A modulação LoRa consiste em um tipo de modulação chamado Chirp Spread Spectrum (CSS) ou Linear Frequency Sweeping (LFS), na qual o sinal é enviado na forma de uma senoide com frequência linearmente variável. As vantagens desse método em comparação com métodos tradicionais como FSK e PSK são discutidas em detalhes no trabalho (Berni & Gregg, 1973) .
Descrição do sinal
O sinal que compõe o símbolo de uma transmissão LoRa é no formato de uma senoide com frequência variável O formato de um símbolo pode ser descrito com a equação:
$$s_i(t) = A.\cos((\omega_1 + \frac{1}{2}mt)t)\;\forall t\in [0,\frac{1}{BW}]$$Na qual $m$ é a taxa de variação da frequência e $w_1$ é a frequência de início de modulação, não confundir com a frequência da portadora $\omega_c$ que se relaciona com $\omega_1$ da forma $\omega_c=\omega_1+\frac{BW}{4\pi}$.
A modulação LoRa define que cada símbolo $s_i(t)$ deve fazer a varredura completa dentro da largura de banda definida. Assim, alterar o valor de $m$ altera o tempo no qual o símbolo demora para ser transmitido. No entanto, esse aumento no tempo de transmissão também está associado a um aumento na sensibilidade do receptor, o que permite que o sinal seja detectado a maiores distâncias ou em canais mais ruidosos.Spread Factor (SF)
O Spread Factor (SF) é um parâmetro que afeta a taxa de variação da frequência na modulação. Na equação do sinal, é representada pela variável $m$. O SF é diretamente relacionado com a taxa de envio de bits segundo a equação:
$$\begin{cases} R_b = SF.\frac{BW}{2^{SF}}\\ R_s = \frac{BW}{2^{SF}} \end{cases} $$Em que $R_b$ é a taxa de transmissão em bits por segundo, $R_s$ é a mesma taxa em símbolos por segundo, $SF$ é o valor de spread factor e $BW$ é o valor de banda passante. Essas equações, definidas em (Semtech, 2015) , mostram a relação do spread factor com a taxa de transmissão de símbolos. Quanto maior o SF escolhido, menor é a taxa de transmissão, portanto possui uma relação inversamente dependente com o valor de $m$ definido na equação do símbolo.
Na imagem abaixo, temos o sinal LoRa representado no tempo e na frequência. No gráfico à esquerda, é apresentado o formato da onda $s_i(t)$ e como ela varia no tempo. No gráfico à direita, é apresentado um espectrograma de vários símbolos da modulação LoRa com valores de SF distintos, no qual é possível observar a relação de tempo de transmissão de cada símbolo.
Formato do pacote Físico
O pacote físico é a definição da sequência de bits final que é modulada e transmitida. Esse pacote, definido em (Semtech, 2013, p. 7) , é representado na figura abaixo:
O pacote começa com um preâmbulo, que é uma sequência de símbolos idênticos que servem para detecção e sincronização do receptor. Um campo de cabeçalho é opcional e possui seu próprio código corretor de erro do tipo Verificação de Redundância Cíclica (Cyclic Redundancy Check, ou CRC). Os bits de carga vem em seguida e finalmente um segundo campo de CRC relativo aos conteúdos da carga.
Coding Rate (CR)
O coding rate (CR) é a razão de bits entre o tamanho do campo e o tamanho total do campo mais o CRC. Essa razão pode ser vista na própria figura do formato de cabeçalho, onde tanto o cabeçalho quanto a carga possuem um código CRC e portanto possuem definidos valores de CR. Para o cabeçalho, o valor definido sempre é de 4/8, e para a carga, é variável segundo a seguinte fórmula $CR=\frac{4}{4+x}$, onde $x$ é entre 1 e 4.
Como esse código permite a correção de erros na fonte, isso diminui a probabilidade do pacote ser perdido devido a erros. Em contrapartida, a taxa de vazão de bits efetiva é reduzida porque os bits de CRC são redundantes e não carregam informação nova.
Parâmetros Regionais
As agências reguladoras de diversos países são responsáveis por definir quais as frequências alocadas e potências de transmissão permitidas. No Brasil, existem dois planos de uso de banda acordados com a LoRa-Alliance segundo (Semtech, 2022) : O EU-433 e o AU-915. Algumas características de ambos os planos podem ser vistas na tabela abaixo:
EU433 | AU915 | |
---|---|---|
Frequências alocadas | 433 - 434 MHz | 915 - 928 MHz |
Largura de banda máxima | 125 kHz | 500kHz |
Ciclo de operação (Duty cycle) | <1 % | sem limite |
Potência do transmissor | +12 dBm | +30 dBm |
Nesses parâmetros, um termo de destaque é o Ciclo de operação. Este é a razão de tempo de transmissão máxima na qual o dispositivo pode efetivamente transmitir. Para um ciclo de 1%, se o dispositivo demora 1ms para transmitir um pacote, ele deve passar 99ms sem transmitir. Isso é uma forma de permitir que múltiplos dispositivos utilizem o mesmo canal para transmissão.
Nota importante: A tabela é de caráter meramente didático, apenas resume algumas características gerais e não define com precisão quais configurações fazem parte ou não do plano de banda acordado. Leia o capitulo referente ao plano permitido na região de interesse antes de implementar o sistema por conta própria. Os autores são isentos de responsabilidade pelo mau uso dessas informações. Esses dados podem estar sujeito à mudanças.
Glossário
Nessa seção serão listados todas as características de transmissão que podem ser alteradas
- Canal (Channel): Índice numérico que define qual a frequência que o transmissor/receptor deve sintonizar para a transmissão.
- Largura de banda (Bandwith): Tamanho da banda que o sinal ocupa. Quanto maior, mais rápido é a transmissão porém menor é a capacidade de suportar múltiplos clientes (por separação de canal).
- Potência de transmissão (TXPower): Potência de transmissão. Quanto maior, maior é o alcance porém o gasto de energia por transmissão é maior.
Exclusivos do LoRa:
- Spread Factor (SF): Fator que altera o tempo de transmissão de um símbolo. Quanto maior, maior a sensibilidade no transmissor para a recepção do sinal, porém menor é a taxa de transmissão de bits por segundo.
- Coding Rate (CR): Quantidade extra de bits transmitidas por redundância. Diminui a chance de erros na transmissão porém reduz a taxa efetiva de transmissão de bits por segundo.
- Duty Cycle (DC): Razão de tempo de transmissão máximo permitido.
Trabalhos citados
- Semtech (2013)
- Semtech, C. (2013). SX1272/3/6/7/8 LoRa Modem Design Guide (AN1200.13). Semtech Retrieved from https://www.openhacks.com/uploadsproductos/loradesignguide_std.pdf
- Semtech (2015)
- Semtech, C. (2015). LoRa Modulation Basics (AN1200.22). Semtech Retrieved from https://www.frugalprototype.com/wp-content/uploads/2016/08/an1200.22.pdf
- Semtech (2022)
- Semtech, C. (2022). LoRaWAN® Regional Parameters (RP002-1.0.4). Lora Alliance
- Berni & Gregg (1973)
- Berni, A. & Gregg, W. (1973). On the Utility of Chirp Modulation for Digital Signaling. IEEE Transactions on Communications, 21(6). 748–751. https://doi.org/10.1109/TCOM.1973.1091721