Post on 02-Oct-2020
Universidade Estadual de Londrina
Centro de Tecnologia e Urbanismo
Departamento de Engenharia Eletrica
Implementacao de Subsistemas
DS/CDMA utilizando Plataforma
DSP com Abordagem Heurıstica
Alex Miyamoto Mussi
15 de dezembro de 2009
Universidade Estadual de Londrina
Centro de Tecnologia e Urbanismo
Departamento de Engenharia Eletrica
Implementacao de Subsistemas
DS/CDMA utilizando Plataforma
DSP com Abordagem Heurıstica
Discente: Alex Miyamoto Mussi
Orientador: Prof. Dr. Taufik Abrao
Area de concentracao: Telecomunicacoes
Monografia orientada pelo Prof. Dr. Taufik
Abrao intitulada Implementacao de Subsistemas
DS/CDMA utilizando Plataforma DSP com
Abordagem Heurıstica e apresentada a Univer-
sidade Estadual de Londrina, como parte dos
requisitos necessarios para a conclusao do curso
de Engenharia Eletrica.
15 de dezembro de 2009
Ficha Catalografica
Mussi, Alex MiyamotoImplementacao de Subsistemas DS/CDMA utilizando Plataforma DSP com
Abordagem Heurıstica. Londrina, 2009. 86 p.
Monografia — Universidade Estadual de Londrina. Departamento de En-genharia Eletrica.
1. Telefonia Celular. 2. CDMA 3. MuD. 4. Algoritmos Heurısticos. 5.DSP.
I. Universidade Estadual de Londrina. Departamento de Engenharia Eletrica.II. Implementacao de Subsistemas DS/CDMA utilizando Plataforma DSP comAbordagem Heurıstica.
Alex Miyamoto Mussi
Implementacao de Subsistemas
DS/CDMA utilizando Plataforma
DSP com Abordagem Heurıstica
Monografia apresentada ao curso de Engenharia Eletrica da
Universidade Estadual de Londrina, como parte dos requi-
sitos necessarios para a conclusao do curso de Engenharia
Eletrica, Modalidade: Eletronica.
Comissao Examinadora
—————————————————Prof. Dr. Taufik Abrao
Dept. de Engenharia EletricaOrientador
—————————————————Prof. Dr. Jose Carlos Pizolato Jr.
Dept. de Engenharia Eletrica
—————————————————Prof. Msc. Jaime Laelson Jacob
Dept. de Engenharia Eletrica
—————————————————Prof. Msc. Fernando Ciriaco Dias Neto
Faculdade Pitagoras
15 de dezembro de 2009
“Comece fazendo o que e possıvel
e, quando menos esperar,
estara fazendo o impossıvel!”
Agradecimentos
Agradeco ao meu orientador, Prof. Dr. Taufik Abrao, pela compreensao, apoio,
dedicacao, capacidade de orientacao e pela generosidade em compartilhar seus conheci-
mentos e ao meu professor, Prof. Msc. Fernando Ciriaco Dias Neto, pela generosa ajuda
em momentos importantes deste trabalho.
Aos meus pais, Jorge Ribeiro Mussi e Nair Miyamoto Mussi, pelo esforco e apoio
incondicional que me ajudaram a chegar ate aqui.
Aos meus avos, Titoshi Miyamoto e Romeu Mussi, e avo, Eni Ribeiro Mussi, pe-
los exemplos de vida que foram, aos quais dedico este trabalho com a mais profunda
admiracao, respeito e gratidao.
E aos meus colegas de curso, principalmente, aos meus amigos Rafael Oliveira Ri-
beiro e Flavio Henrique e Silva, que de alguma forma, contribuıram para o avanco deste
trabalho.
Resumo
O crescente aumento do numero de usuarios de redes de comunicacoes moveis e aescassez do espectro eletromagnetico fazem com que o emprego de tecnicas de diversidadee a deteccao/decodificacao eficientes, tal como a deteccao multiusuario (MuD - MultiuserDetection), tenham um papel cada vez mais importante no cenario das telecomunicacoes.Este trabalho apresenta uma metodologia para o uso de Processadores Digitais de Sinais(DSP - Digital Signal Processor) na implementacao de detectores multiusuario em siste-mas DS/CDMA (Direct Sequence Code Division Multiple Access)com o uso de tecnicasheurısticas (sub-otimas). A plataforma de DSP empregada faz parte do kit de desenvolvi-mento DSK C6713 e utiliza um processador DSP TMS320C6713. As tecnicas heurısticasserao implementadas atraves de algoritmos heurısticos ja conhecidos na literatura e suaeficiencia e avaliada atraves dois criterios: desempenho e complexidade computacional,procurando-se mostrar o aumento do desempenho e da capacidade do sistema com a uti-lizacao destas tecnicas de deteccao multiusuario. Para comprovacao da viabilidade douso do DSP, os resultados tambem serao comparados aos das simulacoes, descritas emlinguagem Matlab, utilizando-se dos mesmos parametros.
Abstract
The growing number of mobile users of communications networks and the scarcity ofthe electromagnetic spectrum make the use of diversity techniques and detection/decodingefficient, such as multiuser detection (MuD), have an increasingly more important in thetelecommunications landscape. This paper presents a methodology for the use of DigitalSignal Processors (DSP) in the implementation of multiuser detectors for DS/CDMAsystems using heuristic techniques (sub-optimal). The DSP platform used is a part ofthe development kit DSK C6713 and uses a DSP TMS320C6713 processor. Heuristictechniques will be implemented through heuristic algorithms well-known in the literatureand their efficiency will be evaluated by two criteria: performance and computationalcomplexity, seeking to show increased performance and system capacity with the use ofmultiuser detection techniques. To prove the feasibility of using the DSP, the results arealso compared to simulations, made in Matlab, using the same parameters.
Sumario
Lista de Figuras vii
Lista de Tabelas xi
Lista de Siglas e Abreviaturas xii
Notacoes xv
Lista de Sımbolos xvii
1 Introducao 1
1.1 A tecnologia CDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Deteccao Convencional (SuD) . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Deteccao MuD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Descricao de Conteudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Publicacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Descricao do Sistema 9
2.1 Transmissor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Receptor Convencional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Detector Multiusuario baseado em Algoritmos Heurısticos . . . . . . . . . 12
2.3.1 1− opt LS-MuD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Ferramentas Computacionais 17
3.1 MATLAB R© . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Plataforma de Desenvolvimento do DSK C6713 . . . . . . . . . . . . . . . 18
3.2.1 DSP TMS320C6713 . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2 Code Composer Studio (CCS) . . . . . . . . . . . . . . . . . . . . . 20
4 Metodologia 21
4.1 Transmissor-Detector Convencional em Banda Base para Sistema DS/CDMA 21
4.2 Transmissor 1-LS-MuD em Banda Base para Sistema DS/CDMA . . . . . 22
5 Avaliacao do Criterio de Parada do Algoritmo 1 − opt LS 28
5.1 Numero de iteracoes fixo do 1− opt LS-MuD . . . . . . . . . . . . . . . . . 28
5.2 Criterio de Parada para Funcao-Custo
Nao-Crescente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6 Resultados dos Processamentos em DSP 35
6.1 Desempenho do Sistema - Variacao da SNR . . . . . . . . . . . . . . . . . 36
6.2 Robustez do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2.1 Carregamento do Sistema . . . . . . . . . . . . . . . . . . . . . . . 37
6.2.2 Near-Far Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.3 Imagens da Bancada de Processamento . . . . . . . . . . . . . . . . . . . . 40
7 Complexidade Computacional em DSP 47
7.1 Complexidade do Detector Convencional . . . . . . . . . . . . . . . . . . . 48
7.2 Complexidade do Detector Heurıstico 1− opt LS . . . . . . . . . . . . . . . 49
7.3 Complexidade para o Receptor 1-LS-MuD Completo em Banda Base . . . 54
7.4 Comparativo de Complexidade em DSP entre os Receptores CD e 1-LS-MuD 54
7.4.1 Analise das Expressoes de Complexidade em DSP . . . . . . . . . . 55
7.4.2 Relacao de Complexidade em DSP entre 1-LS-MuD e CD . . . . . 55
7.5 Limite da Complexidade em DSP: Aplicacoes em Tempo Real . . . . . . . 58
7.5.1 Servico de Voz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.6 Complexidade em DSP atraves do Numero de Operacoes Matematicas . . . 60
8 Principais Conclusoes 64
8.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Anexo A -- Plataforma do DSK C6713 66
A.1 Ferramentas de suporte do DSK . . . . . . . . . . . . . . . . . . . . . . . . 67
A.1.1 DSP TMS320C6713 . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Anexo B -- Real-Time Data Exchange (RTDX) 70
Anexo C -- Ferramenta Profile do Code Composer Studio 73
Anexo D -- Metodo de Simulacao Monte Carlo 75
Anexo E -- Probabilidade de Erro Teorica 77
E.1 Limite Single User para AWGN . . . . . . . . . . . . . . . . . . . . . . . 77
Anexo F -- Sequencias de Espalhamento 79
F.1 Sequencias Aleatorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
F.2 Sequencias Walsh-Hadamard . . . . . . . . . . . . . . . . . . . . . . . . . . 80
F.3 Sequencias de Maximo Comprimento (SMC) . . . . . . . . . . . . . . . . 80
F.4 Sequencias Gold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
F.5 Justificativa para uso de Sequencias Aleatorias . . . . . . . . . . . . . . . . 82
Anexo G -- Canais de Radio Moveis 83
G.1 Ruıdo Aditivo (Canal AWGN) . . . . . . . . . . . . . . . . . . . . . . . . . 83
Referencias 86
Lista de Figuras
1.1 Formas de onda no processo de espalhamento/desespalhamento do sinal
um sistema DS/CDMA com dois usuarios e receptor convencional. . . . . . 3
1.2 Classificacao geral para os principais detectores em sistemas DS/CDMA. . 5
1.3 Avaliacao do Carregamento do Sistema atraves da BER dos principais al-
goritmos heurısticos para N = 32 e Eb/N0 = 6dB. . . . . . . . . . . . . . . 7
2.1 Sistema Transmissao-Recepcao Convencional - (a) Transmissor em banda-
base; (b) Modelo de canal adotado; (c) 1o estagio MFB e (d) Detector
Convencional Abrupto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Diagrama simplificado do funcionamento do algoritmo heurıstico 1− opt LS. 13
2.3 Sistema Transmissao-recepcao LS-MuD - (a) Transmissor em banda-base;
(b) Modelo de canal adotado; (c) 1o estagio MFB; (d) Decisor Abrupto
com ponto de derivacao das estimativas do MFB e (e) Algoritmo Heurıstico
1− opt LS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1 Sistema DS/CDMA de Transmissao-Recepcao Convencional implementado
no MATLAB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Sistema DS/CDMA Transmissor - LS-MuD implementado em MATLAB
e DSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Diagrama de blocos do sistema DS/CDMA com LS-MuD implementado
em MATLAB e DSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4 Fluxograma descrevendo a metodologia empregada na implementacao em
DSP do sistema DS/CDMA Transmissor/1− opt LS-MuD. . . . . . . . . . 25
4.5 Configuracao das ligacoes de trafego de dados do RTDX empregada neste
trabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.6 Alguns dos comandos de escrita e leitura de dados do canal RTDX no CCS. 26
4.7 Alguns dos comandos de escrita e leitura de dados do canal RTDX no Matlab. 27
5.1 Parametros de entrada da 1a simulacao - Iteracoes LS x BER . . . . . . . . 28
5.2 Grafico da 1a simulacao - Iteracoes LS x BER para Eb/N0[dB] = 6dB, K
= 6 usuarios e N = 20 chips. . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3 Resultados da 1a simulacao - Iteracoes LS x BER . . . . . . . . . . . . . . 30
5.4 Parametros de entrada da 2a simulacao - Iteracoes LS x BER . . . . . . . . 30
5.5 Grafico da 2a simulacao - Iteracoes LS x BER para Eb/N0[dB] = 6dB, K
= 12 usuarios e N = 20 chips. . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.6 Resultados da 2a simulacao - Iteracoes LS x BER . . . . . . . . . . . . . . 31
5.7 Parametros de entrada das 3a e 4a simulacoes - K x BER . . . . . . . . . . 32
5.8 Grafico da 3a simulacao - K x BER - criterio de parada do LS: F best nao-
crescente para Eb/N0[dB] = 6dB, N = 20 chips. . . . . . . . . . . . . . . . 32
5.9 Resultados da 3a simulacao - K x BER . . . . . . . . . . . . . . . . . . . . 33
5.10 Grafico da 4a simulacao - K x BER - criterio de parada do LS: F best nao-
crescente para Eb/N0[dB] = 6dB e N = 20 chips . . . . . . . . . . . . . . . 33
5.11 Resultados da 4a simulacao - K x BER . . . . . . . . . . . . . . . . . . . . 34
6.1 Parametros de entrada utilizados no processamento em DSP para avaliacao
de desempenho com baixo carregamento do sistema transmissor/receptor
1− opt LS-MuD implementado. . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2 Resultados do processamento em DSP para avaliacao de desempenho com
baixo carregamento do sistema transmissor/receptor 1 − opt LS-MuD im-
plementado para K = 5, N = 15 e L = 0, 33. . . . . . . . . . . . . . . . . . 38
6.3 Parametros de entrada utilizados no processamento em DSP para avaliacao
de desempenho com alto carregamento do sistema transmissor/receptor
1− opt LS-MuD implementado. . . . . . . . . . . . . . . . . . . . . . . . . 39
6.4 Resultados do processamento em DSP para avaliacao de desempenho com
alto carregamento do sistema transmissor/receptor 1− opt LS-MuD imple-
mentado para K = 12, N = 15 e L = 0, 8 . . . . . . . . . . . . . . . . . . . 40
6.5 Parametros de entrada utilizados no processamento em DSP do Carrega-
mento do Sistema transmissor/receptor 1− opt LS-MuD implementado. . . 41
6.6 Resultados do processamento em DSP do Carregamento do Sistema trans-
missor/receptor 1 − opt LS-MuD implementado para Eb/N0[dB] = 7dB e
K e N de acordo com tabela 6.1. . . . . . . . . . . . . . . . . . . . . . . . 42
6.7 Parametros de entrada utilizados no processamento em DSP para tolerancia
ao Ffeito Near-Far no Sistema transmissor/receptor 1 − opt LS-MuD im-
plementado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.8 Resultados do processamento em DSP para tolerancia ao Ffeito Near-Far
no Sistema transmissor/receptor 1− opt LS-MuD implementado para N =
15, Kinteresse = 4, Kinterferentes = 8 e Eb/N0[dB] dos usuarios de interesse
igual a 7dB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.9 Imagem da banca de processamento utilizando a plataforma do DSK C6713
interligada a um computador via USB e ao osciloscopio. . . . . . . . . . . . 45
6.10 Detalhe do sinal processado em DSP e enviado ao osciloscopio atraves de
um DAC ligado a saıda LineOut da plataforma. . . . . . . . . . . . . . . . 45
6.11 Detalhe da ligacao entre a plataforma do DSK C6713 e o osciloscopio
atraves da saıda LineOut. . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.12 Detalhe da plataforma do DSK C6713 da Spectrum Digital Inc. que uti-
liza o processador DSP TMS320C6713 fabricado pela Texas Instruments’s
Inc., observa-se tambem os cabos de alimentacao, USB para ligacao com
computador e na saıda LineOut para visualizacao do sinal no osciloscopio. 46
7.1 Resultados de um processamento usando a ferramenta Profile do Code
Composer Studio (CCS) para estimativa da complexidade computacional
para K = 10 e N = 25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2 Grafico correspondente a complexidade em DSP do CD gerado com os
dados oriundos da tabela da tabela 7.4 com um Fitting do tipo Linear. . . 53
7.3 Grafico correspondente a complexidade em DSP da Funcao-Custo Inicial
do 1− opt LS gerado com os dados oriundos da tabela 7.5 com um Fitting
do tipo Cubic Polynomial. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.4 Grafico correspondente a complexidade em DSP de cada Iteracao do 1−optLS gerado com os dados oriundos da tabela 7.6 com um Fitting do tipo
Cubic Polynomial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.5 Grafico correspondente a complexidade em DSP do algoritmo 1 − opt LS
gerado a partir da equacao (7.9). . . . . . . . . . . . . . . . . . . . . . . . 56
7.6 Grafico correspondente a complexidade em DSP do CD e 1-LS-MuD Com-
pleto em Banda Base para N = 15 (esquerdo) e N = 30 (direito). . . . . . 57
7.7 Grafico correspondente ao crescimento da razao de complexidade percen-
tual em DSP, CR%, para a implementacao do 1-LS-MuD em relacao ao
CD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.8 Numero maximo de usuarios ativos, indicado pelo limite de complexidade
em DSP para transmissao de voz, 8 Kb/s eN = 4. . . . . . . . . . . . . . . 59
7.9 Numero maximo de usuarios ativos, indicado pelo limite de complexidade
em DSP para transmissao de voz, 8 Kb/s e N = 8. . . . . . . . . . . . . . 60
7.10 Numero maximo de usuarios ativos, indicado pelo limite de complexidade
em DSP para transmissao de voz, 8 Kb/s e N = 12. . . . . . . . . . . . . . 61
A.1 Diagrama de blocos da plataforma do kit de desenvolvimento DSK C6713 . 66
A.2 Placa do kit de desenvolvimento DSK6713 . . . . . . . . . . . . . . . . . . 68
A.3 Diagrama interno do DSP TMS320C6713. . . . . . . . . . . . . . . . . . . 69
B.1 Esquema de comunicacao generica do RTDX. . . . . . . . . . . . . . . . . 70
B.2 Comandos de escrita e leitura de dados do canal RTDX no CCS. . . . . . . 71
B.3 Janela para configuracao do RTDX. . . . . . . . . . . . . . . . . . . . . . . 72
B.4 Janela onde se habilita o RTDX. . . . . . . . . . . . . . . . . . . . . . . . . 72
C.1 Parametros que podem ser monitorados pelo Code Composer Profiler. . . . 73
C.2 Locais do codigo que podem habilitar a execucao do Code Composer Profiler. 74
C.3 Habilitando o Code Composer Profiler. . . . . . . . . . . . . . . . . . . . . 74
C.4 Code Composer Profiler habilitado. . . . . . . . . . . . . . . . . . . . . . . 74
D.1 Fluxograma do modelo empregado neste trabalho baseado no Metodo de
Simulacao Monte Carlo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
F.1 Funcao de autocorrelacao de sequencias m (SMC). . . . . . . . . . . . . . . 81
Lista de Tabelas
3.1 Comparativo entre Processadores RISC e CISC × DSP . . . . . . . . . . . 19
6.1 Numero de Usuarios (K) e Ganho de Processamento (N) em cada ponto
processado no Indice de Carregamento (L) do Sistema. . . . . . . . . . . . 38
7.1 Tabela com os Ciclos do DSP resultados do Profile do CCS da funcao
MF DecisorHard (detector convencional). . . . . . . . . . . . . . . . . . . . 49
7.2 Tabela comparativa da complexidade do CD para diferentes valores de K
e N mostrando o Fator de Proporcionalidade K ×N . . . . . . . . . . . . . 50
7.3 Mapa de processamentos realizados utilizando Profile da funcao MF DecisorHard
(detector convencional); demonstram-se as posicoes onde ocorreu repeticao
do fator K ×N com um asterisco. . . . . . . . . . . . . . . . . . . . . . . . 51
7.4 Tabela da complexidade computacional, em ciclos do DSP, do CD (funcao
MF DecisorHard) em relacao ao Fator de Proporcionalidade K ×N . . . . 52
7.5 Tabela da complexidade computacional, em ciclos do DSP, da Funcao-
Custo Inicial do 1− opt LS (funcao LS 1 opt) em relacao ao numero de
Usuarios, K. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.6 Tabela da complexidade computacional, em ciclos do DSP, de cada Iteracao
do 1− opt LS (funcao LS 1 opt) em relacao ao numero de Usuarios, K. . . 54
7.7 Maximo numero de usuarios de voz (aplicacao em tempo real) que podem
ser processados no TMS320C6713. . . . . . . . . . . . . . . . . . . . . . . . 59
Lista de Siglas e Abreviaturas
1− opt LS 1-Optimum Local Search - Algoritmo de Busca Local 1-otimo
AWGN Additive White Gaussian Noise - Ruıdo Branco Aditivo Gaussiano
BER Bit Error Rate - Taxa de erro de bit
BPSK Binary Phase Shift Keying - Modulacao por Chaveamento de Fases
CCS Code Composer Studio - Programa utilizado na interface com aPlataforma do DSK C6713
CISC Complex Instruction Set Computer - Computador com umConjunto Complexo de Instrucoes
CD Conventional Detector - Detector Convencional
CDMA Code Division Multiple Access - Multiplo Acesso por Divisao de Codigo
COFF Common Object File Format - Arquivo de Formato Comumutilizado em sistemas baseados em UNIX
DAC Digital-to-Analog Converter - Conversor Digital-Analogico
DS-CDMA Direct Sequence CDMA - CDMA por Sequencia Direta
DSK DSP Starter Kit - Kit Basico de Desenvolvimento para DSP
DSP Digital Signal Processor - Processador Digital de Sinais
ERB Estacao Radio Base
EP-C Evolutionary Programming with Cloning - ProgramacaoEvolucionaria com Clonagem
FDMA Frequency Division Multiple Access - Multiplo Acesso porDivisao de Frequencia
Heur-MuD Heuristic MuD - Detector Multiusuario Heurıstico
IC Interference Cancellation - Cancelamento de Interferencia
IDE Integrated Development Environment - Ambiente Integradode Desenvolvimento
MAI Multiple Access Interference - Interferencia de Multiplo Acesso
MCS Monte Carlo Simulation - Metodo de Simulacao Monte Carlo
MFB Matched Filter Bank - Banco de filtros casados
ML Maximum Likehood - Estimador de Maxima Verossimilhanca
MMSE Minimun Mean Squared Error - Detector por Mınimo ErroQuadratico Medio
MuD Multi User Detection - Deteccao Multiusuario
NFR Near-Far Ratio - Efeito “perto-longe”
OMuD Optimum MuD - Detector Multiusuario Otimo
PC Personal Computer - Computador Pessoal
RISC Reduced Instruction Set Computer - Computador com umConjunto Reduzido de Instrucoes
RTDX Real-Time Data Exchange - Troca de Dados em Tempo Real
PSO Particle Swarm Optimization - Otimizacao por Nuvem de Partıculas
SMC Sequencia de Maximo Comprimento
SNR Signal Noise Ratio - Relacao Sinal Ruıdo
SS Spread Spectrum - Espalhamento Espectral
SuB Single-User Bound - Limite de BER para usuario isolado
SuD Single-User Detection - Deteccao Uniusuario
TDMA Time Division Multiple Access - Multiplo Acesso por Divisao de Tempo
VLIW Very-Large-Instruction-Word - Arquitetura de Intrucoes Muito Longas
ZF-DF Zero Forcing Decision Feedback - Decisao Realimentada Zero Forcing
Notacoes
a, µ,A Escalar, caracter em italico
a Vetor, caracter minusculo em negrito
A Matriz, caracter maiusculo em negrito
a Valor estimado de uma dada variavel a
ai i-esimo elemento do vetor a
Ai,j Elemento da i -esima linha e j -esima coluna da matriz A
diag(a1, ..., ak) Matriz diagonal com elementos a1, ..., ak
.T Operador matriz transposta
.H Operador hermitiano
<. Operador parte real
=. Operador parte imaginaria
sgn [.] Operador sinal do argumento
max[.] Valor maximo assumido pelo argumento
Q(.) Funcao erro complementar gaussiano
Palavras em italico sao empregadas para identificar termos de lıngua inglesa nao
traduzidos.
pdf (x) Funcao densidade de probabilidade da variavel x
U(x, y) Processo aleatorio com distribuicao uniforme entre as variaveis x e y
N(x, y) Processo aleatorio com distribuicao normal de media x e variancia y
x(t) Variavel x de tempo contınuo
∈ Pertence ao conjunto
Lista de Sımbolos
A Amplitude do sinal
b Bit transmitido
C (t) Forma de onda contınua para canal com desvanecimento
CR% Razao de complexidade percentual
DSPCycles Numero de ciclos de processamento por segundo do DSP
Eb Energia de bit
Eb/N0 Relacao entre a energia de bit recebido ea densidade espectral de potencia do ruıdo
F (x) fitness value - funcao custo da variavel x
F best Funcao custo global
gi Ganho da funcao custo de cada i-esimo vetor-candidatoem relacao a funcao custo global
h (t) Resposta impulsiva do canal
K Numero de usuarios ativos
L Indice de carregamento
m Iteracao atual do algoritmo de busca local
Mt Numero de iteracoes adotado na simulacao
nerros Numero de erros por ponto na Simulacao Monte Carlo
N Ganho de processamento
N0 Densidade espectral de potencia do ruıdo
Nsom Numero de operacoes de soma na implementacao em DSP
Nprod Numero de operacoes de multiplicacao na implementacao em DSP
R Taxa de transferencia de bits
r (t) Sinal em tempo contınuo que chega ao receptor
R Matriz de correlacao entre todas as sequencias
sik i-esimo chip da sequencia de espalhamento do k-esimo usuario
t Tempo
trials Numero de repeticoes da Simulacao Monte Carlo
Tb Perıodo de bit
Tc Perıodo de chip
y Saıda amostrada de um correlacionador
V (x) Vizinhanca de x, equivalente a distancia de Hamming
η Parcela devida ao ruıdo termico de tempo discreto amostrado
η (t) Parcela devida ao ruıdo termico de tempo contınuo
λx,y Correlacao cruzada entre as sequencia x e y
ϑ Vetor-candidato
ϑbest Melhor vetor-candidato obtido segundo a funcao custo (vetor-solucao)
σx Desvio padrao do processo x
σ2x Variancia do processo x
1
1 Introducao
Este capıtulo introdutorio ira tratar dos principais conceitos basicos da tecnologia
DS/CDMA. Em seguida, sera feita uma descricao dos conteudos explorados em cada um
dos capıtulos.
1.1 A tecnologia CDMA
A tecnica CDMA e caracterizada pelo compartilhamento do mesmo recurso espec-
tral por todos os usuarios ativos, ou seja, os usuarios transmitem simultaneamente em
uma mesma banda de frequencia. Para isso, a informacao de cada usuario e multipli-
cada por uma sequencia, chamada codigo de espalhamento, que ocupa uma banda muito
maior que a da informacao, fazendo com que a informacao de cada usuario, agora “es-
palhada”espectralmente, ocupe uma banda muito maior que a mınima necessaria; isto
e chamado de espalhamento espectral (SS - Spread Spectrum). Cada usuario possui seu
proprio codigo de espalhamento, de forma que se tenha uma situacao onde ou haja orto-
gonalidade entre os codigos ou, de forma ainda favoravel, as correlacoes (ou interferencia
de multiplo acesso) entre os sinais dos usuarios sejam reduzidas. No receptor, o sinal e
“desespalhado”via multiplicacao por uma replica do codigo de cada usuario e, devido a
baixa correlacao entre cada codigo (ou virtualmente e zero ou mesmo existe ortogonali-
dade entre eles), a informacao dos outros usuarios sao interpretadas como ruıdo, chamado
de interferencia de multiplo acesso (MAI - Multiple Access Interference).
Potencialmente, sistemas CDMA podem fornecer uma maior capacidade de canal do
que sistemas de multiplo acesso por divisao de frequencia (FDMA - Frequency Division
Multiple Access) e por divisao de tempo (TDMA - Time Division Multiple Access). A
capacidade de canal pode ser definida como o numero maximo K0 de usuarios simultaneos
que podem ser suportados em uma faixa de frequencia do espectro. Portanto, a capacidade
de canal de radio e a medida da eficiencia de espectro em um sistema sem fio. E um
parametro determinado pela relacao sinal-ruıdo (SNR - Signal-to-Noise Ratio) na entrada
1.1 A tecnologia CDMA 2
do receptor e pela largura de banda W definida/alocada ao sistema (ZIGANGIROV, 2004).
Verifica-se, atualmente, que as tecnologias dominantes sao aquelas baseadas em sis-
temas CDMA. Ha tres razoes predominantes que corroboram essa tendencia (OLIVEIRA,
2007):
• alta flexibilidade para transmissao de altas taxas de dados;
• utilizacao de sinais recebidos por multiplos percursos;
• ganho referente ao “Soft Handoff”1, permitindo a manutencao da conexao com a
estacao radio-base (ERB) enquanto o terminal movel desloca-se de uma celula a
outra.
Em sistemas DS-CDMA existem duas maneiras para a deteccao da informacao, a
convencional (SuD - Single-user Detector) e a multiusuario (MuD - Multi-user Dectetor).
Na proxima subsecao serao abordados aspectos da deteccao convencional.
1.1.1 Deteccao Convencional (SuD)
Na deteccao convencional cada ramo detecta um unico usuario sem levar em consi-
deracao a existencia dos demais, geralmente utilizando-se de um banco de filtros casados
(MFB - Matched Filter Bank), ou receptor de correlacao. Para modulacao BPSK (Bi-
nary Phase Shift Keying), este filtro, casado ao codigo de espalhamento e a formacao de
pulso/chip, e composto de um integrador seguido de um amostrador-retentor e um cir-
cuito final de decisao. Nao ocorre compartilhamento da informacao nem processamento
dos sinais dos demais usuarios ativos. Neste contexto, a interferencia MAI e tratada
simplesmente como ruıdo de fundo (AWGN - Additive White Gaussian Noise).
A figura 1.1 ilustra as formas de onda de uma transmissao e recepcao em sistemas
DS/CDMA em banda-base; considera-se um detector uniusuario DS/CDMA SuD com
ganho de processamento igual a 8 (TACHIKAWA, 2002):
Os dados da informacao transmitida pelos usuarios 1 e 2 sao espalhados no espectro
pelo codigo de espalhamento atribuıdo exclusivamente a cada usuario, de forma que, a
autocorrelacao dos codigos seja alta e a correlacao cruzada entre os codigos seja baixa
(ou virtualmente zero), ou seja, estejam total ou parcialmente descorrelacionados. O
ganho de processamento e dado pelo numero de chips (bits) do codigo de espalhamento.
1Uma vez que todos os usuarios transmitem ao mesmo tempo, e na mesma frequencia, um terminalmovel pode se comunicar com varias estacoes radio base ao mesmo tempo.
1.1 A tecnologia CDMA 3
Figura 1.1: Formas de onda no processo de espalhamento/desespalhamento do sinalum sistema DS/CDMA com dois usuarios e receptor convencional.
Desta forma, a sequencia de dados da informacao espalhada e gerada a uma taxa de
chip equivalente a taxa de sımbolo (bits) dos dados da informacao vezes o ganho de
processamento. Em seguida, os dados de informacao espalhados de cada usuario sao
somados (Sinal Composto da figura 1.1) para indicar que todos os usuarios ocupam o
mesmo espectro do canal de radio. No receptor, o sinal e sincronizado e multiplicado
por uma replica de seu codigo de espalhamento. Apos a multiplicacao (desespalhamento
espectral), o sinal e integrado sobre um perıodo de sımbolo de dados da informacao
(processo denominado Sample and Hold (integra e retem) para recuperar os dados da
informacao transmitidos, minimizando o efeito do ruıdo de fundo (AWGN). Este bloco
do processo de deteccao e denominado filtro casado (MFB) ao codigo de espalhamento de
cada usuario.
O sucesso da deteccao convencional depende das propriedades de correlacao cruzada
e auto-correlacao dos codigos de espalhamento envolvidos e de um rigoroso controle de
potencia.
1.1 A tecnologia CDMA 4
1.1.2 Deteccao MuD
Na deteccao MuD, informacoes dos usuarios ativos no sistema sao utilizadas conjunta-
mente a fim de atenuar/eliminar a interferencia provocada entre si para melhor detectar
cada usuario individualmente, aumentando o desempenho e/ou capacidade do sistema
movel celular de modo a aproxima-la da capacidade do canal (ABRAO, 2001).
As principais vantagens associadas aos detectores multiusuario sao (CIRIACO, 2004):
• Significativo aumento de capacidade e desempenho;
• Relaxacao do requisito de controle de potencia: como ha um grande ganho de
desempenho (reducao do impacto da MAI), abranda-se a exigencia de um controle
de potencia;
• Utilizacao mais eficiente da energia: a reducao da interferencia no canal reverso pode
resultar em reducao no requisito de potencia transmitida pelos moveis, propiciando
uma maior autonomia para as baterias e/ou reduzindo o volume e peso dos terminais.
Em sistemas DS/CDMA, a limitacao de desempenho e capacidade do sistema e resul-
tado principalmente da MAI. Ela torna-se substancial quando o numero de usuarios cresce
e/ou quando as disparidades de potencia crescem. Assim, enquanto a deteccao convencio-
nal considera todos os usuarios interferentes como ruıdo, a deteccao multiusuario constitui
uma melhor estrategia justamente por utilizar as informacoes destes usuarios no processo
de deteccao, combatendo efetivamente a interferencia de multiplo acesso, resultando em
melhoria de desempenho em relacao ao detector convencional (VERDU, 1986).
As tecnicas de deteccao expostas na literatura podem ser classificadas conforme a
figura 1.2 (CIRIACO, 2004).
Os detectores multiusuario lineares sub-otimos, Descorrelacionador e Detector por
Mınimo Erro Quadratico Medio (MMSE - Minimun Mean Squared Error), resultam em
substancial aumento de desempenho e capacidade do sistema em relacao ao detector
Convencional, entretanto, inferior ao detector otimo. Porem, o grande problema destes
detectores e a realizacao/implementacao da inversao de matriz (matriz de correlacao), o
que implica em uma alta complexidade (para deteccao em tempo real) em sistemas com
muitos usuarios ativos.
Para os detectores multiusuario baseados no cancelamento de interferencia (IC - In-
terference Cancellation) e o ZF-DF (Zero Forcing Decision Feedback) o princıpio de
1.1 A tecnologia CDMA 5
Detecção de dadosem Sistemas
DS/ CDMA
Uniusuário( SuD )
Multiusuário( MuD )
Convencional( MFB )
Canceladoresde
Interferência
Sucessivo(SIC)
Paralelo( PIC )
Híbrido(HIC)
ZF- DF
Ótimo(ML)
Lineares
Descorrelacionador
Detector por MínimoErro Quadrático Médio
( MMSE )
AlgoritmosHeurísticos
Evolucionários Busca Local
Figura 1.2: Classificacao geral para os principais detectores em sistemas DS/CDMA.
operacao consiste na geracao de estimativas para a MAI, seguido pelo cancelamento
(atraves de subtracao) da MAI do sinal do usuario de interesse. A complexidade destes
detectores cresce com o numero de estagios necessarios para a demodulacao e a partir
de um certo numero de estagios nao ha mais ganho significativo de desempenho, devido
ao aumento do erro nas estimativas da interferencia. Isto limita o desempenho destes
algoritmos.
O melhor desempenho possıvel e obtido com o detector otimo (OMuD) de maxima
verossimilhaca (ML - Maximum Likelihood), porem as custas de uma complexidade com-
putacional que cresce exponencialmente com o numero de usuarios, tornando-o inviavel
para implementacao em sistemas de interesse comercial (VERDU, 1998).
As tecnicas heurısticas serao abordadas na subsecao 1.1.2.1.
1.1.2.1 OMuD e as tecnicas Heurısticas (sub-otimas)
Devido a alta complexidade do OMuD (Optimum MuD), inumeros trabalhos tem
sido desenvolvidos no sentido da simplificacao deste problema com a manutencao do de-
sempenho, entre eles, a deteccao multiusuario baseada em tecnicas heurısticas, chamadas
de sub-otimas, pois, apresentam desempenhos muito proximo ao otimo.
Estas tecnicas heurısticas sao baseadas na aproximacao sucessiva do resultado. Sao
gerados vetores-candidatos que sao avaliados atraves de uma Funcao-Custo (fitness va-
1.1 A tecnologia CDMA 6
lue) que analisa a aptidao desses candidatos em relacao a solucao otima, os melhores
candidatos permanecem e sao comparados com candidatos de um proximo ciclo e, as-
sim, sucessivamente. A baixa complexidade juntamente com os bons resultados obtidos
atraves destas tecnicas fazem com que os metodos heurısticos sejam muito bem aceitos e
viaveis na deteccao MuD.
Dentre as tecnicas heurısticas, emprega-se neste trabalho o algoritmo de busca lo-
cal (LS - Local Search) (AARTS; LENSTRA, 2003), por suas caracterısticas de baixıssima
complexidade na resolucao do problema MuD.
Conforme foi mencionado, cada detector multiusuario apresenta suas vantagens e
desvantagens. Com excecao do detector otimo, que tem sua implementacao impraticavel
para os padroes de tecnologia atuais, os outros detectores tem sua aplicacao viavel. Porem,
as tecnicas heurısticas se apresentam mais atrativas por combinarem diferentes aspectos
que se encaixam perfeitamente as limitacoes de capacidade computacionais existentes
atualmente. Dois fatores sao essenciais na analise de viabilidade de implementacao de um
MuD, sao eles: desempenho e complexidade computacional (processamento).
Por terem sua evolucao de busca baseada na avaliacao de uma funcao custo desen-
volvida no princıpio OMuD, os detectores multiusuario heurısticos (Heur-MuD) apre-
sentam desempenho com limiar aos valores otimos; portanto, sao superiores aos detecto-
res multiusuario lineares e aos canceladores de interferencia. Quanto a complexidade, a
aplicacao de tecnicas heurısticas ao problema MuD resulta em uma funcao polinomial
dependente apenas de parametros do sistema, o que reduz significativamente o tempo de
processamento.
Na figura 1.3 tem-se o carregamento de um sistema DS/CDMA em canal sıncrono
AWGN para diversos receptores heurısticos. Todos sao avaliados pela Taxa de Erro de
Bit (BER - Bit Error Rate) e percebe-se claramente a melhora de desempenho em relacao
ao detector convencional (CD). Os algoritmos heurısticos avaliados sao:
• LS: Busca Local 1-otimo (1− opt LS-MuD)
• EP-C: Programacao Evolucionaria com Clonagem (EP-C-MuD)
• GA: Algoritmo Genetico (GA-MuD)
• Swarm: Otimizacao por Nuvem de Partıculas (PSO-MuD)
As caracterısticas mais marcantes dos detectores Heur-MuD sao:
1.2 Descricao de Conteudo 7
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
10−2
10−1
Índice de Carregamento
BE
RCDLSEP−CGASwarmSuB (BPSK)
Figura 1.3: Avaliacao do Carregamento do Sistema atraves da BER dos principaisalgoritmos heurısticos para N = 32 e Eb/N0 = 6dB.
• complexidade reduzida em relacao ao OMuD;
• desempenho muito proximo ao do OMuD;
• tolerancia ao efeito near-far e ao carregamento do sistema (ou a MAI).
Desta forma, existe grande viabilidade de implementacao dos Heur-MuD atraves de
uma plataforma de DSP, conforme proposto neste trabalho.
1.2 Descricao de Conteudo
Este trabalho de conclusao de curso em Engenharia Eletrica propoe a implementacao
de um ou mais subsistemas de comunicacao sem fio de multiplo acesso por divisao de
codigo de sequencia direta (DS/CDMA), utilizando a tecnica de processamento digital de
sinais (DSP). A partir da utilizacao de kits de desenvolvimento DSP comerciais, foi im-
plementado e caracterizado um (ou mais) blocos constituintes de um sistema DS/CDMA
tıpico, podendo ser um bloco de deteccao de dados multiusuario, um estimador de coefi-
cientes de canal ou de sincronismo, etc.
Tais implementacoes em DSP serao baseadas em solucoes sub-otimas (heurısticas),
1.3 Publicacoes 8
previamente estabelecidas. Solucoes heurısticas conciliam requisitos de alto desempenho
e reduzida complexidade de implementacao em problemas cuja solucao requer tempo
computacional excessivo (por exemplo, tempos nao-polinomiais (NP), NP completo ou
incompleto).
1.3 Publicacoes
• Metodologia de Projeto e Implementacao em DSP C6713 dos Algoritmos Heurısticos
de Deteccao Multiusuario em Sistemas CDMA.
Autores: MUSSI, A.M.; RIBEIRO, R.O.; ABRAO, T..
• Analise de Complexidade dos Algoritmos heurısticos de Deteccao Multiusuario CDMA
implementados em DSP (Plataforma TMS320C6713).
Autores: RIBEIRO, R.O.; MUSSI, A.M.; ABRAO, T..
9
2 Descricao do Sistema
Sao descritos os tres subsistemas de um DS/CDMA: Transmissor, Receptor Conven-
cional (CD ou SuD) e o Heur-MuD usando o algoritmo de Busca Local 1-otimo (1−optLS - 1-Optimum Local Search). Dentre estes, o receptor 1-LS-MuD sera implementado
em DSP. Para todos os sistemas DS/CDMA, foi empregado um modelo de sinais em
banda-base equivalente sobre um canal AWGN sıncrono. Para maiores informacoes sobre
AWGN, ver anexo G.
2.1 Transmissor
Este e o primeiro subsistema a ser descrito, sendo utilizado em conjunto pelo detector
convencional (CD) e pelo do Heur-MuD, formando, assim, dois sistemas independentes.
Este subsistema sera descrito em linguagem Matlab. A metodologia detalhada empregada
neste subsistema e abordada no capıtulo 4.
Em um sistema DS/CDMA, com K usuarios ativos, utilizando modulacao BPSK e
canal com desvanecimento, o sinal em tempo contınuo que chega ao receptor pode ser
descrito, em banda-base, como:
r (t) =K∑k=1
Akbksk (t− τk) ∗ h (t) + η (t) (2.1)
onde K e o numero de usuarios ativos no sistema; t ∈ [0, Tb] e Tb e o perıodo de bit1;
Ak e a amplitude do sinal transmitido do k-esimo usuario, dada por Ek = PkTb = A2kTb,
onde Ek e a energia de bit e Pk a potencia do sinal recebido pelo k-esimo usuario; bk ∈−1,+1 e o bit de informacao transmitido do k-esimo usuario, assumidos equiprovaveis
e independentes; h (t) e a resposta impulsiva do canal e η (t) ruıdo AWGN de tempo
contınuo, representando o ruıdo termico e outras fontes de ruıdo nao relacionadas aos
sinais transmitidos com densidade de potencia bilateral igual a N0/2.
1Adotado sem perda de generalidade como normalizado
2.2 Receptor Convencional 10
A sequencia de espalhamento, sk, atribuıda ao k-esimo usuario e dada por:
sk (t) =N−1∑i=0
z(i)k Pt(t− iTc) (2.2)
onde zk e o vetor de chips, com z(i)k ∈ −1,+1 com duracao de Tc; Tc e o intervalo de
cada chip e Pt (.) e um pulso retangular de amplitude unitaria no intervalo [0, Tc).
Neste trabalho, considera-se sistemas DS/CDMA com codigos de espalhamento curtos,
isto e, o ganho de processamento e dado por N = Tb/Tc. Tambem sao consideradas
sequencias de espalhamento aleatorias, pois uma vez que se trata de uma implementacao,
a consideracao do pior caso e preferencial. Para maiores detalhes sobre as sequencias de
espalhamento, ver anexo F.
Outra consideracao feita neste trabalho e que um canal sera caracterizado por um
AWGN sıncrono, ou seja, τk = 0 nao havendo efeito de desvanecimento de pequena escala
(ruıdo multiplicativo). Reescrevendo a equacao (2.1) e levando-se em conta os parametros
utilizados neste trabalho, obtem-se:
r (t) =K∑k=1
Akbksk (t) + η (t) (2.3)
Este e o sinal em tempo contınuo que chega ao receptor, consistindo da soma de
sinais antipodais espalhados por sequencias de espalhamento sıncronas imersas em um
canal AWGN.
2.2 Receptor Convencional
Este e o segundo subsistema a ser descrito em linguagem Matlab e implementado em
DSP devido a compor um estagio do 1-LS-MuD. Compoe com o transmissor um sistema
DS/CDMA com o intuito de ser comparado ao 1 − opt LS Heur-MuD podendo assim
ser desenvolvida uma analise de desempenho em uma base comparativa.
Para uma recepcao coerente em canal AWGN sıncrono, o sinal a saıda de um banco
de filtros casados a sequencia de espalhamento de cada usuario, ou receptor Convencional,
pode ser escrito como:
yk =
Tb∫0
r (t) sk (t)dt = Akbk +K∑j 6=k
Ajbjλk,j + ηk (2.4)
2.2 Receptor Convencional 11
onde ηk e o ruıdo AWGN filtrado para o k-esimo usuario e λk,j denota o k, j-esimo
elemento da matriz de correlacao R.
O conjunto de sinais de equacao (2.4) (k = 1, 2, ...K) pode ser expressa na forma
matricial:
y = RAb + η (2.5)
Sendo y um vetor K×1, RKxK: matriz de correlacao, A a diagonal principal da matriz de
amplitudes e b e o vetor contendo um bit de informacao de cada usuario. Para sinalizacao
BPSK, o CD toma decisoes baseado na polaridade dos sinais a saıda2 do integrador, y,
obtendo o vetor de informacao estimada:
b = sgn[y] =
−1 : y < 0
+1 : y ≥ 0(2.6)
A funcao sinal, sgn[·], retorna a polaridade de um numero real.
O sistema transmissao-recepcao SuD adotado pode ser visualizado por meio da fi-
gura 2.1. Neste sistema de deteccao, fica claro a limitacao de desempenho devido a
interferencia de multiplo acesso, uma vez que o sinal a ser transmitido de cada usuario
e somado aos demais usuarios interferentes (termoK∑j 6=k
Ajbjλk,j da equacao (2.4)) e no
receptor nao ha uma estrategia que considere as informacoes dos interferentes no processo
de deteccao do usuario de interesse.
Por ser um sistema sıncrono AWGN e nao seletivo em frequencia, ha possibilidade do
uso de sequencias de espalhamento do tipo Gold ou Walsh-Hadamard (ortogonais) que
tem baixas (ou nulas) propriedades de correlacao cruzada reduzindo, desta forma, a inter-
ferencia de multiplo acesso. Porem, o uso destas sequencias limita o numero maximo de
usuarios ativos no sistema para um dado tamanho de sequencia. Para maiores informacoes
sobre sequencias de espalhamento ver anexo F.
O uso de sequencias de espalhamento aleatorias praticamente elimina o limite maximo
de usuarios ativos do sistema. Porem, nao ha garantia de ortogonalidade entre as sequencias.
Desta forma, as propriedades de correlacao cruzada entre as sequencias nao serao geral-
mente baixas, consequentemente, os sinais dos usuarios sofrerao uma MAI mais elevada.
Contudo, este percalco nao e desvantajoso neste trabalho, pois, o foco aqui e a imple-
mentacao do receptor, sendo a condicao de pior caso (em relacao as sequencias Gold ou
Walsh-Hadamard) preferencial por ser mais geral e pratico. Como o CD sera compa-
rado ao Heur-MuD, pode-se melhor analisar o aumento de desempenho causado pelo
2decisor abrupto (hard)
2.3 Detector Multiusuario baseado em Algoritmos Heurısticos 12
Figura 2.1: Sistema Transmissao-Recepcao Convencional - (a) Transmissor embanda-base; (b) Modelo de canal adotado; (c) 1o estagio MFB e (d) Detector
Convencional Abrupto.
Heur-MuD pela eliminacao da elevada MAI.
2.3 Detector Multiusuario baseado em Algoritmos
Heurısticos
Este e o terceiro subsistema a ser descrito em linguagem Matlab e implementado
efetivamente empregando-se a plataforma do DSK C6713.
O algoritmo heurıstico utilizado neste trabalho foi o de busca local (LS). O algoritmo
LS e um metodo de otimizacao que se caracteriza pela varredura em uma vizinhanca pre-
estabelecida do universo de busca (AARTS; LENSTRA, 2003). Nesse metodo, e importante
a escolha da solucao inicial e a limitacao da vizinhanca para se encontrar uma solucao
valida com uma complexidade computacional aceitavel.
Uma caracterıstica dos algoritmos de busca local e a existencia de duas estrategias
para a realizacao do deslocamento no espaco de busca. Existe a estrategia de desloca-
mento pelo maior ganho e a estrategia de deslocamento pelo primeiro ganho. A primeira
utiliza a melhor solucao de uma vizinhanca como entrada da proxima iteracao. A ou-
tra estrategia utiliza a primeira solucao que apresentar um maior valor que a solucao
atual como entrada da proxima iteracao (CIRIACO, 2004). Neste trabalho, utilizou-se a
2.3 Detector Multiusuario baseado em Algoritmos Heurısticos 13
estrategia de deslocamento pelo maior ganho.
No intuito de diminuir a complexidade computacional e, consequentemente, o tempo
computacional, foi escolhido o algoritmo de busca local 1-otimo (1− opt LS).
2.3.1 1 − opt LS-MuD
Este algoritmo procura por uma solucao ao redor de uma vizinhanca composta por
todas as possıveis solucoes cuja distancia de Hamming3, equacao (2.7), e igual a 1. A
cada nova iteracao de busca no LS, todos os vetores com distancia de Hamming igual a 1,
chamados de vetores-candidatos (ϑ), sao avaliados atraves do computo da Funcao-Custo
(F), ver equacao (2.8). O melhor vetor obtido atraves da avaliacao e entao adotado como
sendo o novo ponto base de calculo da vizinhanca para a proxima iteracao. A figura 2.2
esquematiza o funcionamento simplificado.
Figura 2.2: Diagrama simplificado do funcionamento do algoritmo heurıstico 1− optLS.
3A distancia de Hamming entre dois vetores e o numero de bits diferentes entre eles
2.3 Detector Multiusuario baseado em Algoritmos Heurısticos 14
O vetor-candidato inicial tomado como base (ϑbestinicial) para calculo da vizinhanca com
distancia de Hamming igual a 1 e dado pela saıda do CD. Neste trabalho, um detec-
tor convencional abrupto (decisao hard). Os vetores-candidatos sao obtidos conforme
equacao (2.7). Como o vetor a saıda do CD tem K bits (K = numero de usuarios) e a
distancia de Hamming e igual a 1 sao gerados vetores-candidatos em numero equivalente
ao numero de bits do vetor-base. Portanto, serao gerados K vetores-candidatos, ou seja,
ha K possıveis solucoes.
V (ϑm) =ϑi ∈ −1, 1K tal que ‖ϑi − ϑm‖ = 1
(2.7)
onde ϑm e o vetor-base; Mt e o numero maximo de iteracoes e m = 1, ...,Mt e i = 1, ..., K.
Todos vetores-candidatos tem sua aptidao avaliada por uma Funcao-Custo que e ba-
seada (tomada a parte real) na funcao de verossimilhanca (ML):
F (ϑ) = Re2yTCHAϑ− ϑTCARACHϑ (2.8)
onde y e o vetor de saıda do 1o estagio do MFB (antes do decisor abrupto); C e a matriz
diagonal dos coeficientes do canal; A e a matriz de amplitudes dos sinais dos usuarios
(ganho) e R e a matriz de correlacao.
Neste trabalho, nao foi considerado um ruıdo multiplicativo. Portanto, pode-se definir
a matriz diagonal dos coeficientes do canal igual a 1 (C = 1). Desta forma, a equacao (2.8)
pode ser simplificada, sendo reescrita como:
F (ϑ) = Re2yTAϑ− ϑTARAϑ (2.9)
O algoritmo LS tem como objetivo a maximizacao da Funcao-Custo atraves de possıveis
solucoes (ϑ) e tem um desempenho que se aproxima do OMuD a medida que o numero de
iteracoes (m) aumenta. Neste trabalho, foi adotada uma estrategia diferente ao do 1−optLS classico com o intuito de escapar de maximos locais. Sao considerados dois vetores
como os de melhores solucao. O primeiro ϑbest e o vetor com a melhor solucao global, ou
seja, entre todas iteracoes e sua avaliacao de aptidao e dada por F best. O segundo ϑm
e o vetor com a melhor solucao da iteracao atual, chamado de vetor-base neste trabalho
e este maximiza a Funcao-Custo entre todos os vetores-candidatos da iteracao atual e e
vetor usado para o calculo da distancia de Hamming em cada nova iteracao. Quando o
vetor-base e tambem a melhor solucao global, entao, os dois vetores se igualam. Porem,
quando o vetor-base nao tem sua Funcao-Custo maior que F best, mantem-se os valores de
ϑbest e F best. Entretanto, a proxima iteracao e calculada a partir da vizinhanca do vetor-
2.3 Detector Multiusuario baseado em Algoritmos Heurısticos 15
base (ϑm), procurando-se assim o escape de um possıvel maximo local. No pseudocodigo
abaixo e demonstrado o algoritmo utilizado neste trabalho.
Algoritmo 1 − opt LS-MuD
1. Adota-se como solucao inicial o vetor a saıda do detector convencional:
ϑbest = b
ϑm = ϑbest
2. Calcula-se a aptidao da solucao inicial atraves da Funcao-Custo:
F best = F(ϑbest
)3. Para m = 1, ...,Mt:
(a) Encontram-se as K possıveis solucoes (vetores-candidatos) com distancia de
Hamming igual a 1 do vetor-base desta iteracao (ver equacao (2.7)).
(b) Calcula-se a aptidao de cada uma das solucoes atraves da Funcao-Custo.
(c) Encontra-se o ganho de cada uma das Funcoes-Custo calculadas em relacao
a melhor Funcao-Custo global, gerando um vetor g com os ganhos de cada
possıvel solucao:
gi = F (ϑi)−F best
(d) Encontra-se a melhor solucao da iteracao atual:
gmax = max (g)
ϑm = ϑposition gmax
(e) O ganho obtido pela melhor solucao desta iteracao e avaliado em relacao a
melhor solucao global:
Se gmax > 0:
ϑbest = ϑm
F best = gmax
Se gmax < 0 pode-se aplicar um criterio de parada, conforme sera descrito no
capıtulo 4
(f) Retorna-se a etapa 3 ate o numero de iteracoes m atinja o valor de Mt.
4. O vetor de saıda do algoritmo sera ϑbest.
Desta forma, pode-se citar algumas vantagens (OLIVEIRA, 2007) que o tornam inte-
ressante, principalmente, para aplicacoes que visam trabalhar em tempo real:
2.3 Detector Multiusuario baseado em Algoritmos Heurısticos 16
• ausencia de parametros de entrada;
• existencia de um criterio de parada sem definicao a priori;
• estrategia simples que possibilita simplificacoes.
Um diagrama em blocos do sistema de transmissao-recepcao com a incorporacao do
Heur-MuD pode ser visto na figura 2.3. O conjunto dos blocos (c) e (d) formam o detector
convencional.
Figura 2.3: Sistema Transmissao-recepcao LS-MuD - (a) Transmissor em banda-base;(b) Modelo de canal adotado; (c) 1o estagio MFB; (d) Decisor Abrupto com ponto de
derivacao das estimativas do MFB e (e) Algoritmo Heurıstico 1− opt LS.
17
3 Ferramentas Computacionais
Serao descritas as ferramentas computacionais utilizadas, neste trabalho, tanto para
obtencao de simulacoes que serao a base comparativa, pois, resultam em desempenhos
compatıveis com os obtidos no grupo de telecomunicacoes quanto para implementacao na
plataforma DSP com uso do algoritmo heurıstico 1− opt LS.
As ferramentas computacionais utilizadas neste trabalho foram escolhidas com base
na experiencia do autor no manuseio do software, outras sao ferramentas disponibilizadas
no DSK C6713. Portanto, para estes nao houve criterio de escolha.
3.1 MATLAB R©
O MATLAB R© Matrix Laboratory e um software da The Mathworks Inc. desti-
nado a fazer calculo com matrizes de dimensoes elevadas de forma eficiente. Contudo, ele
integra analise numerica, calculo com matrizes, processamento de sinais e construcao de
graficos em ambiente facil de usar onde problemas e solucoes sao expressos somente como
eles sao escritos matematicamente, ao contrario da programacao tradicional, tornando
mais simples o seu uso, possibilitando a incorporacao de rotinas e funcoes definidas pelo
usuario alem de pacotes para calculos especıficos.
A grande vantagem que o MATLAB possui em relacao as outras linguagens como,
por exemplo, o C e o Fortran consiste no fato de que no MATLAB as informacoes sao
facilmente armazenaveis em matrizes o que proporciona uma facil e rapida manipulacao
de uma grande quantidade de informacoes. Alem disso, o MATLAB possui uma grande
quantidade de bibliotecas auxiliares (“Toolboxes”) que otimizam o tempo gasto para reali-
zar tarefas, uma vez que, o usuario podera utilizar muitas funcoes ja definidas, poupando
o tempo de cria-las. Por outro lado, infelizmente, os programas feitos sao difıceis de serem
executados num ambiente fora do MATLAB. Por isto, neste trabalho, foi utilizado uma
comunicacao em tempo real entre o MATLAB e a plataforma DSP, chamada RTDX (Real
Time Data Exchange). Para informacoes detalhadas sobre RTDX, ver anexo B.
3.2 Plataforma de Desenvolvimento do DSK C6713 18
3.2 Plataforma de Desenvolvimento do DSK C6713
O DSP utilizado neste trabalho e um TMS320C6713, fabricado pela Texas Instru-
ments’ Inc., fazendo parte de um kit de desenvolvimento chamado DSK C6713. O DSP
esta contido em uma plataforma desenvolvida pela Spectrum Digital Inc. que integra o
DSP e uma serie de componentes que visam otimizar sua capacidade, como tambem ofe-
rece uma interface para expansao de memoria, I/O (Input/Output), entre outros. Maiores
informacoes sobre o DSK C6713 no anexo A.
O kit tambem inclui um software, chamado Code Composer Studio (CCS). Sua pro-
gramacao e feita atraves da linguagem C/C++ sendo usado para implementacao ja que
e totalmente integrado a plataforma do DSP.
3.2.1 DSP TMS320C6713
Uma das areas mais dinamicas dos sistemas digitais, hoje em dia, esta no campo do
processamento digital de sinais. Processadores de sinais digitais sao microprocessadores
rapidos feitos com um tipo especializado de arquitetura e um conjunto de instrucoes ade-
quadas para o processamento de sinal. O DSP C6713 trabalha com ponto-flutuante e
ponto-fixo. Sua arquitetura esta muito bem adaptada para calculos numericos intensivos,
baseado em uma arquitetura VLIW (Very-Large-Instruction-Word). O C6713 e conside-
rado, um dos mais poderosos processadores fabricados pela Texas Instruments’(CHASSAING,
2005). Maiores informacoes, ver anexo A.
Os processadores convencionais, ou de uso geral, sao projetados para manipular da-
dos, nao possuindo estruturas dedicadas para processamento digital de sinais. Enquanto
a grande maioria das aplicacoes dos processadores convencionais sao off-line, as aplicacoes
em DSP sao, em sua maioria, aplicacoes em tempo real. Nas aplicacoes off-line os dados
estao disponibilizados para o processamento e um pequeno atraso nao prejudica o resul-
tado do mesmo. Nas aplicacoes on-line, ou tempo real, os dados devem ser processados a
medida que sao recebidos e sao tolerados apenas atrasos muitos pequenos.
3.2.1.1 Comparativo entre DSP × CISC e RISC
Um processador CISC (Complex Instruction Set Computer) ou “computador com
um conjunto complexo de instrucoes”e capaz de executar varias centenas de instrucoes
complexas diferentes, sendo extremamente versatil.
3.2 Plataforma de Desenvolvimento do DSK C6713 19
No comeco da decada de 80, a tendencia era construir chips com conjuntos de ins-
trucoes cada vez mais complexos. Alguns fabricantes porem, resolveram seguir o caminho
oposto, criando o padrao RISC (Reduced Instruction Set Computer) ou “computador com
um conjunto reduzido de instrucoes”. Ao contrario dos complexos CISC, os processadores
RISC sao capazes de executar apenas algumas poucas instrucoes simples. Justamente por
isso, os chips baseados nesta arquitetura sao mais simples e muito mais baratos. Ou-
tra vantagem dos processadores RISC e que por terem um menor numero de circuitos
internos, podem trabalhar em frequencias mais altas.
A principal diferenca de um processador DSP para processadores RISC e CISC esta
no conjunto de instrucoes, uma vez que os DSPs possuem uma serie de instrucoes ma-
tematicas e poucas funcoes logicas, permitindo a realizacao de forma dedicada dos al-
gorıtmos de tratamento de sinais.
Tabela 3.1: Comparativo entre Processadores RISC e CISC × DSP
RISC e CISC Processadores DSPPrincipal Processador de Dados Processador MatematicoCaracterısticaAplicacao Tıpica Processamento de Texto, Processamento Digital de Sinais,
Gerenciamento de dados, Controle de Motores,Sistemas operacionais, etc. Simulacao de Sistemas, etc.
Principais Movimento de dados AdicaoOperacoes e Teste de valores. e Multiplicacao.Caracterısticas Tipicamente off-line. Tipicamente em tempo real.de Processamento
Pode-se citar como caracterısticas principais do DSP:
• Elevado ritmo de transferencia I/O;
• Alto grau de paralelismo na execucao de uma instrucao;
• Otimizacao da arquitetura para operacoes matematicas repetitivas (ciclos);
• Comutacao eficiente de contexto nas interrupcoes;
• Separacao entre dados, dados secundarios e programa.
Para o caso de sistemas DS-CDMA, como o sinal esta espalhado por toda a banda de
frequencias e trabalhando a uma taxa muito alta (devido ao reduzido perıodo de chip),
requerem um processamento de sinais muito elevado. Por isso, o DSP vem a ser uma
solucao muito apropriada para a implementacao de detectores Heur-MuD.
3.2 Plataforma de Desenvolvimento do DSK C6713 20
3.2.2 Code Composer Studio (CCS)
O CCS fornece um ambiente integrado de desenvolvimento (IDE - Integrated Develop-
ment Environment) para incorporar as ferramentas de software. O CCS inclui ferramentas
para a geracao de codigo, como um compilador C, um montador e um linker. Tem capa-
cidades graficas e suporte para depuracao em tempo real, fornecendo uma ferramenta de
facil manuseio para criar e depurar programas. O compilador C compila um programa
fonte em C com a extensao “.c”para produzir uma fonte em assembly com extensao
“.asm”. O assembler gera, a partir do arquivo assembly, um arquivo na linguagem de
maquina com extensao “.obj”, chamado “object file”. O linker combina “object files”e
bibliotecas (“object libraries”) para produzir um arquivo executavel na extensao “.out”.
Este arquivo representa um arquivo executavel popular em sistemas baseados em Unix e
adotado por varios fabricantes de processadores de sinal digital (objeto COFF - Common
Object File Format). Este arquivo executavel pode ser carregado e executado diretamente
sobre o processador C6713 (CHASSAING, 2005).
A analise em tempo real pode ser realizada utilizando o RTDX (anexo B). O RTDX
permite a troca de dados entre o PC e a plataforma DSP atraves do CCS, tendo a analise
avaliada em tempo real, ou seja, sem a interrupcao no processamento do DSP.
21
4 Metodologia
Este capıtulo descreve a metodologia empregada na elaboracao, implementacao em
DSP e caracterizacao dos subsistemas DS/CDMA.
Todas as simulacoes e implementacoes realizadas neste trabalho sao baseadas no
Metodo de Simulacao Monte Carlo (MCS - Monte Carlo Simulation), ver anexo D. As es-
timativas da quantidade de trials a serem transmitidos, ou seja, o numero de ciclos (cada
ciclo transmite um bit de cada usuario), foi feita considerando o numero de erros estima-
dos no Single-User Bound (SuB). Para maiores informacoes, ver anexo E. Considera-se
K como o numero de usuarios e N o ganho de processamento.
4.1 Transmissor-Detector Convencional em Banda Base
para Sistema DS/CDMA
Este sistema sera tanto implementado em DSP como parte do 1-LS-MuD quanto
descrito em linguagem MATLAB com a funcao de gerar, atraves de simulacoes, as figuras
de merito. Porem, somente o vetor a saıda do CD descrito em linguagem Matlab sera
analisado. Os resultados servirao como base comparativa para simulacoes posteriores
neste trabalho.
Como ja foi citado neste trabalho, o sistema DS/CDMA considerado e feito em banda-
base em canal AWGN sıncrono e nao seletivo em frequencia utilizando-se de sequencias
de espalhamento aleatorias. A deteccao convencional e feita por um decisor abrupto. A
figura 4.1 mostra um diagrama do sistema desenvolvido em MATLAB. Em (a) tem-se a
geracao do bit de informacao de cada usuario, feito atraves do comando “randsrc”que gera
aleatoriamente com igual probabilidade bits “1”ou “-1”, ou seja, na forma binaria bipola-
rizada; em (b) e realizado o espalhamento dos bits de informacao atraves das sequencias
de espalhamento aleatorias que sao geradas com o mesmo comando “randsrc”; em (c) e
adicionado o ruıdo AWGN, gerado usando-se o comando “normrnd”que utiliza o desvio
padrao (σn) como parametro de entrada; em (d) e feito o receptor convencional, sendo que
4.2 Transmissor 1-LS-MuD em Banda Base para Sistema DS/CDMA 22
o decisor abrupto e realizado por um comando especıfico do software chamado “sign”que
retorna o valor “1”se o valor for maior que 0 e “-1”caso seja menor que 0 e em (e) o vetor
de bits gerados na saıda do detector convencional abrupto e, entao, comparado ao vetor
de bits da informacao e atraves do uso do comando “biterr”para a geracao da BER. Este
comando necessita que os valores estejam na forma de bits “1”ou “0”.
Figura 4.1: Sistema DS/CDMA de Transmissao-Recepcao Convencional implementadono MATLAB.
4.2 Transmissor 1-LS-MuD em Banda Base para Sis-
tema DS/CDMA
Este sistema tera duas abordagens diferentes: o primeiro sera descrito inteiramente
em linguagem MATLAB para servir de base comparativa. Porem, o enfoque nesta secao
sera dado ao segundo sistema que sera parte em MATLAB e parte em DSP via CCS. Na
implementacao feita em CCS, para ser processada no DSP, emprega-se a linguagem C.
Foram criadas funcoes especıficas para adicao, multiplicacao de matrizes, como tambem,
uma funcao com o algoritmo 1 − opt LS. Todas estas funcoes foram armazenadas em
uma biblioteca que e adicionada ao projeto do CCS. A figura 4.2 ilustra um diagrama
do sistema MATLAB/DSP desenvolvido. Nesta figura e omitido o bloco de recepcao em
Matlab que serve de base comparativa com o 1− opt LS-MuD processado em DSP.
A comunicacao e transferencia de dados, entre MATLAB e CCS e feita atraves do
RTDX, sendo que, o CCS comunica-se com a plataforma do DSP C6713. Portanto, pode
ser dita que a comunicacao esta sendo feita entre o MATLAB e o DSP. O CCS recebe o
4.2 Transmissor 1-LS-MuD em Banda Base para Sistema DS/CDMA 23
Figura 4.2: Sistema DS/CDMA Transmissor - LS-MuD implementado em MATLABe DSP.
sinal transmitido oriundo do MATLAB para ser processado no DSP, e realizado primeiro
estagio do MFB e em seguida o decisor abrupto, que e enviado ao bloco contendo o
algoritmo de busca local 1-otimo. O vetor solucao na saıda do algoritmo heurıstico (ϑbest)
e enviado novamente ao MATLAB, onde serao calculados a BER, o tempo computacional
e geradas as figuras de merito. A figura 4.3 ilustra os principais processos envolvidos neste
sistema.
O fluxograma da figura 4.4 descreve detalhadamente cada passo desenvolvido na im-
plementacao em DSP do sistema Transmissor/1 − opt LS-MuD. Neste fluxograma e in-
cluıdo o bloco de deteccao 1 − opt LS-MuD realizado em Matlab para servir de base
comparativa junto ao vetor-solucao do mesmo detector processado em DSP. Os processos
marcados com “(DSP)”ao fim da descricao sao processos efetuados no DSP.
A configuracao das ligacoes de trafego de dados do RTDX empregada neste trabalho e
descrita na figura 4.5. O host e o computador e o target e a plataforma do DSK C6713. O
aplicativo-cliente no host e o Matlab e o dispositivo de destino no target e o processador
DSP. Nesta configuracao, a criacao e habilitacao dos canais de entrada e saıda do RTDX
devem ser feitas em ambos aplicativos; Matlab e CCS. Uma vez criados, os canais podem
transmitir dados do aplicativo-cliente para o dispositivo de destino e vice-versa. Porem, o
processador DSP deve estar rodando para que seja possıvel esta troca de dados em tempo-
real onde nao ha interrupcao de seu processamento. Quando um comando de recepcao de
dados via RTDX e executado, ha uma pausa na execucao do codigo ate que um comando
de escrita de dados seja executado no outro lado da comunicacao RTDX.
4.2 Transmissor 1-LS-MuD em Banda Base para Sistema DS/CDMA 24
Geração dosDados de Informação
e Seq. deEspalhamento Aleatórias
Espalhamento Espectraldos Dados de Informaçãoe Adição do Ruído AWGN
Filtro Casado à Seq.de Espalhamento
Decisor Abrupto
Algoritmo1-opt LS
Vetor solução do1-opt LS-MuD
Cálculos da BER eFiguras de Mérito:Eb/N
0[dB] x BER
L x BERNFR x BER
RT
DX
MATLAB DSP/CCS
RTDX
1-LS-MuD
Complexidade daImplementação em
DSP
Ferramenta cftool
FerramentaProfile do CCS
1
2
Figura 4.3: Diagrama de blocos do sistema DS/CDMA com LS-MuD implementadoem MATLAB e DSP.
Alguns comandos de recepcao e envio de dados via RTDX no CCS que sao utilizados
neste trabalho podem ser vistos na figura 4.6. Sao exibidos os comandos de recepcao
da matriz de sequencias de espalhamento de cada usuario ativo, da matriz de geracao
dos vetores-candidatos (“flipagem”) para distancia de Hamming igual a 1 e do vetor
contendo as amplitudes do sinal de cada usuario. Os comandos de envio exibidos referem-
se, respectivamente, ao vetor-solucao do 1− opt LS e ao contador de iteracoes do mesmo.
Alguns comandos de recepcao e envio de dados via RTDX no Matlab que sao utilizados
neste trabalho podem ser vistos na figura 4.7. Sao exibidos os comandos de envio da matriz
de sequencias de espalhamento de cada usuario ativo, da matriz de geracao dos vetores-
candidatos para distancia de Hamming igual a 1 e da matriz de amplitudes do sinal de
cada usuario. Os comandos de recepcao exibidos referem-se, respectivamente, ao vetor-
solucao do 1− opt LS e ao contador de iteracoes do mesmo realizadas no processamento
em DSP.
4.2 Transmissor 1-LS-MuD em Banda Base para Sistema DS/CDMA 25
Início
Geração de Sequênciasde Espalhamento
Aleatórias de dimensãoK x N
Cálculo da matriz deAmplitudes, potência do
ruído e Single-userBound ( SuB ) baseados
na Eb/No[dB]
trials :processados
=estimados
Aquisição dos Parâmetrosde Entrada
K, N, Eb/No[dB], nerros
Geração de umbit de
informação paracada usuário
ativo
Amplificação ,Espalhamento Espectral
e Soma dos sinais detodos usuários ativos
Adição do ruídoAWGN para
geração do sinal aser transmitido
Transmissão via RTDX ( Matlab paraCCS) da Matriz das Sequências de
Espalhamento e de flipagem(Distância de Hamming igual a 1)
Geração do arquivoem linguagem C
contendo osparâmetros de entrada
Compilação do projeto noCCS; Criação e Habilitação
dos canais RTDX;Carregamento e início doprocessamento no DSP
Transmissão viaRTDX ( Matlab para
CCS) do sinaltransmitido
Filtro Casado à réplicada seq . de
espalhamento de cadausuário( DSP )
Estimativa do número detrials a ser processado de
acordo com o valor den
erros(Método Monte-Carlo)
DecisorAbrupto( DSP )
Algoritmoheurístico 1-opt LS
( DSP )
Transmissão viaRTDX ( CCS paraMatlab ) do vetor
solução do 1-opt LS
Armazenamentodos dados deinformação
Retornar
Sim
Filtro Casado àréplica da seq . deespalhamento de
cada usuário
DecisorAbrupto
Armazenamento dovetor à saída doDecisor Abrupto
Ciclo deTransmissão - Recepção
Ciclo deTransmissão - Recepção
Cálculos da BER doCD, 1-opt LS- MuD
teórico eprocessado em DSP
Geração dasFiguras de
Mérito
Fim
Algoritmoheurístico 1-opt
LS
Armazenamento dovetor -solução teórico
(Matlab ) e processado emDSP do algoritmo 1-opt LS
Não
Incrementa trialprocessado
Figura 4.4: Fluxograma descrevendo a metodologia empregada na implementacao emDSP do sistema DS/CDMA Transmissor/1− opt LS-MuD.
4.2 Transmissor 1-LS-MuD em Banda Base para Sistema DS/CDMA 26
Matlab
Code Composer Studio
RTDX HostLibrary
Embedded IDE Link CC(COM Interface)
Computador
DSPTMS320C6713
RTDX TargetLibrary
Plataforma C6713
JTA
G In
terfa
ce
Figura 4.5: Configuracao das ligacoes de trafego de dados do RTDX empregada nestetrabalho.
Figura 4.6: Alguns dos comandos de escrita e leitura de dados do canal RTDX no CCS.
4.2 Transmissor 1-LS-MuD em Banda Base para Sistema DS/CDMA 27
Figura 4.7: Alguns dos comandos de escrita e leitura de dados do canal RTDX noMatlab.
28
5 Avaliacao do Criterio de Paradado Algoritmo 1 − opt LS
Devido a sua estrategia simples, o algoritmo de busca local possibilita simplificacoes
e inumeras mudancas em sua estrategia. E o caso deste trabalho, conforme foi citado
na secao 2.3.1. Foi considerada uma estrategia adicional no intuito de fugir de maximos
locais. Neste capıtulo, serao feitas simulacoes no intuito de encontrar o melhor criterio de
parada para o 1− opt LS-MuD.
5.1 Numero de iteracoes fixo do 1 − opt LS-MuD
Nesta secao, foram feitas duas simulacoes da BER em relacao ao numero de iteracoes
usado no algoritmo 1 − opt LS. Busca-se nestas simulacoes o numero de iteracoes ne-
cessarias para que o algoritmo atinja a convergencia para o vetor-solucao final.
Figura 5.1: Parametros de entrada da 1a simulacao - Iteracoes LS x BER
Percebe-se, na 1a (figura 5.2) e 2a (figura 5.5) simulacoes, que a estrategia adicional
nao surtiu, aparentemente, nenhum efeito, pois, apos uma iteracao em que nao houve
5.2 Criterio de Parada para Funcao-CustoNao-Crescente 29
0 2 4 6 8 10
10−2
Iterações do LS−MuD
BE
R (
bit e
rror
rat
e)
CDLS−MuD (1−ótimo)SuB (BPSK)
Figura 5.2: Grafico da 1a simulacao - Iteracoes LS x BER para Eb/N0[dB] = 6dB, K= 6 usuarios e N = 20 chips.
melhora na funcao-custo global, nao houve melhora na BER nas iteracoes posteriores,
ou seja, nao houve escape deste maximo local. O aumento no numero de iteracoes nao
trouxe nenhuma melhora da BER. O numero de iteracoes efetivo, em que houve reducao
da BER, e em torno de K/2.
5.2 Criterio de Parada para Funcao-Custo
Nao-Crescente
Nas simulacoes 3 (figura 5.8) e 4 (figura 5.10), foi utilizado um criterio de parada
em que nao acontecendo um aumento na Funcao-Custo de uma iteracao em relacao a
anterior, o algoritmo e finalizado. Esta estrategia e muito parecida a estrategia classica
do algoritmo LS, com diferenciacao no ajuste da quantidade de iteracoes com Funcao-
Custo nao-crescente.
Nota-se que o criterio de parada para F best nao-crescente e valido e tem o mesmo
desempenho que o algoritmo com criterio de parada de K iteracoes. Contudo, o criterio
de parada de F best nao-crescente tem um tempo computacional reduzido, isto fica bem
claro ao analisar os resultados das simulacoes 3 e 4, respectivamente, nas figura 5.9 e
figura 5.11. O numero de iteracoes media nao chega a 1, devido ao fato de que, ao receber
um vetor sem erros a saıda do decisor abrupto nao ha necessidade de nenhuma iteracao
no algoritmo heurıstico. Quando se fixa o numero de iteracoes do LS, mesmo depois
5.2 Criterio de Parada para Funcao-CustoNao-Crescente 30
Figura 5.3: Resultados da 1a simulacao - Iteracoes LS x BER
Figura 5.4: Parametros de entrada da 2a simulacao - Iteracoes LS x BER
de convergir para um maximo global ou local, o algoritmo continua fazendo iteracoes
desnecessarias.
5.2 Criterio de Parada para Funcao-CustoNao-Crescente 31
0 5 10 15 20
10−2
Iterações do LS−MuD
BE
R (
bit e
rror
rat
e)
CDLS−MuD (1−ótimo)SuB (BPSK)
Figura 5.5: Grafico da 2a simulacao - Iteracoes LS x BER para Eb/N0[dB] = 6dB, K= 12 usuarios e N = 20 chips.
Figura 5.6: Resultados da 2a simulacao - Iteracoes LS x BER
5.2 Criterio de Parada para Funcao-CustoNao-Crescente 32
Figura 5.7: Parametros de entrada das 3a e 4a simulacoes - K x BER
6 7 8 9 10 11 12
10−2
Número de usuários (K)
BE
R (
bit e
rror
rat
e)
CDLS−MuD (1−ótimo)SuB (BPSK)
Figura 5.8: Grafico da 3a simulacao - K x BER - criterio de parada do LS: F bestnao-crescente para Eb/N0[dB] = 6dB, N = 20 chips.
5.2 Criterio de Parada para Funcao-CustoNao-Crescente 33
Figura 5.9: Resultados da 3a simulacao - K x BER
Figura 5.10: Grafico da 4a simulacao - K x BER - criterio de parada do LS: F bestnao-crescente para Eb/N0[dB] = 6dB e N = 20 chips .
5.2 Criterio de Parada para Funcao-CustoNao-Crescente 34
Figura 5.11: Resultados da 4a simulacao - K x BER
35
6 Resultados dos Processamentosem DSP
Neste capıtulo serao apresentados os resultados em DSP. Os parametros dos pro-
cessamentos escolhidos visam validar o uso do DSP na implementacao de um receptor
heurıstico utilizando o algoritmo 1− opt LS em sistemas DS/CDMA.
Algumas consideracoes podem ser feitas visando o melhor entendimento dos parametros
utilizados em cada processamento:
• Houve uma limitacao para valores de Eb/N0[dB] acima de 9dB, pois, com o metodo
utilizado nos processamentos baseado no Metodo de Simulacao Monte-Carlo (anexo D)
o tempo de processamento era extremamente alto quando valores de Eb/N0[dB]
acima de 9dB eram considerados, da ordem de 20 dias para 9dB.
• Notou-se uma limitacao de cerca de 12 usuarios quando o codigo era processado no
DSP, acima deste limitante tornava-se uma processamento instavel em que frequen-
temente havia interrupcao do processamento. Nao houve tempo suficiente para a
averiguacao com exatidao da causa desta limitacao, mas, acredita-se que envolve o
arquivo de interrupcoes (.asm) do projeto no Code Composer Studio que gera uma
possıvel interrupcao para multiplicacoes e/ou somas com matrizes de dimensoes
muito altas;
• A declaracao das variaveis como globais e nao como locais no projeto do CCS,
expandiu a limitacao de usuarios nos processamentos, que era anteriormente de 8
usuarios e com um melhor balanco das variaveis, dando preferencia quase total para
declaracao como variaveis globais, elevou a limitacao para 12 usuarios como foi
citado no item anterior;
• Houve um estudo superficial sobre a alocacao de memoria na plataforma do DSK
C6713 atraves do arquivo linker (.cmd) do projeto no CCS. Porem, a alocacao
dos diversos setores do codigo a ser executado em diferentes regioes e tamanhos
6.1 Desempenho do Sistema - Variacao da SNR 36
na memoria disponilizada pela plafatorma nao resultou em uma visıvel diferenca
pratica durante o processamento, nem mesmo no aumento da limitacao de usuarios.
Por este motivo, cita-se no primeiro item que a limitacao nao esta atrelada a falta
de memoria;
• A manipulacao de numeros complexos no CCS foi feita de maneira personalizada.
Foram criadas tipos de variaveis especiais para criacao das variaveis que seriam
complexas, de forma que, o entendimento visual durante a elaboracao do codigo em
C fosse simplificado.
6.1 Desempenho do Sistema - Variacao da SNR
Foram feitos dois processamento para avaliacao do desempenho do sistema: em baixo
e em alto carregamento.
No processamento de baixo carregamento, foram considerados um ganho de proces-
samento igual a 15 (N = 15) e o numero de usuarios ativos de 5 (K = 5). Portanto,
assume-se um carregamento de 0, 33 (K/N). A variacao da Eb/N0[dB] foi de 0dB ate 8dB
com passos de 2dB e o numero de erros em cada ponto e mostrado nos parametros de
entrada. Os parametros de entrada deste processamento podem ser vistos na figura 6.1 e
os resultados na figura 6.2.
No processamento de alto carregamento, foram considerados um ganho de processa-
mento igual a 15 (N = 15) e o numero de usuarios ativos de 12 (K = 5). Portanto,
assume-se um carregamento de 0, 8 (K/N). A variacao da Eb/N0[dB] foi de 0dB ate 8dB
com passos de 2dB e o numero de erros em cada ponto e mostrado nos parametros de
entrada. Os parametros de entrada deste processamento podem ser vistos na figura 6.3 e
os resultados na figura 6.4.
Os resultados do processamento em DSP foram bastante satisfatorios, pois, foram
coincidentes com o valor teorico estimado demonstrando um bom desempenho do sistema
com o canal considerado.
6.2 Robustez do Sistema
A robustez do sistema pode ser avaliada atraves de dois processamentos em DSP:
Carregamento do Sistema e NFR (Near-far Ratio).
6.2 Robustez do Sistema 37
Figura 6.1: Parametros de entrada utilizados no processamento em DSP paraavaliacao de desempenho com baixo carregamento do sistema transmissor/receptor
1− opt LS-MuD implementado.
6.2.1 Carregamento do Sistema
Para o processamento em DSP do Carregamento do Sistema, considerando as ob-
servacoes feitas no inıcio deste capıtulo, houve um ajuste do numero de usuarios e ganho
de processamento, de forma que, em cada ponto pudesse ser explorado o limiar de 12
usuarios. O numero de erros em cada ponto foi decidido de forma inversamente proporci-
onal ao ganho de processamento, sendo que o valor de 30 erros foi escolhido inicialmente
para ganho de processamento igual a 30. A quantidade de usuarios e o ganho de proces-
samento podem ser vistos na tabela 6.1. A Eb/N0[dB] considerada foi de 7dB, de forma
que o valor do limite SuB estivesse num patamar mınimo de 10−3.
Os parametros de entrada deste processamento podem ser visto na figura 6.5 e os
resultados na figura 6.6.
Os resultados do processamento em DSP foram bastante satisfatorios, pois, foram
coincidentes com o valor teorico estimado demonstrando uma boa robustez ao carrega-
mento do sistema.
6.2 Robustez do Sistema 38
0 1 2 3 4 5 6 7 8
10−3
10−2
10−1
Eb/No [dB]
BE
R (
bit e
rror
rat
e)
CD
1−LS−MuD (DSP)
1−LS−MuD (MATLAB)
Single−user Bound
Figura 6.2: Resultados do processamento em DSP para avaliacao de desempenho combaixo carregamento do sistema transmissor/receptor 1− opt LS-MuD implementado
para K = 5, N = 15 e L = 0, 33.
Tabela 6.1: Numero de Usuarios (K) e Ganho de Processamento (N) em cada pontoprocessado no Indice de Carregamento (L) do Sistema.
Indice de Carregamento Usuarios Ativos Ganho de Processamento(L) (K) (N)0,10 3 300,20 6 300,30 9 300,40 12 300,50 10 200,60 12 200,67 10 150,80 12 150,92 11 121,00 12 12
6.2.2 Near-Far Ratio
Este processamento em DSP vem validar a tolerancia do sistema ao efeito near-far,
chamada de NFR. Este efeito acontece quando os usuarios de interesse mantem-se com
o valor da Eb/N0[dB] fixa (distancia fixa em relacao a ERB) enquanto que os restantes
dos usuarios ativos do sistema sofrem variacao da sua Eb/N0[dB] (movem-se em relacao a
6.2 Robustez do Sistema 39
Figura 6.3: Parametros de entrada utilizados no processamento em DSP paraavaliacao de desempenho com alto carregamento do sistema transmissor/receptor
1− opt LS-MuD implementado.
ERB). O calculo da BER e feito somente para os usuarios de interesse e, apesar de ativos,
o restante dos usuarios sao considerados interferentes e nao entram no computo da BER.
No processamento em DSP foi considerado ganho de processamento igual a 15, 4
usuarios de interesse, 8 usuarios interferentes, Eb/N0[dB] do usuario de interesse fixa em
7dB e Eb/N0[dB] dos usuarios interferentes variando de 1 a 13dB com passos de 2dB, ou
seja, uma variacao de -6 a 6dB em relacao aos usuarios de interesse. Os parametros de
entrada deste processamento podem ser vistos na figura 6.7 e os resultados na figura 6.8.
Os resultados do processamento em DSP foram bastante satisfatorios, pois, foram
coincidentes com o valor teorico estimado demonstrando uma boa robustez ao Efeito
Near-Far.
Percebe-se que todos os resultados de processamento em DSP exibidos neste capitulo
foram coincidentes com os da simulacao descrita em linguagem Matlab. Isto se deve ao
fato de que o codigo em linguagem C executa as mesmas operacoes que a simulacao feita
em Matlab e, como nao ha nenhum dado aleatorio sendo gerado no processamento em
DSP, nao ha variacoes nos resultados encontrados. Um outro fator que contribui para
a semelhanca nos resultados e que o DSP possui uma estrutura computacional bastante
poderosa sendo dedicado a calculos matematicos de adicao e multiplicacao e ainda possui
6.3 Imagens da Bancada de Processamento 40
0 1 2 3 4 5 6 7 8
10−3
10−2
10−1
Eb/No [dB]
BE
R (
bit e
rror
rat
e)
CD
1−LS−MuD (DSP)
1−LS−MuD (MATLAB)
Single−user Bound
Figura 6.4: Resultados do processamento em DSP para avaliacao de desempenho comalto carregamento do sistema transmissor/receptor 1− opt LS-MuD implementado para
K = 12, N = 15 e L = 0, 8
estrategias para a minimizacao dos erros de quantizacao, desta forma, sua perfomance e
bastante superior se comparada a outros microcontroladores como Motorola MC68HC16
e Intel 80196.
6.3 Imagens da Bancada de Processamento
Sao mostradas algumas imagens da bancada de processamento utilizada neste traba-
lho. Atraves do conversor DAC (Digital-to-Analog Converter) integrado a plataforma do
DSKC6713, foram geradas as formas de onda a saıda do receptor 1-LS-MuD. Porem,
este processo nao foi realizado em tempo real, necessitando que o processamento em DSP
fosse anteriormente executado e, em seguida, tomou-se a variavel resultante a saıda do
1-LS-MuD no conversor DAC para que o sinal pudesse ser capturado no osciloscopio.
Este procedimento foi executado atraves da ferramenta Simulink do Matlab.
6.3 Imagens da Bancada de Processamento 41
Figura 6.5: Parametros de entrada utilizados no processamento em DSP doCarregamento do Sistema transmissor/receptor 1− opt LS-MuD implementado.
6.3 Imagens da Bancada de Processamento 42
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
10−3
10−2
10−1
Índice de Carregamento, L
BE
R (
bit e
rror
rat
e)
CD1−LS−MuD (DSP)1−LS−MuD (MATLAB)Single−user Bound
Figura 6.6: Resultados do processamento em DSP do Carregamento do Sistematransmissor/receptor 1− opt LS-MuD implementado para Eb/N0[dB] = 7dB e K e N de
acordo com tabela 6.1.
6.3 Imagens da Bancada de Processamento 43
Figura 6.7: Parametros de entrada utilizados no processamento em DSP paratolerancia ao Ffeito Near-Far no Sistema transmissor/receptor 1− opt LS-MuD
implementado.
6.3 Imagens da Bancada de Processamento 44
−6 −4 −2 0 2 4 6
10−3
10−2
10−1
NFR [dB]
BE
R (
bit e
rror
rat
e)
CD
1−LS−MuD (DSP)
1−LS−MuD (MATLAB)
Single−user Bound
Figura 6.8: Resultados do processamento em DSP para tolerancia ao Ffeito Near-Farno Sistema transmissor/receptor 1− opt LS-MuD implementado para N = 15,
Kinteresse = 4, Kinterferentes = 8 e Eb/N0[dB] dos usuarios de interesse igual a 7dB.
6.3 Imagens da Bancada de Processamento 45
Figura 6.9: Imagem da banca de processamento utilizando a plataforma do DSKC6713 interligada a um computador via USB e ao osciloscopio.
Figura 6.10: Detalhe do sinal processado em DSP e enviado ao osciloscopio atraves deum DAC ligado a saıda LineOut da plataforma.
6.3 Imagens da Bancada de Processamento 46
Figura 6.11: Detalhe da ligacao entre a plataforma do DSK C6713 e o osciloscopioatraves da saıda LineOut.
Figura 6.12: Detalhe da plataforma do DSK C6713 da Spectrum Digital Inc. queutiliza o processador DSP TMS320C6713 fabricado pela Texas Instruments’s Inc.,
observa-se tambem os cabos de alimentacao, USB para ligacao com computador e nasaıda LineOut para visualizacao do sinal no osciloscopio.
47
7 Complexidade Computacionalem DSP
Para a analise da complexidade computacional do codigo criado em DSP, utilizou-
se da ferramenta Profile do Code Composer Studio (CCS). Maiores informacoes sobre
esta ferramenta ver anexo C. Esta ferramenta pode monitorar os ciclos no DSP durante
a execucao do codigo desenvolvido ou parte dele. Neste trabalho, foram escolhidas as
funcoes elaboradas para a deteccao convencional e o algoritmo 1− opt LS, chamadas no
codigo desenvolvido no CCS, respectivamente de MF DecisorHard e LS 1 opt.
Porem, a utilizacao desta ferramenta aumenta demasiadamente o tempo de proces-
samento. Portanto, foram realizados processamentos em que cada funcao escolhida era
executada 5 vezes e fez-se a media aritmetica do numero de ciclos no DSP efetuados
durante a execucao de cada funcao. A figura 7.1 ilustra um processamento em que foi
utilizado a ferramenta Profile. Neste processamento foram utilizados ganho de processa-
mento N = 25 e numero de usuarios ativos igual a 10.
Figura 7.1: Resultados de um processamento usando a ferramenta Profile do CodeComposer Studio (CCS) para estimativa da complexidade computacional para K = 10 e
N = 25.
Foram realizados diversos processamentos de forma a se obter um padrao da comple-
xidade computacional para cada uma das funcoes.
7.1 Complexidade do Detector Convencional 48
7.1 Complexidade do Detector Convencional
Para a analise da complexidade computacional do CD foram realizados diversos pro-
cessamentos com variacao dos parametroK eN obtendo-se valores medios entre 5 execucoes
da funcao MF DecisorHard. Os resultados sao mostrados na tabela 7.1. Atraves de uma
analise visual da tabela 7.1, pode-se notar que os ciclos realizados pelo DSP durante a
execucao desta funcao eram proporcionais ao valor de K e N . Desenvolveu-se, entao, uma
tabela comparativa para confirmacao desta tendencia, como e confirmado na tabela 7.2.
Tendo um fator de proporcionalidade definido, K × N , tracou-se um mapa de processa-
mentos onde este fator repetia-se conforme a tabela 7.3, onde as posicoes com asterisco
indicam repeticao do fator K × N em um ou mais processamentos. Nestas posicoes,
realizou-se a media aritmetica dos ciclos do DSP realizados com um mesmo fator K ×N .
De posse destes dados, montou-se a tabela final da complexidade computacional do CD
em funcao do fator de proporcionalidade K×N , tabela 7.4. A partir dos valores da tabela
da tabela 7.4, gerou-se o grafico da figura 7.2, que pode ser ajustado (fitting) de acordo
com:
DSPCyclesCD =
1658 + (1120 ·K ·N)
Tb
[ciclos
seg
](7.1)
sendo DSPCyclesCD o numero de ciclos de processamento por segundo que o DSP executa
para detectar um bit de todos os K usuarios com ganho de processamento N em um
detector convencional. Verifique que a dependencia de processamento resultou linear em
relacao ao produto KN . Note-se ainda que o ciclo de processamento deve ser realizado em
um intervalo de tempo menor ou igual ao perıodo de informacao detectada, Tb, para que
o receptor implementado em DSP possa atender aplicacoes em tempo real. Finalmente,
o processo de fitting foi realizado utilizando a ferramenta “cftool”do Matlab, obtendo-
se uma boa concordancia entre a equacao (7.1) e os valores de ciclos de processamento
coletados diretamente do DSP, conforme mostrado na figura 7.2.
7.2 Complexidade do Detector Heurıstico 1− opt LS 49
Tabela 7.1: Tabela com os Ciclos do DSP resultados do Profile do CCS da funcaoMF DecisorHard (detector convencional).
Usuarios Ganho de Processamento (N)(K) 10 15 20 25 30
1 11906 17196 22171 28026 318752 23347 34957 43842 54270 646733 35571 50646 68015 84206 1019414 45899 68344 89403 111390 1299665 59718 86692 114672 140041 1687506 68942 102463 136864 170928 2017107 81862 120201 158582 198355 2367028 93340 135556 178160 223265 2620389 105670 156029 205173 252390 29805510 117135 171320 229597 282789 34032711 131013 189542 248893 317631 37241312 141297 203601 274920 337755 397721
7.2 Complexidade do Detector Heurıstico 1−opt LS
Para a analise da complexidade computacional do algoritmo LS, algumas consideracoes
serao feitas para um entendimento mais claro da metodologia utilizada nesta analise.
Neste trabalho, adotou-se um canal sıncrono AWGN para o sistema DS/CDMA; portanto,
a funcao-custo utilizada no interior do algoritmo heurıstico LS e dada pela equacao (7.2).
F (ϑ) = Re2yTAϑ− ϑTARAϑ (7.2)
onde ϑ sao os vetores-candidatos com distancia de Hamming igual a 1; y e o vetor de
saıda do 1o estagio do MFB (antes do decisor abrupto); A e a matriz de amplitudes dos
sinais dos usuarios (ganho) e R e a matriz de correlacao.
Visando uma reducao na complexidade computacional durante o processamento em
DSP do algoritmo de deteccao multiusuario 1−opt LS, a equacao (7.2) e dividida em dois
termos: equacao (7.3) e equacao (7.4).
F (1) = Re2yTA (7.3)
F (2) = ReARA (7.4)
Desta forma, estes dois termos podem ser calculados fora do laco de iteracoes do algo-
ritmo LS evitando que calculos repetidos sejam feitos quando e realizada a troca somente
7.2 Complexidade do Detector Heurıstico 1− opt LS 50
Tabela 7.2: Tabela comparativa da complexidade do CD para diferentes valores de K eN mostrando o Fator de Proporcionalidade K ×N .
Usuarios Relacao entre K Relacao de Relacao Relacao de(K) (para N = 20) Ciclos do DSP de N Ciclos do DSP
1 1/12 = 8, 3% 8, 1% 20/15 = 133% 128%2 2/12 = 16, 7% 15, 9% 20/15 = 133% 125%3 3/12 = 25, 0% 24, 7% 20/15 = 133% 134%4 4/12 = 33, 3% 32, 5% 20/15 = 133% 131%5 5/12 = 41, 7% 41, 7% 20/15 = 133% 132%6 6/12 = 50, 0% 49, 8% 20/15 = 133% 134%7 7/12 = 58, 3% 57, 7% 20/15 = 133% 132%8 8/12 = 66, 7% 64, 8% 20/15 = 133% 131%9 9/12 = 75, 0% 74, 6% 20/15 = 133% 131%10 10/12 = 83, 3% 83, 5% 20/15 = 133% 134%11 11/12 = 91, 7% 90, 5% 20/15 = 133% 131%12 12/12 = 100, 0% 100, 0% 20/15 = 133% 135%
dos vetores-candidatos. Observa-se este fato mais claramente rescrevendo a equacao (7.2).
F (ϑ) = F (1)ϑ− ϑTF (2)ϑ (7.5)
Com a ferramenta Profile, foram realizados diversos testes de processamento em DSP
com variacao dos parametro K e N obtendo-se valores medios entre 5 execucoes da funcao
LS 1 opt, sendo esta dividida em duas etapas: Funcao-Custo Inicial e Iteracao.
Funcao-Custo Inicial e dada pelos calculos realizados no algoritmo LS que antecedem
o laco de iteracao, ou seja, calculos dos termos F (1) e F (2), seguidos pelo calculo da
funcao-custo utilizando o vetor a saıda do decisor abrupto.
No laco da Iteracao sao realizados os calculos para obtencao dos vetores-candidatos,
a funcao-custo correspondente a cada um deles utilizando valores das constantes dadas
por F (1) e F (2), busca da funcao-custo de maior valor entre os vetores-candidatos, e a
comparacao com a melhor funcao-custo global. Sao realizadas iteracoes ate a ocorrencia
de duas iteracoes consecutivas em que nao haja aumento (melhoria) da funcao-custo
global.
Os resultados, em termos de numero de ciclos de processamento, obtidos utilizando
o Profile sobre a Funcao-Custo Inicial da funcao LS 1 opt do CCS sao mostrados na
tabela 7.5. Na tabela 7.6 sao indicados os valores medios obtidos em cada Iteracao.
Atraves de uma analise dos valores mostrados nas tabelas, percebe-se que a complexidade
da funcao LS 1 opt, tanto na etapa de Funcao-Custo Inicial quanto na de Iteracao, so e
7.2 Complexidade do Detector Heurıstico 1− opt LS 51
Tabela 7.3: Mapa de processamentos realizados utilizando Profile da funcaoMF DecisorHard (detector convencional); demonstram-se as posicoes onde ocorreu
repeticao do fator K ×N com um asterisco.
Usuarios Ganho de Processamento (N)(K) 10 15 20 25 30
1 10 15 20* 25 30*2 20* 30* 40* 50* 60*3 30* 45 60* 75* 90*4 40* 60* 80* 100* 120*5 50* 75* 100* 125 150*6 60* 90* 120* 150* 180*7 70 105 140 175 2108 80* 120* 160 200* 240*9 90* 135 180* 225 27010 100* 150* 200* 250 300*11 110 165 220 275 33012 120* 180* 240* 300* 360
influenciada pelo parametro K, isto e comprovado pelo valor do desvio padrao, σ, que
se torna insignificante se comparado ao numero de ciclos processados no DSP em cada
implementacao. Esta dependencia em relacao ao numero de usuarios ativos, K, pode
ser confirmada se notarmos que o ganho de processamento nao participa da execucao do
algoritmo LS, pois, o seu vetor-inicial e dado pelo vetor a saıda do decisor abrupto que e
um sinal vindo do MFB, ou seja, o sinal esta “desespalhado”, tendo dimensao K × 1.
Com os dados oriundos da tabela 7.5 foi gerado um grafico atraves de um fitting do
tipo polinomial cubico (Cubic Polynomial), conforme mostrado na figura 7.3. Extraıdos
os coeficientes do fitting, a equacao (7.6) pode ser obtida para a etapa inicial (fora do
laco) do algoritmo LS.
DSPCyclesLS−Inicial =
205 ·K3 + 572, 2 ·K2 + 2185 ·K + 1544
Tb
[ciclos
seg
](7.6)
De maneira similar, a partir da tabela 7.6 foi obtido o fitting conforme indicado na
figura 7.4, e sua funcao correspondente:
DSPCyclesLS−Iter =
(52, 9 ·K3 + 318, 4 ·K2 + 564, 6 ·K + 393, 1) ·Mt
Tb
[ciclos
seg
](7.7)
Observe-se que a dependencia tanto na equacao (7.6) como na equacao (7.7) e cubica
em relacao ao numero de usuarios. Porem, a equacao (7.7) dependente ainda do numero
de iteracoes (Mt) que o algoritmo heurıstico ira realizar ate atingir a convergencia. Para
este trabalho, isto significa o numero de iteracoes ate que acontecam duas iteracoes sem
7.2 Complexidade do Detector Heurıstico 1− opt LS 52
Tabela 7.4: Tabela da complexidade computacional, em ciclos do DSP, do CD (funcaoMF DecisorHard) em relacao ao Fator de Proporcionalidade K ×N .
K ×N Ciclos DSP K ×N Ciclos DSP10 11906 135 15602915 17196 140 15858220 22759 150 17033025 28026 160 17816030 33134 165 18954240 44871 175 19835545 50646 180 20349050 56994 200 22643160 67494 210 23670270 81862 220 24889375 85449 225 25239080 91372 240 26847990 103358 250 282789100 114399 270 298055105 120201 275 317631110 131013 300 339040120 135920 330 372413125 140041 360 397721
Tabela 7.5: Tabela da complexidade computacional, em ciclos do DSP, daFuncao-Custo Inicial do 1− opt LS (funcao LS 1 opt) em relacao ao numero de
Usuarios, K.
Usuarios Ganho de Processamento Desvio MediaAtivos (N) Padrao de Ciclos(K) 10 15 20 25 30 (σ) do DSP
1 4408 4519 4519 4521 4521 50,10 44982 9842 9786 9726 9729 9905 76,60 97983 18897 18860 18735 18960 18921 86,09 188754 32441 32438 32329 32473 32681 128,69 324725 52617 52543 52537 52383 52340 117,17 524846 79561 79568 79663 79680 79500 75,43 795947 115444 115249 115050 115361 115166 155,67 1152548 160685 160328 160333 160144 160506 204,74 1603999 216950 217056 216867 217019 216819 99,68 21694210 285018 285297 285327 285348 285428 156,21 28528411 368337 368509 368256 368598 368440 135,53 26842812 464258 464001 464021 463997 463969 118,19 464049
acrescimo no valor da funcao-custo global.
Foi mostrado no capıtulo 5 que em media ocorrem K/2 iteracoes no detector mul-
tiusuario 1 − opt LS ate a convergencia. Em todos os processamentos em DSP reali-
7.2 Complexidade do Detector Heurıstico 1− opt LS 53
50 100 150 200 250 300 350
0
0.5
1
1.5
2
2.5
3
3.5
4
x 105
K.N
Cic
los
do D
SP
Complexidade em DSP do CD
CDCycles vs. KxNLinear Fit
Figura 7.2: Grafico correspondente a complexidade em DSP do CD gerado com osdados oriundos da tabela da tabela 7.4 com um Fitting do tipo Linear.
zados neste trabalho, foi utilizado um contador que registra o numero de iteracoes re-
alizadas no LS, variavel LS count no CCS, que pode ser observada na figura 4.6. Ao
final do processamento no DSP, o valor deste contador e enviado de volta ao Matlab,
variavel LS it count DSP, a qual pode ser observada na figura 4.7, juntamente com o
vetor-solucao do algoritmo heurıstico. Assim, essa variavel e utilizada para uma analise
estatıstica da quantidade de iteracoes realizadas no 1-LS nas diferentes condicoes de canal
e de operacao do sistema. Tal analise tambem confirmou uma quantidade de iteracoes
efetivas de aproximadamente K/2 iteracoes ate a convergencia. Portanto, a equacao (7.7)
pode ser simplificada para:
DSPCyclesLS−Iter =
26, 5 ·K4 + 159, 2 ·K3 + 282, 3 ·K2 + 196, 6 ·KTb
[ciclos
seg
](7.8)
Finalmente, a complexidade computacional em DSP do algoritmo 1−opt LS pode ser
obtida somando-se o numero de ciclos nas etapas Inicial e Iteracao:
DSPCycles1−LS = DSPCycles
LS−Iter +DSPCyclesLS−Inicial
=26, 5 ·K4 + 364, 2 ·K3 + 854, 5 ·K2 + 2381, 6 ·K + 1544
Tb
[ciclos
seg
](7.9)
O grafico da figura 7.5 descreve o comportamento da equacao (7.9).
7.3 Complexidade para o Receptor 1-LS-MuD Completo em Banda Base 54
Tabela 7.6: Tabela da complexidade computacional, em ciclos do DSP, de cadaIteracao do 1− opt LS (funcao LS 1 opt) em relacao ao numero de Usuarios, K.
Usuarios Ganho de Processamento Desvio MediaAtivos (N) Padrao de Ciclos(K) 10 15 20 25 30 (σ) do DSP
1 1276 1276 1276 1281 1281 2,74 12782 3232 3220 3226 3229 3220 5,37 32253 6432 6435 6434 6427 6439 4,39 64334 11108 11138 11146 11149 11138 16,28 111365 17926 17815 17805 17885 17855 50,04 178576 26653 26705 26747 26718 26795 52,46 267247 38149 38175 38135 38095 38188 36,43 381488 52013 52072 52081 52078 52018 33,89 520529 69599 69652 69801 69589 69767 97,24 6968210 95575 90431 90517 90507 90445 58,36 9049511 116476 116566 116569 116561 116386 80,21 11651212 144004 143923 144015 143761 143845 107,77 143910
7.3 Complexidade para o Receptor 1-LS-MuD Com-
pleto em Banda Base
A complexidade para o receptor 1-LS-MuD completo em banda base e obtida pela
soma da quantidade de ciclos do DSP realizados pelo CD e pelo algoritmo 1-LS que
correspondem, respectivamente, a equacao (7.1) e equacao (7.9), sendo:
DSPCycles1−LS−MuD = DSPCycles
CD + DSPCycles1−LS (7.10)
=26, 5K4 + 364, 2K3 + 854, 5K2 + 2381, 6K + 1120KN + 3202
Tb
[ciclos
seg
]
A proxima secao ira abordar um comparativo de complexidade em DSP entre os
receptores implementados: Detector Convencional (CD) e o 1-LS-MuD.
7.4 Comparativo de Complexidade em DSP entre os
Receptores CD e 1-LS-MuD
A deteccao multiusuario convencional (CD) e dada pelo banco de filtro de casados,
seguida por um decisor abrupto, cuja complexidade pode ser expressa pela equacao (7.1).
Por sua vez, o receptor 1-LS-MuD e composto pelo CD1 juntamente com a realizacao
1Estimativa inicial de bits que alimenta o detector LS e proveniente da saıda do CD, i.e., saıda dodecisor abrupto.
7.4 Comparativo de Complexidade em DSP entre os Receptores CD e 1-LS-MuD 55
2 4 6 8 10 12
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
x 105
Número de usuários, K
Cic
los
do D
SP
Complexidade em DSP da Função−Custo Inicial do 1−opt LS
LS−Inicial vs. K
Cubic Polynomial Fit
Figura 7.3: Grafico correspondente a complexidade em DSP da Funcao-Custo Inicialdo 1− opt LS gerado com os dados oriundos da tabela 7.5 com um Fitting do tipo Cubic
Polynomial.
do algoritmo heurıstico de busca local (1 − opt LS); sua complexidade e dada pela
equacao (7.10).
7.4.1 Analise das Expressoes de Complexidade em DSP
Para uma analise quantitativa mais expedita, foram gerados graficos representativos
para a complexidade em DSP dos dois receptores, CD e 1-LS-MuD. O comparativo de
complexidade e apresentado na figura 7.6, com um ganho de processamento, N = 15 e
N = 30
Percebe-se que o crescimento da complexidade em DSP do CD e linear, enquanto que,
do 1-LS-MuD segue um crescimento de 4a ordem.
7.4.2 Relacao de Complexidade em DSP entre 1-LS-MuD e CD
Uma relacao de complexidade entre os receptores 1-LS-MuD e CD pode ser feita
para uma analise do acrescimo de processamento em DSP com a utilizacao do algoritmo
heurıstico 1-LS. Este tipo de abordagem fornece uma visao do custo computacional incre-
mental envolvido na implementacao do detector multiusuario heurıstico, para diferentes
valores dos parametros numero de usuarios ativos, K, e ganhos de processamento, N . A
7.4 Comparativo de Complexidade em DSP entre os Receptores CD e 1-LS-MuD 56
2 4 6 8 10 12
0
5
10
15
x 104
Número de usuários, K
Cic
los
do D
SP
Complexidade em DSP de cada Iteração do 1−opt LS
LS−Iteracao vs. KCubic Polynomial Fit
Figura 7.4: Grafico correspondente a complexidade em DSP de cada Iteracao do1− opt LS gerado com os dados oriundos da tabela 7.6 com um Fitting do tipo Cubic
Polynomial.
2 4 6 8 10 120
2
4
6
8
10
12
14x 10
5
Número de usuários, K
Cic
los
do D
SP
Complexidade em DSP do algoritmo 1−opt LS
1−opt LS
Figura 7.5: Grafico correspondente a complexidade em DSP do algoritmo 1− opt LSgerado a partir da equacao (7.9).
razao de complexidade percentual (CR%) entre o receptor heurıstico e CD resulta:
CR% = 100 ·DSPCycles
1−LS−MuD
DSPCyclesCD
[%] (7.11)
7.4 Comparativo de Complexidade em DSP entre os Receptores CD e 1-LS-MuD 57
2 4 6 8 10 12
2
4
6
8
10
12
14
16
x 105 Comparativo de Complexidade para N = 15
Número de usuários, K
Cic
los
em D
SP
, DS
Pcycl
es
1−LS−MuDCD
2 4 6 8 10 12
2
4
6
8
10
12
14
16
18
x 105 Comparativo de Complexidade para N = 30
Número de usuários, K
Cic
los
em D
SP
, DS
Pcycl
es
1−LS−MuDCD
Figura 7.6: Grafico correspondente a complexidade em DSP do CD e 1-LS-MuDCompleto em Banda Base para N = 15 (esquerdo) e N = 30 (direito).
A figura 7.7 ilustra o comportamento da CR% considerando K ∈ [1; 12] e N ∈ [12; 32].
Nota-se que para um baixo ganho de processamento, o acrescimo de complexidade com
o aumento do numero de usuarios ao se implementar em DSP o receptor 1-LS-MuD
e relativamente mais elevado se comparado a condicao de ganho de processamento, N ,
maiores.
2 4 6 8 10 12
200
300
400
500
600
700
800
900
1000
1100Relação de Complexidade entre 1−LS−MuD e CD
Número de usuários, K
CR
%
Aumento de Complexidade para N = 12Aumento de Complexidade para N = 16Aumento de Complexidade para N = 20Aumento de Complexidade para N = 24Aumento de Complexidade para N = 28Aumento de Complexidade para N = 32
Figura 7.7: Grafico correspondente ao crescimento da razao de complexidadepercentual em DSP, CR%, para a implementacao do 1-LS-MuD em relacao ao CD.
A medida que ganho de processamento eleva-se, aumentando-se assim a capacidade de
rejeicao da interferencia de multiplo acesso (MAI), o crescimento de complexidade com o
aumento do numero de usuarios ativos torna-se mais suave. Esta condicao representa uma
7.5 Limite da Complexidade em DSP: Aplicacoes em Tempo Real 58
situacao de operacao do 1-LS-MuD mais interessante, considerando que o incremento de
processamento em DSP nao se torna tao relevante, tendo em vista que, o desempenho
deste tipo de receptor e mais elevado e robusto, tanto ao carregamento do sistema quanto
ao NFR em relacao ao CD, devido a maior imunidade a MAI, como pode ser visto no
capıtulo 6.
7.5 Limite da Complexidade em DSP: Aplicacoes em
Tempo Real
Para a maioria das aplicacoes em sistemas de comunicacao faz-se necessario atender
uma taxa de transferencia mınima de bits (taxa de informacao), como parte da qualidade
de servico (QoS) relativa ao tipo de aplicacao oferecida, por exemplo, servicos de voz,
dados, videoconferencia etc. Desta forma, um limite de tempo de processamento no
TMS320C6713 para recepcao de um bit de cada usuario em tempo real pode ser definido
e, de posse da equacao que descreve a complexidade em DSP dos receptores CD e 1-
LS-MuD em banda base, pode-se encontrar o limite de usuarios ativos e/ou ganho de
processamento no sistema para que a mınima taxa de transferencia de informacao seja
atendida.
7.5.1 Servico de Voz
Para transmissao de voz admite-se uma taxa de informacao mınima padrao para
cada usuario de Rvoz = 8kb/s, i.e., empregando-se um vocoder2 de alta qualidade3, como
aqueles utilizados em comunicacoes sem fio celulares, o sinal de voz e codificado com
uma taxa final de 8.000 a 9.600 bits/s. Considerando que o processador adotado neste
trabalho, DSP TMS320C6713, possui um clock de RDSP = 225 MHz, define-se o limite de
processamento por trial na equacao (7.12).
DSPCyclesVocoder
∣∣∣max
=RDSP
Rvoz
=225M
8K= 28.125
[ciclos
bits
](7.12)
Na figura 7.8 mostra-se o limite de processamento em DSP do numero de usuarios
ativos no sistema DS/CDMA, considerando banda base e ganho de processamento, N = 4.
Percebe-se que o numero maximo de usuarios capaz de ser processado no TMS320C6713
2Combinacao de voz + codificador: voice + encoder.3codificadores de voz do tipo ”Toll Quality”voice coders, tais como o ITU G.729, com taxa de dados
final de 8 kbps.
7.5 Limite da Complexidade em DSP: Aplicacoes em Tempo Real 59
Tabela 7.7: Maximo numero de usuarios de voz (aplicacao em tempo real) que podemser processados no TMS320C6713.
Receptor Ganho de Processamentobanda-base N = 4 N = 8 N = 12
CD 6 3 21− opt LS-MuD 2 1 1
executando o algoritmo 1-LS-MuD e reduzido para que a taxa de informacao de 8 Kb/s
para cada usuario seja atendida simultaneamente em tempo real. A quantidade maxima
de usuarios ativos torna-se ainda menor com o aumento do ganho de processamento,
conforme visto na figura 7.9 e figura 7.10.
1 1.5 2 2.5 3 3.5 4
1
2
3
4
5
6
7
8x 10
4 Limite de Complexidade com N = 4
Número de usuários, K
Cic
los
em D
SP
, DS
Pcycl
es
Limite de Processamento para Taxa de Informação de 8Kb/s1−opt LS−MuDCD
Figura 7.8: Numero maximo de usuarios ativos, indicado pelo limite de complexidadeem DSP para transmissao de voz, 8 Kb/s eN = 4.
Dos graficos citados, conclui-se que o numero maximo de usuarios suportados para
aplicacoes de voz resulta nao pratico. Isto se deve ao clock do DSP utilizado, RDSP = 225
MHz, alem da complexidade envolvida na implementacao do 1-LS-MuD. No entanto, essa
complexidade nao e muito maior que aquela necessaria para o processamento do sinal do
receptor convencional: conforme indicado na tabela 7.7, o numero maximo de usuarios
que pode ser processado (em banda-base) pelo TMS320C6713, implementando o receptor
convencional com N = 12 e de apenas K = 2, contra K = 1 do 1− opt LS.
Assim, com uma otimizacao do codigo utilizado, pode-se alcancar algum aumento na
quantidade de usuarios processados para transmissoes de voz. Porem, neste trabalho, nao
foi feita a otimizacao do codigo; desta forma, nao ha como afirmar o quao significativo
7.6 Complexidade em DSP atraves do Numero de Operacoes Matematicas 60
1 1.5 2 2.5 3 3.5 4 4.5 5
1
2
3
4
5
6
x 104 Limite de Complexidade com N = 8
Número de usuários, K
Cic
los
em D
SP
, DS
Pcycl
es
Limite de Processamento para Taxa de Informação de 8Kb/s1−opt LS−MuDCD
Figura 7.9: Numero maximo de usuarios ativos, indicado pelo limite de complexidadeem DSP para transmissao de voz, 8 Kb/s e N = 8.
seria o aumento de usuarios com a utilizacao do otimizador de codigos, que e uma fer-
ramenta do CCS. Contudo, acredita-se que o aumento nao seria substancial, devido a
existencia de um numero mınimo de operacoes imprescindıveis que devem ser realizadas
na implementacao do 1-LS-MuD. Complementarmente, pode-se empregar um DSP com
capacidade de processamento mais elevada, o que e compatıvel com a implementacao do
receptor multiusuario no canal reverso, i.e., na estacao radio-base, situacao em que se
dispoe de maior recurso de energia/potencia.
Na proxima secao sera abordada uma segunda forma de analise da complexidade em
DSP realizando uma contagem do numero de operacoes matematicas efetuadas durante
a implementacao dos receptores CD e 1-LS-MuD.
7.6 Complexidade em DSP atraves do Numero de
Operacoes Matematicas
Uma abordagem da complexidade computacional mais comum e atraves do numero
de operacoes matematicas realizadas durante a implementacao proposta. Visando a sim-
plificacao deste metodo, considera-se que a complexidade envolvida em uma soma ou
diferenca seja da mesma ordem, da mesma forma que uma operacao de multiplicacao tera
complexidade equivalente a uma divisao.
7.6 Complexidade em DSP atraves do Numero de Operacoes Matematicas 61
1 1.5 2 2.5 3
1.5
2
2.5
3
3.5
4
4.5
5
5.5
x 104 Limite de Complexidade com N = 12
Número de usuários, K
Cic
los
em D
SP
, DS
Pcycl
es
Limite de Processamento para Taxa de Informação de 8Kb/s1−opt LS−MuDCD
Figura 7.10: Numero maximo de usuarios ativos, indicado pelo limite de complexidadeem DSP para transmissao de voz, 8 Kb/s e N = 12.
Como foi explicado no capıtulo 4, criou-se uma biblioteca com as operacoes matriciais
realizadas na implementacao dos receptores. Para cada uma das operacoes fez-se uma
funcao requisitando os parametros necessarios, como dimensao da matriz, linha ou coluna
a ser calculada, entre outras; dependendo da funcionalidade da operacao.
Logo, o primeiro passo para realizacao da contagem do numero de operacoes realizadas
no receptor CD e heurıstico foi dado efetuando-se a contagem de operacoes de soma e
multiplicacao em cada uma das funcoes que executam as operacoes matriciais e outras
incluıdas no bloco de deteccao CD e 1-LS-MuD. Esta primeira contagem foi feita da forma
que o numero de operacoes de soma e multiplicacao ficaram relacionados aos parametros
de entrada funcao. Desta forma, ao se executar esta funcao dentro do bloco do receptor CD
ou 1-LS-MuD, o numero de operacoes matematicas podia ser relacionado aos parametros
desejados: K e N .
A complexidade computacional da implementacao em DSP do CD atraves do numero
de operacoes de somas e multiplicacoes em funcao do numero de usuarios ativos, K, e
ganho de processamento, N , pode ser expressa por:
NsomCD = 36KN + 4K; e N
prodCD = 28KN + 2K (7.13)
A complexidade computacional da implementacao em DSP do 1-LS-MuD atraves
do numero de operacoes de somas e multiplicacoes foi realizada de maneira similar a
7.6 Complexidade em DSP atraves do Numero de Operacoes Matematicas 62
apresentada na subsecao 7.2. Inicialmente, foi realizado a contagem para a etapa Funcao-
Custo Inicial, ou seja, calculos dos termos F (1) e F (2) seguidos pelo calculo da funcao-
custo utilizando o vetor a saıda do decisor abrupto. A complexidade atraves do numero
de operacoes de somas e multiplicacoes da etapa Funcao-Custo Inicial pode ser expressa
por:
NsomLS−Inicial = 20K3 + 27K2 + 50K + 11
NprodLS−Inicial = 18K3 + 19K2 + 31K
(7.14)
A segunda etapa consiste no laco de cada iteracao do algoritmo 1-LS. A complexidade
atraves do numero de operacoes de somas e multiplicacoes da etapa Iteracao pode ser
expressa por:
NsomLS−Iter = (4K3 + 14K2 + 14K + 1) .Mt
NprodLS−Iter = (3K3 + 11K2) .Mt
(7.15)
Utilizando o mesmo criterio da subsecao 7.2, a simplificacao da equacao (7.15) pode ser
feita considerando o numero de iteracoes, Mt, realizadas em media no receptor heurıstico
1-LS para a convergencia igual a K/2. Desta forma, a equacao (7.15) e simplificada para
equacao (7.16).
NsomLS−Iter = 2K4 + 7K3 + 7K2 + 0, 5K; e N
prodLS−Iter = 1, 5K4 + 5, 5K3 (7.16)
Desta forma, a complexidade computacional em DSP do algoritmo 1− opt LS atraves
do numero de operacoes de somas e multiplicacoes pode ser obtida somando-se o numero
de operacoes obtido nas etapas Inicial e Iteracao conforme a equacao (7.17).
Nsom1−LS = Nsom
LS−Inicial + NsomLS−Iter = 2K4 + 27K3 + 34K2 + 50, 5K + 11
Nprod1−LS = N
prodLS−Inicial + N
prodLS−Iter = 1, 5K4 + 23, 5K3 + 19K2 + 31K
(7.17)
Finalmente, a complexidade para implementacao em DSP do receptor 1-LS-MuD
completo em banda base atraves do numero de operacoes de somas e multiplicacoes e
obtida pela soma da quantidade de operacoes realizadas pelo CD, equacao (7.13), e pelo
algoritmo 1-LS,equacao (7.17) , conforme mostrado na equacao abaixo:
Nsom1−LS−MuD = Nsom
CD + Nsom1−LS
Nsom1−LS−MuD = 2K4 + 27K3 + 34K2 + 54, 5K + 36KN + 11
Nprod1−LS−MuD = N
prodCD + N
prod1−LS
Nprod1−LS−MuD = 1, 5K4 + 23, 5K3 + 19K2 + 33K + 28KN
(7.18)
7.6 Complexidade em DSP atraves do Numero de Operacoes Matematicas 63
Nota-se a concordancia entre as complexidades apresentadas nesta secao e na secao 7.3,
realizada atraves da ferramenta Profile do CCS, por serem ambas relacionadas a K4.
64
8 Principais Conclusoes
A implementacao em DSP do sistema DS/CDMA em banda base proposto aconteceu
de forma satisfatoria, pois, os processamentos corresponderam aos valores esperados que
foram previamente simulados atraves do Matlab. Apesar das limitacoes em relacao ao
numero de usuarios ativos, pode-se efetuar os principais testes que validam a funcionali-
dade do sistema DS/CDMA implementado dentro das condicoes de canal adotadas.
Houve certa dificuldade de manipulacao da plataforma utilizada, uma vez que, nao
ha na graduacao uma disciplina que aborde situacoes e problemas praticos relativos as
plataformas de processadores digital de sinais. Logo, necessitou-se de um estudo previo
sobre o funcionamento teorico e pratico do processador DSP TMS320C6713 utilizado neste
trabalho. Outras dificuldades aconteceram na conexao da plataforma com o computador
atraves do pacote RTDX. Para seu funcionamento e, consequentemente, transmissao de
dados entre Matlab e CCS, e necessario que o projeto na linguagem C em CCS esteja
compilado, seja carregado e o DSP esteja em processamento. Porem, algumas variaveis
necessitavam da quantidade de usuarios ativos e o ganho de processamento do sistema e
estando o projeto compilado, nao ha como alterar as dimensoes declaradas na criacao das
variaveis, entao, optou-se para criacao de variaveis adimensionais que eram dimensionadas
durante a execucao do codigo atraves da alocacao dinamica na memoria. Infelizmente,
este procedimento nao foi funcional, pois algumas variaveis tinham seus valores alterados
aleatoriamente. A solucao se deu atraves da criacao de um arquivo de inicializacao na
linguagem C que pode ser escrito em ambiente Matlab e, em seguida, compila-se o mesmo
junto ao projeto do CCS como um arquivo de biblioteca; as variaveis contidas neste
arquivo podem ser usadas para declaracao das variaveis restantes utilizadas no projeto.
Um grande obstaculo enfrentado durante a implementacao em DSP se deu em relacao
as operacoes matriciais com numeros reais e complexos. Nao foi encontrada uma bi-
blioteca adequada que servisse para as operacoes necessarias na recepcao heurıstica do
sistema DS/CDMA abordado. Desta forma, fez-se necessario o desenvolvimento de uma
biblioteca propria com praticamente todas operacoes matriciais utilizadas no projeto em
8.1 Trabalhos Futuros 65
CCS. Na manipulacao de numeros complexos, foi seguido o mesmo procedimento. Apos a
escolha de uma forma de declaracao e atribuicao de numeros complexos, todas operacoes
envolvendo-os foram desenvolvidas atraves de funcoes contidas em um arquivo em lingua-
gem C adicionado, como biblioteca, ao projeto.
Por se tratar de um dos mais poderosos processadores da Texas Instruments Inc., nao
foram encontrados problemas em relacao a velocidade do DSP. Apesar de mais lento que
uma simulacao realizada em Matlab no computador, a velocidade de processamento em
DSP foi satisfatoria ficando dentro de margens de tempo de processamento aceitaveis,
ou seja, tomando-se como base o tempo disponıvel para obtencao dos resultados e a
instabilidade nos computadores apos alguns dias de uso ininterruptos, o tempo maximo
de processamento deveria ser de cinco dias (120 horas). Com uma otimizacao do codigo
implementado, ha possibilidade de reducao nos tempos de processamento em DSP, permi-
tindo conjecturar sobre o aumento do numero maximo de usuarios de voz que podem ser
processados pelo DSP, tanto empregando algoritmo para o receptor convencional quanto
para o receptor multiusuario heurıstico.
8.1 Trabalhos Futuros
Como trabalhos futuros alguns direcionamentos sao sugeridos:
• Expansao da analise e caracterizacao de outros algoritmos heurısticos mais sofisti-
cados, com estrategicas de escape de maximos locais, tais como algoritmo genetico,
e/ou empregando canais mais realistas, ou seja, canais assıncrono e/ou com desva-
necimento Rayleigh plano ou multipercurso;
• Otimizacao do codigo em linguagem C implementado no CCS, pois ha ferramen-
tas proprias dentro do CCS que possibilitam esta otimizacao e, consequentemente,
reducao do tempo de processamento no DSP associado a um aumento do numero
maximo de usuarios detectados simultaneamente e em tempo real;
• Utilizacao mais eficiente e expansao da capacidade da plataforma DSP; possıveis pro-
cedimentos incluem a utilizacao de memorias externas, entrada de sinais analogicos
vindos de uma antena com demodulacao externa a plataforma criando, desta forma,
estimativas reais do canal.
66
Anexo A -- Plataforma do DSK C6713
A utilizacao de software para simulacoes computacionais como o Matlab nao impoe
um determinado tempo para que tal simulacao ocorra. Porem, ao se trabalhar com
aplicacoes em tempo real, faz-se necessario a utilizacao de um processador digital de sinais,
conhecido como DSP (Digital Signal Processor) que implementara tais processamentos de
uma determinada amostra, antes que novos dados cheguem para serem processados.
Os DSP’s podem ser empregados em diversas areas como tambem para processamentos
especıficos, onde deseja-se encontrar solucoes adaptativas para um determinado problema.
A simulacao em tempo real e uma area que tem sido bastante estudada ao longo dos
anos, existindo diversos trabalhos de programacao para controle de processos.
Assim, a questao da limitacao de tempo tornou-se um problema a ser solucionado,
pois garantir uma resposta certa em tempo real em alto nıvel torna-se complexo, especi-
almente para DSP’s onde sistemas com determinada taxas de dados devem ser analisados
(MARWEDEL, 1995).
A figura A.1 mostra o diagrama de blocos da plataforma do kit DSK C6713 da Spec-
trum Digital Inc (TEXAS INSTRUMENTS INC., 2005).
Figura A.1: Diagrama de blocos da plataforma do kit de desenvolvimento DSK C6713
A famılia de processadores digitais de sinal TMS320 e utilizada em uma ampla gama
de aplicacoes, como em comunicacoes, controles de processamento de voz, e assim por
A.1 Ferramentas de suporte do DSK 67
diante. Tambem sao utilizados em telefones celulares, cameras digitais, televisao de alta
definicao (HDTV), radio, transmissao de fax, modems e outros dispositivos.
Estes dispositivos tambem podem ser utilizados em projetos experimentais, pois for-
necem uma maneira economica de apresentar em tempo real o processamento de sinais.
O DSP procura trabalhar principalmente com o processamento de sinal em tempo
real (real-time).
Sistemas analogicos com componentes eletronicos, como resistores, podem ser mais
sensıveis a mudancas de temperatura por exemplo, ja sistemas baseados em DSP sao
menos afetados pelas condicoes ambientais. Eles tambem tem uma vantagem de utilizar
microprocessadores, sendo de facil utilizacao, flexıveis e economicos.
A famılia de processadores TMS320C6x (C6x) sao microprocessadores com uma alta
velocidade de processamento contendo um tipo especializado de arquitetura e um conjunto
de instrucoes adequadas para o processamento de sinais.
A notacao C6x e utilizada para designar a famılia de DSP da Texas Instruments (TI
famılia TMS320C6000), onde a arquitetura deste processador digital de sinal esta adap-
tada para calculos numericos intensivos baseado na arquitetura VLIW, senso considerado
um dos melhores processadores da TI.
A famılia C6x da TI pode realizar diferentes tarefas, uma vez que permite a repro-
gramacao facilmente para diversas aplicacoes, tendo tido muito sucesso devido ao desen-
volvimento de baixo custo do software e hardware.
Processadores da famılia C6x incluem tanto dispositivos de ponto fixo (por exemplo,
C62x, C64x) e de ponto flutuante (por exemplo, C67x). O processador utilizado no
trabalho foi o C6713 de ponto flutuante muito util em aplicacoes que requerem calculos
intensivos.
A.1 Ferramentas de suporte do DSK
Desenvolvido pela Spectrum Digital Inc., o kit DSK6713 consiste em uma plataforma
de integracao entre o DSP TMS320C6713 e diversos componentes.
Para realizar a implementacao de programas no DSP e necessario a comunicacao do
kit com um computador atraves de uma porta USB, possibilitando a implementacao de
diversas aplicacoes no processador.
A.1 Ferramentas de suporte do DSK 68
Para realizacao do projeto foram utilizadas as seguintes ferramentas:
• Kit da TI - DSP (DSK). O pacote inclui o Code Composer Studio (CCS), que fornece
o software necessario e ferramentas de apoio com um ambiente de desenvolvimento
integrado (IDE), que reune um compilador C, assembler, linker e debugger.
• A placa, mostrada na figura A.2 (TEXAS INSTRUMENTS INC., 2005), contem o pro-
cessador TMS320C6713 (C6713) de ponto flutuante, bem como um codec stereo de
32-bits para entrada e saıda de dados.
Figura A.2: Placa do kit de desenvolvimento DSK6713
• A conexao da placa do kit DSK se conecta a porta USB do PC atraves de um cabo.
O pacote DSK inclui tambem conversores AD e DA, 16MB de memoria SDRAM e
256KB de memoria flash. Quatro conectores de entrada e saıda de dados: MIC IN para
entrada de microfone, LINE IN, LINE OUT para saıda de linha e uma entrada para fone
de ouvido(multiplexado com saıda de linha). O processador opera com uma frequencia
de 225MHz.
Existem na placa do kit reguladores de tensao que fornecem uma tensao de 1,26 V
para o C6713 e 3,3 V para a sua memoria e perifericos.
A.1.1 DSP TMS320C6713
O TMS320C6713 (C6713) e baseado na arquitetura VLIW, que esta muito bem adap-
tado para algoritmos numericamente intensivos. A memoria de programa interno esta
estruturada de modo que um total de oito instrucoes podem ser buscadas a cada ciclo.
A.1 Ferramentas de suporte do DSK 69
Outra caracterıstica do DSP C6713 e sua memoria interna de 264 kB (8kb como L1P
e L1D e 256kB de memoria cache L2 compartilhado entre o programa e os dados), seis
unidades de logica aritmetica (ULA) e duas unidades de multiplicadores, um barramento
de 32 bits de endereco de 4 GB e dois conjuntos de registradores de 32 bits. Na figura A.3
(TEXAS INSTRUMENTS INC., 2005) e mostrado o diagrama interno do DSP TMS320C6713.
Figura A.3: Diagrama interno do DSP TMS320C6713.
70
Anexo B -- Real-Time Data Exchange
(RTDX)
Real-Time Data Exchange (RTDX) fornece, em tempo real, a visibilidade contınua
nas operacoes realizadas numa plataforma de destino. RTDX transfere dados entre um
computador, “host”, e dispositivos de destino,“target”, sem interferir nas aplicacoes rea-
lizadas no “target”, ou seja, sem interrupcao de processamento no “target”. Voce pode
analisar e visualizar os dados no computador utilizando a interface fornecida pelo COM
RTDX. Aplicativos-cliente como o Visual Basic, Visual C + +, Excel, LabView, Matlab,
e outros podem facilmente usar a interface COM. Esta representacao realista de seu funci-
onamento do sistema pode encurtar o tempo de desenvolvimento (TEXAS INSTRUMENTS
INC., 2005).
RTDX forma dois canais para caminho de dados entre um aplicativo-cliente no compu-
tador e a plataforma de destino atraves de uma combinacao de componentes de hardware
e software, como mostrado na figura B.1 (TEXAS INSTRUMENTS INC., 2005):
Figura B.1: Esquema de comunicacao generica do RTDX.
Anexo B -- Real-Time Data Exchange (RTDX) 71
Os dados podem ser enviados a partir do aplicativo da plataforma de destino para
o aplicativo-cliente no computador e vice-versa. Esses canais, atraves do qual os dados
trafegam, sao unidirecionais; os fluxos de dados trafegam a partir do aplicativo da plata-
forma de destino para o aplicativo-cliente no computador e vice-versa em canais distintos.
Os dados podem ser inseridos nesses canais de forma assıncrona, ou seja, a qualquer
momento.
O dispositivo de destino envia dados para o computador no computador chamando
funcoes da biblioteca RTDX localizada na plataforma de destino, chamada “RTDX Target
Library”. Estas funcoes imediatamente armazenam os dados em um buffer de dados e
entao retornam. A “RTDX Target Library”, em seguida, transmite os dados do buffer
para o computador, sem interferir no dispositivo de destino. O computador registra estes
dados ou em um buffer de memoria ou um arquivo de log RTDX, dependendo do modo de
gravacao no computador especificado na configuracao do RTDX. Os dados gravados podem
ser recuperados por qualquer aplicativo-cliente no computador que esteja interfaceado
com o Code Composer Studio (CCS) via RTDX. Computadores de plataforma Windows
oferecem uma interface COM que e usada entre um aplicativo-cliente e o CCS.
Do mesmo modo, um aplicativo-cliente no computador pode enviar dados para o
dispositivo de destino. A biblioteca RTDX localizada no CCS, chamada “RTDX Host
Library”, armazena no buffer todos os dados enviados para o dispositivo de destino. Se a
“RTDX Host Library”receber um pedido de dados do dispositivo de destino e os dados no
buffer do host forem suficientes para atender a solicitacao, a “RTDX Host Library”envia
os dados para o dispositivo de destino. Os dados sao gravados para o local solicitado sem
interferir com o dispositivo de destino. O host notifica o “RTDX Host Library”apos a
conclusao de operacao.
Na figura B.2 ilustra-se a sintaxe dos comandos de escrita e recebimento de dados no
CCS, a variavel a ser enviada ou recebida e “arraydata”; “ichan”significa o canal RTDX
de entrada de dados e “ochan”significa o canal RTDX de saıda de dados, ambos ja devem
ter sido criados e habilitados quando se da a execucao deste comando de transferencia de
dados.
Figura B.2: Comandos de escrita e leitura de dados do canal RTDX no CCS.
Anexo B -- Real-Time Data Exchange (RTDX) 72
A configuracao e habilitacao do RTDX devem ser feitas antes do inıcio do proces-
samento no DSP. As figura B.3 e figura B.4 ilustram, respectivamente, as janelas de
configuracao e ativacao do RTDX.
Figura B.3: Janela para configuracao do RTDX.
Figura B.4: Janela onde se habilita o RTDX.
73
Anexo C -- Ferramenta Profile do Code
Composer Studio
O Code Composer Studio fornece uma ferramenta que possibilita o profile do seu
codigo em execucao, ou seja, o monitoramento de alguns parametros desejados no proces-
sador DSP durante a execucao do seu codigo ou parte dele. Os parametros que podem
ser monitorados podem ser vistos atraves da aba “Custom”do “Setup”do Profile como
mostra a figura C.1. Muitos parametros podem ser monitorados, sendo o mais comum
“Cycles”que se refere aos ciclos do DSP.
Figura C.1: Parametros que podem ser monitorados pelo Code Composer Profiler.
Dentro do seu codigo, pode-se escolher funcoes, loops ou linhas de codigo que, durante
sua execucao, habilitarao o Profile. A aba “Ranges”do “Setup”do Profile ilustra que
Anexo C -- Ferramenta Profile do Code Composer Studio 74
regioes do seu codigo estao habilitadas ou nao para o Profile como mostra a figura C.2.
Figura C.2: Locais do codigo que podem habilitar a execucao do Code ComposerProfiler.
Deve-se habilitar o Profile, como e mostrado na figura C.3, e um indicativo que o
Profile esta habilitado e mostrado na parte inferior do CCS, como e ilustrado na figura C.4.
Depois de habilitado, compila e carrega-se o codigo no DSP, habilitando assim, a aba
“Ranges”do “Setup”do Profile. Escolhe-se o trecho do codigo que devera ativar o Profile
e, assim que o processamento no DSP for inicializado (Run), o Profile estara fazendo seu
monitoramento. Apos o encerramento (Halt), os dados gerados pelo Profile podem ser
visualizados atraves do Profile Viewer.
Figura C.3: Habilitando o Code Composer Profiler.
Figura C.4: Code Composer Profiler habilitado.
75
Anexo D -- Metodo de Simulacao Monte
Carlo
O metodo de simulacao computacional empregado neste trabalho foi o metodo Monte
Carlo. O metodo de simulacao Monte Carlo (MCS), refere-se a um conjunto de tecnicas
de calculo de probabilidade que faz uso de eventos aleatorios. O nome origina-se de Monte
Carlo, em Monaco, onde ha uma grande quantidade de cassinos com jogos de azar, cuja
essencia esta toda baseada na teoria das probabilidades (SOBOL, 1994).
Este metodo aplica-se a varios contextos, sendo largamente utilizado em telecomu-
nicacoes quando nao for possıvel determinar a probabilidade de erro de bit analiticamente
e numericamente ou ainda quando se estiver investigando a validade de expressoes (semi-)
analıticas para o desempenho de novas estruturas e/ou sistemas de comunicacao. O MCS
e simplesmente um conjunto de sequencias de Bernoulli onde sao computados os numeros
de sucessos ou erros dividido pelo numero de realizacoes (CIRIACO, 2004).
Neste trabalho, o metodo MCS e utilizado para a caracterizacao do desempenho
dos sistemas considerados em termos de BER. O modelo empregado nas simulacoes e
representado na figura D.1.
Nesta figura, nerros representa o numero de erros maximo computado para o calculo
da BER em cada ponto desejado. O valor do erro e fornecido pelo usuario. Quanto
maior o valor de nerros, mais confiavel se torna o resultado obtido, pois aumenta-se o
numero necessario de trials, sendo trials o numero de vezes em que os dados aleatorios
sao gerados de forma independente.
Desta maneira, a BER estimada e calculada da forma:
Pe =nerrostrials
(D.1)
Quando trials→∞ a razao que define Pe converge, mas adotar computacionalmente
trials → ∞ e inviavel. Portanto, emprega-se um numero tal de trials ou nerros que
Anexo D -- Metodo de Simulacao Monte Carlo 76
Figura D.1: Fluxograma do modelo empregado neste trabalho baseado no Metodo deSimulacao Monte Carlo.
conduza a um resultado dentro de um intervalo de confianca esperado. Para garantia de
uma estimativa, neste trabalho, utiliza-se Pe como o valor limite para Single-user (Single-
User Bound - SuB), conforme descrito no anexo E. O valor de Pe e dado conforme a
equacao (D.2).
Pe = Q
(√2EbN0
)(D.2)
Comparando a equacao (D.1) com a equacao (D.2), chega-se a equacao (D.3). Logo,
com a aquisicao dos parametros de entrada, nerros e Eb/N0[dB], pode-se estimar o numero
de trials necessarios para a simulacao e processamento realizados neste trabalho.
trials =nerros
Q
(√2Eb/N0
) (D.3)
77
Anexo E -- Probabilidade de Erro Teorica
E.1 Limite Single User para AWGN
Este anexo foi baseado no trabalho (CIRIACO, 2004).
Para um sistema com transmissao com um unico usuario utilizando a banda de trans-
missao, ou na ausencia de usuarios interferentes, considerando canal AWGN em um
receptor otimo (neste caso, um detector com filtro casado ao sinal transmitido), a me-
nor BER resultante que este sistema pode atingir1 e denominado de SuB (Single User
Bound).
Este limite de desempenho, com bits equiprovaveis, modulacao BPSK (s1 = A e
s2 = −A), sendo A a amplitude do sinal, atraves de um canal AWGN, pode ser determi-
nado analisando-se a funcao densidade de probabilidade condicional quando s1 e s2 forem
enviados.
A probabilidade de erro de bit, Pe, e determinada com base nas areas sob as curvas
que estiverem na regiao de decisao de outro bit2.
Analiticamente, a probabilidade de erro pode ser escrita como:
Pe = Pr (s1)Pr (e| s1) + Pr (s2)Pr (e| s2) (E.1)
onde Pr(x) e a probabilidade a priori de transmissao do bit x, e Pr(e|x) e a probabilidade
de erro dado que x foi transmitido.
As duas funcoes densidade de probabilidade condicionais referentes aos bits s1 e s2
seguem a distribuicao normal (Gaussiana) e sao dadas por:
pdf (r| s1) =1√πN0
.e−(r−A)2/N0 (E.2)
1para um certo valor de Eb/N02no caso de sinais anti-podais equiprovaveis, o limiar otimo de decisao e igual a zero
E.1 Limite Single User para AWGN 78
pdf (r| s2) =1√πN0
.e−(r+A)2/N0 (E.3)
Assumindo, sem perda de generalidade, que s1 foi transmitido. A probabilidade de
erro pode ser obtida encontrando-se a area cuja regiao pertence a r < 0, ou seja:
Pr (e| s1) =
∫ 0
−∞pdf (r| s1) dr
=1√πN0
∫ 0
−∞e−(r−A)2/N0dr
=1√2π
∫ −A√2/N0
−∞e−x
2/2dx
=1√2π
∫ ∞A√
2/N0
e−x2/2dx
Pr (e| s1) = Q
(√2A2
N0
)= Q
(√2EbN0
)(E.4)
A funcao Q(x) e a medida da area sob parte da curva gaussiana3 de uma variavel
aleatoria x de media zero e variancia normalizada, sendo dada por:
Q (x) =1√2π
∫ ∞x
e−t2/2dt =
1
2erfc
(x√2
)(E.5)
Similarmente, se s2 e transmitido, tem-se a mesma probabilidade de erro do caso em
que s1 foi transmitido. Ou seja:
Pr (e| s2) = Q
(√2EbN0
)(E.6)
Como os sinais sao equiprovaveis, Pr(s1) = Pr(s2) = 0, 5, resulta:
Pe =1
2Pr (e| s1) +
1
2Pr (e| s2)
Pe = Q
(√2EbN0
)(E.7)
3relacionada a funcao erro complementar
79
Anexo F -- Sequencias de Espalhamento
A divisao por sequencias, cada uma sendo um codigo para um determinado usuario,
mostra-se uma boa estrategia de acesso multiplo ja que melhora o desempenho com relacao
a interferencia (HAYKIN; MOHER, 2005). No sistema CDMA tem-se uma ortogonalidade
nos codigos dos usuarios. Para garantir tal ortogonalidade, cada sequencia atribuıda a
um usuario [sk(q)] deve ter uma funcao de modelamento de sımbolo diferente.
gk =N∑q=1
skgc (t− qTc) 0 ≤ t ≤ T (F.1)
Assim, a ortogonalidade aproximada entre o k-esimo e o j-esimo usuario para diferentes
deslocamentos de tempo t pode ser expresso como na equacao (F.2):
Rjk (τ) =
∫ ∞−∞
gj (t+ τ) g∗k (t) dt ≈ 0 paraj 6= k (F.2)
Com a equacao (F.2), assumindo-se que o receptor esta usando um filtro casado
(MFB), a correlacao cruzada de dois sımbolos diferentes e aproximadamente zero para
todos os deslocamentos de tempo τ . Outro requisito de ortogonalidade que minimiza
varios canais e efeitos no receptor e mostrado em equacao (F.3):
Rkk (τ) ≈ 0 paraτ > 0 (F.3)
Portanto, a escolha das sequencia de espalhamento ira determinar se as equacoes
acima serao satisfeitas.
F.1 Sequencias Aleatorias
Como o proprio nome indica, tais sequencias sao geradas aleatoriamente, onde pode-se
definir a correlacao cruzada entre duas sequencias aleatorias x e y pela equacao (F.4):
F.2 Sequencias Walsh-Hadamard 80
Rxy (k) = E
[1
N
N∑n=1
xnyn+k
](F.4)
Ja a funcao de autocorrelacao da sequencia aleatoria e dada pela equacao (F.5):
Rxx (k) = E
[1
N
N∑n=1
xnyn+k
]=
0 para k 6= 0
1 para k = 0(F.5)
Portanto, ao se considerar que a autocorrelacao e normalizada tal que Rxx = 1, a
correlacao cruzada media de duas sequencias aleatorias e definida na equacao (F.6).
E[|Rxy|2
]= E
( 1
N
N∑n=1
xnyn
)2 =
1
N(F.6)
Atraves da equacao (F.6) observa-se que a interferencia entre duas sequencias aleatorias
e inversamente proporcional ao comprimento da sequencia.
F.2 Sequencias Walsh-Hadamard
Considerando que as sequencias estao sincronizadas no tempo, ou seja, τ = 0, as
relacoes de ortogonalidades podem ser satisfeitas e os codigos resultantes sao chamados de
Sequencias Walsh-Hadamard. A implementacao de tais sequencias permite-se construir 2n
sequencias ortogonais de comprimento 2n, tendo os codigos uma pequena autocorrelacao
e correlacao cruzada em deslocamento de tempo diferentes de zero.
F.3 Sequencias de Maximo Comprimento (SMC)
Os codigos de Walsh-Hadamard nao possuem boas propriedades de ortogonalidade
quando eles nao se alinham no tempo. Para aplicacoes em comunicacoes, precisa-se de
sequencias com propriedades semelhantes as das sequencias aleatorias, devendo ser gerada
de forma simples no transmissor e receptor. Uma classe de sequencias que garante tais
condicoes e a Sequencia de Maximo Comprimento ou Sequencias m. As sequencias m tem
um comprimento de N = 2m - 1 chips, constituıdos por 2m−1 valores logicos 1 e 2m−1 - 1
valores logicos 0 (GOULD; LEE, 2001). A funcao de auto correlacao e periodica em N, com
um pico de N para zero e -1 para outros valores como e mostrado na figura F.1.
F.4 Sequencias Gold 81
Figura F.1: Funcao de autocorrelacao de sequencias m (SMC).
Sao geradas a partir de um registrador de deslocamento binario com realimentacao.
Como a funcao de autocorrelacao circular para uma sequencia pode ser expresso por
Rjj (k) =1
N
N∑q=1
s (q) s ((q + k)mod (N)) (F.7)
onde N = 2m - 1, pode-se determinar a autocorrelacao normalizada para a sequencia
de comprimento maximo na equacao (F.8):
Rjj (k) =
1 para k = 0−1N
para k 6= 0(F.8)
Quanto maior for o ganho de processamento N (numero de chips), melhores serao as
propriedades de autocorrelacao das sequencias de comprimento maximo.
F.4 Sequencias Gold
A sequencia Gold propoe que seja somado duas sequencias de maximo comprimento
tendo estas o mesmo tamanho, porem usando geradores diferentes. Os codigos gerados
da soma das saıdas de dois geradores de sequencias m, dao origem a uma nova sequencia
de espalhamento (sequencia Gold). A correlacao cruzada das sequencias Gold e aproxi-
madamente
F.5 Justificativa para uso de Sequencias Aleatorias 82
|Rjk (τ)| =≤ 1
N+
2√N
j 6= k (F.9)
onde N = 2m -1.
F.5 Justificativa para uso de Sequencias Aleatorias
Esta secao visa justificar a adocao, neste trabalho, de sequencias aleatorias ao inves
de sequencias determinısticas.
Foram adotadas sequencias aleatorias de comprimento N igual 30, 20, 15 ou 12, em
razao ao processamento no DSP estar limitado para um numero de usuarios acima de 12.
Considerando sistemas de comunicacao sıncrono, pode-se alocar no mınimo ate 2N = 215
usuarios distintos, ou seja, o sistema poderia ser sobrecarregado (overloaded system), pois
a garantia de bom desempenho nao e atribuıda a escolha de um conjunto de sequencias
com boas propriedades de correlacao e sim ao algoritmo heurıstico adotado.
Como comparacao, se fosse escolhida a famılia Gold com N = 31 (comprimento
existente mais proximo), terıamos no maximo 33 sequencias disponıveis, limitando a ca-
pacidade do sistema em termos do numero maximo de usuarios ativos.
Por fim, a analise de desempenho dos algoritmos heurısticos foi baseada no estudo de
pior caso (sequencias aleatorias), pois com a utilizacao de sequencias determinısticas, o
desempenho seria melhor.
83
Anexo G -- Canais de Radio Moveis
Canal pode ser entendido como uma variavel nao envolvida nos processos de trans-
missao e recepcao, mas que, de alguma forma, influencia na informacao.
Em sistemas CDMA, o canal e representado como o bloco intermediario entre a
transmissao e recepcao de um sinal espectralmente espalhado, comumente dividido em:
ruıdo aditivo1, constituıdo pela contribuicao das antenas de transmissao e recepcao e
pelo ruıdo termico gerado nos primeiros estagios do receptor, e o ruıdo multiplicativo,
constituıdo do canal fısico de propagacao. Neste trabalho, foi considerado somente o
ruıdo aditivo (AWGN).
G.1 Ruıdo Aditivo (Canal AWGN)
Este anexo foi baseado no trabalho (CIRIACO, 2004).
Alem de distorcerem os sinais transmitidos, os canais de radio moveis possuem uma
parcela ruidosa. Esse sinal ruidoso e em grande parte gerado pela antena de recepcao e
pelos primeiros estagios amplificadores do circuito receptor.
Nos circuitos receptores o sinal ruidoso e gerado internamente, sendo proveniente do
movimento de eletrons em seus componentes devido unicamente a energia termica, sendo
chamado de ruıdo termico.
Comumente, este ruıdo e modelado como um processo estocastico com distribuicao
normal de media zero e com funcao densidade espectral de potencia constante ao longo
de uma banda muito larga2, sendo que este ruıdo e adicionado ao sinal transmitido es-
pectralmente espalhado.
Nestas condicoes, o ruıdo recebe a denominacao de ruıdo aditivo branco com distri-
1tambem denominado de ruıdo termico ou ruıdo de fundo2teoricamente infinita
G.1 Ruıdo Aditivo (Canal AWGN) 84
buicao Gaussiana (AWGN). Sua funcao densidade de probabilidade e dada por:
pdf (x) =1√
2πσ2.e
(− x
2
σ2
)(G.1)
onde σ2 = N0 e a variancia do ruıdo.
A adicao de AWGN ao conjunto de sinais transmitidos deve seguir algumas relacoes
a fim de se ajustar corretamente o nıvel de potencia deste ruıdo. Para tanto, adotou-se
os seguintes procedimentos de simulacao Monte Carlo na geracao e adicao do AWGN ao
sinal.
Em um sistema DS-CDMA com modulacao BPSK, codigos curtos e formatacao de
pulsos retangulares, com 1 amostra/chip, a relacao entre as energias de bit e a de ruıdo e:
EbN0
=Pb.TbN0
=Pb.Tc.N
N0
(G.2)
onde N0
2e a densidade espectral de potencia bilateral do AWGN; Eb e a energia de bit
de dados; N e o ganho de processamento; Pb e a potencia de bit recebida; Tb e o perıodo
de bit3, que para codigo curto vale N.Tc, com Tc sendo o perıodo de chip.
Considerando B a largura de banda unilateral do sinal espalhado em banda base
(B = 1/Tc), a potencia do AWGN (variancia) sera:
σ2 =N0.B
2=N0
2Tc(G.3)
Portanto, a equacao (G.2) e equivalente a:
EbN0
=Pb.Tc.N
N0
=Pb.N
2B.N0
=Pb.N
2σ2=SNR.N
2(G.4)
onde Pbσ2 = SNR e a relacao entre as potencias de sinal e de ruıdo.
Sem perda de generalidade, considerando potencia recebida igual a Pb = A2/Rn,
sendo A a amplitude do sinal recebido e Rn a resistencia de entrada do sistema receptor
normalizada em 1Ω, tem-se:
Pb = 2σ2 EbN0.N
= A2 (G.5)
Existem duas maneiras para se calibrar adequadamente a relacao Eb/N0: uma pela
amplitude do sinal (A) e outra pela variancia do ruıdo (σ2). Neste trabalho escolheu-se a
normalizacao pela amplitude (A = 1).
Sendo assim, a media do processo Gaussiano sera igual a 0 e a variancia do AWGN
3Considerado, sem perda de generalidade, normalizado
G.1 Ruıdo Aditivo (Canal AWGN) 85
sera dada por:
σ2n =
N0N
2Eb=
N
2Eb/N0
(G.6)
Geralmente o parametro de entrada e a relacao Eb/N0, ou de forma equivalente, SNR
caso o sistema DS/CDMA use uma modulacao BPSK antipodal.
86
Referencias
AARTS, E.; LENSTRA, J. K. Local Search in Combinatorial Optimization. Princeton,New Jersey: Princeton University Press, 2003.
ABRAO, T. Canceladores de Inteferencia Multiusuario Aplicados a Sistemas DS/CDMAde Multipla Taxa. Tese (Doutorado) — Escola Politecnica da Universidade de Sao Paulo,Brasil, 2001.
CHASSAING, R. Digital Signal Processor and Applications with the C6713 and C6416DSK. New Jersey, United States: John Wiley & Sons Inc., 2005.
CIRIACO, F. Abordagens Heurısticas aplicadas a Deteccao Multiusuario em sistemasDS/CDMA. Trabalho de Conclusao de Curso de Graduacao - Universidade Estadual deLondrina, Brasil, 2004.
GOULD, R. S. P.; LEE, C.-C. GSM, CDMAOne and 3G Systems. Chicester, England:John Wiley & Sons Inc., 2001.
HAYKIN, S.; MOHER, M. Modern Wireless Communications. New Jersey, UnitedStates: Pearson Education, Inc., 2005.
MARWEDEL, P. Code Generation for Embedded Processors. Germany: KluwerAcademic Publishers, 1995.
OLIVEIRA, L. D. de. Deteccao Multiusuario e Alocacao de Recursos Atraves deHeurıstica em Sistemas DS/CDMA. Dissertacao (Mestrado) - Universidade Estadual deLondrina, Brasil, 2007.
SOBOL, I. M. A Primer for the Monte Carlo Method. Florida, United States: CRCPress, Inc., 1994.
TACHIKAWA, K. W-CDMA Mobile Communications Systems. Chicester, England:John Wiley & Sons Inc., 2002.
TEXAS INSTRUMENTS INC. Code Composer Studio Tutorial. Texas, United States,2005.
VERDU, S. Optimum multiuser asymptotic efficiency. IEEE Transactions onCommunications, p. 890 to 897, 1986.
VERDU, S. Multiuser Detection. Cambrigde, England: Cambridge University Press,1998.
ZIGANGIROV, K. S. Theory of Code Multiple Division Access Communication. UnitedStates: Wiley-IEEE Press, 2004. (1, v. 1). P. 399 p.