Você está na página 1de 94

Universidade Estadual de Londrina

Centro de Tecnologia e Urbanismo


Departamento de Engenharia Eletrica
Aplicabilidade de Heursticas na
Otimizacao de Problemas
Combinat orios em Telecomunicacoes
Rafael de Oliveira Ribeiro
9 de dezembro de 2009
Universidade Estadual de Londrina
Centro de Tecnologia e Urbanismo
Departamento de Engenharia Eletrica
Aplicabilidade de Heursticas na
Otimizacao de Problemas
Combinat orios em Telecomunicacoes
Discente: Rafael. de Oliveira Ribeiro
Orientador: Prof. Dr. Tauk Abr ao

Area de concentrac ao: Telecomunicacoes


Monograa orientada pelo Prof. Dr. Tauk Abrao intitulada
Aplicabilidade de Heursticas na Otimizac ao de Proble-
mas Combinatorios em Telecomunicac oes e apresentada ` a
Universidade Estadual de Londrina, como parte dos requi-
sitos necess arios ` a conclusao do Curso de Engenharia Eletrica.
9 de dezembro de 2009
Ficha Catalograca
Ribeiro, Rafael de Oliveira
Aplicabilidade de Heursticas na Otimizac ao de Problemas Combinat orios
em Telecomunicac oes. Londrina, 2009. 74 p.
Universidade Estadual de Londrina. Departamento de Engenharia
Eletrica.
1. DSP. 2. CDMA 3. Deteccao. 4. Algoritmos Heursticos.
I. Universidade Estadual de Londrina. Departamento de Engenharia Eletrica.
II. Aplicabilidade de Heursticas na Otimiza cao de Problemas Combinat orios
em Telecomunicac oes.
Rafael de Oliveira Ribeiro
Aplicabilidade de Heursticas na
Otimizacao de Problemas
Combinat orios em Telecomunicacoes
Monograa apresentada ao curso de Engenharia Eletrica da
Universidade Estadual de Londrina, como parte dos requi-
sitos necess arios para a conclusao do curso de Engenharia
Eletrica.
Comissao Examinadora

Prof. Dr. Tauk Abr ao


Dept. de Engenharia Eletrica
Orientador

Prof. MSc. Luis Carlos Kakimoto.


Dept. de Engenharia Eletrica

Prof. Dr. Marcio Roberto Covacic


Dept. de Engenharia Eletrica

Prof. Msc. Fernando Ciriaco Dias Neto


Faculdade Pit agoras
9 de dezembro de 2009
A mente que se abre a uma nova ideia jamais
voltar a ao seu tamanho original. (Albert Einstein)
Agradecimentos
Agradeco aos meus pais, Francisco de Fatima Ribeiro e Angela Cristina de Oliveira
Ribeiro, pelo esforco e apoio incondicional que me ajudaram a conquistar meus objetivos.
Ao meu orientador, Prof. Dr. Tauk Abrao, pelo seu apoio, dedica cao e capacidade
de orientacao. Agrade co tambem ao meu co-orientador, Prof. MSc. Fernando Ciriaco,
pela ajuda e contribuic ao para que este trabalho pudesse ser realizado.
Aos meus familiares, pelo incentivo nesta etapa da minha vida.
E aos meus colegas de curso, Alex Miyamoto Mussi e Fl avio Henrique Silva, que
contriburam para o avanco deste trabalho.
Resumo
Abordagens analticas muitas vezes n ao oferecem soluc oes computacionalmente e-
cientes a problemas de elevada ordem de complexidade, sendo utilizada, alternativamente,
modernas tecnicas computacionais para uma busca mais r apida de solucoes aproximadas.
Portanto, a utilizac ao de algoritmos heursticos na otimizac ao de problemas possibilita
a reducao da complexidade e maior agilidade na resolu cao, j a que na area de telecomu-
nicac oes muitos problemas s ao din amicos, de elevada ordem/dimens ao e/ou mudam ao
longo do tempo, fazendo com que as buscas por solu coes crescam exponencialmente com
o aumento das vari aveis de entrada. Neste trabalho e apresentado um estudo sobre as es-
trategias de implementac ao da ferramenta heurstica aplicada a sistemas de comunicacao
sem o, enfatizando o algoritmo de recozimento simulado (Simulated Annealing - SA)
na deteccao multiusu ario (MuD) em sistemas DS-CDMA. O desempenho da ferramenta
heurstica e comparado de acordo com sua eciencia na solucao do problema proposto,
variando-se os par ametros do sistema bem como considerando sua implementac ao em pro-
cessadores digitais de sinais (DSP). Outra ferramenta computacional utilizada no trabalho
e o software MATLAB, o qual permite nao s o a simulacao do canal e da transmiss ao DS-
CDMA como tambem o estudo e avaliac ao do algoritmo heurstico SAMuD na busca
da otimizac ao da etapa de detec cao no receptor.
Abstract
Analytical approaches often do not solve problems, having to use modern computa-
tional techniques to a fast search of solutions. Therefore, the use of heuristic algorithms
for optimization of problems enables the reduction of complexity and greater exibility
in the resolution. In telecommunications issues, the problems are dynamic, changing over
time and the search for solutions grow exponentially with the increase of input variables.
The heuristic tools applied to wireless communication systems as to the DS-CDMA mul-
tiuser detection (MUD), are introduced emphasizing the main algorithms and the basic
ideas of each. The acting of the tool heuristic is compared with your performance in the
problem proposed, varying up the parameters of the system and also the implementation
this algorithm on digital signal processors (DSP). Another computational tool used in the
project is the MatLab software that allows the simulation of the channel and the trans-
mission DS-CDMA, as well as the study of heuristic algorithms in search optimization of
the receiver (a low error rate of bit).
Sumario
Lista de Figuras vii
Lista de Tabelas x
1 INTRODUC

AO 1
1.1 Modulac ao por Espalhamento Espectral . . . . . . . . . . . . . . . . . . . 2
1.2 A Tecnologia CDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Tecnica DS-CDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Descric ao do Conte udo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Publicac oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 CARACTER

ISTICAS DO SISTEMA 7
2.1 Canal AWGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Receptor Convencional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Banco de Filtros Casados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Interferencia de M ultiplo Acesso . . . . . . . . . . . . . . . . . . . . . . . . 10
3 FERRAMENTAS COMPUTACIONAIS 13
3.1 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Code Composer Studio - CCS . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Congurando a Comunicac ao RTDX entre MATLAB e DSP . . . . . . . . 15
4 DESCRIC

AO DO PROBLEMA 19
5 ALGORITMOS HEUR

ISTICOS 21
5.1 Algoritmo Simulated Annealing (SA) - Recozimento Simulado . . . . . . . 22
5.2 Adaptac ao do algoritmo SA `a detecc ao MuD . . . . . . . . . . . . . . . . . 24
6 IMPLEMENTAC

AO EM DSP E RESULTADOS 26
6.1 Par ametros do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.2 Desempenho do Algoritmo SA no problema da detecc ao MuD . . . . . . . 28
6.3 Robustez do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7 Analise de Complexidade em DSP 41
7.1 Complexidade do Detector Convencional . . . . . . . . . . . . . . . . . . . 42
7.2 Complexidade para o Algoritmo Heurstico SA . . . . . . . . . . . . . . . . 43
7.3 Complexidade para o Receptor SA-MuD Completo em Banda Base . . . . 50
7.4 Compara cao de Complexidade Computacional entre os Algotimos SA e
LS 1 opt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.5 C alculo de Complexidade em Fun cao do N umero de Opera coes . . . . . . . 54
8 CONCLUS

AO 58
8.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Anexo A -- PROCESSADOR DIGITAL DE SINAIS - DSP 60
A.1 Ferramentas de suporte do DSK . . . . . . . . . . . . . . . . . . . . . . . . 61
A.1.1 DSP TMS320C6713 . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Anexo B -- SEQU

ENCIAS DE ESPALHAMENTO 64
B.1 Seq uencias Aleat orias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
B.2 Seq uencias Walsh-Hadamard . . . . . . . . . . . . . . . . . . . . . . . . . . 65
B.3 Seq uencias de Maximo Comprimento (SMC) . . . . . . . . . . . . . . . . 65
B.4 Seq uencias Gold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Anexo C -- Metodo de Simulacao Monte Carlo 68
Anexo D -- Principais Func oes e Comandos Implementados 71
Referencias 73
Lista de Figuras
1.1 Transmissao e recepc ao sistema DS-CDMA com ltro casado ` a seq uencia
de espalhamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 a) Sinal de bit transmitido no tempo b) Seq uencia de espalhamento no
tempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Canal com rudo gaussiano. . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Sistema Transmissao - Recep cao CDMA - (a) Transmissor em banda-base;
(b) Modelo de canal adotado (AWGN); (c) MFB e (d) Detector Conven-
cional Abrupto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Diagrama de blocos do sistema de transmissao/recepcao DS-CDMA imple-
mentado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 C odigo criado em linguagem C no CCS. . . . . . . . . . . . . . . . . . . . 15
3.3 Esquema de comunicac ao generica do RTDX. . . . . . . . . . . . . . . . . 16
3.4 Inicializando RTDX atraves do software CCS. . . . . . . . . . . . . . . . . 17
3.5 Congura cao do n umero de buers do RTDX. . . . . . . . . . . . . . . . . 18
3.6 Processo de compilac ao e carregamento do c odigo automaticamente no CCS
atraves do MATLAB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 Fluxograma dos processos adotados para implementacao do receptor SA-
MuD em DSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1 Classicac ao das abordagens aproximativas. . . . . . . . . . . . . . . . . . 21
5.2 Sistema Transmiss ao-recepc ao SA-MuD - (a) Transmissor em banda-base;
(b) Canal AWGN; (c) 1o est agio MFB; (d) Detector Convencional Abrupto
com ponto de deriva cao das estimativas do MFB e (e) Algoritmo Heurstico
SA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.1 Sinal recebido observado com oscilosc opio atraves da sada Line Out do DSP. 27
6.2 Esquemas de ligacoes DSP - oscilosc opio. . . . . . . . . . . . . . . . . . . . 28
6.3 Sada Line Out do DSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.4 Entrada dos parametros de simulac ao do algoritmo SA. . . . . . . . . . . . 30
6.5 Par ametros de entrada da 1
a
simula cao - SNR x BER. . . . . . . . . . . . 31
6.6 Dados e tempo estimado de todas simulac oes. . . . . . . . . . . . . . . . . 31
6.7 Resultados da 1
a
simulac ao com baixo carregamento - SNR = 6 dB. . . . . 32
6.8 Desempenho do algoritmo SA para baixo carregamento (L = 0,333) e con-
trole total de potencia (NFR = 0). . . . . . . . . . . . . . . . . . . . . . . 33
6.9 Desempenho do algoritmo SA para alto carregamento (L = 0,8) e controle
total de potencia (NFR = 0). . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.10 Par ametros de entrada da 2
a
simulac ao - SNR x BER. . . . . . . . . . . . 35
6.11 Resultados da 2
a
simulac ao com baixo carregamento - SNR = 6 dB. . . . . 36
6.12 Convergencia do algoritmo SA para baixo carregamento, L = 0,3333. . . . 37
6.13 Convergencia do algoritmo SA para alto carregamento, L = 0,8. . . . . . . 37
6.14 Par ametros de entrada da simulacao para analise da robustez do sistema
(

Indice de Carregamento x BER). . . . . . . . . . . . . . . . . . . . . . . . 38


6.15 Resultados da simula cao

Indice de Carregamento x BER para L = 1. . . . 39
6.16 Analise da robustez do sistema:

Indice de Carregamento (L = K/N), versus
BER). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.17 Analise da robustez do sistema (NFR x BER). . . . . . . . . . . . . . . . . 40
7.1 Habilitac ao das fun coes para contagem de ciclos. . . . . . . . . . . . . . . . 42
7.2 Congura cao do PROFILE para contagem de ciclos. . . . . . . . . . . . . . 43
7.3 Denic ao das variaveis de sada do PROFILE. . . . . . . . . . . . . . . . . 46
7.4 Resultados do PROFILE - contagem de ciclos. . . . . . . . . . . . . . . . . 46
7.5 Gr aco correspondente `a complexidade em DSP do CD gerado com os
dados da tabela 7.4 com um Fitting do tipo Linear. . . . . . . . . . . . . . 47
7.6 Gr aco da complexidade em DSP da Funcao Custo Inicial do SA. . . . . . 50
7.7 Gr aco da complexidade em DSP de cada Iterac ao do algoritmo SA gerado
com os dados da tabela 7.6. . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.8 Gr aco da compara cao de ciclos entre a funcao do algoritmo SA e do re-
ceptor CD - @ N = 20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.9 Gr aco do incremento de complexidade do receptor. . . . . . . . . . . . . . 53
7.10 Graco da capacidade maxima de processamento do DSP @ N = 4. . . . . 54
7.11 Graco da capacidade maxima de processamento do DSP @ N = 8. . . . . 55
7.12 Graco da Complexidade computacional dos algoritmos SA e LS 1 opt @
N = 15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.13 Graco do incremento de complexidade do algoritmo SA em rela cao ao
LS 1 opt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
A.1 Diagrama de blocos do kit de desenvolvimento TMS320C6713 . . . . . . . 60
A.2 Placa do kit de desenvolvimento DSK6713 . . . . . . . . . . . . . . . . . . 62
B.1 Funcao de autocorrelac ao de seq uencias m (SMC). . . . . . . . . . . . . . . 66
C.1 Denic ao da simulac ao de Monte Carlo. . . . . . . . . . . . . . . . . . . . . 68
C.2 Modelo de simulac ao de um sistema de comunicac ao. . . . . . . . . . . . . 69
D.1 Rotinas e func oes implementadas em DSP. . . . . . . . . . . . . . . . . . . 71
D.2 Func ao implementada para o decisor convencional com decisor abrupto. . . 72
D.3 Func ao do algoritmo Simulated Annealing implementada em DSP. . . . . . 72
Lista de Tabelas
6.1 Variac ao do ndice de carregamento. . . . . . . . . . . . . . . . . . . . . . . 33
7.1 Tabela com os Ciclos do DSP resultados do Prole do CCS da func ao
MF DecisorHard (detector convencional). . . . . . . . . . . . . . . . . . . . 44
7.2 Tabela comparativa da complexidade do CD para diferentes valores de K
e N mostrando o Fator de Proporcionalidade K.N. . . . . . . . . . . . . . 44
7.3 Mapa de processamentos realizados utilizando Prole da fun cao MF DecisorHard
(detector convencional); demonstram-se as posic oes onde ocorreu repetic ao
do fator K.N com um asterisco. . . . . . . . . . . . . . . . . . . . . . . . . 45
7.4 Tabela da complexidade computacional, em ciclos do DSP, do CD (func ao
MF DecisorHard) em rela cao ao Fator de Proporcionalidade K.N. . . . . . 45
7.5 Tabela da complexidade computacional (ciclos do DSP) da Func ao Custo
Inicial do algoritmo Simulated Annealing em relacao ao n umero de usu arios
K. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.6 Tabela da complexidade computacional (ciclos do DSP) de cada iterac ao
(func ao Iterac oes) do algoritmo Simulated Annealing em relac ao ao n umero
de usuarios K. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Lista de Siglas e Abreviaturas
1-opt LS 1 Optimum Local Search - Algoritmo de Busca Local 1

Otimo
AWGN Additive White Gaussian Noise - Rudo Branco Aditivo Gaussiano
BER Bit Error Rate - Taxa de erro de bit
BPSK Binary Phase Shift Keying - Modulacao por Chaveamento de Fases
CD Conventional Detector - Detector Convencional
CDMA Code Division Multiple Access - M ultiplo Acesso por Divis ao de C odigo
CCS Code Composer Studio
DS Direct Sequence - Espalhamento por Sequencia Direta
DS-CDMA Direct Sequence CDMA - CDMA por Sequencia Direta
DSP Digital Signal Processor - Processador Digital de Sinais
FDMA Frequency Division Multiple Access - ultiplo Acesso por Divis ao de Frequencia
MAI Multiple Access Interference - Interferencia de M ultiplo Acesso
MCS Monte Carlo Simulation - Metodo de Simulac ao Monte Carlo
MFB Matched Filter Bank - Banco de ltros casados
ML Maximum Likehood Estimator - Estimador de M axima Verossimilhanca
MuD Multi User Detection - Detecc ao Multiusu ario
NFR Near-Far Ratio - Efeito perto-longe
SA Simulated Annealing - Recozimento Simulado
SMC Sequencia de Maximo Comprimento
SNR Signal Noise Ratio - Relacao Sinal Rudo
SS Spread Spectrum - Espalhamento Espectral
SuB Single-User Bound - Limite de BER para usu ario isolado
SuD Single-User Detection - Deteccao Uniusu ario
TDMA Time Division Multiple Access - M ultiplo Acesso por Divis ao de Tempo
Notac oes
a, , A Escalar, caracter em it alico
a Vetor, caracter min usculo em negrito
A Matriz, caracter mai usculo em negrito
a Valor estimado de uma dada variavel a
a
i
i -esimo elemento do vetor a
A
i,j
Elemento da i -esima linha e j -esima coluna da matriz A
diag(a
1
, ..., a
k
) Matriz diagonal com elementos a
1
, ..., a
k
.
T
Operador matriz transposta
.
H
Operador hermitiano
'. Operador parte real
. Operador parte imagin aria
. Operador melhor valor ou melhor vetor segundo um criterio
sgn[.] Operador sinal do argumento
max[.] Valor maximo assumido pelo argumento
Q(.) Funcao erro complementar gaussiano
P
x
(x) Fun cao densidade de probabilidade da vari avel x
U(x, y) Processo aleat orio com distribui cao uniforme entre as variaveis x e y
N(x, y) Processo aleat orio com distribui cao normal de media x e vari ancia y
Pertence ao conjunto
Palavras em italico s ao empregadas para identicar termos de lngua inglesa n ao
traduzidos.
Lista de Smbolos
A Amplitude do sinal
b Bit transmitido
DSP
Cycles
N umero de ciclos de processamento por segundo do DSP
E
b
Energia de bit
E
b
/N
0
Relac ao entre a energia de bit recebido e a densidade espectral de potencia do rudo
F (x) tness value - func ao custo da vari avel x
f
best
Funcao custo global
g
i
Ganho da fun cao custo de cada i-esimo vetor-candidato em relac ao
a func ao custo global
h(t) Resposta impulsiva do canal
K N umero de usu arios ativos
L

Indice de carregamento
M N umero de iterac oes adotado na simulac ao
n
erros
N umero de erros por ponto na Simulac ao Monte Carlo
N Ganho de processamento
N
0
Densidade espectral de potencia do rudo
r (t) Sinal em tempo contnuo que chega ao receptor
R Matriz de correlacao entre todas as sequencias
s
i
k
i-esimo chip da sequencia de espalhamento do k-esimo usu ario
t Tempo
trials N umero de repetic oes da Simula cao Monte Carlo
T
b
Perodo de bit
T
c
Perodo de chip
y Sada amostrada de um correlacionador
1 (x) Vizinhanca de x, equivalente a distancia de Hamming
Parcela devida ao rudo termico de tempo discreto amostrado
(t) Parcela devida ao rudo termico de tempo contnuo

x,y
Correlac ao cruzada entre as sequencia x e y
Vetor-candidato

best
Melhor vetor-candidato obtido segundo a func ao custo (vetor-solucao)

x
Desvio padrao do processo x

2
x
Variancia do processo x
1
1 INTRODUC

AO
Nos ultimos anos, h a um crescente interesse em sistemas de comunicac oes sem o.
A busca por maior mobilidade aliada ` as caractersticas de altas taxas de transmiss ao,
zeram com que novas tecnologias de transmiss ao/recepc ao fossem desenvolvidas visando
principalmente a otimizac ao de tais sistemas.
O processo de otimizac ao de algum recurso no sistema procura nao s o determinar as
possveis soluc oes,como tambem procura agregar uma maior agilidade nesse procedimento,
sendo muitas vezes necess aria uma busca extensa e complexa para a determinac ao das
respostas de um determinado problema, como por exemplo, a denic ao de um m aximo
ou mnimo em uma determinada fun cao com in umeras vari aveis.
Um aspecto fundamental de muitos problemas de otimizac ao na area de telecomu-
nicac oes e o fato destes serem din amicos. Isto implica que uma possvel soluc ao para um
problema num determinado instante poder a n ao ser a melhor soluc ao poucos segundos
subsequentes.
Abordagens analticas ou algoritmos simples podem ser uma maneira para resolver um
problema dinamico. Porem, muitas vezes esses problemas mudam rapidamente, fazendo-
se necessarias modernas tecnicas computacionais para uma busca mais rapida de solu coes,
j a que em muitos desses problemas o tempo ou o espaco de busca cresce exponencialmente
com o aumento das vari aveis de entrada.
Algoritmos heursticos possibilitam diminuir a complexidade em problemas aplicados
a sistemas de comunica cao sem o e simultaneamente proporcionam uma maior veloci-
dade na obten cao de resultados quase- otimos tornando, deste modo, o uso de algoritmos
heursticos extremamente interessante.
1.1 Modula cao por Espalhamento Espectral 2
1.1 Modulacao por Espalhamento Espectral
Desenvolvida para comunica coes militares a m de aumentar a seguranca das trans-
miss oes e evitar possveis interferencias intencionais ou n ao intencionais, a modulac ao por
espalhamento espectral (Spread Spectrum - SS) passou a ser utilizada tambem em comu-
nicac oes comerciais, nao apenas pelo fato de dicultar a interceptac ao, mas tambem por
ser imune aos problemas de propagac ao do sinal tendo uma utilizacao eciente da largura
de banda, bem como da potencia.
Atraves do espalhamento espectral, descobriu-se que um determinado espectro nao
precisava ser dividido em v arias faixas de freq uencias, mas sim utilizado por diversos
transmissores simultaneamente com a mesma freq uencia de portadora.
Segundo Haykin (HAYKIN; MOHER, 2005), pode-se denir espalhamento espectral
como:
Espalhamento espectral e aquele em que o sinal transmitido se espalha
por uma faixa de freq uencia muito mais ampla do que a largura de banda
mnima necess aria para transmitir a informa cao enviada. Este tipo de sinal
pode coexistir com sinais de banda estreita, adicionando somente uma ligeira
eleva cao no piso de rudo que os receptores de banda estreita observam.
Existem diversas formas de espalhamento espectral, entre elas o espalhamento por
seq uencia direta (DS), onde uma seq uencia de dados de entrada e usada para modular
um codigo de banda larga. Esse c odigo transforma a seq uencia de dados de banda estreita
em um sinal de banda larga como se fosse um rudo.
Como arma Lathi (LATHI, 1998), o codigo de espalhamento e tambem chamado de
seq uencia PN (pseudorudos), que e geralmente periodica e composta, ou seja, formada
por uma seq uencia de 1 e 0 com determinada propriedade de autocorrelac ao.
A seq uencia gerada e multiplicada pelo sinal a ser transmitido, devendo esta possuir
um intervalo de tempo menor que o sinal transmitido, sendo chamados tais intervalos de
chips. Como o intervalo dos chips e menor que os bits do sinal, o espectro associado ` a
seq uencia, como citado, e do tipo banda larga.
1.2 A Tecnologia CDMA 3
1.2 A Tecnologia CDMA
A tecnologia desenvolvida de acesso m ultiplo por divis ao de codigo - CDMA (Code
Division Multiple Access) nao utiliza apenas uma determinada faixa estreita de freq uencia
para transmiss ao, e sim o espalhamento espectral, onde os transmissores utilizam esse
espectro simultaneamente, compartilhando em geral a mesma banda para transmiss ao.
Devido `as tecnologias de m ultiplo acesso por divis ao de tempo e frequencia TDMA
(Time Division Multiple Access) e FDMA (Frequency Division Multiple Access), respecti-
vamente possurem um n umero xo de slots de tempo ou freq uencia para cada transmissor,
o CDMA ao utilizar o espalhamento espectral apresenta uma vantagem com relac ao ` as
tecnologias anteriores, proporcionando explorar uma maior capacidade de canal e con-
seq uentemente possibilitar a operac ao de um n umero maior de sinais/usu arios em uma
mesma faixa do espectro.
Sistemas CDMA caracterizam-se pela interferencia, chamada interferencia de m ultiplo
acesso (MAI), que ocorre devido ao afastamento que os c odigos de espalhamento tem da
ortogonalidade perfeita. Ja o outro fen omeno que ocorre e o problema do perto-longe
(NFR): sinais recebidos com potencias muito dspares no receptor causam degradacao
excessiva no desempenho.
O sistema CDMA utiliza ent ao o controle de potencia na estacao radio base (ERB)
para evitar tal complicac ao. Contudo, o controle de potencia e util principalmente em
sistemas de m ultiplo acesso para maximizar a capacidade do sistema.
Assim, a maximizac ao da capacidade do sistema e obtida quando ha um estrito con-
trole de potencia em sistemas CDMA convencionais, a m de que a relac ao sinal-rudo
permaneca em um nvel aceitavel, pois a elevac ao da potencia recebida de alguns sinais
em detrimento dos demais aumentar a a interferencia de m ultiplo acesso, reduzindo o
desempenho medio do sistema.
1.3 Tecnica DS-CDMA
O sistema DS-CDMA (Direct Sequence / Code Division Multiple Access) utiliza uma
seq uencia distinta para cada usu ario para multiplicar (no tempo) ou espalhar (no espectro)
o sinal desse mesmo usuario.
Utilizando-se uma modulacao BPSK como mostrado na gura 1.1, o sinal a ser rece-
1.4 Descricao do Conte udo 4
bido pelo receptor pode ser expresso como
r (t) =
K

k=1
A
k
b
k
c
k
s
k
(t) + (t) (1.1)
onde K e o n umero de usu arios, A
k
e a amplitude do sinal transmitido do k-esimo usu ario,
b
k
[1, +1] e o bit transmitido, c
k
e o coeciente de canal para o k-esimo usuario, s
k
e
a seq uencia do k-esimo usuario e (t) representa o rudo AWGN do canal.
Figura 1.1: Transmissao e recepc ao sistema DS-CDMA com ltro casado `a seq uencia
de espalhamento.
Os chips das seq uencias de espalhamento da gura 1.2 devem ser alinhados de forma
ortogonal, contribuindo para a diminui cao da interferencia de m ultiplo acesso (TORRIERI,
2005).
Assim, no receptor, o sinal r (t) deve ser multiplicado pela seq uencia de espalhamento
do usu ario s
k
que deseja-se receber o sinal, sendo o sinal `a sada do banco de ltro casados
(detector convencional) determinado por (ABRAO; CIRIACO; JESZENSKY, 2004):
y
k
=
_
T
b
0
r (t) s
k
(t) .dt = A
k
b
k
c
k
+

j=k
A
j
b
j
c
j

k,j
+
k
(1.2)
onde
K,j
denota o k,j -esimo elemento da matriz de correlacao cruzada.
1.4 Descricao do Conte udo
Esta monograa contem alem da introduc ao, mais 6 captulos que podem ser assim
resumidos:
1.4 Descricao do Conte udo 5
Figura 1.2: a) Sinal de bit transmitido no tempo b) Seq uencia de espalhamento no
tempo.
captulo 2 - Neste captulo s ao descritas as caractersticas de um sistema DS-
CDMA, como o canal utilizado na implementac ao (canal AWGN), a interferencia de
m ultiplo acesso (MAI) aos quais os sinais est ao sujeitos bem como o funcionamento
do banco de ltro casado.
captulo 3 - Neste captulo s ao descritas as ferramentas computacionais utilizadas
no projeto. Realiza-se uma breve discuss ao sobre os softwares utilizados (Matlab e
Code Compose Studio), bem como tambem faz-se um estudo do processador digital
de sinais (DSP) mostrando suas conguracoes e caractersticas.
captulo 4 - Este captulo e dedicado a apresentac ao do problema da detecc ao
multiusu ario (MuD), buscando demonstrar a viabilidade da implementacao em DSP
da tecnica heurstica.
captulo 5 - Neste captulo apresenta-se a deni cao de algoritmos heursticos, dando
enfase ao algoritmo SA (Simulated Annealing) utilizado no trabalho e apresentando
suas caractersticas para aplicac ao no problema da deteccao Mud.
captulo 6 - Neste captulo s ao apresentadas as principais func oes criadas para
o projetos no DSP como tambem os resultados obtidos para o sistema DS-CDMA
implementado em DSP em comparac ao com os resultados das simulac oes em Matlab.
captulo 7 - Este captulo mostra a an alise de complexidade computacional da
implementa cao do algoritmo SA-MuD completo em banda base.
1.5 Publica coes 6
captulo 8 - Este captulo apresenta um resumo das conclus oes do trabalho e
tambem as perspectivas para novos projetos.
1.5 Publicacoes
1. An alise de Complexidade dos Algoritmos Heursticos de Detec cao Multiusuario
CDMA Implementados em DSP (Plataforma TMS320C6713).
Autores: Ribeiro, R. O.; Mussi, A. M.; Abrao, T.; Ciriaco, F. D. N. .
2. Metodologia de projeto e implementacao em DSP (Plataforma TMS320C6713) dos
Algoritmos Heursticos de Detecc ao Multiusu ario em Sistemas CDMA.
Autores: Mussi, A. M.; Ribeiro, R. O.; Abrao, T. .
7
2 CARACTER

ISTICAS DO
SISTEMA
Para a implementa cao do sistema DS-CDMA empregar-se- a um sistema em canal
AWGN sncrono. Este captulo ira tratar da interferencia a qual o sinal estar a sujeito
(MAI), a caracterizac ao de um canal AWGN, como tambem do banco de ltros casados
(MFB) utilizado na detecc ao de sinais.
Na implementa cao do receptor de sinal CDMA, tanto o banco de ltro casado como
o decisor abrupto foram implementados em DSP, em conjunto com o algoritmo de reco-
zimento simulado (SA) a m de otimizar a recepc ao do sinal transmitido.
2.1 Canal AWGN
As transmiss oes das comunicac oes sem o sempre sofrem interferencia de um fenomeno
aleat orio que pode ser descrito por uma distribuic ao estatstica. Tais fen omenos podem
ser atribudos a muitas fontes e todos sao chamados de rudo (LEE; MILLER, 1998).
Existem muitas fontes que provocam esses tipos de perdas, incluindo o proprio re-
ceptor, as fontes articiais, construdas pelo homem e a acao de outros transmissores nas
comunica coes.
O canal com rudo branco gaussiano aditivo (Additive White Gaussian Noise - AWGN)
e o modelo b asico utilizado no desenvolvimento da teoria das comunica coes, onde nesse
canal o rudo possui media 0 e apresenta uma distribuic ao Gaussiana como propriedade
adicional. O rudo e presumido branco ao longo de toda a banda de interesse pois as
amostras do rudo no intervalo n ao est ao relacionadas entre si, implicando que o rudo
possua uma fun cao de autocorrelac ao dada por (N
0
/2) (t), onde (t) e a fun cao Delta
de Dirac (HAYKIN; MOHER, 2005).
O modelo de canal AWGN e mostrado na gura 2.1.
2.2 Receptor Convencional 8
Figura 2.1: Canal com rudo gaussiano.
Quando tem-se um processo de rudo aleat orio estatstico, tal como o rudo Gaussiano,
pode-se implementar receptores otimos capazes de serem aplicados em situacoes praticas,
sendo o modelo matem atico do canal AWGN o mais usual (LUDERS; SCHULZE, 2005).
Seu modelo pode ser caracterizado como uma perturbacao aleat oria aditiva de um
sinal e como citado acima e uma func ao amostral de media igual a zero e densidade
espectral de potencia (CIRIACO, 2004), denido pela equac ao (2.1):

2
=
N
2E
b
/N
0
(2.1)
Sua func ao densidade de probabilidade e ent ao denida pela equacao (2.2):
T
x
(x) =
1

2
2
e

x
2

(2.2)
2.2 Receptor Convencional
Em canais AWGN sncrono, o receptor convencional (CD) consiste de um banco de K
ltros casados as sequencias de espalhamento dos usu arios, onde a sada do ltro casado
para o k-esimo usu ario pode ser expressa por:
y
k
=
_
T
b
0
r(t)s
k
(t)dt = A
k
b
k
+
K

j=k
A
j
b
j

kj
+
k
(2.3)
onde
k
o rudo AWGN para o k-esimo usu ario e
kj
o k,j -esimo elemento da matriz de
correlac ao R.
Para estimar os bits dos usuarios, o detector convencional considera apenas a parte
real da sada do banco de ltros casados seguido de um circuito de decisao abrupta:
b
k
= sign('e y
k
) (2.4)
2.3 Banco de Filtros Casados 9
Este sistema tambem sera implementado em DSP, sendo comparado o seu desem-
penho com o do algoritmo SA (detector multiusuario), ja que o desempenho do detector
convencional ter a reduc ao quando o n umero de usu arios compartilhando o mesmo canal
aumentar, implicando num aumento da MAI e quando existir disparidades de potencia
entre os usuarios, um aumento do efeito near-far.
A aplica cao da estrategia de detecc ao multiusu ario utilizando algoritmos heursticos,
no caso deste trabalho o SA-MuD, procura melhorar esse desempenho do CD otimizando
para um desempenho pr oximo ao do detector de maxima verossimilhanca.
2.3 Banco de Filtros Casados
Os sinais digitais tem um espectro amplo e o canal da transmiss ao apresenta rudo
aditivo, ou seja, afeta os dados transmitidos.
Para detec cao de tal sinal que esta imerso em rudo branco aditivo faz-se necess ario
a utilizac ao de um dispositivo de detecc ao otima, que usa um ltro linear invariante no
tempo denominado ltro casado.

E dado este nome ao ltro porque sua resposta ao
impulso e casada com o sinal de pulso.
Para detectar um sinal com um receptor de ltro casado, a amostra de sada e com-
parada com um limiar e entao uma decis ao e tomada pelo receptor, dependendo se o
limiar for excedido ou nao.
Ap os o banco de ltros casados tem-se o detector convencional abrupto como pode
ser observado na gura 2.2.
Assim, o MFB (Matched Filter Bank) busca detectar o sinal transmitido de maneira
otima, dado o sinal recebido, procurando sempre a maximizacao do ltro e a minimizac ao
dos efeitos provocados pelo rudo aditivo.
O sinal recebido x(t) dado pela equa cao (2.5) pelo ltro consiste em um sinal de pulso
g(t) corrompido pelo rudo de canal aditivo (t)
x (t) = g (t) + (t) , 0 t T (2.5)
onde T e um intervalo arbitrario.
Logo, o receptor otimo corresponde ao processamento denido pela equac ao (2.6):
y =
_
T
0
x (t) g

(t) dt (2.6)
2.4 Interferencia de M ultiplo Acesso 10
Figura 2.2: Sistema Transmiss ao - Recep cao CDMA - (a) Transmissor em banda-base;
(b) Modelo de canal adotado (AWGN); (c) MFB e (d) Detector Convencional Abrupto.
Haykin e Moher (HAYKIN; MOHER, 2005) denem que como a potencia do rudo nao
depende do formato do smbolo, sendo que esta e a essencia da ltragem casada, tem-
se que em um canal AWGN o desempenho da transmiss ao de espalhamento espectral de
seq uencia direta (DS-SS) e identico aos sistemas que n ao apresentam espalhamento, sendo
a relac ao sinal-rudo dada pela equac ao (2.7).
SNR =
E
b
N
0
(2.7)
onde E
b
e a energia do bit e N
0
e a densidade espectral do rudo.
2.4 Interferencia de M ultiplo Acesso
O CDMA e uma estrategia de acesso m ultiplo para comunicacoes baseado no espalha-
mento espectral por sequencia direta (DS-SS), onde o espalhamento proporcionado pelo
c odigo altera o espectro do sinal usado para transmitir a informacao.
Se os codigos de espalhamento forem perfeitamente ortogonais, e possvel alcancar o
desempenho de um unico usu ario no caso de multiusuarios.
Assim, existindo K usuarios CDMA compartilhando o mesmo canal, o sinal de banda
2.4 Interferencia de M ultiplo Acesso 11
base recebido e dado por
x(t) =
K

k=1
s
k
(t) + (t) 0 t T (2.8)
onde os sinais transmitidos individualmente reetem seus respectivos dados fornecidos
por
s
k
(t) = b
k
_
E
b
g
k
(t) (2.9)
sendo b
k
e g
k
a sequencia de dados e codigos de espalhamento respectivamente e E
b
a
energia por bit.
Supondo receber o sinal do primeiro usuario (k = 1), o receptor convencional de um
unico usuario aplica o correlacionador casado `a sequencia de assinatura g
1
(t) para o sinal
recebido, obtendo-se:
y =
_
T
0
x(t)g
1
(t)dt = b
1
_
E
b
+
1
+
_
E
b
K

k=2
b
k
R
1k
0 t T (2.10)
onde os primeiros dois termos s ao equivalentes ao caso de unico usuario, ou seja, termo do
sinal mais o termo do rudo. O ultimo termo representa a interferencia de acesso m ultiplo.
A amplitude media da sada do correlacionador e dado por
E[y] = b
1
_
E
b
+ E[
1
] + E[
_
E
b
K

k=0
b
k
R
1k
] = b
1
_
E
b
+ 0 + 0 = b
1
_
E
b
(2.11)
A contribuicao do acesso m ultiplo para a vari ancia do rudo e aproximadamente dado
por (HAYKIN; MOHER, 2005)

2
MAI
E
b
K

k=2
1
N
(2.12)
onde N representa o ganho de processamento.
Admitindo-se o controle de potencia dos transmissores, tem-se que a potencia trans-
mitida de cada usu ario e ajustada de forma que a potencia recebida seja constante.
Assim, a contribui cao da interferencia de acesso m ultiplo para o rudo na equa cao (2.10)
pode ser resumida como

MAI
= E
_
y b
1
_
E
b
_
(2.13)
e

2
MAI
=
K 1
N
E
b
(2.14)
2.4 Interferencia de M ultiplo Acesso 12
Verica-se tambem que conforme o n umero de usuarios aumenta, K sendo muito
grande, a MAI se comporta como um termo de rudo branco aditivo Gaussiano.
Com b = 1, a relac ao sinal-interferencia-mais-rudo (SINR) inclui o rudo do receptor
e a MAI, sendo denida pela equac ao (2.15).
SINR =
E
b
N
0
_
1
1 +
K1
N
E
b
N
0
_
=
E
b
N
0
D
g
(2.15)
onde o par ametro D
g
da equacao (2.15) e a degradac ao no desempenho de um unico
usu ario devido a interferencia de m ultiplo acesso. Tal par ametro e denido pela equacao (2.16).
D
g
=
_
1 +
K 1
N
E
b
N
0
_
1
(2.16)
A degradac ao depende da operacao E
b
/N
0
, do n umero de usu arios K e do ganho de
processamento N. A rela cao E
b
/N
0
e a SINR de um unico usuario na ausencia de qualquer
interferencia de acesso m ultiplo.
Mais usu arios implicam numa maior degradac ao, porem um ganho de processamento
alto reduz o efeito da interferencia e diminui a degrada cao.
13
3 FERRAMENTAS
COMPUTACIONAIS
Este captulo apresentar a os softwares utilizados no desenvolvimento do trabalho, i.e.,
os softwares MATLAB
c
da Mathworks e o Code Composer Studio (CCS
c
), associado
` a plataforma de processamento digital de sinais (DSP). Tais ferramentas computacionais,
juntamente com a plataforma DSP (hardware) foram empregadas na soluc ao do problema
da detecc ao MuD.
3.1 MATLAB
MATLAB e um software para simulacoes matem aticas computacionais desenvolvido
pela Mathworks, sendo utilizado para o desenvolvimento de algoritmos, visualizac ao,
an alise de dados e, obviamente tambem, c alculo numerico.
Diversas aplicac oes podem ser desenvolvidas com o uso do MATLAB, incluindo pro-
cessamento de imagens e sinais, comunicac oes, controle, teste, medic ao, modelagem e
an alise nanceira, entre outros. Como possui diversas funcionalidades, pode-se integrar o
seu codigo com outras linguagens e aplicac oes computacionais.
O Real-Time Workshop (RTW) gera e executa c odigos em C, onde o codigo resultante
pode ser utilizado em tempo real para muitas aplicac oes. Pode-se ajustar o codigo gerado
utilizando-se de recursos internos de an alise e/ou executar e interagir com o c odigo fora
do ambiente como foi utilizado no trabalho a troca de dados com o MATLAB.
Utilizando-se do recurso Real-Time Workshop conseguiu-se trabalhar com dois ambi-
entes de processamento ao mesmo tempo ao empregar o RTDX (Real-Time Data Transfer)
para troca de dados entre o MATLAB e o kit de processamento DSK6713 (Code Composer
Studio - CCS).
Um problema encontrado na transferencia de dados entre o kit de processamento
DSK6713 e o MatLab pode ser a limita cao de dados a serem transmitidos pela portas
3.2 Code Composer Studio - CCS 14
Figura 3.1: Diagrama de blocos do sistema de transmiss ao/recepc ao DS-CDMA
implementado.
seriais.
As caractersticas do DSP e do kit de processamento DSK6713 como a quanticac ao
de portas seriais, mem oria e outros dispositivos s ao descritas no Anexo A.
3.2 Code Composer Studio - CCS
O CCS e um programa desenvolvido pela Texas Instruments para o desenvolvimento
de programas e interface dos modelos de DSP que ela fabrica.
O CCS inclui ferramentas para a gerac ao de c odigo (um compilador C), apresentando
tambem capacidades gr acas e suporte a depuracao dos dados em tempo real.
Pode-se passar dados para o DSP utilizando o interc ambio em tempo real de dados
(RTDX). O RTDX permite a troca de dados entre o computador e o kit DSK, bem como
a analise em tempo real do que est a sendo processado no DSP.
Assim, faz-se necessario um programa para compilar o algoritmo gerado, sendo esta
a funcao do CCS para o modelo de processador que foi utilizado.
O codigo criado em linguagem C como mostrado na gura 3.2 e ent ao convertido, para
gerar o execut avel no DSP, especicando as rotinas, interrupcoes bem como os dispositivos
3.3 Congurando a Comunica cao RTDX entre MATLAB e DSP 15
e dados de entrada e sada que o programa devera implementar a partir dos blocos de
bibliotecas utilizados na implementacao do algoritmo.
Figura 3.2: C odigo criado em linguagem C no CCS.
3.3 Congurando a Comunicacao RTDX entre MAT-
LAB e DSP
Real-Time Data Exchange (RTDX) fornece, em tempo real, a visibilidade contnua
nas operac oes realizadas numa plataforma de destino. RTDX transfere dados entre um
computador, host, e dispositivos de destino,target, sem interferir nas aplicac oes re-
alizadas no target, ou seja, sem interrupc ao 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, MAT-
LAB, e outros podem facilmente usar a interface COM. Esta representac ao realista de seu
funcionamento do sistema pode encurtar o tempo de desenvolvimento.
RTDX forma dois canais para caminho de dados entre um aplicativo-cliente no com-
putador e a plataforma de destino atraves de uma combina cao de componentes de hard-
ware e software, como mostrado na gura 3.3.
3.3 Congurando a Comunica cao RTDX entre MATLAB e DSP 16
Figura 3.3: Esquema de comunicac ao generica do RTDX.
Os dados podem ser enviados a partir do aplicativo da plataforma de destino para o
aplicativo-cliente no computador e vice-versa. Os dados podem ser inseridos nesses canais
de forma assncrona, ou seja, a qualquer momento.
O dispositivo de destino envia dados para o computador chamando func oes da biblio-
teca RTDX localizada na plataforma de destino, chamada RTDX Target Library. Estas
func oes imediatamente armazenam os dados em um buer de dados e ent ao retornam. A
RTDX Target Library, em seguida, transmite os dados do buer para o computador,
sem interferir no dispositivo de destino. O computador registra estes dados ou em um
buer de mem oria ou um arquivo de log RTDX, dependendo do modo de gravacao no
computador especicado na congurac ao do RTDX. Os dados gravados podem ser recu-
perados 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 buer todos os dados enviados para o dispositivo de destino. Se a
RTDX Host Libraryreceber um pedido de dados do dispositivo de destino e os dados no
buer do host forem sucientes para atender ` a solicitac ao, a RTDX Host Libraryenvia
os dados para o dispositivo de destino. Os dados s ao gravados para o local solicitado sem
interferir com o dispositivo de destino. O host notica o RTDX Host Libraryap os a
conclus ao de operac ao.
A congurac ao do RTDXe realizada no software CCS atraves do menu Tools (gura 3.4),
3.3 Congurando a Comunica cao RTDX entre MATLAB e DSP 17
podendo este procedimento ocorrer sem que o DSP esteja conectado.
Figura 3.4: Inicializando RTDX atraves do software CCS.
Por padr ao, a congurc ao inicial do RTDX apresenta 4 buers contendo cada um 1024
bytes. Porem, como mostrado na gura 3.5, pode-se alterar estes valores e os adequar ao
projeto a ser implementado.
Ap os a congurac ao de todos par ametros do RTDX, o projeto deve ser compilado e o
DSP conectado, podendo somente ap os tais etapas habilitar o RTDX (Enable RTDX)para
realizac ao da troca de dados entre o Matlab e DSP. Durante a implementac ao do algoritmo
SA-MuD em DSP, foi utilizado os 4 buers com 1024 bytes cada denidos por padr ao.
Para nao ter que compilar e carregar o projeto em cada simulac ao, criou-se func oes no
MATLAB para que esses processos fossem realizados automaticamente em cada simula cao
como pode ser observado na gura 3.6. Assim, conseguiu-se realizar diversas simulac oes
consecutivamente sem ter que compilar/carregar o projeto no CCS, otimizando o tempo
gasto nas simulac oes j a que em cada uma dessas eram necess arios que novos parametros
fossem compilados e carregados no processador.
3.3 Congurando a Comunica cao RTDX entre MATLAB e DSP 18
Figura 3.5: Congurac ao do n umero de buers do RTDX.
Figura 3.6: Processo de compilacao e carregamento do c odigo automaticamente no
CCS atraves do MATLAB.
19
4 DESCRIC

AO DO PROBLEMA
Mesmo garantindo-se uma baixa MAI atraves do projeto cuidadoso das sequencias
de espalhamento, o rudo AWGN, bem como as caractersticas do canal, interferem na
recepc ao dos dados DS-CDMA. Assim, procura-se utilizar algoritmos de deteccao otima
ou quase otima dos dados recebidos sem com isto recair em uma excessiva complexidade
computacional.
Em Verdu (VERDU, 1998), foi denida a func ao de verossimilhanca (fun cao custo)
que ao ser maximizada, resulta no melhor vetor de bits recebidos, i.e., garante-se que tal
informac ao recebida e a mais pr oxima possvel daquela transmitida, resultando assim em
uma metrica para a obten cao do detector otimo. Logo, o vetor

b e denido por:

b = arg
_
max
b{+1,1}
K
2y
T
C
H
Ab b
T
CARAC
H
b
_
(4.1)
onde y e o vetor de sada do 1
o
est agio do MFB (antes do decisor abrupto) dado pela
equac ao 1.2, C e a matriz diagonal dos coecientes do canal, A e a matriz de amplitudes
dos sinais dos usuarios e R e a matriz de correlac ao. O vetor

b e estimado de forma a
maximizar a equacao 4.1, dado que o sinal transmitido, equa cao 1.1, foi recebido.
Verdu (VERDU, 1986) tambem deniu que o detector multiusuario otimo e composto
por um banco de ltros casados seguido por um detector de m axima verossimilhan ca
(ML). O problema dessa solucao consiste no fato de ter que se testar todas as possveis
combina coes do vetor de dados na equac ao 4.1 a cada perodo de smbolos de informac ao,
ou seja, a complexidade do problema cresce exponencialmente com o n umero de usuarios.
A gura 4.1 representa um uxograma dos processos adotodas na implementac ao do
trabalho.
Os algoritmos heursticos aplicados a tais problemas buscam chegar ` a mesma soluc ao
encontrada pelo detector de maxima verossimilhan ca ou o mais proximo a esta, realizando
apenas algumas iterac oes em um espaco de busca reduzido, apresentando assim uma
complexidade reduzida em rela cao `a complexidade do detector ML.
3 DESCRIC

AO DO PROBLEMA 20
Figura 4.1: Fluxograma dos processos adotados para implementac ao do receptor
SA-MuD em DSP.
Neste trabalho sera utilizado o algoritmo heurstico baseado na tecnica de recozimento
simulado (Simulated Annealing - SA). O objetivo consiste em demonstrar a viabilidade de
implementa cao em DSP da tecnica heurstica para a detec cao MuD, bem como tambem
caracterizar o seu desempenho sob condic oes especcas de canal e de opera cao do sistema
multiusu ario DS-CDMA.
21
5 ALGORITMOS HEUR

ISTICOS
O termo heurstica provem do grego heuriskein, com signicado de descobrir ou achar.
Goldbarg (GOLDBARG; LUNA, 2000) dene heurstica como um metodo de busca de
soluc oes em que nao h a qualquer garantia de que tais respostas tenham sucesso.
Contudo, esse sucesso pode ser expresso quantitativa ou qualitativamente, buscando-
se a otimiza cao de um problema atraves da obtencao de uma soluc ao otima.
Assim, a ferramenta heurstica pode ser denida como uma tecnica que procura a
melhor solu cao utilizando-se de tecnologia computacional razoavel e conseguindo garantir
a otimizac ao da soluc ao encontrada ou uma soluc ao vi avel muito proximo a esta.
Os primeiros trabalhos envolvendo algoritmos heursticos surgiram em problemas es-
peccos, n ao sendo capazes na maioria das vezes de solucionar outros tipos de problemas.
Eram tecnicas heursticas cl assicas associadas a estrategias de enumerac ao incompleta,
soluc ao parcial ou relaxac oes, como por exemplo a heurstica classica de roteamento.
A gura 5.1 mostra a classica cao das abordagens aproximativas (CIRIACO, 2004).
Figura 5.1: Classicac ao das abordagens aproximativas.
Dentre as abordagens aproximativas apresentadas na gura 5.1, a heurstica classica
busca a exploracao da estrutura do problema, as chamadas metaheursticas divididas em
5.1 Algoritmo Simulated Annealing (SA) - Recozimento Simulado 22
estocasticas e anal ogicas. J a as heursticas modernas possuem um grande retorno na busca
pelo seu objetivo como tambem uma boa qualidade nas solucoes encontradas, tornando-se
ultimamente uma excelente alternativa para aplicac oes em modelos combinatorios.
Dentre os principais algoritmos heursticos destacam-se:
Algoritmo Genetico (GA - Genetic Algorithm).
Busca Local.
Busca Tabu.
Simulated Annealing - SA.
Particle Swarm Optimization - PSO.
Ant Colony Optimization - ACO.
Neste trabalho optou-se pelo algoritmo de Recozimento Simulado (Simulated Annea-
ling - SA), devido a suas estrategias de escape de maximos locais, tornando-se uma exce-
lente opc ao para solucionar o problema MuD, a ser implementado em DSP.
5.1 Algoritmo Simulated Annealing (SA) - Recozi-
mento Simulado
O metodo SA foi apresentado por Kirkpatrick e colaboradores em 1983, baseado em
ideias formuladas no incio da decada de 50.
O algoritmo SAe uma tecnica de otimizacao baseada no processo fsico de recozimento,
onde uma subst ancia e aquecida a uma elevada temperatura, passando em seguida a ser
resfriada progressivamente o que minimiza a sua probabilidade de distribuic ao de energia
(HAUPT; HAUPT, 2004).
A otimiza cao de problemas deve evitar que o algoritmo encontre apenas uma soluc ao
local. Assim, o SA utilizando-se de uma func ao de probabilidade de aceita cao proporcional
` a temperatura, contribuem para que o algoritmo escape de regi oes de maximo local e
procure por um maximo global em outras regi oes.
O algoritmo SA utilizado na implementa cao MuD em DSP e MATLAB e baseado no
algoritmo de busca local (1-opt LS), sendo chamado de SA-LS. Este algoritmo procura
5.1 Algoritmo Simulated Annealing (SA) - Recozimento Simulado 23
a melhor soluc ao em um menor espaco de busca em uma vizinhanca de distancia de
Hamming igual a 1 (KATAYAMA; NARIHISA, 2001).
Apresenta-se a seguir a descri cao para o algoritmo de recozimento simulado (simulated
annealing - SA) adaptado ao problema da deteccao multiusu ario (CIRIACO, 2004).
1. Utiliza-se a sada do detector convencional como a soluc ao inicial.

1
=

b
CD
= sign [y]
2. Calcula-se a energia inicial do sistema atraves da func ao custo.

best

1
f
best
T (
1
)
3. Enquanto o algoritmo melhorar f
best
:
(a) Encontra-se as K possveis solu coes na vizinhan ca de (
m
) cuja dist ancia de
Hamming e 1, onde
m
e o melhor vetor solu cao da iteracao atual.
(b) Calcula-se a energia do sistema para cada uma das soluc oes possveis atraves
da func ao custo.
(c) Se T (
i
) > f
best
:

best

i
f
best
T (
i
)
(d) Calcula-se a varia cao de energia, associada `a func ao custo.
e = T (
m
) T (
i
)
Se e < 0 :

m+1

i
f(
m+1
) T (
i
)
Se e 0, gera-se um n umero aleatorio com distribuicao uniforme x U[0, 1]
Se x < x
m
:

m+1
s
i
5.2 Adapta c ao do algoritmo SA `a deteccao MuD 24
f(
m+1
) T(
i
)
onde x(m) e o criterio de aceitac ao.
4. Retorna-se ` a etapa 3 ate que nao ocorra mais otimiza cao da funcao custo.
5. O vetor
best
e o vetor de sada do algoritmo.
O criterio de probabilidade de aceita cao x(m), e baseado na termodin amica, sendo
denido por:
p (m) = exp
_

E
T (m)
_
(5.1)
onde T (m) e a temperatura na iterac ao m. Inicia-se o algoritmo com uma temperatura
inicial com valor alto ( T(0) > 0 ), sendo reduzida atraves de um processo de
resfriamento.
O processo de resfriamento adotado no algoritmo consiste em inicializar a temperatura
T(0), mantendo esta constante por L
SA
(tamanho da serie - plat o) iterac oes. A cada serie
de L
SA
iterac oes, a temperatura decai atraves de um fator (passo de resfriamento)
[0, 1].
A cada mL
SA
iterac oes, a temperatura e reduzida gradativamente:
T(mL
SA
) =
m
T(0)
onde cosntante, 0 < < 1.
5.2 Adaptacao do algoritmo SA `a deteccao MuD
O receptor convencional (CD) apresenta uma diminui cao no seu desempenho ao se
aumentar o n umero de usu arios do sistema, provocando um aumento da MAI. A utilizac ao
do algoritmo SA adaptado ao problema MuD, permite que se obtenha um desempenho
igual ou muito pr oximo do detector ML, sem entretanto ter que utilizar uma grande
complexidade computacional.
Assim, a estrategia adotada para solucionar tal problema na detecc ao MuD atraves
do algoritmo SA, consiste na procura de uma melhor soluc ao segundo uma func ao custo
5.2 Adapta c ao do algoritmo SA `a deteccao MuD 25
(dentro de um determinado espaco de busca), sendo no contexto da detecc ao MuD a
func ao dada por:
T() = 2y
T
A
T
ARA (5.2)
onde y e o vetor de sada do banco de ltro casado (MFB), Ae a matriz de amplitudes
dos sinais dos usu arios e R e a matriz de correlac ao. A matriz diagonal dos coecientes
do canal da func ao de verossimilhanca e C = 1, ja que no trabalho n ao foi considerado
rudo multiplicativo.
O diagrama de recep cao utilizando algoritmo heurstico SA e mostrado na gura 5.2.
O receptor constitui-se de um banco de ltros casados, seguido do algoritmo heurstico
SA com o intuito de maximizar o desempenho da fun cao da equacao (5.2).
Figura 5.2: Sistema Transmiss ao-recepc ao SA-MuD - (a) Transmissor em banda-base;
(b) Canal AWGN; (c) 1o est agio MFB; (d) Detector Convencional Abrupto com ponto
de derivac ao das estimativas do MFB e (e) Algoritmo Heurstico SA.
26
6 IMPLEMENTAC

AO EM DSP
E RESULTADOS
Este captulo mostrara o desempenho do algoritmo heurstico SA para o sistema DS-
CDMA em simulacoes no MATLAB e em DSP.
Em todas as simula coes realizadas utilizou-se o metodo de Monte Carlo
1
, sendo ado-
tado um n umero mnimo de erros / ponto de 40 (nerros = 40). O n umero mnimo de
erros/ponto foi adotado para garantir um tempo de processamento no DSP razo avel visto
que para alguns pontos o aumento do n umero de erros tornar-se-ia inviavel o processa-
mento.
Nas simula coes em MATLAB como no processamento em DSP foram includos os
desempenhos dos detectores convencional (CD) e tambem o limite quando existe apenas
um unico usu ario ativo no sistema (SuB), utilizando-se modulacao BPSK e canal AWGN
sncrono.
Utilizou-se tambem a sada Line Out do Kit DSK C6713 para que, atraves de um
oscilosc opio, pudesse ser observado o sinal recebido pelo receptor SA-MuD implementado
em DSP, como pode ser visto na gura 6.1.
A gura 6.2 e gura 6.3 mostram os esquemas de liga coes utilizados no trabalho para
poder observar o sinal de sada, ou seja, o melhor vetor de bits estimados pelo receptor
SA-MuD em DSP.
6.1 Parametros do Sistema
Para entrada dos par ametros das simulac oes utilizou-se do software MatLab o qual
procurou-se propiciar uma maior facilidade para o usuarios nas simulac oes sem este ter
que alterar diretamente o codigo do programa. Um exemplo da entrada dos par ametros
1
Para informacoes sobre o metodo de Monte Carlo ver anexo C
6.1 Par ametros do Sistema 27
Figura 6.1: Sinal recebido observado com oscilosc opio atraves da sada Line Out do
DSP.
do programa e mostrado na gura 6.4.
Para as simula coes em Matlab foram utilizados os seguintes parametros: ganho do
processamento (Sequencia PN) com N = 32, dist ancia de Hamming = 1, temperatura
inicial do SA, T(0) = 300, constante de resfriamento = 0,1, tamanho da serie (Plat o)
L
SA
= 1. Para as simula coes em DSP do algoritmo SA utilizou-se os mesmos parametros
das simulac oes em Matlab.
Os valores adotados como parametros para o algoritmo SA foram inicialmente obtidos
da literatura (CIRIACO, 2004) e ap os simulac oes adicionais cujos valores dos parametros
foram alterados, obteve-se assim os valores nais otimizados (busca nao exaustiva)
mencionados acima em todas as simulacoes.
Tanto nas simulacoes em Matlab como tambem em DSP, escolheu-se sequencias
aleat orias (PN), pois como mostrado no Anexo B, as sequencias determinsticas tem boas
propriedades de correla cao e melhorariam o desempenho do sistema. Assim, utilizando-se
de sequencias aleat orias trabalhar-se-ia na pior condic ao e, portanto, poder-se-ia realcar
o ganho obtido com a abordagem heurstica.
6.2 Desempenho do Algoritmo SA no problema da deteccao MuD 28
Figura 6.2: Esquemas de liga coes DSP - oscilosc opio.
6.2 Desempenho do Algoritmo SA no problema da
deteccao MuD
Para an alise inicial do desempenho do algoritmo SA no Matlab comparando com o
processamento em DSP, utilizou-se um ganho de processamento N = 32 e n umero de
usu arios K = 10, resultando em um carregamento L = K/N = 10/30 = 0,3333. A entrada
dos parametros para simulac ao em MATLAB bem como do processamento em DSP e
realizada atraves do MATLAB e passada atraves do RTDX para o DSP como pode ser
observado na gura 6.5 e gura 6.6.
Assim, para um baixo carregamento (L = 0,3333) foi calculado a taxa de erro de bit do
receptor SA-MuD sendo que os dados obtidos durante o processamento sao apresentados
a cada nova SNR como pode ser observado na gura 6.7.
A gura 6.8 mostra o desempenho do algoritmo SA com controle total de potencia
(NFR = 0) e baixo carregamento comparado ao detector convencional (CD) e com o limite
quando existe apenas um usuario ativo no sistema (SuB) ap os todas simulac oes.
A gura 6.9 mostra o desempenho da 2
a
simulac ao do algoritmo SA na detec cao MuD
(SNR x BER) com um alto carregamento e tambem com controle total de potencia (NFR
= 0).
6.2 Desempenho do Algoritmo SA no problema da deteccao MuD 29
Figura 6.3: Sada Line Out do DSP.
Para essa simulacao, tanto em MATLAB como tambem no processamento em DSP,
utilizou-se um ganho de processamento N = 15 e 12 usuarios, gerando um carregamento L
= K/N = 0,8. Tais par ametros de entrada da simulac ao s ao apresentados na gura 6.10.
Os dados obtidos durante o processamento s ao apresentados a cada varia cao da SNR
como mostrado na gura 6.11.
Nas duas simulac oes ( com baixo e alto carregamento), o desempenho obtido com o
algoritmo SA-MuD implementado em DSP foi muito pr oximo e algumas vezes ate melhor
que o desempenho em MATLAB.
Tambem foi analisado o n umero de itera coes que o receptor SA-MuD implementado
em DSP demora para convergir para o detector optimo.
Pode-se observar atraves da gura 6.12 que o algoritmo SA converge em poucas it-
erac oes para o desempenho obtido com o detector optimo (OMuD). Para essa simulac ao
foi utilizado um carregamento L = 10/30 = 0,3333 e uma SNR = 6 dB.
Aumentando-se o carregamento do sistema (L = 12/15 = 0,8) e utilizando-se a mesma
SNR empregada anteriormente, observa-se que o SA consome algumas iterac oes a mais
para convergir para o melhor vetor de bits como e mostrado na gura 6.13. Porem, mesmo
com um carregamento alto, o algoritmo nas primeiras iterac oes j a consegue convergir
6.2 Desempenho do Algoritmo SA no problema da deteccao MuD 30
Figura 6.4: Entrada dos parametros de simulac ao do algoritmo SA.
para melhor solu cao (solu cao otima) apesar de, nesta condi cao de alto carregamento, ser
computacionalmente invi avel calcular a func ao de m axima verossimilhanca, eq. (4.1), a
todos os possveis vetores candidatos, neste caso, 2
12
candidatos.
Pode-se perceber atraves da gura 6.13 que nao era necess ario um grande n umero de
iterac oes para que se conseguisse a otimizacao do sistema. Assim, foi determinado um
criterio de parada para o algoritmo SA a m de diminuir o tempo de processamento.
O criterio de parada adotado consiste em retornar o melhor vetor de bits estimados
pelo detector Heur-MuD quando este nao otimizar mais a func ao custo em duas iterac oes
consecutivas.
A utilizac ao de tal criterio de parada contribuiu para uma consider avel reducao no
tempo de processamento do algoritmo SA em DSP.
6.3 Robustez do Sistema 31
Figura 6.5: Par ametros de entrada da 1
a
simula cao - SNR x BER.
Figura 6.6: Dados e tempo estimado de todas simulac oes.
6.3 Robustez do Sistema
Ap os a an alise do desempenho da BER do receptor SA-MuD atraves da variacao da
relac ao sinal-rudo, realizou-se o estudo da robustez do sistema. Primeiramente realizou-
se um estudo do desempenho do receptor (BER) variando-se o ndice de carregamento do
sistema.
Para realizar as simulac oes foram utilizados 4 varia coes de ganho de processamento,
onde os parametros de entrada utilizados na simulacao s ao mostrados na gura 6.14. A
tabela 6.1 contem os valores de ganho de processamento (N) e usu arios (K) utilizados na
simulac ao para vericar a robustez do sistema.
Em cada variac ao do ndice de carregamento, a sada do algoritmo, exemplicado
atraves da gura 6.15 (L = 1) indicava os par ametros de entrada, bem como os dados
obtidos no processamento.
A gura 6.16 mostra o gr aco de robustez do sistema em func ao da variac ao do ndice
de carregamento com uma SNR = 7 dB. Pode-se observar que o desempenho do algortimo
SA e afetado com aumento do ndice de carregamento. No entanto, o detector uniusu ario
6.3 Robustez do Sistema 32
Figura 6.7: Resultados da 1
a
simulacao com baixo carregamento - SNR = 6 dB.
(convencional) apresenta uma degradac ao muito maior com esta variac ao.
Para an alise da robustez do sistema com o efeito near-far (NFR ,= 0), utilizou-se
um cenario com um carregamento L = 0,67, com 3 usu arios de interesse (7 dB) e 7
usu arios interferentes com NFR variando de 1 dB ate 13 dB. A gura 6.17 mostra o
desempenho alcan cado pelo algoritmo SA neste cen ario, sendo avaliado o desempenho
medio dos usu arios de interesse.
Observa-se atraves do n umero de iterac oes media que o algoritmo Simulated Annealing
necessita de um maior n umero de iterac oes para convergir do que na condicao de controle
total de potencia (NFR = 0), indicando que a convergencia do algoritmo SA aplicado ` a
detecc ao MuD e afetada pela presenca do efeito near-far.
6.3 Robustez do Sistema 33
Figura 6.8: Desempenho do algoritmo SA para baixo carregamento (L = 0,333) e
controle total de potencia (NFR = 0).
Tabela 6.1: Variacao do ndice de carregamento.
Usuarios (K) Ganho de Processamento (N)

Indice de Carregamento (L)
3 30 0,10
6 30 0,20
9 30 0,30
12 30 0,40
10 20 0,50
12 20 0,60
10 15 0,67
12 15 0,80
11 12 0,92
12 12 1,00
6.3 Robustez do Sistema 34
Figura 6.9: Desempenho do algoritmo SA para alto carregamento (L = 0,8) e controle
total de potencia (NFR = 0).
6.3 Robustez do Sistema 35
Figura 6.10: Par ametros de entrada da 2
a
simulac ao - SNR x BER.
6.3 Robustez do Sistema 36
Figura 6.11: Resultados da 2
a
simulac ao com baixo carregamento - SNR = 6 dB.
6.3 Robustez do Sistema 37
Figura 6.12: Convergencia do algoritmo SA para baixo carregamento, L = 0,3333.
Figura 6.13: Convergencia do algoritmo SA para alto carregamento, L = 0,8.
6.3 Robustez do Sistema 38
Figura 6.14: Par ametros de entrada da simulac ao para an alise da robustez do sistema
(

Indice de Carregamento x BER).


6.3 Robustez do Sistema 39
Figura 6.15: Resultados da simulacao

Indice de Carregamento x BER para L = 1.
6.3 Robustez do Sistema 40
Figura 6.16: An alise da robustez do sistema:

Indice de Carregamento (L = K/N),
versus BER).
Figura 6.17: An alise da robustez do sistema (NFR x BER).
41
7 Analise de Complexidade em
DSP
O Code Composer Studio fornece uma ferramenta que possibilita o prole do seu
c odigo em execucao, ou seja, o monitoramento de alguns parametros desejados no proces-
sador DSP durante a execuc ao do seu codigo ou parte dele. Os parametros que podem
ser monitorados podem ser vistos atraves da aba Customdo Setupdo Prole. Muitos
par ametros podem ser monitorados, sendo o mais comum Cyclesque se refere aos ciclos
do DSP.
Para realizar e analisar a complexidade computacional do receptor Heur MuD bem
como do algoritmo SA, utilizou-se esta ferramenta
Dentro do seu codigo, pode-se escolher func oes, loops ou linhas de codigo que, durante
sua execuc ao, habilitar ao o Prole. A aba Rangesdo Setupdo Prole ilustra que
regi oes do seu codigo est ao habilitadas ou nao para o Prole.
A ferramenta PROFILE permite que se obtenha o n umero de ciclos realizado pelo
DSP em todo o c odigo durante o processamento ou tambem individualmente em cada
func ao como pode ser visto na gura 7.1.
Primeiramente deve-se congurar o PROFILE para obter os ciclos atraves da opc ao
Custom (gura 7.2) e ap os o programa carregado no CCS pode-se estabelecer as vari aveis
que se deseja obter atraves do prole. A gura 7.3 mostra as vari aveis observadas para
estimar os n umeros de ciclos em func ao do n umero de usu arios (K) e ganho de processa-
mento (Nchips).
A gura 7.4 mostra os resultados das vari aveis obtidas atraves do PROFILE. Obtem-
se o n umero de vezes em que cada func ao foi acessada como tambem o n umero mnimo,
m aximo e a media de ciclos das func oes do receptor MF bem como do algoritmo SA.
7.1 Complexidade do Detector Convencional 42
Figura 7.1: Habilitac ao das fun coes para contagem de ciclos.
7.1 Complexidade do Detector Convencional
Para determinar a complexidade do receptor (apenas MF DecisorHard), realizou-se
v arios processamentos em DSP com varia cao dos parametros K e N obtendo-se valores
medios entre 5 execuc oes da func ao. Logo, realizou-se uma compara cao com os resultados
obtidos atraves do PROFILE, analisando o n umero medio de ciclos (Cycles: Incl. Avg.)
que a fun cao utilizou.
Os resultados obtidos s ao apresentados na tabela 7.1, onde percebe-se que os ciclos
realizados pelo DSP durante a execuc ao da func ao MF DecisorHard s ao proporcionais aos
valores K e N. Assim, desenvolveu-se uma tabela de comparacao para vericar a tendencia
de o n umero de ciclos ser proporcional aos parametros K e N, como e conrmado na
tabela 7.2.
Tendo um fator de proporcionalidade denido, K.N, tracou-se um mapa de proces-
samentos onde este fator repetia-se conforme a tabela 7.3, sendo que as posic oes com
asterisco indicam repeticao do fator K.N em um ou mais processamentos, onde nestas
posic oes, realizou-se a media aritmetica dos ciclos do DSP realizados com um mesmo fator
K.N.
7.2 Complexidade para o Algoritmo Heurstico SA 43
Figura 7.2: Congurac ao do PROFILE para contagem de ciclos.
Com os dados encontrados, montou-se a tabela nal da complexidade computacional
do detector CD em func ao do fator de proporcionalidade K.N, tabela 7.4. A partir dos
valores da tabela 7.4, pode-se estimar uma fun cao para linearizar tais dados atraves da
ferramenta cftool do Matlab.
Portanto, a linearizac ao encontrada e dado por:
DSP
Cycles
CD
=
1658 + (1120 K N)
T
b
_
ciclos
seg
_
(7.1)
sendo DSP
Cycles
CD
o n umero de ciclos de processamento por segundo que o DSP executa
para detectar um bit de todos os K usu arios com ganho de processamento N, sendo que o
ciclo de processamento deve ser realizado dentro de um perodo de informacao detectada,
T
b
.
7.2 Complexidade para o Algoritmo Heurstico SA
Com intuito de realizar a an alise da complexidade computacional do algoritmo SA,
tambem foi utilizado a ferramenta Prole do CCS, onde algumas consideracoes devem ser
feitas j a que o sistema considerado no projeto consiste de um canal sncrono AWGN. A
7.2 Complexidade para o Algoritmo Heurstico SA 44
Tabela 7.1: Tabela com os Ciclos do DSP resultados do Prole do CCS da func ao
MF DecisorHard (detector convencional).
Usuarios Ganho de Processamento (N)
(K) 10 15 20 25 30
1 11906 17196 22171 28026 31875
2 23347 34957 43842 54270 64673
3 35571 50646 68015 84206 101941
4 45899 68344 89403 111390 129966
5 59718 86692 114672 140041 168750
6 68942 102463 136864 170928 201710
7 81862 120201 158582 198355 236702
8 93340 135556 178160 223265 262038
9 105670 156029 205173 252390 298055
10 117135 171320 229597 282789 340327
11 131013 189542 248893 317631 372413
12 141297 203601 274920 337755 397721
Tabela 7.2: Tabela comparativa da complexidade do CD para diferentes valores de K e
N 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%
7.2 Complexidade para o Algoritmo Heurstico SA 45
Tabela 7.3: Mapa de processamentos realizados utilizando Prole da func ao
MF DecisorHard (detector convencional); demonstram-se as posi coes onde ocorreu
repetic ao 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 210
8 80* 120* 160 200* 240*
9 90* 135 180* 225 270
10 100* 150* 200* 250 300*
11 110 165 220 275 330
12 120* 180* 240* 300* 360
Tabela 7.4: Tabela da complexidade computacional, em ciclos do DSP, do CD (fun cao
MF DecisorHard) em rela cao ao Fator de Proporcionalidade K.N.
K.N Ciclos DSP K.N Ciclos DSP
10 11906 135 156029
15 17196 140 158582
20 22759 150 170330
25 28026 160 178160
30 33134 165 189542
40 44871 175 198355
45 50646 180 203490
50 56994 200 226431
60 67494 210 236702
70 81862 220 248893
75 85449 225 252390
80 91372 240 268479
90 103358 250 282789
100 114399 270 298055
105 120201 275 317631
110 131013 300 339040
120 135920 330 372413
125 140041 360 397721
7.2 Complexidade para o Algoritmo Heurstico SA 46
Figura 7.3: Denic ao das variaveis de sada do PROFILE.
Figura 7.4: Resultados do PROFILE - contagem de ciclos.
func ao-custo utilizada no algoritmo heurstico Simulated Annealing e dada pela equac ao (7.2).
T () = Re2y
T
A
T
ARA (7.2)
onde s ao os vetores-candidatos (distancia de Hamming igual a 1), y e o vetor de sada
do 1
o
est agio do MFB antes do decisor abrupto, A e a matriz de amplitudes dos sinais
dos usuarios e R e a matriz de correlac ao.
Observando a equac ao (7.2) nota-se que os termos 2y
T
A e ARA ser ao os mesmos
para todas as iterac oes, independentemente dos vetores-candidatos. Assim, para reduzir a
complexidade computacional durante os processamentos em DSP, calculou-se estes termos
separadamente (equacao (7.3) e equac ao (7.4)) fora do laco de itera coes do algoritmo SA.
7.2 Complexidade para o Algoritmo Heurstico SA 47
Figura 7.5: Gr aco correspondente ` a complexidade em DSP do CD gerado com os
dados da tabela 7.4 com um Fitting do tipo Linear.
T
(1)
= Re2y
T
A (7.3)
T
(2)
= ReARA (7.4)
Com isso, em cada iterac ao os valores de T
(1)
e T
(2)
j a estavam calculados. A
equac ao (7.5) representa a Funcao Custo de cada iterac ao.
T () = T
(1)

T
T
(2)
(7.5)
Utilizando-se da ferramenta Prole pode-se realizar diversos processamentos em DSP
vriando-se os par ametros K e N. Para obter o n umero de ciclos do algoritmo SA, dividiu-
se esta em ciclos da Func ao Custo Inicial e ciclos das Iteracoes, onde obteve-se valores
medios entre 5 execuc oes da func ao.
Os ciclos da Func ao Custo Inicial foram obtidos analizando-se apenas os c alculos
realizados que antecedem o laco das iteracoes, i.e., os calculos dos termos T
(1)
e T
(2)
7.2 Complexidade para o Algoritmo Heurstico SA 48
Tabela 7.5: Tabela da complexidade computacional (ciclos do DSP) da Func ao Custo
Inicial do algoritmo Simulated Annealing em relac ao ao n umero de usu arios K.
Usuarios Ganho de Processamento (N) Media Ciclos Desvio
(K) 10 15 20 25 30 do DSP Padrao ()
1 4452 4505 4512 4530 4532 4506 32,42
2 9793 9771 9747 9752 9886 9790 56,74
3 18868 18874 18802 18897 18948 18878 52,80
4 32410 32443 32401 32427 32595 32455 79,79
5 52598 52556 52544 52413 52388 52500 93,26
6 79523 79577 79569 79688 79553 79582 62,75
7 115386 115331 115210 115283 115115 115265 105,88
8 160331 160422 160251 160208 160415 160325 95,80
9 217088 217114 217002 217015 216745 216993 146,40
10 285134 285450 285386 285410 285399 285356 126,28
11 368410 368451 368339 368497 368502 368440 67,67
12 464117 463981 463991 463973 463944 464001 67,06
seguidos pelo c alculo da func ao-custo utilizando o vetor ` a sada do decisor abrupto.
Para o c alculo dos ciclos da func ao Iterac os foram realizadas iterac oes ate que n ao
ocorresse melhora na func ao-custo por duas iterac oes consecutivas.
Os resultados obtidos utilizando a ferramenta Prole da Func ao Custo Inicial sao
apresentados na tabela 7.5 e os ciclos de cada itera cao na tabela 7.6. Analisando-se as
duas tabelas percebe-se que as duas func oes dependem apenas do n umero de usu arios,
ou seja, o parametro de ganho de processamento N n ao inuencia o n umero de ciclos
destas duas fun coes. Esta tendencia pode ser conrmada se analisarmos que o ganho de
processamento n ao participa da execuc ao do algoritmo SA, pois, o seu vetor-inical e dado
pelo vetor `a sada do decisor abrupto que e um sinal vindo do MFB, ou seja, o sinal esta
desespalhado e com dimens ao K 1.
Logo, com os ciclos obtidos (tabela 7.5) realizou-se uma linearizac ao para a Func ao
Custo Inicial atraves de um Fitting do tipo Cubic Polynomial (gura 7.6) apresentada na
equac ao (7.6) . Para a fun cao Iterac oes realizou-se o mesmo procedimento sendo o gr aco
desta apresentado na gura 7.6 e sua linearizac ao dada pela equac ao (7.7).
Entretanto, a equac ao (7.7) depende do n umero de itera coes (M) que o algoritmo SA
dever a realizar para melhorar a func ao custo. Assim, como mostrado na gura 7.6 bem
como atraves da vari avel SA it count DSP (vari avel que mostra o n umero de iterac oes
realizadas), o algoritmo SA converge para melhor solu cao em media de K/2 iterac oes.
Portanto, como M = K/2 a equa cao (7.7) pode ser simplicada para a equac ao (7.8).
7.2 Complexidade para o Algoritmo Heurstico SA 49
Tabela 7.6: Tabela da complexidade computacional (ciclos do DSP) de cada iterac ao
(func ao Iteracoes) do algoritmo Simulated Annealing em relac ao ao n umero de usu arios
K.
Usuarios Ganho de Processamento (N) Media Ciclos Desvio
(K) 10 15 20 25 30 do DSP Padrao ()
1 2849 2849 2837 2838 2838 2842 6,22
2 4814 4808 4808 4808 4796 4807 6,57
3 7978 7974 7981 7985 8006 7985 12,52
4 12736 12736 12725 12744 12716 12731 10,94
5 19358 19379 19390 19411 19416 19390 23,76
6 28228 28253 28261 28287 28296 28265 27,27
7 39622 39643 39639 39676 39701 39656 31,78
8 53611 53616 53641 53630 53645 53629 14,94
9 71068 71092 71105 71142 71093 71100 27,05
10 91976 91987 91995 92021 92006 91997 17,33
11 117985 117991 118015 118010 118025 118005 16,74
12 145159 145329 145395 145401 145331 145323 97,81
DSP
Cycles
SAInicial
=
204, 5 K
3
+ 581 K
2
+ 2140 K + 1597
T
b
_
ciclos
seg
_
(7.6)
DSP
Cycles
SAIter
=
(52, 9 K
3
+ 316, 9 K
2
+ 568, 6 K + 1962) M
T
b
_
ciclos
seg
_
(7.7)
DSP
Cycles
SAIter
=
26, 5 K
4
+ 158, 5 K
3
+ 284, 3 K
2
+ 981 K
T
b
_
ciclos
seg
_
(7.8)
A complexidade computacional do algoritmo SA sera dada pela soma da Fun cao Custo
Inicial com a func ao Iteracoes, dada pela equa cao (7.9).
DSP
Cycles
SA
=
26, 5 K
4
+ 363 K
3
+ 865, 3 K
2
+ 3121 K + 1597
T
b
_
ciclos
seg
_
(7.9)
7.3 Complexidade para o Receptor SA-MuD Completo em Banda Base 50
Figura 7.6: Gr aco da complexidade em DSP da Funcao Custo Inicial do SA.
7.3 Complexidade para o Receptor SA-MuD Com-
pleto em Banda Base
A complexidade computacional para o receptor SA-MuD completo ser a dada pela
soma dos ciclos do detector convencional com os ciclos do algoritmo SA, sendo esta
mostrada na equa cao (7.10).
DSP
Cycles
SAMuD
=
1120KN + 26, 5K
4
+ 363K
3
+ 865, 3K
2
+ 3121K + 3255
T
b
_
ciclos
seg
_
(7.10)
A gura 7.8 mostra o comportamento da func ao do algoritmo SA bem como do re-
ceptor CD para um ganho de processamento N = 20.
Outra an alise realizada foi do incremento de complexidade, onde este e dado pela
raz ao do n umero de ciclos do receptor SA-MuD em relac ao ao detector CD, sendo este
apresentado na equac ao (7.11).
Inc. Complex. % =
DSP
Cycles
SAMuD
DSP
Cycles
CD
100% (7.11)
7.3 Complexidade para o Receptor SA-MuD Completo em Banda Base 51
Figura 7.7: Gr aco da complexidade em DSP de cada Iteracao do algoritmo SA
gerado com os dados da tabela 7.6.
A gura 7.9 mostra o incremento de complexidade ( em % ) do receptor SA-MuD
para ganhos de processamento de: N = 10, N = 15, N = 20, N = 25 e N = 30.
Ao se obter a complexidade computacional para o receptor SA-MuD completo em
banda base, realizou-se uma an alise para vericar a capacidade maxima de processamento
do DSP, em termos de n umeros m aximos de usu arios e ganho de processamento.
Para esta analise foi considerado apenas usuarios de voz, com taxa de transferencia
padr ao de um VOCODER
1
de 8 Kbits/s.
A gura 7.10 mostra a comparac ao do n umero de ciclos necessarios para deteccao dos
bits com um ganho de processamento N = 4. Pode-se observar que o n umero de usuarios
a qual o DSP consegue garantir a taxa de 8 Kbits/s para o ganho de processamento
estipulado e de 2 usu arios, enquanto o detector convencional consegue 5 usuarios.
Aumentando-se o ganho de processamento (N = 8), observa-se que esse n umero de
usu arios e reduzido como pode ser observador na gura 7.11.
1
voice + encoder - codicadores de voz do tipo Toll Qualityvoice coders, tais como o ITU G.729,
com taxa de dados nal de 8 kbps.
7.4 Comparacao de Complexidade Computacional entre os Algotimos SA e LS 1 opt 52
Figura 7.8: Gr aco da comparac ao de ciclos entre a funcao do algoritmo SA e do
receptor CD - @ N = 20.
7.4 Comparacao de Complexidade Computacional en-
tre os Algotimos SA e LS 1 opt
Esta secao busca mostrar a comparac ao da complexidade computacional entre os
algoritmos heursticos SA e LS 1 opt em func ao do n umero de ciclos que cada um realiza.
Como apresentado na sec ao anterior, a complexidade computacional para o recep-
tor SA-MuD e dado pela equac ao (7.10). Em (MUSSI, 2009), deni-se a complexidade
computacional em DSP (n umero de ciclos) para o algoritmo heurstico de busca local
(LS 1 opt) como:
DSP
Cycles
SAMuD
=
26, 5K
4
+ 364, 2K
3
+ 854, 5K
2
+ 2381, 6K + 1120KN + 3202
T
b
_
ciclos
seg
_
(7.12)
A gura 7.12 mostra a comparac ao da complexidade computacional dos dois algo-
ritmos pra um ganho de processamento N = 15. Observa-se que estes apresentam uma
complexidade computacional muito proxima.
7.4 Comparacao de Complexidade Computacional entre os Algotimos SA e LS 1 opt 53
Figura 7.9: Gr aco do incremento de complexidade do receptor.
Porem, para uma melhor an alise e comparac ao, realizou-se o estudo do incremento de
complexidade, dado por:
Inc. Complex.
SAvs.LS
% =
DSP
Cycles
SAMuD
DSP
Cycles
LSMuD
100% (7.13)
A gura 7.13 mostra o incremento de complexidade ( em % ) do receptor SA-MuD
em relac ao ao receptor LS-MuD para ganhos de processamento de: N = 10, N = 15, N =
20, N = 25 e N = 30.
Assim, pode-se observar araves da gura 7.13 que o algoritmo SA-MuD apresenta um
pequeno incremento na complexidade computacional quando comparado com o algoritmo
LS-MuD.
7.5 C alculo de Complexidade em Func ao do N umero de Operacoes 54
Figura 7.10: Gr aco da capacidade maxima de processamento do DSP @ N = 4.
7.5 Calculo de Complexidade em Funcao do N umero
de Operacoes
Outro metodo utilizado para realizar a complexidade computacional do receptor SA-
MuD consistiu em analizar as operacoes de somas e multiplicac oes realizadas.
Como na analise de ciclos, tambem dividiu-se o programa em tres partes, sendo Re-
ceptor Convencional (MF + decisor abrupto), Func ao Custo Inicial e Iterac oes. Em cada
uma delas foi determinado o n umero de somas e multiplicac oes realizadas em func ao do
n umero de usu arios (K) e ganho de processamento (N).
A equac ao (7.14) e a equa cao (7.15) mostram, respectivamente, o n umero de somas e
multiplica coes realizadas pelo receptor convencional.
DSP
Somas
CD
= 36 K N + 4 K (7.14)
DSP
Mult.
CD
= 28 K N + 2 K (7.15)
7.5 C alculo de Complexidade em Func ao do N umero de Operacoes 55
Figura 7.11: Gr aco da capacidade maxima de processamento do DSP @ N = 8.
Para o calculo da Func ao Custo Inicial, o n umero de operacoes realizadas sao:
DSP
Somas
SAF.inicial
= 20 K
3
+ 27 K
2
+ 50 K + 11 (7.16)
DSP
Mult.
SAF.inicial
= 18 K
3
+ 19 K
2
+ 31 K (7.17)
J a para parte Iterac oes, adotou-se um n umero de itera coes M = K/2 para convergencia
do algoritmo, como anteriormente ja adotado no calculo do n umero de ciclos (Prole).
Assim, para cada iterac ao, o n umero de somas e multiplica coes pode ser dado respectiva-
mente por:
DSP
Somas
SAF.inicial
=
_
4 K
3
+ 18 K
2
+ 32 K + 21

M (7.18)
DSP
Mult.
SAF.inicial
=
_
3 K
3
+ 11 K
2
+ 16 K + 20

M (7.19)
O n umero de somas da parte Iteracoes para o algoritmo SA e dado pela equac ao (7.20)
7.5 C alculo de Complexidade em Func ao do N umero de Operacoes 56
Figura 7.12: Gr aco da Complexidade computacional dos algoritmos SA e LS 1 opt @
N = 15.
e multiplicac oes pela equac ao (7.21).
DSP
Somas
SAF.inicial
= 2 K
4
+ 9 K
3
+ 16 K
2
+ 10, 5 K (7.20)
DSP
Mult.
SAF.inicial
= 1, 5 K
4
+ 5, 5 K
3
+ 8 K
2
+ 10 K (7.21)
7.5 C alculo de Complexidade em Func ao do N umero de Operacoes 57
Figura 7.13: Gr aco do incremento de complexidade do algoritmo SA em rela cao ao
LS 1 opt.
58
8 CONCLUS

AO
Inicialmente encontrou-se grandes diculdades na implementacao do trabalho em DSP,
principalmente com rela cao a alocac ao de memoria. O estudo de algumas literaturas sobre
DSP contribuiu para auxiliar a solucionar este problema de alocacao de memoria.
A implementac ao do algoritmo heurstico de recozimento simulado (Simulated Annea-
ling - SA) ao problema de detecc ao MuD em canal AWGN sncrono em plataforma DSP
resultou em um desempenho muito pr oximo ao obtido com o detector ML, porem com
uma reduzida complexidade computacional proporcionado pelo espaco de busca reduzido
inerente ao algoritmo heurstico.
A utilizac ao do algoritmo SA com seq uencias de espalhamento aleat orias (pior caso)
mostrou que o sistema mesmo assim atinge otimo desempenho, mesmo em condi coes de
sistema com alto carregamento.
P ode-se observar que o algoritmo SA mostrou-se robusto ao aumento do carrega-
mento e `a presenca do efeito near-far, porem apresentou uma redu cao na velocidade de
convergencia quando houve tais variac oes nos parametros do sistema.
Assim, a implementac ao em DSP de um detector Heur-MuD utilizando o algoritmo
SA mostrou-se possvel em banda base, nao somente a parte heurstica como tambem
o decisor abrupto e ltro casado, resultando excepcional melhoria de desempenho com
acrescimo marginal de complexidade em rela cao ao detector convencional.
A an alise atraves do tempo computacional (n umero de ciclos do DSP) bem como o
n umero de operacoes realizadas foi um fator importante na analise da complexidade com-
putacional para implementa cao do detector SA-MuD. Conseguiu-se realizar a deteccao,
porem esta cou limitada a um baixo ganho de processamento como tambem a poucos
usu arios j a que o processador do DSP utilizado no trabalho apresentava um clock de 225
MHz.
Portanto, para conseguir a detecc ao de um maior n umero de usuarios e garantir a
8.1 Trabalhos Futuros 59
taxa b asica de transmissao de 8 Kbits/s, deve-se trabalhar com um processador mais
veloz, am deste ser capaz de realizar todas as opera coes de estimativa e detecc ao do
receptor SA-MuD. Algumas otimiza coes ainda podem ser realizadas no c odigo para ajudar
na diminuic ao da complexidade do receptor, entretanto o n umero de ciclos necess arios
para implementa cao do receptor ainda sera grande, exigindo um processador com alta
capacidade de processamento.
8.1 Trabalhos Futuros
Como trabalhos futuros, s ao propostos:
Implementa cao e an alise em DSP de outros algoritmos heursticos para canais
AWGN sncrono.
Utilizac ao de canais mais realistas, como canais assncronos e/ou com desvaneci-
mento multipercurso.
Estudo da complexidade computacional da implementac ao de outras heursticas em
processadores digitais de sinais.
60
Anexo A -- PROCESSADOR DIGITAL DE
SINAIS - DSP
A utilizac ao de software para simulac oes computacionais como o MATLAB nao imp oe
um determinado tempo para que tal simulac ao ocorra. Porem, ao se trabalhar com
aplicac oes em tempo real, faz-se necessario a utilizac ao 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
(ABRAO et al., 2007).
Os DSPs podem ser empregados em diversas areas como tambem para processamentos
especcos, onde deseja-se encontrar solu coes adaptativas para um determinado problema.
A simulac ao em tempo real e uma area que tem sido bastante estudada ao longo dos
anos, existindo diversos trabalhos de programac ao para controle de processos.
Assim, a questao da limita cao de tempo tornou-se um problema a ser solucionado,
pois garantir uma resposta certa em tempo real em alto nvel torna-se complexo, especial-
mente para DSPs onde sistemas com determinada taxas de dados devem ser analisados
(MARWEDEL, 1995).
A gura A.1 mostra o diagrama de blocos do kit DSK6713 da Spectrum Digital Inc.
Figura A.1: Diagrama de blocos do kit de desenvolvimento TMS320C6713
A.1 Ferramentas de suporte do DSK 61
A famlia 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
diante. Tambem sao utilizados em telefones celulares, cameras digitais, televis ao de alta
denic ao (HDTV), r adio, transmissao de fax, modems e outros dispositivos.
Estes dispositivos tambem podem ser utilizados em projetos experimentais, pois fornecem
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 anal ogicos com componentes eletronicos, como resistores, podem ser mais
sensveis ` a mudancas de temperatura por exemplo, ja sistemas baseados em DSP s ao
menos afetados pelas condic oes ambientais. Eles tambem tem uma vantagem de utilizar
microprocessadores, sendo de f acil utiliza cao, exveis e econ omicos.
A famlia de processadores TMS320C6x (C6x) s ao microprocessadores com uma alta
velocidade de processamento contendo um tipo especializado de arquitetura e um conjunto
de instruc oes adequadas para o processamento de sinais.
A notacao C6x e utilizada para designar a famlia de DSP da Texas Instruments (TI
famlia TMS320C6000), onde a arquitetura deste processador digital de sinal est a adap-
tada para c alculos numericos intensivos baseado na arquitetura VLIW, senso considerado
um dos melhores processadores da TI.
A famlia C6x da TI pode realizar diferentes tarefas, uma vez que permite a repro-
gramac ao facilmente para diversas aplicac oes, tendo tido muito sucesso devido ao desen-
volvimento de baixo custo do software e hardware.
Processadores da famlia C6x incluem tanto dispositivos de ponto xo (por exemplo,
C62x, C64x) e de ponto utuante (por exemplo, C67x). O processador utilizado no
trabalho foi o C6713 de ponto utuante muito util em aplicac oes que requerem c alculos
intensivos.
A.1 Ferramentas de suporte do DSK
Desenvolvido pela Spectrum Digital Inc., o kit DSK6713 consiste em uma plataforma
de integrac ao entre o DSP TMS320C6713 e diversos componentes.
Para realizar a implementac ao de programas no DSK6713 e necessaria a comunicac ao
do kit com um computador atraves de uma porta USB, possibilitando a implementac ao
A.1 Ferramentas de suporte do DSK 62
de diversas aplicacoes no processador.
Para realizac ao 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 re une um compilador C, assembler, linker e debugger.
A placa, mostrada na gura A.2, contem o processador TMS320C6713 (C6713) de
ponto utuante, bem como um codec estereo de 32-bits para entrada e sada de
dados.
Figura A.2: Placa do kit de desenvolvimento DSK6713
A conex ao 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 mem oria SDRAM e
256KB de mem oria ash. Quatro conectores de entrada e sada de dados: MIC IN para
entrada de microfone, LINE IN, LINE OUT para sada de linha e uma entrada para fone
de ouvido(multiplexado com sada de linha). O processador opera com uma freq uencia
de 225MHz.
Existem na placa do kit reguladores de tensao que fornecem uma tens ao de 1,26 V
para o C6713 e 3,3 V para a sua mem oria e perifericos.
A.1.1 DSP TMS320C6713
O TMS320C6713 (C6713) e baseado na arquitetura VLIW, que est a muito bem adap-
tado para algoritmos numericamente intensivos. A memoria de programa interno est a
A.1 Ferramentas de suporte do DSK 63
estruturada de modo que um total de oito instru coes podem ser buscadas a cada ciclo.
Outra caracterstica 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 l ogica 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.
64
Anexo B -- SEQU

ENCIAS DE
ESPALHAMENTO
A divis ao por seq uencias, cada uma sendo um c odigo para um determinado usuario,
mostra-se uma boa estrategia de acesso m ultiplo j a que melhora o desempenho com relacao
a interferencia (HAYKIN; MOHER, 2005). No sistema CDMA tem-se uma ortogonalidade
nos codigos dos usu arios. Para garantir tal ortogonalidade, cada seq uencia atribuda a
um usuario [s
k
(q)] deve ter uma func ao de modelamento de smbolo diferente.
g
k
=
N

q=1
s
k
g
c
(t qT
c
) 0 t T (B.1)
Assim, a ortogonalidade aproximada entre o k-esimo e o j-esimo usu ario para diferentes
deslocamentos de tempo t pode ser expresso como na equac ao (B.2):
R
jk
() =
_

g
j
(t + ) g

k
(t) dt 0 para j ,= k (B.2)
Com a equac ao (B.2), assumindo-se que o receptor est a usando um ltro casado
(MFB), a correlac ao cruzada de dois smbolos diferentes e aproximadamente zero para
todos os deslocamentos de tempo . Outro requisito de ortogonalidade que minimiza
v arios canais e efeitos no receptor e mostrado em equacao (B.3):
R
kk
() 0 para > 0 (B.3)
Portanto, a escolha das seq uencia de espalhamento ira determinar se as equacoes
acima serao satisfeitas.
B.1 Seq uencias Aleatorias 65
B.1 Seq uencias Aleat orias
Como o proprio nome indica, tais seq uencias s ao geradas aleatoriamente, onde pode-se
denir a correla cao cruzada entre duas seq uencias aleat orias x e y pela equac ao (B.4):
R
xy
(k) = E
_
1
N
N

n=1
x
n
y
n+k
_
(B.4)
J a a func ao de autocorrelac ao da seq uencia aleat oria e dada pela equac ao (B.5):
R
xx
(k) = E
_
1
N
N

n=1
x
n
y
n+k
_
=
_
0 para k ,= 0
1 para k = 0
(B.5)
Portanto, ao se considerar que a autocorrelac ao e normalizada tal que R
xx
= 1, a
correlac ao cruzada media de duas seq uencias aleat orias e denida na equac ao (B.6).
E
_
[R
xy
[
2

= E
_
_
_
1
N
N

n=1
x
n
y
n
_
2
_
_
=
1
N
(B.6)
Atraves da equac ao (B.6) observa-se que a interferencia entre duas seq uencias aleat orias
e inversamente proporcional ao comprimento da seq uencia.
B.2 Seq uencias Walsh-Hadamard
Considerando que as seq uencias estao sincronizadas no tempo, ou seja, = 0, as
relac oes de ortogonalidades podem ser satisfeitas e os c odigos resultantes s ao chamados de
Seq uencias Walsh-Hadamard. A implementac ao de tais seq uencias permite-se construir 2
n
seq uencias ortogonais de comprimento 2
n
, tendo os c odigos uma pequena autocorrelac ao
e correlac ao cruzada em deslocamento de tempo diferentes de zero.
B.3 Seq uencias de Maximo Comprimento (SMC)
Os codigos de Walsh-Hadamard n ao possuem boas propriedades de ortogonalidade
quando eles n ao se alinham no tempo. Para aplica coes em comunicacoes, precisa-se de
seq uencias com propriedades semelhantes as das seq uencias aleatorias, devendo ser gerada
de forma simples no transmissor e receptor. Uma classe de seq uencias que garante tais
B.4 Seq uencias Gold 66
condic oes e a Seq uencia de Maximo Comprimento ou Seq uencias m. As seq uencias m tem
um comprimento de N = 2
m
- 1 chips, constitudos por 2
m1
valores l ogicos 1 e 2
m1
- 1
valores l ogicos 0 (GOULD; STEELE, 2001). A fun cao de auto correla cao e periodica em N,
com um pico de N para zero e -1 para outros valores como e mostrado na gura B.1.
Figura B.1: Funcao de autocorrelac ao de seq uencias m (SMC).
S ao geradas a partir de um registrador de deslocamento bin ario com realimenta cao.
Como a fun cao de autocorrelacao circular para uma seq uencia pode ser expresso por
R
jj
(k) =
1
N
N

q=1
s (q) s ((q + k) mod (N)) (B.7)
onde N = 2
m
- 1, pode-se determinar a autocorrelac ao normalizada para a seq uencia
de comprimento maximo na equac ao (B.8):
R
jj
(k) =
_
1 para k = 0
1
N
para k ,= 0
(B.8)
Quanto maior for o ganho de processamento N (n umero de chips), melhores ser ao as
propriedades de autocorrela cao das seq uencias de comprimento m aximo.
B.4 Seq uencias Gold
A seq uencia Gold prop oe que seja somado duas seq uencias de maximo comprimento
tendo estas o mesmo tamanho, porem usando geradores diferentes. Os codigos gerados
da soma das sadas de dois geradores de seq uencias m, dao origem a uma nova seq uencia
B.4 Seq uencias Gold 67
de espalhamento (seq uencia Gold). A correlac ao cruzada das seq uencias Gold e aproxi-
madamente
[R
jk
()[ =
1
N
+
2

N
j ,= k (B.9)
onde N = 2
m
-1.
68
Anexo C -- Metodo de Simulacao Monte
Carlo
Para realiza coes das simulacoes foi utilizado o metodo Monte Carlo. Geradores
mec anicos de n umeros aleatorios foram usados primeiramente para simular jogos de azar,
dando origem ao nome de Metodo de Monte Carlo, referindo-se a cidade de Monte Carlo,
cidade dos mais famosos bingos do mundo. Esse metodo de simulac ao procura atraves
das propriedades estatsticas dos n umeros aleatorios e em utilizar tecnicas de c alculo
probabilsticos para a garantia de um resultado correto (CIRIACO, 2004).
Embora existam muitas varia coes da tecnica de Monte Carlo, esse metodo envolve
basicamente a simulac ao de um experimento aleatorio usando meios articiais.
Assim, para estimar a taxa de erro de bits em um sistema de comunicac ao, pode-se
denir a simulacao de Monte Carlo como um modelo de sistema de comunicac ao mostrado
na gura C.1 com os sinais de entrada U (t), V (t) e W (t), sendo esses processos aleat orios.
O objetivo e encontrar as propriedades estatsticas de Y (t) ou o valor esperado de alguma
func ao g (Y (t)) de Y (t) (JERUCHIM; BALABAN; SHANMUGAN, 2002).
Figura C.1: Denic ao da simulacao de Monte Carlo.
A simulacao de Monte Carlo mostrada na gura C.2 para estimar a taxa de erro de
bits em um sistema de comunicac ao digital envolve as seguintes etapas.
1. Gerar valores de amostra da seq uencia de bits de entrada A(k), k = 1, 2, ..., N, e
as amostras de rudo N (j), j = 1, 2, ..., Mn (a taxa de amostragem e m amostras
por bit).
Anexo C -- Metodo de Simulacao Monte Carlo 69
2. Processar estas amostras atraves dos modelos dos blocos funcionais e gerar uma
seq uencia de sada Y(k).
3. Estimar E (g (Y (k)) como

P
e
=
1
N
N

k=1
g (Y (k)) (C.1)
Figura C.2: Modelo de simula cao de um sistema de comunicac ao.
A precis ao das estimativas obtidas atraves de simulac ao de Monte Carlo depender a
da estimativa dos procedimentos utilizados, do tamanho das amostras N, a capacidade
de reproduzir valores amostrados da entrada, e os pressupostos de modelagem e aprox-
imac oes.
Em geral, a precis ao sera proporcional a 1/

N, o que signica que um n umero grande


de amostras dever a ser simuladas a m de obter estimativas precisas atraves de simula coes
de Monte Carlo (CIRIACO, 2004).
No algoritmo implementado, o metodo de Monte Carlo e utilizado para a denir o
desempenho do sistema, levando-se em conta a taxa de erro de bit. Para cada ponto da
SNR foi utilizado um valor determinado de n
erros
que assim denia o n umero de trials
utilizados nas itera coes.
A BER estimada e calculada da forma:

P
e
=
n
erros
trials
(C.2)
Se o n umero de trials for elevado, a probabilidade de erro P
e
ir a ser a menor possvel,
mas implementar computacionalmente um n umero elevado de trials torna-se um processo
Anexo C -- Metodo de Simulacao Monte Carlo 70
invi avel. Assim, trabalha-se com um n umero tal de trials ou n
erros
que propicie um
resultado conavel.
71
Anexo D -- Principais Funcoes e Comandos
Implementados
A seguir, est ao descritos as funcoes e comandos implementados para o processamento
do canal DS-CDMA com detecc ao multiusuario em DSP.
A gura D.1 mostra a inicializacao da comunicacao RTDX, habilitando os canais de
entrada e sada de dados do DSP para comunicac ao com o MATLAB. Mostra tambem
a recepc ao da sequencia de espalhamento e a amplitude dos sinais dos usu arios enviadas
pelo MATLAB.
A func ao correlacao calcula no DSP a correlacao (R) atraves dos par amentros passa-
dos a ela (sequencia de espalhamento, n umero de usu arios e ganho de processamento).
Figura D.1: Rotinas e fun coes implementadas em DSP.
A funcao mostrada na gura D.2 diz respeito ao decisor convencional com decisor
abrupto implementado em DSP. Esta func ao retorna o vetor de bits estimado (b) para
um canal AWGN sncrono.
A terceira rotina (gura D.3) diz respeito ao algoritmo SA-Mud implementando em
Anexo D -- Principais Funcoes e Comandos Implementados 72
Figura D.2: Funcao implementada para o decisor convencional com decisor abrupto.
DSP atraves da descric ao apresentada no captulo 5. O algoritmo retorna o melhor ve-
tor de bits estimado (v
best
), onde este e enviado atraves da comunica cao RTDX para o
MATLAB para gerac ao das guras de merito.
Figura D.3: Func ao do algoritmo Simulated Annealing implementada em DSP.
As rotinas e func oes acima s ao as principais implementadas
1
para constru cao deste
trabalho.
1
outras rotinas eram chamadas internamente
73
Referencias
ABRAO, T.; CAMARGO, V. L. A.; PEREIRA, R. V.; TAKAYAMA, D. K.
Desenvolvimento e implementac ao r apida de ltros adaptativos para processadores
digitais de sinais tms320c6713 utilizando o simulink. In: . Londrina: Brasil, 2007. p. 13.
ABRAO, T.; CIRIACO, F. D. N.; JESZENSKY, P. J. E. Detecc ao multiusuario
utilizando algoritmos heursticos evolucion arios e de busca local. In: Semina - Ciencias
Exatas e Tecnologicas. Londrina: Brasil, 2004. (Semina).
CIRIACO, F. D. N. Algoritmos Heursticos Aplicados a Deteccao Multiusuario
DS-CDMA. Londrina - PR: Universidade Estadual de Londrina - UEL, 2004. 120 p.
GOLDBARG, M. C.; LUNA, H. P. L. Otimizacao Combinatoria e Programacao Linear.
Rio de Janeiro: Campus, 2000. 649 p.
GOULD, C. L. P.; STEELE, R. GSM, cdmaOne and 3G Systems. [S.l.]: John Wiley
Sons, 2001.
HAUPT, R. L.; HAUPT, S. E. Practical Genetic Algorithms. Hoboken: John Wiley
Sons, Ltd, 2004.
HAYKIN, S.; MOHER, M. Modern Wireless Communications. [S.l.]: Pearson Education,
2005.
JERUCHIM, M. C.; BALABAN, P.; SHANMUGAN, K. S. Simulation of Communication
Systems. New York: Kluwer Academic Publishers, 2002.
KATAYAMA, K.; NARIHISA, H. Performance of simulated annealing-based heuristic
for unconstrained binary quadratic programming problem. [S.l.]: European Journal of
Operational Research, 2001. 103-119 p.
LATHI, B. P. Modern Digital and Analog Communication Systems. [S.l.]: Oxford
University Press, Inc., 1998.
LEE, J. S.; MILLER, L. E. CDMA Systems Engineering Handbook. [S.l.]: Artech House
Publishers, 1998.
LUDERS, C.; SCHULZE, H. Theory and application of OFDM and CDMA. [S.l.]: John
Wiley Sons, Ltd, 2005.
MARWEDEL, P. Code Generation for Embedded Processors. [S.l.]: Hardcover, 1995.
MUSSI, A. M. Implementacao de Subsistemas DS/CDMA Utilizando Plataforma DSP
com Abordagem Heurstica. Londrina - PR: Universidade Estadual de Londrina - UEL,
2009. 102 p.
Referencias 74
TORRIERI, D. Principles of Spread-Spectrum Communication Systems. [S.l.]: Springer
Science + Business Media, Inc., 2005.
VERDU, S. Optimum multiuser asymptotic eciency. IEEE Transactions on
Communications, p. 890897, September 1986.
VERDU, S. Multiuser Detection. USA: Cambridge University Press, 1998. ISBN
0-521-59373-5.

Você também pode gostar