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 PDF

Info

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
Application number
PCT/ES2017/000123
Other languages
Spanish (es)
French (fr)
Inventor
David GUERRERO MARTOS
Julián VIEJO CORTÉS
Paulino RUIZ DE CLAVIJO VÁZQUEZ
Jorge JUAN CHICO
Manuel Jesús BELLIDO DÍAZ
Alejandro MILLÁN CALDERÓN
Enrique OSTUA ARANGÜENA
José Ignacio VILLAR DE OSSORNO
Juan QUIRÓS CARMONA
Alejandro Munoz Rivera
Original Assignee
Universidad De Sevilla
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universidad De Sevilla filed Critical Universidad De Sevilla
Publication of WO2018104566A1 publication Critical patent/WO2018104566A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast 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
Figure imgf000004_0001
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
Figure imgf000004_0001
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
Figure imgf000004_0002
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
Figure imgf000004_0002
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).
Figure imgf000004_0003
Figure imgf000004_0003
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
Figure imgf000005_0001
en el intervalo
Figure imgf000005_0002
es decir, las potencias del complejo
Figure imgf000005_0003
El subcircuito está estructurado en dos fases y comprende cuatro memorias pequeñas
Figure imgf000005_0004
denominadas Cada memoria de índice K mantiene
Figure imgf000005_0005
Figure 1 .- A subcircuit is calculated that calculates the sines and cosines of the multiples of
Figure imgf000005_0001
in the interval
Figure imgf000005_0002
that is, the powers of the complex
Figure imgf000005_0003
The subcircuit is structured in two phases and comprises four small memories
Figure imgf000005_0004
denominated Each K index memory maintains
Figure imgf000005_0005
los coeficientes (pares seno/coseno) de los ángulos múltiplos de
Figure imgf000005_0006
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
Figure imgf000005_0007
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
Figure imgf000005_0011
siendo
Figure imgf000005_0009
Ε\ complejo
Figure imgf000005_0008
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
Figure imgf000005_0006
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
Figure imgf000005_0007
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
Figure imgf000005_0011
being
Figure imgf000005_0009
Ε \ complex
Figure imgf000005_0008
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
Figure imgf000005_0010
siguiendo el esquema de T. Sansaloni. En e! caso del ejemplo El índice del coeficiente a calcular se codifica en la entrada
Figure imgf000006_0001
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
Figure imgf000006_0002
cuando
Figure imgf000006_0003
o su complemento a dos cuando
Figure imgf000006_0004
Una puerta lógica (6a) comprueba si el bit
Figure imgf000006_0012
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 imgf000006_0005
Figure 2 - A circuit is calculated that calculates the Twiddle coefficients of the Fourier transform for length samples
Figure imgf000005_0010
following the scheme of T. Sansaloni Jan! example case The index of the coefficient to calculate is encoded in the input
Figure imgf000006_0001
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
Figure imgf000006_0002
when
Figure imgf000006_0003
or its complement to two when
Figure imgf000006_0004
A logic gate (6a) checks if the bit
Figure imgf000006_0012
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
Figure imgf000006_0005
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
Figure imgf000006_0006
Figure imgf000006_0006
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
Figure imgf000006_0007
Figure imgf000006_0007
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
Figure imgf000006_0011
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
Figure imgf000006_0008
Para llevarlo a cabo se ha ideado un subcircuito que calcula el complejo
Figure imgf000006_0009
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
Figure imgf000006_0011
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
Figure imgf000006_0008
To carry it out, a subcircuit has been devised that calculates the complex
Figure imgf000006_0009
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
Figure imgf000006_0010
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
Figure imgf000007_0001
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
Figure imgf000006_0010
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
Figure imgf000007_0001
Cada posición de memoria p de la memoria Mm contendrá el seno y el coseno del ángulo
Figure imgf000007_0002
Each memory position p of the memory M m will contain the sine and cosine of the angle
Figure imgf000007_0002
Dicno de otra forma, dicha posición de memoria contendrá el cesfriplejo definido por
Figure imgf000007_0003
In other words, said memory position will contain the multiplex defined by
Figure imgf000007_0003
Sea
Figure imgf000007_0017
la entrada del subeireuito que codifica el número n, para obtener el seno y el coseno de ηΦ, es decir, el complejo
Figure imgf000007_0006
se divide h en d subcadenas de longitudes
Be
Figure imgf000007_0017
the sub-circuit entry encoding the number n, to obtain the sine and cosine of ηΦ, that is, the complex
Figure imgf000007_0006
h is divided into d length chains
Figure imgf000007_0004
Figure imgf000007_0007
Figure imgf000007_0004
Figure imgf000007_0007
Nótese que Notice that
Figure imgf000007_0005
Figure imgf000007_0005
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
Figure imgf000007_0010
Figure imgf000007_0008
Figure imgf000007_0010
Figure imgf000007_0008
De modo que el valor buscado puede calcularse mediante el producto
Figure imgf000007_0009
So the desired value can be calculated using the product
Figure imgf000007_0009
Las líneas de dirección de cada memoria Mm se conectan a la subentrada Sm de forma que su salida proporciona el complejo
Figure imgf000007_0014
El valor es calculado por los
Figure imgf000007_0011
The address lines of each memory M m are connected to the subentry S m so that its output provides the complex
Figure imgf000007_0014
The value is calculated by the
Figure imgf000007_0011
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
Figure imgf000007_0013
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
Figure imgf000007_0012
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
Figure imgf000007_0013
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
Figure imgf000007_0012
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
Figure imgf000007_0015
El número de bits de la entrada E seria la parte entera por exceso de log2(L) de modo que
Figure imgf000007_0016
Si se toma como número de fases F el valor de la parte entera por defecto de
Figure imgf000007_0018
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
Figure imgf000008_0001
The presented subcircuit can be used to directly calculate the twiddie coefficients of a transform of length l. taking
Figure imgf000007_0015
The number of bits of input E would be the integer part in excess of log 2 (L) so that
Figure imgf000007_0016
If the number of the default integer part of F is taken as the number of phases F
Figure imgf000007_0018
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.
Figure imgf000008_0001
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
Figure imgf000008_0006
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
Figure imgf000008_0006
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
Figure imgf000008_0003
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
Figure imgf000008_0003
0, en cuyo caso la magnitud devuelta para el seno (parte imaginaria) y el coseno (parte real) es
Figure imgf000008_0002
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
Figure imgf000008_0004
en el intervalo En lugar de eso se emplea un subcircuito
Figure imgf000008_0005
0, in which case the magnitude returned for the sine (imaginary part) and the cosine (real part) is
Figure imgf000008_0002
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
Figure imgf000008_0004
in the interval A subcircuit is used instead
Figure imgf000008_0005
como el descrito anteriormente para calcular los pares seno/coseno de los múltiplos de
Figure imgf000008_0008
en el intervalo Esto hace posible reducir enormemente la memoria
Figure imgf000008_0007
as described above to calculate the sine / cosine pairs of the multiples of
Figure imgf000008_0008
in the interval this makes it possible to greatly reduce memory
Figure imgf000008_0007
necesaria para implementar el sistema Además, al ser positivos los senos y cosenos de todas las ángulos en eí intervalo
Figure imgf000008_0009
los multiplicadores complejos pueden implementarse usando multiplicadores de magnitud sin signo. Sea la longitud de la transformada
Figure imgf000008_0010
la entrada deí circuito optimizado que codifica el índice del coeficiente de twiddle a calcular, cuando
Figure imgf000008_0011
la entrada al subcircuito que devuelve los senos y cosenos se hace igual a la subcadena
Figure imgf000008_0012
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
Figure imgf000008_0013
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
Figure imgf000008_0014
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
Figure imgf000008_0016
necessary to implement the system In addition, since the breasts and cosines of all angles are positive in the interval
Figure imgf000008_0009
complex multipliers can be implemented using unsigned magnitude multipliers. Be the length of the transform
Figure imgf000008_0010
the input of the optimized circuit that encodes the index of the twiddle coefficient to calculate, when
Figure imgf000008_0011
the input to the subcircuit that returns the sines and cosines becomes the same as the substring
Figure imgf000008_0012
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
Figure imgf000008_0013
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
Figure imgf000008_0014
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
Figure imgf000008_0016
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
Figure imgf000008_0015
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
Figure imgf000008_0015
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
Figure imgf000009_0001
Esto requiere conocer los senos y cosenos de ios múltiplos enteros del ángulo
Figure imgf000009_0002
En el esquema presentado por T. Sansaloni se mantendrían almacenados en una memoria ROM los coeficientes correspondientes a los ángulos en el intervalo
Figure imgf000009_0003
(una octava parte de circunferencia, esto es,
Figure imgf000009_0004
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
Figure imgf000009_0005
en el intervalo
Figure imgf000009_0006
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
Figure imgf000009_0001
This requires knowing the sines and cosines of the integer multiples of the angle
Figure imgf000009_0002
In the scheme presented by T. Sansaloni the coefficients corresponding to the angles in the interval would be stored in a ROM
Figure imgf000009_0003
(one eighth of a circle, that is,
Figure imgf000009_0004
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
Figure imgf000009_0005
in the interval
Figure imgf000009_0006
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

Reivindicaciones 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
Figure imgf000010_0011
memorias de acceso directo que denominaremos
Figure imgf000010_0012
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
Figure imgf000010_0011
shortcut memories that we will call
Figure imgf000010_0012
Μ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
Figure imgf000010_0001
Μ 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
Figure imgf000010_0001
Cada posición de memoria p de la memoria Mm contendrá el seno y el coseno del ángulo
Figure imgf000010_0002
Each memory position p of the memory M m will contain the sine and cosine of the angle
Figure imgf000010_0002
Dicho de otra forma, dicha posición de memoria contendrá el complejo definido por
Figure imgf000010_0003
In other words, said memory location will contain the complex defined by
Figure imgf000010_0003
Sea la entrada del subcircuito que codifica el número n,
Figure imgf000010_0013
Let the subcircuit input encoding the number n,
Figure imgf000010_0013
para obtener el seno y el coseno de nΦ, es decir, el complejo
Figure imgf000010_0007
se divide b en dsubcaderissS de longitudes
to obtain the sine and cosine of nΦ, that is, the complex
Figure imgf000010_0007
b is divided into dsubcaderissS of lengths
Figure imgf000010_0006
Figure imgf000010_0008
Figure imgf000010_0006
Figure imgf000010_0008
Figure imgf000010_0009
Nótese que
Figure imgf000010_0009
Notice that
Figure imgf000010_0005
Figure imgf000010_0005
donde m denota el número representado por la subcadena Sk. Por tanto tenemos que
Figure imgf000010_0010
siendo cada ángulo αk definido por
Figure imgf000010_0004
El valor buscado se calcula mediante el producto
Figure imgf000011_0001
Las líneas de dirección de cada memoria Mm se conectan a la subentrada
Figure imgf000011_0002
Su salida proporciona el complejo
Figure imgf000011_0003
El valor
Figure imgf000011_0004
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
Figure imgf000010_0010
each angle α k being defined by
Figure imgf000010_0004
The searched value is calculated by the product
Figure imgf000011_0001
The address lines of each memory M m are connected to the subentry
Figure imgf000011_0002
Your exit provides the complex
Figure imgf000011_0003
The value
Figure imgf000011_0004
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
Figure imgf000011_0006
Figure imgf000011_0007
Figure imgf000011_0005
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
Figure imgf000011_0006
Figure imgf000011_0007
Figure imgf000011_0005
la entrada que codifica el Indice de! coeficiente de twiddle a
Figure imgf000011_0008
the entry that encodes the Index of! twiddle coefficient a
Figure imgf000011_0008
calcular, caracterizado porque cuando
Figure imgf000011_0009
la entrada al subcircuito que devuelve los senos y cosenos se hace igual a la su bcadena
Figure imgf000011_0010
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
Figure imgf000011_0012
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
Figure imgf000011_0011
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
Figure imgf000011_0013
calculate, characterized in that when
Figure imgf000011_0009
the input to the subcircuit that returns the breasts and cosines becomes the same as your chain
Figure imgf000011_0010
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
Figure imgf000011_0012
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
Figure imgf000011_0011
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
Figure imgf000011_0013
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
Figure imgf000011_0015
mientras que el de la parte real se calcula con una puerta lógica EXOR cuyas entradas se conectan a
multiplexers 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
Figure imgf000011_0015
while that of the real part is calculated with an EXOR logic gate whose inputs are connected to
Figure imgf000011_0014
Figure imgf000011_0014
PCT/ES2017/000123 2016-10-10 2017-10-05 Digital electronic circuit for calculating sines and cosines of multiples of an angle WO2018104566A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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