Cada equipe deve escolher um tema e comunicar ao professor. Cada tema
comportará 3 equipes. Em cada categoria haverá uma competição.
As equipes devem implementar os algoritmos em Octave (ou Matlab) e em C
(turbo C 2.0). As implementações mais eficientes ganharam
mais pontos.
As equipes vencedoras deveram fazer uma apresentação
para a turma de seus trabalhos.
I) FILTRO DIGITAL - Implementar um filtro digital IIR de ordem N. O
usuario pode especificar a ordem N (entre 1 e 200) e deve fornecer os coeficientes
num arquivo "coef.txt" (que contem em cada linha os coeficientes B's e
A's respectivamente, separados por espaço.). O sinal de entrada
deve ser lido de um arquivo texto "entrada.txt" e o resultado gravado num
arquivo "saida.txt", no formato de um numero por linha. A função
que calcula o filtro deve operar no modo "tempo real", isto é, cada
valor de entrada produz um valor de saída. Esta função
deve então ser executada L vezes, onde L é o tamanho do sinal
de entrada.
Referências: Oppenheim, capítulo 6
II) FFT - Implementar uma função para o calculo da FFT.
A rotina deve ser capaz de calcular a DFT de uma seqüência real
com N pontos, onde N é uma potência de 2, lida a partir de
um arquivo "entrada.txt". O resultado deve ser gravado no arquivo "saida.txt"
Referências: Oppenheim, capítulo 9, Gonzalez, capítulo
3; Brigham, capítulo 10, Smith, capítulo 3
III) DCT bidimensional - Implementar uma função para o
calcula da Transformada Discreta de Cosseno bidimensional.A rotina deve
ser capaz de calcular a DCT para qualquer matriz de tamanho NxN, onde N
é uma potência de 2. A matriz deve ser lida de um arquivo
"entrada.txt". O resultado deve ser gravado no arquivo "saida.txt". Os
numeros (colunas) devem ser separados por espaço (ou tabulacao)
e as linhas do arquivo devem ser terminadas com "carriage return".
Referências: Jain, capítulo 5, Gonzalez, capítulo
3
IV) FFT bidimensional - Implementar uma função para o
calculo da FFT bidimensional. A rotina deve ser capaz de calcular a DFT
de uma seqüência real com N pontos, onde N é uma potência
de 2.
Referências: Jain, capítulo 5; Gonzalez, capítulo
3
Obs.:
a) A medição do tempo deve ser feita com "tic e toc"
no Matlab e função clock() ou equivalente em C.
b) Caso a equipe decida pesquisar um código já existente
na internet, pode fazê-lo, porém mencionando sua origem e
autores, e inserindo comentários que expliquem passo a passo o programa.
c) Relatório Final: Deve explicar o algoritmo (com fluxograma)
e indicar referencias utilizadas.