WO2018104566A1 - Digital electronic circuit for calculating sines and cosines of multiples of an angle - Google Patents
Digital electronic circuit for calculating sines and cosines of multiples of an angle Download PDFInfo
- Publication number
- WO2018104566A1 WO2018104566A1 PCT/ES2017/000123 ES2017000123W WO2018104566A1 WO 2018104566 A1 WO2018104566 A1 WO 2018104566A1 ES 2017000123 W ES2017000123 W ES 2017000123W WO 2018104566 A1 WO2018104566 A1 WO 2018104566A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- subcircuit
- sine
- cosine
- complex
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
Definitions
- the present invention aims at a digital electronic circuit that calculates the twiddle coefficients of the Fourier transform using a subcircuit that calculates the sines and cosines of integer multiples of a particular angle comprising semiconductor memories whose total number of inputs It is of the order of the logarithm of the length of the transform. This implies considerable savings in area (components) and memory consumption in applications where the data stream is long.
- IEEE 1901 "IEEE Standard for Broadband over Power Une Networks: Medium Access Control and Physical Layer Specifications", IEEE Communications Society, 2010.
- Figure 1 A subcircuit is calculated that calculates the sines and cosines of the multiples of in the interval that is, the powers of the complex
- the subcircuit is structured in two phases and comprises four small memories denominated Each K index memory maintains
- Figure 2 - A circuit is calculated that calculates the Twiddle coefficients of the Fourier transform for length samples following the scheme of T. Sansaloni Jan! example case
- the index of the coefficient to calculate is encoded in the input
- the circuit comprises a subcircuit as illustrated in Figure 2 (3).
- a multfplexor (4a) and an adder (5) are used so that the subcircuit that returns the sines and cosines receives as input when or its complement to two when A logic gate (6a) checks if the bit it is worth 1 and the rest of the less significant bits of 8 are worth 0, in which case the magnitude returned for the sine and cosine is thanks to a pair of muitiplexers (4b).
- a pair of muitiplexers (4c) will make the magnitude of the imaginary part and the real part equal to that of the sine and the cosine calculated by the subciretiite (3) respectively.
- the imaginary and real magnitudes will be those of the cosine and sine respectively.
- the sign of the real and the imaginary part are easily calculated with simple logic gates (6e) based on
- the invention relates to a digital electronic circuit that calculates the twiddle coefficients of the Fourier transform. Twiddle coefficients are the sine / cosine pairs of the multiple angles of where L is the length of the sequence on which the transform is applied That is, the twiddle coefficients are the powers of the complex
- a subcircuit has been devised that calculates the complex that is, the sine and cosine of n ⁇ being ⁇ a constant angle and n a coded number in base 2 that is supplied as input. It should be noted that the subcircuit can be used for trigonometric calculation in general and not: only for the calculation of twiddle coefficients.
- the subcircuit consists of the following components:
- Each memory position p of the memory M m will contain the sine and cosine of the angle
- said memory position will contain the multiplex defined by
- n k denotes the number represented by the sübcadenaS k . Therefore we have to be each angle ⁇ k defined by
- each memory M m The address lines of each memory M m are connected to the subentry S m so that its output provides the complex The value is calculated by the
- multipliers from the outputs of the memories.
- the multipliers are arranged in parallel so that each phase introduces a delay equal to that of a complex multiplier.
- F the value of the whole part by default of At most, E memories of no more than two address lines would be available, so that the number of total memory locations will be bounded above by This dimension grows logarithmically with the number of angles N.
- the presented subcircuit can be used to directly calculate the twiddie coefficients of a transform of length l. taking The number of bits of input E would be the integer part in excess of log 2 (L) so that If the number of the default integer part of F is taken as the number of phases F no more than F memories of no more than two address lines would be had, so that the number of total memory locations will be bounded above by Although this alone saves a lot of resources.
- the optimized circuit is composed of the following elements:
- This circuit uses a scheme similar to that presented by T. Sansaloni so that the cases in which the multiple of ⁇ corresponds to the angles
- this circuit does not use a ROM to obtain the sines and cosines of the multiples of in the interval A subcircuit is used instead
- FPGA Field Programmable Gate Array
- the subcircuit of Figure 1 has been used, which calculates the breasts (imaginary part) and cosines (real part) of the multiples of in the interval using only a total of 28 memory locations. Said subcircuit is used in the circuit of Figure 2 for the calculation of the twiddle coefficients.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
An electronic circuit for calculating the sines and cosines of multiples of an angle makes it possible to implement efficiently the calculation of the twiddle factors of the Fourier transform.
Description
Título Title
Circuito electrónico digital para el cálculo de senos y cosenos de múltiplos de un ángulo Digital electronic circuit for the calculation of sines and cosines of multiples of an angle
Objeto de la invención La presente invención tiene por objeto un circuito electrónico digital que calcula los coeficientes de twiddle de la transformada de Fourier empleando un subcircuito que calcula los senos y cosenos de múltiplos enteros de un ángulo concreto que comprende memorias semiconductoras cuyo número total de entradas es del orden del logaritmo de la longitud de la transformada. Esto implica un ahorro considerable en área (componentes) y consumo de memoria en aplicaciones en las que la secuencia de datos es larga. Object of the invention The present invention aims at a digital electronic circuit that calculates the twiddle coefficients of the Fourier transform using a subcircuit that calculates the sines and cosines of integer multiples of a particular angle comprising semiconductor memories whose total number of inputs It is of the order of the logarithm of the length of the transform. This implies considerable savings in area (components) and memory consumption in applications where the data stream is long.
Tiene su aplicación en el área de la tecnología electrónica, concretamente, en el tratamiento digital de señales. It has its application in the area of electronic technology, specifically, in digital signal processing.
Estado de la técnica State of the art
Entre los principales objetivos de los diseñadores de circuitos electrónicos digitales se encuentran la reducción del área ocupada por los mismos asi como la reducción de su consumo de energía y el aumento de su velocidad. La reducción de área permite reducir los costes de producción de los chips y generalmente acarrea una reducción de consumo Esto último es especialmente importante en equipos portables alimentados por baterías de cara a aumentar su autonomía. Muchos de estos equipos integran circuitos que calculan senos y/o cosenos de múltiplos de un ángulo. Un ejemplo notable son los circuitos que implementan la transformada rápida de Fourier. En ellos se requieren una serie de coeficientes complejos (denominados de twiddle o de pivote) cuyos valores se obtienen de ios correspondientes pares seno/coseno de determinados múltiplos de un mismo ángulo. Dado que el cálculo de funciones trigonométricas resulta costoso en tiempo, en implementaciones hardware de la transformada donde la velocidad es crítica estos valores se encuentran precalculados en memorias de acceso directo (normalmente de tipo ROM). Estas memorias pueden tener gran número de posiciones pues se requieren tantos coeficientes como muestras tenga la serie. Esto supone una grave penalización en área y consumo en el hardware
de cálculo de transformadas de secuencias largas siendo el tamaño de las memorias muy grande en comparación con el resto de componentes (1 ). Among the main objectives of the designers of digital electronic circuits are the reduction of the area occupied by them as well as the reduction of their energy consumption and the increase in their speed. The reduction of area allows reducing the production costs of the chips and generally leads to a reduction in consumption. The latter is especially important in portable equipment powered by batteries in order to increase their autonomy. Many of these teams integrate circuits that calculate sines and / or cosines of multiples of an angle. A notable example is the circuits that implement the fast Fourier transform. They require a series of complex coefficients (called twiddle or pivot) whose values are obtained from the corresponding sine / cosine pairs of certain multiples of the same angle. Since the calculation of trigonometric functions is costly in time, in hardware implementations of the transform where the speed is critical, these values are precalculated in direct access memories (usually of the ROM type). These memories can have a large number of positions as many coefficients are required as samples have the series. This is a serious penalty in area and hardware consumption of calculation of long sequence transforms, the memory size being very large compared to the rest of the components (1).
Por ello se han propuesto varias formas de reducir el número de posiciones requeridas: Therefore, several ways of reducing the number of positions required have been proposed:
- D. Cohén mostró que era suficiente un número de posiciones igual a la mitad del número de muestras (2). - D. Cohen showed that a number of positions equal to half the number of samples (2) was sufficient.
- Y. Ma, L. Wanhammar, Y. Chang y K K Parhi redujeron el número de posiciones a la cuarta parte al almacenar únicamente los coeficientes de ángulos en un intervalo de un cuarto de circunferencia. El resto se obtiene de forma fácil y rápida mediante relaciones trigonométricas simples que sólo requieren permutar y cambiar el signo de los componentes de los valores almacenados (3) y (4). - Y. Ma, L. Wanhammar, Y. Chang and K K Parhi reduced the number of positions to a quarter by storing only the angle coefficients in a quarter circumference interval. The rest is obtained easily and quickly by means of simple trigonometric relationships that only need to permute and change the sign of the components of the stored values (3) and (4).
- M. Hasan y T. Arsian redujeron el número de posiciones a poco más de un octavo del número de muestras almacenando únicamente los coeficientes en un intervalo de un octavo de circunferencia. De nuevo los coeficientes restantes pueden calcularse rápidamente a partir de ellos aplicando relaciones trigonométricas {5). - M. Hasan and T. Arsian reduced the number of positions to just over an eighth of the number of samples by storing only the coefficients in a range of one eighth of circumference. Again, the remaining coefficients can be quickly calculated from them by applying trigonometric relationships {5).
- T. Sansaloni, A. Pérez-Pascual, V. Torres y J Valls redujeron el número de posiciones a exactamente un octavo del número de muestras usando hardware especifico para detectar y tratar los coeficientes cuyas parte reai/imaginaria tiene una magnitud igual a
Esto permite evitar los problemas derivados de implementar una memoria semiconductora cuyo tamaño no es una potencia de 2 (6) - T. Sansaloni, A. Pérez-Pascual, V. Torres and J Valls reduced the number of positions to exactly one eighth of the number of samples using specific hardware to detect and treat the coefficients whose reai / imaginary part has a magnitude equal to This allows to avoid the problems derived from implementing a semiconductor memory whose size is not a power of 2 (6)
Sin embargo, todas estas mejoras requieren una memoria de un número de posiciones que crece Imealmerite con el número de muestras. Esto supone un inconveniente en aplicaciones en las que la secuencia de datos es larga tales como PLC (7) o DVB-T2 (8) (con longitudes del orden de
respectivamente) o muy larga como es el caso de las aplicaciones basadas en conteo de fotones (9) o en el uso de radiotelescopios (10) (con longitudes del orden de respectivamente).However, all these improvements require a memory of a number of positions that Imealmerite grows with the number of samples. This is inconvenient in applications where the data sequence is long such as PLC (7) or DVB-T2 (8) (with lengths of the order of respectively) or very long as is the case of applications based on photon counting (9) or the use of radio telescopes (10) (with lengths of the order respectively).
Referencias References
(1) O. Gustafsson, "Analysis of Twiddle Factor Memory Complexity of Radix-2 Pipelined FFTs", Conference Record of the Forty-Third Asilomar Conference on Signáis, Systems and Computers, 2009. páginas 217-220 (1) O. Gustafsson, "Analysis of Twiddle Factor Memory Complexity of Radix-2 Pipelined FFTs", Conference Record of the Forty-Third Asilomar Conference on Signáis, Systems and Computers, 2009. pages 217-220
(2) "Simplified control of FFT hardware", IEEE Trans. Acoust. Speech Signal Process, páginas 577-579, 1976 (2) "Simplified control of FFT hardware", IEEE Trans. Acoust Speech Signal Process, pages 577-579, 1976
(3) "Efficient FFT implementation using digit-serial arithmetic", IEEE Workshop on Signal Processing Systems, páginas 645-653, 1999
(4) "Hardware efficient control oí rnemory addressing for high performance FFT processors", IEEE Trans. Signel Process, páginas 917-921, 2000 (3) "Efficient FFT implementation using digit-serial arithmetic", IEEE Workshop on Signal Processing Systems, pages 645-653, 1999 (4) "Hardware efficient control o rnemory addressing for high performance FFT processors", IEEE Trans. Signel Process, pages 917-921, 2000
(5) "Scherm for reducing size of coefficient rnemory in FFT processor", Electronics Letters, páginas 907-911, 14 Febrero 2002 (5) "Scherm for reducing size of coefficient rnemory in FFT processor", Electronics Letters, pages 907-911, February 14, 2002
(6) "Scheme for Reducmg the Storage Requirements of FFT Twtddle Factors on FPGAs", Journal of VLSI Signal Processing, páginas 183-187, 2006 (6) "Scheme for Reducmg the Storage Requirements of FFT Twtddle Factors on FPGAs", Journal of VLSI Signal Processing, pages 183-187, 2006
(7) IEEE 1901, "IEEE Standard for Broadband over Power Une Networks: Médium Access Control and Physical Layer Specifícations", IEEE Communications Society, 2010. (7) IEEE 1901, "IEEE Standard for Broadband over Power Une Networks: Medium Access Control and Physical Layer Specifications", IEEE Communications Society, 2010.
(8) "Digital Video Broadcasting (DVB); Frame structure channel coding and modulation for a second generation digital terrestrial televisión broadcasting system (DVB-T2) " Ref. REN/JTC DVB-308, ETSI EN 302 755 v1 3. 1, 2012. (8) "Digital Video Broadcasting (DVB); Frame structure channel coding and modulation for a second generation digital terrestrial television broadcasting system (DVB-T2)" Ref. REN / JTC DVB-308, ETSI EN 302 755 v1 3. 1, 2012
(9) Siantón, R H., "PhotonCounting - One More Time", The Society for Astronomical Scimces, 31st Annual Symposium on Telescope Science, May 22-24, 2Ό12, Big Bear Lake, CA. Society for Astronomical Sciences, 2012, pp. 177-184. (9) Siantón, R H., "PhotonCounting - One More Time", The Society for Astronomical Scimces, 31st Annual Symposium on Telescope Science, May 22-24, 2Ό12, Big Bear Lake, CA. Society for Astronomical Sciences, 2012, pp. 177-184.
(10) Nakahara, H., Nakanishi, H., Sasao, T, "On a Wideband Fast Fourier Trasform for a Radio Telescope", ACM SIGARCH Computer Architecture News, Vol. 40, No. 5, pp. 46-51, December 2012. (10) Nakahara, H., Nakanishi, H., Sasao, T, "On a Wideband Fast Fourier Trasform for a Radio Telescope", ACM SIGARCH Computer Architecture News, Vol. 40, No. 5, pp. 46-51, December 2012.
Descripción de las figuras Description of the figures
Figura 1 .- Se ilustra un subcircuito que calcula los senos y cosenos de los múltiplos de
en el intervalo
es decir, las potencias del complejo
El subcircuito está estructurado en dos fases y comprende cuatro memorias pequeñas
denominadas Cada memoria de índice K mantiene
Figure 1 .- A subcircuit is calculated that calculates the sines and cosines of the multiples of in the interval that is, the powers of the complex The subcircuit is structured in two phases and comprises four small memories denominated Each K index memory maintains
los coeficientes (pares seno/coseno) de los ángulos múltiplos de
posee sólo dos líneas de dirección (q = 2) y las otras tres memorias (r = 3) tienen una línea más. En total estas ROM suman solamente 28 posiciones de memoria. Sea d la entrada del subcircuito (de 11 bits), este calcula el complejo
siendo n el número codificado en d Los bits de d se reparten entre las líneas de dirección de las memorias de forma que cada una de ellas proporciona el par seno/coseno de un subángulo
siendo
Ε\ complejo
se obtiene multiplicando las salidas de las memorias usando dos niveles de multiplicadores complejos (2) de forma que el retraso total del subcircuito es de dos multiplicadores complejos. the coefficients (sine / cosine pairs) of the multiple angles of It has only two address lines (q = 2) and the other three memories (r = 3) have one more line. In total, these ROMs only add up to 28 memory locations. Let d be the subcircuit input (11 bits), this calculates the complex where n is the number coded in d The bits of d are distributed between the address lines of the memories so that each of them provides the sine / cosine pair of a sub-angle being Ε \ complex It is obtained by multiplying the outputs of the memories using two levels of complex multipliers (2) so that the total delay of the subcircuit is two complex multipliers.
Figura 2 - Se ilustra un circuito que calcula los coeficientes de twiddle de la transformada de Fourier para muestras de longitud
siguiendo el esquema de T.
Sansaloni. En e! caso del ejemplo El índice del coeficiente a calcular se codifica en la entrada
El circuito comprende un subcircuitc como el ilustrado en la figura 2 (3). Un multfplexor (4a) y un sumador (5) se emplean para que el subcircuito que devuelve los senos y cosenos reciba como entrada
cuando
o su complemento a dos cuando
Una puerta lógica (6a) comprueba si el bit
vale 1 y el resto de bits menos significativos de 8 valen 0, en cuyo caso la magnitud devuelta para el seno y el coseno es gracias a un par de muitiplexores (4b). En
Figure 2 - A circuit is calculated that calculates the Twiddle coefficients of the Fourier transform for length samples following the scheme of T. Sansaloni Jan! example case The index of the coefficient to calculate is encoded in the input The circuit comprises a subcircuit as illustrated in Figure 2 (3). A multfplexor (4a) and an adder (5) are used so that the subcircuit that returns the sines and cosines receives as input when or its complement to two when A logic gate (6a) checks if the bit it is worth 1 and the rest of the less significant bits of 8 are worth 0, in which case the magnitude returned for the sine and cosine is thanks to a pair of muitiplexers (4b). In
la última etapa otra puerta lógica (6b) calcula la operación lógica EXOR dethe last stage another logic gate (6b) calculates the logical operation EXOR of
Si el valor de la operación lógica EXOR es 0 un par de muitiplexores (4c) harán la magnitud de la parte imaginaria y de la parte real igual a la del seno y el coseno calculada por el subciretiito (3) respectivamente. En caso conífario las magnitudes imaginaria y real serán las del coseno y el seno respectivamente. El signo de la parte real y la imaginaria se calculan fácilmente con puertas lógicas simples (6e) en función deIf the value of the EXOR logic operation is 0 a pair of muitiplexers (4c) will make the magnitude of the imaginary part and the real part equal to that of the sine and the cosine calculated by the subciretiite (3) respectively. In the coniferous case, the imaginary and real magnitudes will be those of the cosine and sine respectively. The sign of the real and the imaginary part are easily calculated with simple logic gates (6e) based on
Descripción de la invención Description of the invention
La invención trata de un circuito electrónico digital que calcula los coeficientes de twiddle de la transformada de Fourier. Los coeficientes de twiddle son los pares seno/coseno de los ángulos múltiplos de
siendo L la longitud de la secuencia sobre la que se aplica la transformada Esto es, los coeficientes de twiddle son las potencias del complejo
Para llevarlo a cabo se ha ideado un subcircuito que calcula el complejo
es decir, el seno y el coseno de nΦ siendo Φ un ángulo constante y n un número codificado en base 2 que se suministra como entrada. Hay que hacer notar que el subcircuito puede emplearse para cálculo trigonométrico en general y no: solo para el cálculo de los coeficientes de twiddle. El subcircuito consta de los siguientes componentes: The invention relates to a digital electronic circuit that calculates the twiddle coefficients of the Fourier transform. Twiddle coefficients are the sine / cosine pairs of the multiple angles of where L is the length of the sequence on which the transform is applied That is, the twiddle coefficients are the powers of the complex To carry it out, a subcircuit has been devised that calculates the complex that is, the sine and cosine of nΦ being Φ a constant angle and n a coded number in base 2 that is supplied as input. It should be noted that the subcircuit can be used for trigonometric calculation in general and not: only for the calculation of twiddle coefficients. The subcircuit consists of the following components:
• memorias semiconductoras (normalmente de tipo ROM) • semiconductor memories (usually ROM type)
■ multiplicadores compiejos ■ multiplier complexes
• lineas que los interconectan en forma de árbol • lines that interconnect them in the form of a tree
Sea b la entrada del subcircuito y E el número de bits de h, pueden codificarse N = 2E ángulos distintos. El subcircuito se estructura en un número F de fases siendo F no mayor que el logaritmo en base 2 de E. En total el subcircuito comprende d = 2F memorias de acceso directo que denominaremos
Sea q el cociente de dividir E entre d y sea r eí resto, de entre las d memorias r tendrán q + 1 lineas de dirección. El resto tendrá sólo q lineas de dirección. Sea lineas(Mk) el número de lineas de dirección de cada memoria k, se tiene
Let b be the subcircuit input and E the number of bits of h, N = 2 E different angles can be encoded. The subcircuit is structured in a number F of phases being F not greater than the logarithm in base 2 of E. In total the subcircuit comprises d = 2 F direct access memories that we will call Let q be the ratio of dividing E by d and let r be the rest, from among the memories r will have q + 1 address lines. The rest will only have address lines. Let lines (M k ) be the number of address lines of each memory k, you have
Cada posición de memoria p de la memoria Mm contendrá el seno y el coseno del ángulo
Each memory position p of the memory M m will contain the sine and cosine of the angle
Dicno de otra forma, dicha posición de memoria contendrá el cesfriplejo definido por
In other words, said memory position will contain the multiplex defined by
Sea
la entrada del subeireuito que codifica el número n, para obtener el seno y el coseno de ηΦ, es decir, el complejo
se divide h en d subcadenas de longitudesBe the sub-circuit entry encoding the number n, to obtain the sine and cosine of ηΦ, that is, the complex h is divided into d length chains
Nótese que Notice that
donde nk denota el número representado por la sübcadenaSk. Por tanto tenemos que siendo cada ángulo αk definido porwhere n k denotes the number represented by the sübcadenaS k . Therefore we have to be each angle α k defined by
De modo que el valor buscado puede calcularse mediante el producto
So the desired value can be calculated using the product
Las líneas de dirección de cada memoria Mm se conectan a la subentrada Sm de forma que su salida proporciona el complejo
El valor es calculado por los
The address lines of each memory M m are connected to the subentry S m so that its output provides the complex The value is calculated by the
multiplicadores a partir de las salidas de las memorias. Los multiplicadores se disponen en paralelo de forma que cada fase introduce un retraso igual al de un multiplicador complejo. En el caso de tomar para F el valor de la parte entera por defecto de
como máximo se tendrían E memorias de no más de dos líneas de dirección, con lo que el número de posiciones de memoria totales estará acotado superiormente por
Esta cota crece logarítmicamente con el número de ángulos N. multipliers from the outputs of the memories. The multipliers are arranged in parallel so that each phase introduces a delay equal to that of a complex multiplier. In the case of taking for F the value of the whole part by default of At most, E memories of no more than two address lines would be available, so that the number of total memory locations will be bounded above by This dimension grows logarithmically with the number of angles N.
El subcircuito presentado puede emplearse para calcular directamente los coeficientes de twiddie de una transformada de longitud l. tomando
El número de bits de la entrada E seria la parte entera por exceso de log2(L) de modo que
Si se toma como número de fases F el valor de la parte entera por defecto de
se tendrían no más de F memorias de no más de dos lineas de dirección, con lo que el número de posiciones de memoria totales estará acotado superiormente por
Aunque esto por sí solo permite ahorrar gran cantidad de recursos
The presented subcircuit can be used to directly calculate the twiddie coefficients of a transform of length l. taking The number of bits of input E would be the integer part in excess of log 2 (L) so that If the number of the default integer part of F is taken as the number of phases F no more than F memories of no more than two address lines would be had, so that the number of total memory locations will be bounded above by Although this alone saves a lot of resources.
respecto al estado de la técnica, si L es potencia de 2 se puede emplear un circuito aún más optimizado. El circuito optimizado está compuesto por los siguientes elementos: with respect to the state of the art, if L is power of 2 an even more optimized circuit can be used. The optimized circuit is composed of the following elements:
· Un subcircuito como el descrito en el apartada anterior · A subcircuit as described in the previous section
• Cinco mu!tiplexeres 2: 1 • Five mu! Tiplexers 2: 1
• Un sumador • An adder
• Un conjunto de puertas lógicas • A set of logical doors
Este circuito emplea un esquema similar al presentado por T. Sansaloni de forma que ios casos en ios que el múltiplo de Φ corresponde a los ángulos
This circuit uses a scheme similar to that presented by T. Sansaloni so that the cases in which the multiple of Φ corresponds to the angles
se detectan con una simple puerta lógica y se tratan de forma separada La puerta se limita a comprobar si el bit vale 1 y el resto de bits menos significativos de β valen
They are detected with a simple logic gate and are treated separately. The gate is limited to checking whether the bit is worth 1 and the other less significant bits of β are worth
0, en cuyo caso la magnitud devuelta para el seno (parte imaginaria) y el coseno (parte real) es
gradas a un par de multiplexores. A diferencia del esquema de T. Sansaloni, este circuito no usa una ROM para obtener los senos y cosenos de los múltiplos de
en el intervalo En lugar de eso se emplea un subcircuito
0, in which case the magnitude returned for the sine (imaginary part) and the cosine (real part) is Bleachers to a pair of multiplexers. Unlike the T. Sansaloni scheme, this circuit does not use a ROM to obtain the sines and cosines of the multiples of in the interval A subcircuit is used instead
como el descrito anteriormente para calcular los pares seno/coseno de los múltiplos de
en el intervalo Esto hace posible reducir enormemente la memoria
as described above to calculate the sine / cosine pairs of the multiples of in the interval this makes it possible to greatly reduce memory
necesaria para implementar el sistema Además, al ser positivos los senos y cosenos de todas las ángulos en eí intervalo
los multiplicadores complejos pueden implementarse usando multiplicadores de magnitud sin signo. Sea la longitud de la transformada
la entrada deí circuito optimizado que codifica el índice del coeficiente de twiddle a calcular, cuando
la entrada al subcircuito que devuelve los senos y cosenos se hace igual a la subcadena
En caso contrario se hace igual al complemento a dos de dicha subcadena. Para ello se emplean un muitiplexer y un sumador. Una puerta lógica comprueba si el bit
vale 1 y el resto de bits menos significativos de B valen 0, en cuyo caso ia magnitud devuelta para el seno y eí coseno es
gracias a un par de multiplexores conectados a ia saiida del subcircuito. En la última etapa una pueiá calcula la operación lógica EXOR de Si vale 0 un par de multiplexores harán la magnitud de la parte imaginaria
necessary to implement the system In addition, since the breasts and cosines of all angles are positive in the interval complex multipliers can be implemented using unsigned magnitude multipliers. Be the length of the transform the input of the optimized circuit that encodes the index of the twiddle coefficient to calculate, when the input to the subcircuit that returns the sines and cosines becomes the same as the substring Otherwise, the complement to two of said substring is equal. For this a muitiplexer and an adder are used. A logic gate checks if the bit it is worth 1 and the rest of the least significant bits of B are worth 0, in which case the magnitude returned for the sine and the cosine is thanks to a pair of multiplexers connected to the saiida of the subcircuit. In the last stage a can calculate the logical operation EXOR of If 0 a pair of multiplexers will make the magnitude of the imaginary part
y de la parte real iguai a ia del seno y el coseno calculada pdr el subsireuito respectivamente. En caso contrario las magnitudes imaginaria y real serán las del coseno y el seno respectivamente El signo de la parte real y ia imaginaría se calcula con puertas lógicas simples en función de
Modo de realización de la invención and of the real part equal to the sine and the cosine calculated by the subsireuito respectively. Otherwise the imaginary and real magnitudes will be those of the cosine and the sine respectively. The sign of the real part and the imaginary part is calculated with simple logic gates based on Embodiment of the invention
A modo de ejemplo se ha realizado solare FPGA (Field Programable Gate Array) un circuito que calcu!a los coeficientes de twiddle de la transformada de Fourier para secuencias de longitud
Esto requiere conocer los senos y cosenos de ios múltiplos enteros del ángulo
En el esquema presentado por T. Sansaloni se mantendrían almacenados en una memoria ROM los coeficientes correspondientes a los ángulos en el intervalo
(una octava parte de circunferencia, esto es,
La ROM tendría 11 líneas de dirección (E = 11) y 2048 posiciones de memoria. En lugar de dicha ROM se ha empleado el subcircuito de la figura 1 que calcula los senos (parte imaginaria) y cosenos (parte real) de los múltiplos de
en el intervalo
usando tan solo un total de 28 posiciones de memoria. Dicho subcircuito se emplea en el circuito de ia figura 2 para el cálculo de los coeficientes de twiddle.
As an example, FPGA (Field Programmable Gate Array) has been made a circuit that calculates the Twiddle coefficients of the Fourier transform for sequences of length This requires knowing the sines and cosines of the integer multiples of the angle In the scheme presented by T. Sansaloni the coefficients corresponding to the angles in the interval would be stored in a ROM (one eighth of a circle, that is, The ROM would have 11 address lines (E = 11) and 2048 memory locations. Instead of this ROM, the subcircuit of Figure 1 has been used, which calculates the breasts (imaginary part) and cosines (real part) of the multiples of in the interval using only a total of 28 memory locations. Said subcircuit is used in the circuit of Figure 2 for the calculation of the twiddle coefficients.
Claims
1. Subcircuito que calcula el complejo es decir, el seno y el coseno de ηΦ siendo Φ un ángulo constante y n un número codificado en base 2 que se suministra como entrada caracterizado porque el subcircuito consta de los siguientes componentes: 1. Subcircuit that calculates the complex, that is, the sine and cosine of ηΦ being constante a constant angle and n a coded number in base 2 that is supplied as input characterized in that the subcircuit consists of the following components:
• memorias semiconductoras {normalmente de tipo ROM) • semiconductor memories {usually ROM type)
• multiplicadores complejos • complex multipliers
• lineas que los ínterconectan en forma de árbol • lines that interconnect them in the form of a tree
Sea b la entrada del subcircuito y E el número de bits de b, pueden codificarse a ángulos distintos El subcircuito se estructura en un numero F de fases siendo F no mayor que el logaritmo en base 2 de E. En total el subcircuito comprende
memorias de acceso directo que denominaremos
Let b be the input of the subcircuit and E the number of bits of b, they can be encoded at different angles. The subcircuit is structured in a number F of phases being F not greater than the logarithm in base 2 of E. In total the subcircuit comprises shortcut memories that we will call
Μd - 1. Sea q el cociente de dividir B entre d y sea r el resto, de entre las d memorias r tendrán q + 1 lineas de dirección. El resto tendrá sólo q lineas de dirección. Sea líneas(Mk) el número de lineas de dirección de cada memoria k, se tiene
Μ d - 1 . Let q be the quotient of dividing B by d and let r be the rest, among the d memories r will have q + 1 address lines. The rest will only have address lines. Let lines (M k ) be the number of address lines of each memory k, you have
Cada posición de memoria p de la memoria Mm contendrá el seno y el coseno del ángulo
Each memory position p of the memory M m will contain the sine and cosine of the angle
Dicho de otra forma, dicha posición de memoria contendrá el complejo definido por
In other words, said memory location will contain the complex defined by
Sea la entrada del subcircuito que codifica el número n,
Let the subcircuit input encoding the number n,
para obtener el seno y el coseno de nΦ, es decir, el complejo
se divide b en dsubcaderissS de longitudesto obtain the sine and cosine of nΦ, that is, the complex b is divided into dsubcaderissS of lengths
donde m denota el número representado por la subcadena Sk. Por tanto tenemos que
siendo cada ángulo αk definido por
El valor buscado se calcula mediante el producto
Las líneas de dirección de cada memoria Mm se conectan a la subentrada
Su salida proporciona el complejo
El valor
es calculado por los multiplicadores a partir de las salidas de las memerias Los multiplicadores se disponen en paralelo para optimizar ia velocidad. where m denotes the number represented by substring S k . Therefore we have to each angle α k being defined by The searched value is calculated by the product The address lines of each memory M m are connected to the subentry Your exit provides the complex The value It is calculated by the multipliers from the outputs of the memerias. The multipliers are arranged in parallel to optimize the speed.
2. Un circuito para el cálculo de los coeficientes de twiddle de una transformada de Fourler de longitud L que emplea un subcircuito como el descrito en la reivindicación anterior para calcular los pares seno/coseno de los múltiplos de en el intervalo Sea la longitud de la transformada y sea
2. A circuit for the calculation of the twiddle coefficients of a Fourler transform of length L using a subcircuit as described in the preceding claim to calculate the sine / cosine pairs of the multiples of in the interval Let be the length of the transformed and be
la entrada que codifica el Indice de! coeficiente de twiddle a
the entry that encodes the Index of! twiddle coefficient a
calcular, caracterizado porque cuando
la entrada al subcircuito que devuelve los senos y cosenos se hace igual a la su bcadena
En caso contrario se hace igual al complemento a dos de dicha subcadena. Pata ello se emplean un multipiexor y un sumador. Una puerta lógica comprueba si el bit
vale 1 y el resto de bits menos significativos de B valen 0, en cuyo caso la magnitud devuelta para el seno y el coseno es
gracias a un par de multipiexores conectados a la salida del subeifcuito. En la última etapa una puerta calcula la operación lógica EXOR de Si vale 0 un par de
calculate, characterized in that when the input to the subcircuit that returns the breasts and cosines becomes the same as your chain Otherwise, the complement to two of said substring is equal. For this, a multipiexor and an adder are used. A logic gate checks if the bit it is worth 1 and the rest of the least significant bits of B are worth 0, in which case the magnitude returned for the sine and cosine is thanks to a pair of multipiexores connected to the output of the sub-circuit. In the last stage a door calculates the logical operation EXOR of If a pair of 0 is worth
multiplexores harán la magnitud de la parte imaginaria y de la parte real igual a la del seno y el coseno calculada por el subcircuito respectivamente. En caso contrario las magnitudes imaginaria y real serán las del coseno y el seno respectivamente. El signo de la parte imaginaria se calcula con un inversor cuya entrada se conecta a
mientras que el de la parte real se calcula con una puerta lógica EXOR cuyas entradas se conectan amultiplexers will make the magnitude of the imaginary part and the real part equal to that of the sine and the cosine calculated by the subcircuit respectively. Otherwise the imaginary and real magnitudes will be those of the cosine and the sine respectively. The sign of the imaginary part is calculated with an inverter whose input is connected to while that of the real part is calculated with an EXOR logic gate whose inputs are connected to
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ESP201600865 | 2016-10-10 | ||
ES201600865A ES2663168B2 (en) | 2016-10-10 | 2016-10-10 | Digital electronic circuit for the calculation of sines and cosines of multiples of an angle |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018104566A1 true WO2018104566A1 (en) | 2018-06-14 |
Family
ID=61835292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/ES2017/000123 WO2018104566A1 (en) | 2016-10-10 | 2017-10-05 | Digital electronic circuit for calculating sines and cosines of multiples of an angle |
Country Status (2)
Country | Link |
---|---|
ES (1) | ES2663168B2 (en) |
WO (1) | WO2018104566A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2762747A1 (en) * | 2018-11-22 | 2020-05-25 | Univ Sevilla | ELECTRONIC DEVICE CALCULATOR OF TRIGONOMETRIC FUNCTIONS (Machine-translation by Google Translate, not legally binding) |
ES2762745A1 (en) * | 2018-11-22 | 2020-05-25 | Univ Sevilla | ELECTRONIC DEVICE CALCULATOR OF TRIGONOMETRIC FUNCTIONS AND USES OF THE SAME (Machine-translation by Google Translate, not legally binding) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273483A1 (en) * | 2004-06-04 | 2005-12-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Complex logarithmic ALU |
US7440987B1 (en) * | 2003-02-25 | 2008-10-21 | Qualcomm Incorporated | 16 bit quadrature direct digital frequency synthesizer using interpolative angle rotation |
US20140337401A1 (en) * | 2011-12-31 | 2014-11-13 | Institute Of Automation, Chinese Academy Of Sciences | Data access method and device for parallel fft computation |
-
2016
- 2016-10-10 ES ES201600865A patent/ES2663168B2/en active Active
-
2017
- 2017-10-05 WO PCT/ES2017/000123 patent/WO2018104566A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7440987B1 (en) * | 2003-02-25 | 2008-10-21 | Qualcomm Incorporated | 16 bit quadrature direct digital frequency synthesizer using interpolative angle rotation |
US20050273483A1 (en) * | 2004-06-04 | 2005-12-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Complex logarithmic ALU |
US20140337401A1 (en) * | 2011-12-31 | 2014-11-13 | Institute Of Automation, Chinese Academy Of Sciences | Data access method and device for parallel fft computation |
Non-Patent Citations (1)
Title |
---|
AHAD QURESHI ET AL.: "4k-point FFT algorithms based on optimized twiddle factor multiplication for FPGAs. Microelectronics and Electronics (PrimeAsia", 2010 ASIA PACIFIC CONFERENCE ON POSTGRADUATE RESEARCH IN , 20100922, 22 September 2010 (2010-09-22), Piscataway, NJ, USA, pages 225 - 228, XP031777629, ISBN: 978-1-4244-6735-8 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2762747A1 (en) * | 2018-11-22 | 2020-05-25 | Univ Sevilla | ELECTRONIC DEVICE CALCULATOR OF TRIGONOMETRIC FUNCTIONS (Machine-translation by Google Translate, not legally binding) |
ES2762745A1 (en) * | 2018-11-22 | 2020-05-25 | Univ Sevilla | ELECTRONIC DEVICE CALCULATOR OF TRIGONOMETRIC FUNCTIONS AND USES OF THE SAME (Machine-translation by Google Translate, not legally binding) |
Also Published As
Publication number | Publication date |
---|---|
ES2663168B2 (en) | 2018-08-16 |
ES2663168A1 (en) | 2018-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6081821A (en) | Pipelined, high-precision fast fourier transform processor | |
Ramírez et al. | Fast RNS FPL-based communications receiver design and implementation | |
Garrido et al. | Hardware architectures for the fast Fourier transform | |
Cılasun et al. | Crafft: High resolution fft accelerator in spintronic computational ram | |
Changela et al. | FPGA implementation of high-performance, resource-efficient Radix-16 CORDIC rotator based FFT algorithm | |
WO2018104566A1 (en) | Digital electronic circuit for calculating sines and cosines of multiples of an angle | |
Mookherjee et al. | A low power radix-2 FFT accelerator for FPGA | |
Chiper et al. | A New Systolic Array Algorithm and Architecture for the VLSI Implementation of IDST Based on a Pseudo-Band Correlation Structure. | |
Oh et al. | Area and power efficient pipeline FFT algorithm | |
Chaudhary et al. | Two‐stage logarithmic converter with reduced memory requirements | |
Langemeyer et al. | A FPGA architecture for real-time processing of variable-length FFTs | |
Anbarasan et al. | Design and implementation of low power FFT/IFFT processor for wireless communication | |
Zhang et al. | FPGA implementation of low-power and high-PSNR DCT/IDCT architecture based on adaptive recoding CORDIC | |
Nguyen et al. | A parallel pipeline CORDIC based on adaptive angle selection | |
Garg et al. | Hardware design of high speed 1-D DCT module using approximate floating point adder | |
Vo-Thi et al. | A floating-point FFT Twiddle factor implementation based on adaptive angle recoding CORDIC | |
Manjunatha | FPGA based efficient n-point FFT architecture using CORDIC for advanced OFDM | |
Dawwd et al. | Reduced Area and Low Power Implementation of FFT/IFFT Processor. | |
Sung et al. | Low-power and high-SFDR direct digital frequency synthesizer based on hybrid CORDIC algorithm | |
Arnold et al. | Fast fourier transforms using the complex logarithmic number system | |
Lakkadi et al. | Radix-4 modular pipeline fast Fourier transform algorithm | |
Su et al. | Low cost VLSI design of a flexible FFT processor | |
ES2762745B2 (en) | ELECTRONIC DEVICE CALCULATING TRIGONOMETRIC FUNCTIONS AND USES OF THE SAME | |
Shi et al. | The design and implementation of reconfigurable multiplier with high flexibility | |
Yi et al. | Small FPGA implementations for solving systems of linear equations in finite fields |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17879469 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17879469 Country of ref document: EP Kind code of ref document: A1 |