Espalhamento espectral
Introdução
Definição. Espalhamento espectral.
Espalhamento espectral (
- A banda do sinal transmitido é muito maior que o mínimo necessário para transmitir a informação.
- Um código de espalhamento, independente da mensagem, é usado na transmissão para “espalhar” o sinal, e na recepção para “desespalhar” o sinal.
Algumas técnicas de espalhamento espectral são:
- FHSS (
Frequency-hopping spread spectrum ). Utilizado no Bluetooth, aplicações militares, etc. - DSSS (
Direct-sequence spread spectrum ). Utilizado no GPS, WiFi 802.11b, ZigBee, 2G/3G, etc. - CSS (
Chirp spread spectrum ). Utilizado no LoRA, etc.
Espalhamento espectral fornece os seguintes benefícios:
- Resistência ao ruído.
- Ocultar o sinal transmitido (
low probability of interception — LPI). - Robustez a interferência de banda estreita (ex:
jamming ). - Combate à interferência intersimbólica causada pelo multipercurso (ex: receptor
rake ). - Novas técnicas de múltiplo acesso (CDMA).
Espalhamento espectral por salto de frequência
No espalhamento espectral por salto de frequência (FHSS, do inglês
Exemplo.
Dependendo da relação entre a taxa de símbolos, $\Rs$, e a taxa de saltos (
- Lento. Nesse caso, $\Rs$ é um múltiplo inteiro de $\Rh$, de modo que vários símbolos são transmitidos entre saltos consecutivos.
- Rápido. Nesse caso, $\Rh$ é um múltiplo inteiro de $\Rs$, de modo que ocorrem vários saltos dentro de um mesmo símbolo.
Espalhamento espectral por sequência direta
No espalhamento espectral por sequência direta (DSSS, do inglês
- $x(t)$ a representação polar dos bits de informação $b_n$, à taxa de $\Rb$.
- $c(t)$ a representação polar do código de espalhamento $c_n$, à taxa de $\Rc$.
A razão $N = \Rc / \Rb$, ou seja, o número de chips por bit, é chamada de fator de espalhamento ou ganho de processamento, e deve ser um inteiro positivo. O período (ou comprimento) do código de espalhamento é denotado por $L$.
O diagrama de blocos a seguir mostra um sistema DSSS.
Espalhamento
O espalhamento consiste em multiplicar o sinal de informação pelo código de espalhamento:Exemplo.
Considere um sistema DSSS com $N = 4$ chips/bit, em que:
- Bits de informação: $b_n = \bit{101}$, transmitidos à taxa de $\Rb = 100~\text{kbps}$.
- Código de espalhamento: $c_n = \bit{100110}...$, de período $L = 6$.
Esboce os sinais $x(t)$, $c(t)$ e $s(t)$.
Solução.- Taxa de chips: $\Rc = N \Rb = 400~\text{kchips/s}$.
- Duração de bit: $\Tb = 1 / \Rb = 10~\text{μs}$.
- Duração de chip: $\Tc = 1 / \Rc = 2{,}5~\text{μs}$.
Espectro do sinal transmitido
O espectro do sinal transmitido de fato está espalhado:
\[ S(f) = C(f) \star X(f) \]Portanto, $B_s \approx B_c + B_x \approx N B_x$.
Desespalhamento
O desespalhamento também consiste em multiplicar o sinal recebido pelo código de espalhamento:
Assumindo um canal com AWGN, ou seja, $r(t) = s(t) + w(t)$, tem-se:
\[ \begin{aligned} y(t) & = c(t) \, r(t) \\ & = c(t) \, [s(t) + w(t)] \\ & = c(t) \, [c(t) \, x(t) + w(t)] \\ & = c^2(t) \, x(t) + c(t) \, w(t) \\ & = x(t) + w'(t), \end{aligned} \]em que foi utilizado o fato de que $c^2(t) = 1$ e $w'(t) = c(t) \, w(t)$ é o ruído branco espalhado, que tem as mesmas propriedades estatísticas do ruído branco original.
Robustez a interferência de banda estreita
Seja $j(t)$ um sinal de interferência (ex:
Caso sem espalhamento espectral.
Nesse caso, o sinal recebido é $r(t) = x(t) + j(t) + w(t)$, cujo espectro é $R(f) = X(f) + J(f) + W(f)$.
Caso com espalhamento espectral.
Nesse caso, o sinal recebido é $r(t) = s(t) + j(t) + w(t)$, cujo espectro é $R(f) = S(f) + J(f) + W(f)$.
O sinal após o desespalhamento é
\[ \begin{aligned} y(t) & = c(t) \, r(t) \\ & = c(t) \, [s(t) + j(t) + w(t)] \\ & = x(t) + c(t) \, j(t) + w'(t), \end{aligned} \]cujo espectro é $Y(f) = X(f) + C(f) \star J(f) + W'(f)$.
Combate a interferência intersimbólica
Considere um canal com interferência intersimbólica causada pelo multipercurso, além do AWGN.
Por simplicidade, será considerado um canal com apenas dois caminhos:
\[ h(t) = h_0 \, \delta(t) + h_1 \, \delta(t - \tau_1). \]O sinal recebido é dado por
\[ \begin{aligned} r(t) & = h(t) \star s(t) + w(t) \\ & = h_0 \, s(t) + h_1 \, s(t - \tau_1) + w(t). \end{aligned} \]A saída do desespalhador é
\[ \begin{aligned} y(t) & = c(t) \, r(t) \\ & = c(t) \, \big[ h_0 \, s(t) + h_1 \, s(t - \tau_1) + w(t) \big] \\ & = h_0 \, c(t) \, s(t) + h_1 \, c(t) \, s(t - \tau_1) + c(t) \, w(t). \end{aligned} \]Lembrando que $s(t) = c(t) \, x(t)$, temos que
\[ \begin{aligned} y(t) & = h_0 \, c^2(t) \, x(t) + h_1 \, c(t) \, c(t - \tau_1) \, x(t - \tau_1) + c(t) \, w(t) \\ & = h_0 \, x(t) + h_1 \, c(t) \, c(t - \tau_1) \, x(t - \tau_1) + w'(t). \end{aligned} \]Para simplificar a exposição, será considerado apenas o primeiro símbolo (isto é, $n = 0$). Além disso, será assumido (com perda de generalidade) que $\tau_1$ seja um múltiplo inteiro do intervalo de símbolo, ou seja, $\tau_1 = k \Tb.$ Nesse caso, a saída do correlator será
\[ \begin{aligned} \tilde{x}[0] & = \frac{1}{\Tb} \int_{0}^{\Tb} y(t) \, dt \\ & = h_0 \frac{1}{\Tb} \int_{0}^{\Tb} x(t) \, dt ~~~ + ~~~ h_1 \frac{1}{\Tb} \int_{0}^{\Tb} c(t) \, c(t - k\Tb) \, x(t - k\Tb) \, dt ~~~ + ~~~ \frac{1}{\Tb} \int_{0}^{\Tb} w'(t) \, dt \\ & = h_0 \, x[0] ~~~ + ~~~ h_1 \, x[-k] \, \frac{1}{\Tb} \int_{0}^{\Tb} c(t) \, c(t - k\Tb) \, dt ~~~ + ~~~ w'[0]. \end{aligned} \]A parcela do meio, referente à interferência intersimbólica, está intimamente ligada à função autocorrelação temporal do código de espalhamento $c[n]$ no formato polar:
Portanto, é desejável que $R_c[\ell]$ seja pequeno para $\ell \neq 0$ para que a interferência intersimbólica seja minimizada.
Sequências binárias aleatórias
Considere uma sequência (verdadeiramente) aleatória de bits independentes e uniformes cujo comprimento tende a infinito. Esta sequência terá as seguintes propriedades:
- Balanceamento. A frequência de ocorrência de $\bit{0}$s é igual à frequência de ocorrência de $\bit{1}$s.
- Comprimento das corridas. Metade das corridas tem comprimento 1; um quarto tem comprimento 2; um oitavo tem comprimento 3; e assim por diante. De modo geral, uma fração de $1 / 2^i$ das corridas tem comprimento $i$, para $i = 1, 2, 3, \ldots$
- Deslocamento. Se a sequência for deslocada de qualquer número não-nulo (para a esquerda ou para a direita), então metade dos bits permanecerá igual, enquanto a outra metade será invertida. Como consequência,a função autocorrelação temporal dessa sequência em formato polar é um impulso unitário:
Sequências de máximo comprimento
Definição. Sequência de máximo comprimento (MLS).
Uma sequência de máximo comprimento (MLS, do inglês
Exemplo.
Considere o LFSR abaixo, cuja memória é $m = 3$. Determine a sequência de bits gerada em sua saída, supondo que o estado inicial seja $\bit{100}$, e mostre que a sequência gerada é uma MLS.
Solução.Sequência de estados: $\bit{100} \to \bit{110} \to \bit{111} \to \bit{011} \to \bit{101} \to \bit{010} \to \bit{001} \to \cdots$
Saída: $c_n = \bit{0011101} \ldots$ (de período $L = 7$).
Como o período é $L = 2^m - 1$, a sequência gerada é uma MLS.
As MLSs satisfazem aproximadamente as propriedades de balanceamento, comprimento das corridas e deslocamento.
Teorema. (Golomb, 1967.)
Uma MLS gerada por um LFSR de memória $m$, com período $L = 2^m - 1$, tem as seguintes propriedades:
- Balanceamento. Em um período, o número de $\bit{0}$s é $(L - 1) / 2$ e o de $\bit{1}$s é $(L + 1) / 2$.
- Comprimento das corridas. Em um período, há um total de $(L + 1) / 2$ corridas. Destas, $2^{m-i-1}$ têm comprimento $i$, para $1 \leq i < m$, e exatamente uma tem comprimento $m$.
- Deslocamento. Se a sequência for deslocada de qualquer número não-múltiplo de $L$, então, em um período, $(L - 1) / 2$ bits permanecerão iguais, enquanto $(L + 1) / 2$ bits serão invertidos. Como consequência,a função autocorrelação dessa sequência em formato polar é dada por \[ R_c[\ell] = \begin{cases} 1, & \ell = 0, \pm L, \pm 2L, \ldots, \\ -1/L, & \text{caso contrário.} \end{cases} \]
Exemplo.
Considere a MLS gerada no exemplo anterior. Verifique as propriedades de balanceamento, comprimento das corridas e deslocamento.
Solução.Sequência: $c_n = \bit{0011101} \ldots$
Neste caso, $L = 7$, de modo que $(L - 1) / 2 = 3$ e $(L + 1) / 2 = 4$.
Bit | Quantidade |
---|---|
$\bit{0}$ | $3$ |
$\bit{1}$ | $4$ |
Comprimento | Número de corridas |
---|---|
1 | $2$ |
2 | $1$ |
3 | $1$ |
Total | $4$ |
Deslocamento | Bits | Iguais | Invertidos | ||||||
---|---|---|---|---|---|---|---|---|---|
0 | $\bit{0}$ | $\bit{0}$ | $\bit{1}$ | $\bit{1}$ | $\bit{1}$ | $\bit{0}$ | $\bit{1}$ | $7$ | $0$ |
1 | $\bit{1}$ | $\bit{0}$ | $\bit{0}$ | $\bit{1}$ | $\bit{1}$ | $\bit{1}$ | $\bit{0}$ | $3$ | $4$ |
2 | $\bit{0}$ | $\bit{1}$ | $\bit{0}$ | $\bit{0}$ | $\bit{1}$ | $\bit{1}$ | $\bit{1}$ | $3$ | $4$ |
3 | $\bit{1}$ | $\bit{0}$ | $\bit{1}$ | $\bit{0}$ | $\bit{0}$ | $\bit{1}$ | $\bit{1}$ | $3$ | $4$ |
4 | $\bit{1}$ | $\bit{1}$ | $\bit{0}$ | $\bit{1}$ | $\bit{0}$ | $\bit{0}$ | $\bit{1}$ | $3$ | $4$ |
5 | $\bit{1}$ | $\bit{1}$ | $\bit{1}$ | $\bit{0}$ | $\bit{1}$ | $\bit{0}$ | $\bit{0}$ | $3$ | $4$ |
6 | $\bit{0}$ | $\bit{1}$ | $\bit{1}$ | $\bit{1}$ | $\bit{0}$ | $\bit{1}$ | $\bit{0}$ | $3$ | $4$ |
7 | $\bit{0}$ | $\bit{0}$ | $\bit{1}$ | $\bit{1}$ | $\bit{1}$ | $\bit{0}$ | $\bit{1}$ | $7$ | $0$ |
Receptor rake
O receptor rake é um receptor que utiliza múltiplos correlatores, cada qual “sintonizado” em um componente de multipercurso diferente. A saída dos correlatores é combinada de maneira coerente para aumentar a razão sinal-ruído.
Acesso múltiplo por divisão de código
Espalhamento espectral permite uma nova forma de vários usuários compartilharem o mesmo canal de transmissão: o acesso múltiplo por divisão de código (CDMA, do inglês
Considere um sistema DS-CDMA com $U$ usuários, em que cada usuário tem seu código de espalhamento, denotado por $c_u(t)$, para $u = 1, 2, \ldots, U$.
O sinal recebido é dado por
\[ r(t) = c_1(t) \, x_1(t) + c_2(t) \, x_2(t) + \cdots + c_U(t) \, x_U(t) + w(t). \]O sinal na saída do desespalhador 1, por exemplo, é dado por
\[ \begin{aligned} y_1(t) & = c_1(t) \, r(t) \\ & = c_1(t) \, \big[ c_1(t) \, x_1(t) + c_2(t) \, x_2(t) + \cdots + c_U(t) \, x_U(t) + w(t) \big] \\ & = x_1(t) ~ + ~ c_1(t) \, c_2(t) \, x_2(t) ~ + ~ \cdots ~ + ~ c_1(t) \, c_U(t) \, x_U(t) ~ + ~ w_1'(t). \end{aligned} \]A saída do correlator 1, no primeiro instante de bit ($n = 0$), será
\[ \begin{aligned} \tilde{x}_1[0] & = \frac{1}{\Tb} \int_{0}^{\Tb} y_1(t) \, dt \\ & = \frac{1}{\Tb} \int_{0}^{\Tb} x_1(t) \, dt ~ + ~ \frac{1}{\Tb} \int_{0}^{\Tb} c_1(t) \, c_2(t) \, x_2(t) \, dt ~ + ~ \cdots ~ + ~ \frac{1}{\Tb} \int_{0}^{\Tb} c_1(t) \, c_U(t) \, x_U(t) \, dt ~ + ~ \frac{1}{\Tb} \int_{0}^{\Tb} w_1'(t) \, dt \\ & = x_1[0] ~~~ + ~~~ x_2[0] \, \frac{1}{\Tb} \int_{0}^{\Tb} c_1(t) \, c_2(t) \, dt ~~~ + ~~~ \cdots ~~~ + ~~~ x_U[0] \, \frac{1}{\Tb} \int_{0}^{\Tb} c_1(t) \, c_U(t) \, dt ~~~ + ~~~ w_1'[0]. \end{aligned} \]Portanto, é desejável que a correlação cruzada entre as sequências de espalhamento, no formato polar, satisfaça
ou seja, as sequências de espalhamento devem ser ortogonais.
Exemplo.
Considere um sistema DS-CDMA com $U = 4$ usuários e $N = 4$ chips/bit. Os códigos de espalhamento de cada usuário e a informação transmitida são:
- Usuário 1: $c_1 = \bit{1111}$, $b_1 = \bit{00}$.
- Usuário 2: $c_2 = \bit{1010}$, $b_2 = \bit{10}$.
- Usuário 3: $c_3 = \bit{1100}$, (silencioso).
- Usuário 4: $c_4 = \bit{1001}$, $b_4 = \bit{01}$.
Verifique a ortogonalidade das sequências, esboce as formas de onda do sistema e determine a saída de cada correlator. Assuma ausência de ruído.
Solução.Tem-se:
\[ c_1[n] = [+1, +1, +1, +1], ~~~ c_2[n] = [+1, -1, +1, -1], ~~~ c_3[n] = [+1, +1, -1, -1], ~~~ c_4[n] = [+1, -1, -1, +1]. \]Para verificar a ortogonalidade, calcula-se a correlação cruzada dois-a-dois, para $1 \leq i < j \leq 4$. Por exemplo, para $i = 3$ e $j = 4$, tem-se:
\[ \frac{1}{4} \sum_{n = 0}^{3} c_3[n] \, c_4[n] = \frac{1}{4} \big[ (+1)(+1) + (+1)(-1) + (-1)(-1) + (-1)(+1) \big] = 0. \]Formas de onda:
A saída de cada correlator é
\[ \begin{aligned} \tilde{x}_1[0] = \frac{-\Tc - \Tc + \Tc - 3 \Tc}{\Tb} = -1 \qquad \text{e} \qquad \tilde{x}_1[1] = \frac{-\Tc - \Tc - 3 \Tc + \Tc}{\Tb} = -1, \\[0.75em] \tilde{x}_2[0] = \frac{-\Tc + \Tc + \Tc + 3 \Tc}{\Tb} = +1 \qquad \text{e} \qquad \tilde{x}_2[1] = \frac{-\Tc + \Tc - 3 \Tc - \Tc}{\Tb} = -1, \\[0.75em] \tilde{x}_3[0] = \frac{-\Tc - \Tc - \Tc + 3 \Tc}{\Tb} = \phantom{+}0 \qquad \text{e} \qquad \tilde{x}_3[1] = \frac{-\Tc - \Tc + 3 \Tc - \Tc}{\Tb} = \phantom{+}0, \\[0.75em] \tilde{x}_4[0] = \frac{-\Tc + \Tc - \Tc - 3 \Tc}{\Tb} = -1 \qquad \text{e} \qquad \tilde{x}_4[1] = \frac{-\Tc + \Tc + 3 \Tc + \Tc}{\Tb} = +1, \end{aligned} \]o que está de acordo com a informação transmitida por cada usuário.
Códigos para DS-CDMA
Existem várias opções de códigos para DS-CDMA. Alguns exemplos são:
- Sequências de Gold (Robert Gold, 1967).
- Sequências de Kasami (Tadao Kasami, 1966).
- Sequências de Walsh-Hadamard.
As sequências de Gold e de Kasami são derivadas das sequências de máximo comprimento (MLS) e fornecem ortogonalidade aproximada.
As sequências de Walsh-Hadamard fornecem ortogonalidade exata. Podem ser construídas recursivamente da seguinte maneira:
\[ H_n = \begin{cases} [1], & n = 1, \\[2ex] \begin{bmatrix} H_{n/2} & \phantom{+}H_{n/2} \\ H_{n/2} & -{H}_{n/2} \end{bmatrix}, & n = 2, 4, 8, \ldots \end{cases} \]Seguindo essa construção, obtém-se:
\[ H_1 = [1], \qquad H_2 = \begin{bmatrix} 1 & \phantom{+}1 \\ 1 & -1\end{bmatrix}, \quad H_4 = \begin{bmatrix} 1 & \phantom{+}1 & \phantom{+}1 & \phantom{+}1 \\ 1 & -1 & \phantom{+}1 & -1 \\ 1 & \phantom{+}1 & -1 & -1 \\ 1 & -1 & -1 & \phantom{+}1\end{bmatrix}, \quad \text{etc.} \]As matrizes em questão são todas simétricas e apresentam linhas (e colunas) ortogonais. Os códigos de espalhamento de cada usuário correspondem a linhas (ou a colunas) da matriz $H_n$.
Bibliografia
- Wireless Communications, Cambridge University Press, 2005.
- Communication Systems, 4th edition, John Wiley & Sons, 2001.