Figura 2.1: Sistema Transmiss˜ao-Recep¸c˜ao Convencional - (a) Transmissor em banda-base; (b) Modelo de canal adotado; (c) 1o est´agio MFB e (d) Detector
Convencional Abrupto.
Heur-MuD pela elimina¸c˜ao da elevada MAI.
2.3
Detector Multiusu´ario baseado em Algoritmos
Heur´ısticos
Este ´e o terceiro subsistema a ser descrito em linguagem Matlab e implementado efetivamente empregando-se a plataforma do DSK C6713.
O algoritmo heur´ıstico utilizado neste trabalho foi o de busca local (LS). O algoritmo LS ´e um m´etodo de otimiza¸c˜ao que se caracteriza pela varredura em uma vizinhan¸ca pr´e- estabelecida do universo de busca (AARTS; LENSTRA, 2003). Nesse m´etodo, ´e importante a escolha da solu¸c˜ao inicial e a limita¸c˜ao da vizinhan¸ca para se encontrar uma solu¸c˜ao v´alida com uma complexidade computacional aceit´avel.
Uma caracter´ıstica dos algoritmos de busca local ´e a existˆencia de duas estrat´egias para a realiza¸c˜ao do deslocamento no espa¸co de busca. Existe a estrat´egia de desloca- mento pelo maior ganho e a estrat´egia de deslocamento pelo primeiro ganho. A primeira utiliza a melhor solu¸c˜ao de uma vizinhan¸ca como entrada da pr´oxima itera¸c˜ao. A ou- tra estrat´egia utiliza a primeira solu¸c˜ao que apresentar um maior valor que a solu¸c˜ao atual como entrada da pr´oxima itera¸c˜ao (CIRIACO, 2004). Neste trabalho, utilizou-se a
2.3 Detector Multiusu´ario baseado em Algoritmos Heur´ısticos 13
estrat´egia de deslocamento pelo maior ganho.
No intuito de diminuir a complexidade computacional e, consequentemente, o tempo computacional, foi escolhido o algoritmo de busca local 1-´otimo (1 − opt LS).
2.3.1
1 − opt LS-MuD
Este algoritmo procura por uma solu¸c˜ao ao redor de uma vizinhan¸ca composta por todas as poss´ıveis solu¸c˜oes cuja distˆancia de Hamming3, equa¸c˜ao (2.7), ´e igual a 1. A cada nova itera¸c˜ao de busca no LS, todos os vetores com distˆancia de Hamming igual a 1, chamados de vetores-candidatos (ϑ), s˜ao avaliados atrav´es do cˆomputo da Fun¸c˜ao-Custo (F ), ver equa¸c˜ao (2.8). O melhor vetor obtido atrav´es da avalia¸c˜ao ´e ent˜ao adotado como sendo o novo ponto base de c´alculo da vizinhan¸ca para a pr´oxima itera¸c˜ao. A figura 2.2 esquematiza o funcionamento simplificado.
Figura 2.2: Diagrama simplificado do funcionamento do algoritmo heur´ıstico 1 − opt LS.
2.3 Detector Multiusu´ario baseado em Algoritmos Heur´ısticos 14
O vetor-candidato inicial tomado como base (ϑbest
inicial) para c´alculo da vizinhan¸ca com
distˆancia de Hamming igual a 1 ´e dado pela sa´ıda do CD. Neste trabalho, um detec- tor convencional abrupto (decis˜ao hard ). Os vetores-candidatos s˜ao obtidos conforme equa¸c˜ao (2.7). Como o vetor `a sa´ıda do CD tem K bits (K = n´umero de usu´arios) e a distˆancia de Hamming ´e igual a 1 s˜ao gerados vetores-candidatos em n´umero equivalente ao n´umero de bits do vetor-base. Portanto, ser˜ao gerados K vetores-candidatos, ou seja, h´a K poss´ıveis solu¸c˜oes.
V (ϑm) = n ϑi ∈ {−1, 1} K tal que kϑi− ϑmk = 1 o (2.7) onde ϑm´e o vetor-base; Mt´e o n´umero m´aximo de itera¸c˜oes e m = 1, ..., Mte i = 1, ..., K.
Todos vetores-candidatos tˆem sua aptid˜ao avaliada por uma Fun¸c˜ao-Custo que ´e ba- seada (tomada a parte real) na fun¸c˜ao de verossimilhan¸ca (ML):
F (ϑ) = Re{2yTCHAϑ − ϑTCARACHϑ} (2.8)
onde y ´e o vetor de sa´ıda do 1o est´agio do MFB (antes do decisor abrupto); C ´e a matriz
diagonal dos coeficientes do canal; A ´e a matriz de amplitudes dos sinais dos usu´arios (ganho) e R ´e a matriz de correla¸c˜ao.
Neste trabalho, n˜ao foi considerado um ru´ıdo multiplicativo. Portanto, pode-se definir a matriz diagonal dos coeficientes do canal igual a 1 (C = 1). Desta forma, a equa¸c˜ao (2.8) pode ser simplificada, sendo reescrita como:
F (ϑ) = Re{2yTAϑ − ϑTARAϑ} (2.9)
O algoritmo LS tem como objetivo a maximiza¸c˜ao da Fun¸c˜ao-Custo atrav´es de poss´ıveis solu¸c˜oes (ϑ) e tem um desempenho que se aproxima do OMuD `a medida que o n´umero de itera¸c˜oes (m) aumenta. Neste trabalho, foi adotada uma estrat´egia diferente ao do 1 − opt LS cl´assico com o intuito de escapar de m´aximos locais. S˜ao considerados dois vetores como os de melhores solu¸c˜ao. O primeiro ϑbest ´e o vetor com a melhor solu¸c˜ao global, ou
seja, entre todas itera¸c˜oes e sua avalia¸c˜ao de aptid˜ao ´e dada por Fbest. O segundo ϑm
´e o vetor com a melhor solu¸c˜ao da itera¸c˜ao atual, chamado de vetor-base neste trabalho e este maximiza a Fun¸c˜ao-Custo entre todos os vetores-candidatos da itera¸c˜ao atual e ´e vetor usado para o c´alculo da distˆancia de Hamming em cada nova itera¸c˜ao. Quando o vetor-base ´e tamb´em a melhor solu¸c˜ao global, ent˜ao, os dois vetores se igualam. Por´em, quando o vetor-base n˜ao tem sua Fun¸c˜ao-Custo maior que Fbest, mant´em-se os valores de ϑbest e Fbest. Entretanto, a pr´oxima itera¸c˜ao ´e calculada a partir da vizinhan¸ca do vetor-
2.3 Detector Multiusu´ario baseado em Algoritmos Heur´ısticos 15
base (ϑm), procurando-se assim o escape de um poss´ıvel m´aximo local. No pseudoc´odigo
abaixo ´e demonstrado o algoritmo utilizado neste trabalho.
Algoritmo 1 − opt LS-MuD
1. Adota-se como solu¸c˜ao inicial o vetor `a sa´ıda do detector convencional: ϑbest= ˆb
ϑm = ϑbest
2. Calcula-se a aptid˜ao da solu¸c˜ao inicial atrav´es da Fun¸c˜ao-Custo: Fbest = F ϑbest
3. Para m = 1, ..., Mt:
(a) Encontram-se as K poss´ıveis solu¸c˜oes (vetores-candidatos) com distˆancia de Hamming igual a 1 do vetor-base desta itera¸c˜ao (ver equa¸c˜ao (2.7)).
(b) Calcula-se a aptid˜ao de cada uma das solu¸c˜oes atrav´es da Fun¸c˜ao-Custo. (c) Encontra-se o ganho de cada uma das Fun¸c˜oes-Custo calculadas em rela¸c˜ao
`
a melhor Fun¸c˜ao-Custo global, gerando um vetor g com os ganhos de cada poss´ıvel solu¸c˜ao:
gi = F (ϑi) − Fbest
(d) Encontra-se a melhor solu¸c˜ao da itera¸c˜ao atual: gmax = max (g)
ϑm = ϑ
position gmax
(e) O ganho obtido pela melhor solu¸c˜ao desta itera¸c˜ao ´e avaliado em rela¸c˜ao `a melhor solu¸c˜ao global:
Se gmax > 0:
ϑbest = ϑm
Fbest= g max
Se gmax < 0 pode-se aplicar um crit´erio de parada, conforme ser´a descrito no
cap´ıtulo 4
(f) Retorna-se `a etapa 3 at´e o n´umero de itera¸c˜oes m atinja o valor de Mt.
4. O vetor de sa´ıda do algoritmo ser´a ϑbest.
Desta forma, pode-se citar algumas vantagens (OLIVEIRA, 2007) que o tornam inte- ressante, principalmente, para aplica¸c˜oes que visam trabalhar em tempo real:
2.3 Detector Multiusu´ario baseado em Algoritmos Heur´ısticos 16
• ausˆencia de parˆametros de entrada;
• existˆencia de um crit´erio de parada sem defini¸c˜ao a priori; • estrat´egia simples que possibilita simplifica¸c˜oes.
Um diagrama em blocos do sistema de transmiss˜ao-recep¸c˜ao com a incorpora¸c˜ao do Heur-MuD pode ser visto na figura 2.3. O conjunto dos blocos (c) e (d) formam o detector convencional.
Figura 2.3: Sistema Transmiss˜ao-recep¸c˜ao LS-MuD - (a) Transmissor em banda-base; (b) Modelo de canal adotado; (c) 1o est´agio MFB; (d) Decisor Abrupto com ponto de
17
3
Ferramentas Computacionais
Ser˜ao descritas as ferramentas computacionais utilizadas, neste trabalho, tanto para obten¸c˜ao de simula¸c˜oes que ser˜ao a base comparativa, pois, resultam em desempenhos compat´ıveis com os obtidos no grupo de telecomunica¸c˜oes quanto para implementa¸c˜ao na plataforma DSP com uso do algoritmo heur´ıstico 1 − opt LS.
As ferramentas computacionais utilizadas neste trabalho foram escolhidas com base na experiˆencia do autor no manuseio do software, outras s˜ao ferramentas disponibilizadas no DSK C6713. Portanto, para estes n˜ao houve crit´erio de escolha.
3.1
MATLAB
RO MATLAB Matrix Laboratory ´e um software da The Mathworks Inc. desti-R
nado a fazer c´alculo com matrizes de dimens˜oes elevadas de forma eficiente. Contudo, ele integra an´alise num´erica, c´alculo com matrizes, processamento de sinais e constru¸c˜ao de gr´aficos em ambiente f´acil de usar onde problemas e solu¸c˜oes s˜ao expressos somente como eles s˜ao escritos matematicamente, ao contr´ario da programa¸c˜ao tradicional, tornando mais simples o seu uso, possibilitando a incorpora¸c˜ao de rotinas e fun¸c˜oes definidas pelo usu´ario al´em de pacotes para c´alculos espec´ıficos.
A grande vantagem que o MATLAB possui em rela¸c˜ao `as outras linguagens como, por exemplo, o C e o Fortran consiste no fato de que no MATLAB as informa¸c˜oes s˜ao facilmente armazen´aveis em matrizes o que proporciona uma f´acil e r´apida manipula¸c˜ao de uma grande quantidade de informa¸c˜oes. Al´em disso, o MATLAB possui uma grande quantidade de bibliotecas auxiliares (“Toolboxes”) que otimizam o tempo gasto para reali- zar tarefas, uma vez que, o usu´ario poder´a utilizar muitas fun¸c˜oes j´a definidas, poupando o tempo de cri´a-las. Por outro lado, infelizmente, os programas feitos s˜ao dif´ıceis de serem executados num ambiente fora do MATLAB. Por isto, neste trabalho, foi utilizado uma comunica¸c˜ao em tempo real entre o MATLAB e a plataforma DSP, chamada RTDX (Real Time Data Exchange). Para informa¸c˜oes detalhadas sobre RTDX, ver anexo B.