Construcción de un algoritmo en paralelo para la transformada rápida de Fourier (original) (raw)
Analizar cómo se soluciona el problema de los lectores escritores usando semáforos. Analizar las diferentes versiones de la solución al problema de los lectores escritores.
Transformada Rápida de Fourier implementada en ASSEMBLY NASM X86 embebido para distribuciones Linux
El presente informe exponen los procedimientos y resultados obtenidos del primer proyecto del curso Arquitectura de computadoras I, el cual se basó en un algortimo en emsam-blador NASM x86 que confexiona la transformada rápida de Fourier. Dicho algoritmo se basa en multiplcar los N coeficientes de la función discreta en el tiempo, con sus respectivos coeficientes de fase para cada muestra. Este algoritmo fue implementado bajo la plataforma de Proyecto Yocto, el cual crea una imagen para la visualización de dicho algoritmo. Palabras clave-FFT, NASM x86, Software Embedded, Linux, Yocto Project. I. INTRODUCCI´ONINTRODUCCI´ INTRODUCCI´ON En el diseño y análisis de señales digitales la transformada rápida de Fourier (FFT como se suele indicar en la literatura) juega un rol muy importante en el procesamiento digital de señales. La FFT de una función permite conocer los coeficientes reales e imaginarios (también se pueden representar en función de la magnitud y fase) de la función f (n), la cual es una función discreta en el tiempo, cuyos coeficientes pertenecen al dominio de la frecuencia. A partir de una señal discreta de función f (n), cuyos coeficientes en el dominio del tiempo están dados por el siguiente vector transpuesto x(n) x(n) = [x(0), x(1), x(2), ..., x(n)] T (1) Se desea calcular la FFT de f (n), la forma general de expresar los coeficientes resultantes de dicha transformada para un N número de muestras, dicha función está dada por la siguiente expresión: X(k) = N −1 n=0 x(n)e − 2πj N kn (2) Para trabajar la transformación dada en la Ec.[2] se realiza un cambio en la expresión que simplifica más la visualización y representación matemática, en donde se sustituye lo siguiente: W n = e − 2πj N (3) El W n dada en la igualdad anterior, es lo que se conoce como factor de giro o factor de fase, e indica de forma compleja en cuantos segmentos (muestras) debe dividirse el circulo unitario sobre el plano complejo. Para dar con la nueva forma de la FFT incluyendo el factor de fase, se sustituye el exponencial por W n y se obtiene lo siguiente X(k) = N −1 n=0 x(n)W n kn (4) De esta forma, cualquier cálculo computacional puede reali-zarse de una forma mucho más trivial que el problema inicial, ya que, partimos de lo siguiente W n = cos(2π N) + jsen(2π N) (5) Y de este modo eventualmente se calcularía computacionalmente cada coeficiente de manera instantánea, aplicando un diseño de funciones en NASM X86 que ejecuten funciones de coseno y seno mediante los métodos de Series de Taylor, además, existen otras formas de calcular esta misma transformada que involucran eí algebra lineal, como a su vez, métodos de optimizarla computacionalmente para lograr reducir el número de operaciones, pero todo esto lo veremos más adelante en el presente documento. Por otra parte, Linux básicamente consiste en un sistema operativo que facilita herramientas a desarrolladores de software. Yocto por parte, es un open source el cual permite dar herramientas a los desarrolladores para diseñar software embebido en distribuciones Linux. II. FFT IMPLEMTENTADA EN ASSEMBLY NASM X86 Para el diseño de la FFT se realizaron 2 propuestas de diseño, la cual dejaba por fuera el tema de la optimización (reducción) de cálculos computacionales, esta sección de optimización se explicará antes de finalizar esta sección. II-A. Propuesta I: Cálculo Inmediato de Coeficientes La primera propuesta consiste en el diseño de la FFT capaz de trabar para un N particular limitadó unicamente por el tamaño de los cálculos a realizar no mayor a la capacidad
Transformada rápida de Fourier y su aplicación en tratamiento de imágenes y audio
Resumen-la FFT es la forma optimizada de la DFT, logrando así menos complejidad en sus algoritmos pudiéndose aplicar en temas "complejos" para realizar sus procedimientos de un manera más fácil o más analítica. Sus diferentes e innumerables aplicaciones dan a demostrar su gran efectividad en el campo de la ciencia y la ingeniería. Su énfasis en el tratamiento de imágenes y audio permite el análisis de datos retornando patrones que con análisis detallado se pueden desarrollar grandes aplicaciones.
Algoritmos paralelos de reconstrucción de Imágenes TAC
2014
Quisiera agradecer al Dr. Gumersindo Verdú Martín y a mi tutor Dr. Vicent Vidal Gimeno por la oportunidad brindada y por la selección de un tema de investigación tan interesante. A Patricia Mayo Nogueira y Francisco Rodenas Escriba agradezco infinitamente por su continuo apoyo y motivación durante el desarrollo de este trabajo.
Generación automática de circuitos paralelos de multiplicación para DSP a medida de la aplicación
2001
RESUMEN: En éste artículo se presenta una herramienta para la generación automática de multiplicadores paralelos en VHDL para síntesis. Se intenta asistir al diseñador de DSP a medida sobre plataformas FIPSOC (de Sidsa) o Virtex (de Xilinx). Se generan los siete multiplicadores: McCanny-McWhirter, De Mori, Hatamian y Cash, Ripple Carry, Carry Save, Guild y De Mori-Guild; con y sin pipelining. CLAVES: generación automática de circuitos, síntesis de circuitos, CAE, multiplicación.