• Nenhum resultado encontrado

Detector Multiusu´ ario baseado em Algoritmos Heur´ısticos

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

R

O 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.