GB2515793A - Signal processing apparatus - Google Patents

Signal processing apparatus Download PDF

Info

Publication number
GB2515793A
GB2515793A GB1311996.1A GB201311996A GB2515793A GB 2515793 A GB2515793 A GB 2515793A GB 201311996 A GB201311996 A GB 201311996A GB 2515793 A GB2515793 A GB 2515793A
Authority
GB
United Kingdom
Prior art keywords
processing apparatus
signal processing
complex
swap
unit
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
GB1311996.1A
Other versions
GB201311996D0 (en
Inventor
Timothy Roy Styles
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
APTCORE Ltd
Original Assignee
APTCORE Ltd
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 APTCORE Ltd filed Critical APTCORE Ltd
Priority to GB1311996.1A priority Critical patent/GB2515793A/en
Publication of GB201311996D0 publication Critical patent/GB201311996D0/en
Publication of GB2515793A publication Critical patent/GB2515793A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/4806Computations with complex numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/4806Computations with complex numbers
    • G06F7/4812Complex multiplication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Discrete Mathematics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

A signal processing apparatus 22 comprises: a complex arithmetic unit 24 configured to perform a complex arithmetic function on a complex value input and to output a result; and a swap unit 26, 28 configured to perform a swap operation to swap the real and imaginary components of a complex value input and to output a result, where the swap unit can be disabled or enabled in order to configure the apparatus to perform a first function (Figure 3) or a second function (Figure 4) respectively. The apparatus may be used for Fast Fourier Transform (FFT) calculations. The swap unit may comprise multiplexors.

Description

SIGNAL PROCESSING APPARATUS
Technical Field
The present invention relates to signal processing apparatus.
Background to the Invention
Digital Signal Processing is a key component in many of today's high technology products. such as digital communications equipment and sensor array processors. The performance required from Digital Signal Processors (DSPs) continues to increase while constraints on power and cost remain tight. These requirements are often met by the use of Single Instruction, Multiple Data (SIMD) processors, which process multiple data values in parallel.
DSP devices are typically required to perform matrix math operations, complex arithmetic operations and Fast Fourier Transform (FFT) calculations. These operations can be efficiently performed using a SEVID processor, with multiple processor units performing the same operation on different data values in parallel. The instruction stream and control logic are shared by the processor units resulting in an efficient system, but the data bandwidth remains proportional to the number of data values being processed. When the data values are processed with different constant values, such as FFT coefficients or t1ter coefficients, the bandwidth required to supply the constant values is also proportional to the number of data values being processed in parallel. It is therefore desirable to use the same constant value in multiple processor units, The ability to reuse the constant value also aids in reducing the storage requirement for the constant values.
DSP circuitry has been developed that multiplies a first constant complex value, C. by the negative imaginary unit, -i, to produce a second constant value C.(-i). This allows two pressor units to multiply two data values by different coefficients, C and C.(-i), based on a single constant value. C. However, the existing circuitry uses thgic that adds a significant delay, which reduces performance and increases power consumption.
Summary of Tnvention
According to a first aspect of the present invention there is provided signal processing apparatus comprising: a complex arithmetic unit configured to perform a complex arithmetic function on a complex value input to the complex arithmetic unit and to output a result of the complex arithmetic function; and a swap unit configured to perform a swap operation to swap real and imaginary components of a complex value input to the swap unit and to output a result of the swap operation. wherein: the swap unit can be disabled to configure the signal processing apparatus to perform a first function on a complex value input to the signal processing apparatus; and the swap unit can be enabled to configure the signal processing apparatus to perform a second function on a complex value input to the signal processing apparatus.
The signal processing apparatus of the present invention enables separate processor units in a SIMD device to share a common complex coefficient and multiply independent data values by different complex coefficients. Sharing a common complex coefficient reduces silicon area and therefore reduces the cost of the DSP component.
The swap unit may be configured to receive an input complex value and to output the result of the swap operation to the complex arithmetic unit.
Alternatively, the swap unit may be configured to receive as its input the result of the complex arithmetic function performed by the complex arithmetic unit.
The signal processing apparatus may include more than one swap unit.
The comp'ex arithmetic unit may be configured to perform a complex multipheation operation.
The signal processing apparatus may further comprise a controller arranged to issue control signals to enable or disable the swap unit.
The controller may be configured to issue control signals every instruction cycle of the apparatus, thereby permitting the function performed by the signal processing apparatus to change every instruction cycle.
The swap unit may comprise two multiplexors sharing the same inputs and control signal.
The signal processing apparatus may further comprise memory means for storing data words, connected to input and output data paths of the signal processing apparatus.
The signal processing apparatus may further comprise memory means for temporarily storing data words between arithmetic units of the complex arithmetic unit to form a pipeline.
The signal processing apparatus may further comprise memory means for temporarily storing control signals such that a delay is introduced in a control signal path of a swap unit to match a delay in a data path of that swap unit.
The memory means may be implemented as a register file or an addressable memoly.
The signal processing apparatus may be implemented as one of: a circuit; an integrated circuit; a field programmable gate array (FPGA); an application specific integrated circuit (AS IC); a processor; or a digital signal processor (DSP).
Brief Description of the Drawings
Embodiments of the invention will now be described, strictly by way of example only, with reference to the accompanying drawings, of which: Figure 1 is a schematic illustration of a design using processor units containing an embodiment of the present invention, as well as a memory. a register file and a controller; Figure 2 is a schematic illustration of an apparatus according to an embodiment of the present invention compnsing logic to multiply two complex values, circuitry to swap the real and imaginaiy components of the input complex values, and circuitry to swap the real and imaginary components of the output complex value; Figure 3 is a schematic illustration of the apparatus shown in Figure 2, showing arithmetic logic units which form the logic to multiply the two complex values, when the circuitry to swap the real and imaginary components is disabled; Figure 4 is a schematic illustration of the apparatus shown in Figure 2, showing arithmetic logic units which form the logic to multiply the two complex values, when the circuitry to swap the real and imaginary components is enabled; and Figure 5 is a schematic illustration of an apparatus according to an embodiment of the present invention comprising logic to multiply two complex values, and circuitry at the inputs and output, in which multiplexors are used to swap the real and imaginary components of the comp'ex values.
Description of the Embodiments
Referring first to Figure I. a design incorporating apparatus according to an embodiment of the present invention is shown generally at 10, and comprises first and second processor units i2, i4, each having a plurality of arithmetic units to perform complex multiplication, and circuitry to swap the real and imaginary components of complex values. The first and second processor units 12, 14 are associated with a controller 16, a memory 18 and a register file 20.
The first and second processor units 12, 14 are used to multiply two complex values.
Both of the processor units 12, 14 read the same complex constant value C from the memory 18. Each processor unit 12, 14 reads a separate complex data value from the register file 20. Thus, for example, the first processor unit 12 may read a first complex data value A from the memory 18, whilst the second processor unit 14 reads a second complex data value B from the memory 18. Each processor unit 12. 14 receives separate control signals from the controller 16.
When the control signals are in a first state each processor unit 12, 14 calculates and outputs the complex product of its own respective complex data value (A or B) and the common complex constant value C. Thus, when the control signals are in the first state, the first processor unit 12 calculates and outputs the complex product A.C, whilst the second processor unit 14 calculates and outputs the complex product B.C.
When the control signals are in a second state each processor unit 12, 14 calculates and outputs the complex product of its own respective complex data value (A or B), the common complex constant value C and the negative imaginary unit, -i. Thus, when the control signals are in the second state, the first processor unit 12 calculates and outputs the product -i.A.C, whilst the second processor unit 14 calculates and outputs the product -i,B.C. Each processor unit 12, 14 writes the result of its complex multiplication to the register file 20.
The circuitry of the processor units 12, 14 is initially arranged with appropriate interconnections to implement a first arithmetic function, for example a complex multiplication operation. The processor units 12. 14 receive control signals from the controller 16, which may be a microcode controller or any other suitable controller. The control signals issued by the controller 16 can cause the circuitry of each processor unit 12, 14 to independently swap the real and imaginary components of the complex input values and complex output value. This has the effect of altering the function of the processor unit 12, 14 such that the circuitiy is arranged to implement a second, different, arithmetic function, such as a complex muhiplication with a complex phase shift. In this way, the same complex constant value read from the memory 18 can be used to perform the complex multiplication of an input complex data value with two different complex constant values, thereby reducing the number of complex constant values that must be stored in memory 18, and reducing the number of read operations to read complex constant values from memory 18.
When it is desired to implement the first arithmetic function, the controller 16 provides control signals to disable the swap of the real and imaginary components of the complex values that were enabled to implement the second arithmetic function, thereby causing the circuitry of the processor units 12, 14 to be arranged to imp'ement the first arithmetic function.
It is also possible, where the real and imaginary components of complex values can be swapped independently in the processor units 12, 14, for the controller 16 to provide alternative control signals to swap the real and imaginary components of certain of the complex values to perform further different arithmetic functions.
The register file 20 is provided for storage of data words, and connects to the input and output data paths of the processor units 12, 14. For example, the register file 20 may be configured to supply two complex values from two complex registers to the two processor units 12, 14, and it may also be configured to store two complex values from two processor units to two additional complex registers. Values that are output and stored in the register file 20 may be used as inputs to processor units 12, 14 on subsequent cycles.
The processor units 12, 14 may include internal registers for temporary storage of data words between arithmetic units of the processor unit so as to form a pipeline. For example. an arithmetic unit that receives inputs from the register file 20 may store the resulting value in an internal register. On the next cycle another arithmetic unit of the processor unit may receive the value from the internal register and store the output to the register file 20.
The processor units 12, 14 may, additionally or alternatively, include internal registers for temporary storage of control signals so that a delay can be introduced into a control signal path of circuitry of the processor unit 12, 14 to match a delay in a data path of that circuitry of the processor unit I 2, 14.
Examples of circuitry implementing a processor unit of the type shown at 12 and 14 in Figure I, having a plurality of arithmetic units to perform complex multiplication, and circuitry to swap the real and imaginary components of complex values, will now be illustrated by reference to Figures 2 to 5.
Figure 2 is an exemplary signal processing apparatus that is initially configured to perform a complex multiply operation on two complex values, B and C. The complex multiply is a significant operation for most DSP algorithms, including the Fast Fourier Transform (FF1). It can be implemented using various arrangements of multipliers and other arithmetic components, The apparatus, shown generally at 22. comprises a network including a complex arithmetic unit 24, which in this example is configured as a complex multiplier. and three swap units 26, 28, 30 used to swap the real and imaginary components of complex signals according to the state of a control signaL A controller 16 is configured to provide control signals to the swap units to alter the arithmetic function of the network 22.
The network 22 of the complex arithmetic unit 24 and swap units 26, 28, 30 shown in Figure 2 is initially configured to perfoirn the complex multiplication of complex inputs B and C, and provide the product B.C at the complex output P. P=B.C (1) However, the network 22 can perform the complex multiplication of B, C and the complex negative imaginary unit, -i, to provide the product -i.B.C at the complex output, labelled Q for clarity in Figure 4, by use of control signals from the controller 16, which are used to enable the swap units 26, 28, 30.
Q = -i.B.C (2) The controller 16 maybe configured to issue control signals once per instruction cycle, which permits the arithmetic function performed by the apparatus 22 to be altered on a per-instruction basis.
In the following equations the complex value B consists of the real component Br and the imaginary component Bi, The notation (B.C)r indicates the real component of the complex product of B and C. In the arrangement illustrated in Figure 2, the complex arithmetic unit 24 represents a processor unit implementing the function defined by equation (1): Pr = Br.Cr -Bi.Ci = (B.C)r (3) Pi = Br.Ci + Bi.Cr = (B.C)i (4) Thus, the complex arithmetic unit 24 may be regarded as being made up of a plurality of interconnected arithmetic units which are operative to perform the complex multiplication BC, as illustrated schematically in Figure 3.
It will be appreciated that the arrangement of arithmetic units used to implement the complex multiplier 24 does not affect the operation of the network 22.
An arrangement of arithmetic units operative to perform complex multiplication is shown, by way of example only, at 24 in Figure 3. The value of each signal is shown at the input and output of each arithmetic unit, and the value of Pr and Pi is shown to match the function of the network 22 described by equations (3) and (4).
The three swap units 26, 28, 30 may be enabled individually to change the function of the network 22. A second ffinction of the arrangement illustrated in Figure 2 will now be described, but it should be understood that the function described here is not the only alternative function. Those skilled in the art will readily be able to adapt the example network 22, in the light of this disclosure, to perfom specialised tasks.
To implement the product -i.B.C defined by equation (2), all three of the swap units 26, 28, 30 are enabled using control signals issued by the controller 16, as illustrated in Figure 4. It will be noted that the operation of the complex multiplier 24 does not change, as the arithmetic units making up the complex arithmetic unit 24 have not changed. Instead, enabling the swap units 26, 28, 30 alters the functionality of the network 22, and causes the real and imaginary components of the complex values input to the complex arithmetic unit 24 to change, thereby altering the real and imaginary components of the complex value output by the complex arithmetic unit 24 to change as well.
The value of each signal is shown at the input and output of each arithmetic unit in Figure 4. The operation of the complex multiplier 24 with the swap units 26, 28, 30 enaNed can be shown, with reference to equations (3) and (4) and Figure 4, as: Qr = Br.Ci + Bi.Cr = Pi (5) Qi = Bi.Ci -Br.Cr = -Pr (6) The complex values P and Q can be described as the sum of their real and imaginary components, as shown in equations (5) and (6): P = Pr + i.Pi (7) Q=Qr+LQi (8) By substituting the results of equations (5) and (6) in equation (8), and by comparison with equations (1) and (7). it can be seen that the result of the network with the swap units enabled is -i.B.C, as defined in equation (2): Q = Qr + i.Qi = Pi -i.Pr = -i.(Pr + i.Pi) = -i.P = -i.B.C (7) Thus, with the swap units disabled the network 22 implements the product B.C as defined by equation (I), and with the swap units enabled the same network 22 implements the product -i.B.C as defined by equation (2).
An example of how the real and imaginaly components of a complex value may be swapped is given in Figure 5, in which the swap unit 26 of Figure 2 is made up of multiplexors 34, 36, which take a common control signal as an input, and swap the real and imaginary components Br and Bi before they are passed to the input of the complex arithmetic unit 24.
It should be understood that the design illustrated in Figure 5 is merely one example of a way of swapping the real and imaginary components of a complex value, and that various ways to swap data signals exist. Therefore the invention is not limited to any particular way of swapping the real and imaginary components of a complex value.
It will be appreciated that the present invention enables separate processor units in a SIMD device to share a common complex coefficient and multiply independent data values by different complex coefficients. Sharing a common complex coefficient reduces silicon area and therefore reduces the cost of the DSP component.
The additional modes of operation are selected by enabling one or more swap units to swap the real and imaginary components of a complex value. This increases the flexibility of the hanlware and reduces the bandwidth and storage requirements for constant complex values. The method used to enable swap units may include control signals generated by a microcode controller, or any suitable circuitry and any suitable control signals.
The invention has been described in this specification in terms of complex arithmetic units and swap units that swap the real and imaginary components of complex values. It will be appreciated that the invention may be implemented in many different ways, for example using Application Specific Integrated Circuits (ASICs), Field Programmable Gate Auays (FPGAs), bespoke Integrated Circuits (ICs) or Digital Signal Processors (DSPs), or even using discrete components such as transistors, capacitors and the like.
The invention may also be implemented as software running on a suitably configured processor.
Moreover, although the invention has been described and illustrated in the context of an apparatus for perfomiing a complex multiplication, it will be appreciated that the principles of the invention may be applied to any complex arithmetic function, and thus the invention is not limited to complex multiplication.

Claims (14)

  1. CLAIMS1. Signal processing apparatus comprising: a complex arithmetic unit configured to perform a complex arithmetic function on a complex value input to the complex arithmetic unit and to output a result of the complex arithmetic function; and a swap unit configured to perforni a swap operation to swap real and imaginary components of a complex value input to the swap unit and to output a result of the swap operation. wherein; the swap unit can be disabled to configure the signal processing apparatus to perform a first function on a complex value input to the signal processing apparatus; and the swap unit can be enaHed to configure the signal processing apparatus to perform a second function on a complex value input to the signal processing apparatus.
  2. 2. Signal processing apparatus according to claim I wherein the swap unit is configured to receive an input complex value and to output the result of the swap operation to the complex arithmetic unit.
  3. 3. Signal processing apparatus according to claim 1 wherein the swap unit is configured to receive as its input the result of the complex arithmetic function performed by the complex arithmetic unit.
  4. 4. Signal processing apparatus according to any one of the preceding claims including more than one swap unit.
  5. 5. Signal processing apparatus according to any one of the preceding claims wherein the complex arithmetic unit is configured to perform a complex multiplication operation.
  6. 6. Signal processing apparatus according to any one of the preceding claims further comprising a controller arranged to issue control signals to enable or disable the swap unit.
  7. 7. Signal processing apparatus according to claim 6 wherein the controller is configured to issue control signals every instruction cycle of the apparatus, thereby permitting the function performed by the signal processing apparatus to change every instruction cycle.
  8. 8. Signal processing apparatus according to any one of the preceding claims wherein the swap unit compr ses two multiplexors sharing the same inputs and control signal.
  9. 9. Signal processing apparatus according to any one of the preceding claims further comprising memory means for storing data words, connected to the input and output data paths of the signal processing apparatus.
  10. 10. Signal processing apparatus according to any one of the preceding claims fur her comprising memory means for temporarily storing data words between arithmetic units of the complex arithmetic unit to form a pipeline.
  11. 11. Signal processing apparatus according to any one of the preceding claims further comprising memory means for temporarily storing control signals such that a delay is introduced in a control signal path of a swap unit to match a delay in a data path of that swap unit.
  12. 12. Signal processing apparatus according to claim 10 or claim 11 wherein the memory means is implemented as a register file.
  13. 13. Signal processing apparatus according to claim 10 or claim 11 wherein the memory means is implemented as an addressable memory.
  14. 14. Signal processing apparatus according to any one of the preceding claims, wherein the apparatus is implemented as one of: a circuit; an integrated circuit; a field programmable gate array (FPGA); an application specific integrated circuit (ASIC); a processor; or a digital signal processor (DSP).AMENDMENTS TO CLAIMS HAVE BEEN 19LED AS FOLLOWSCLAIMS1. Signal processing apparatus comprising: a complex arithmetic unit configured to perform a complex arithmetic function on a complex value input to the complex arithmetic unit and to output a result of the complex arithmetic function; and a swap unit configured to perform a swap operation to swap real and imaginary components of a complex value input to the swap unit and to output a result of the swap operation, wherein; the swap unit can be disabled to configure the signal processing apparatus to perform a first function on a complex value input to the signal processing apparatus; and the swap unit can be enabled to configure the signal processing apparatus to perform a second function on a complex value input to the signal processing apparatus, the signal processing apparatus further comprising a controller alTanged to issue control signals to enable or disable the swap unit, wherein the controller is configured to issue control signals every instruction cycle of the apparatus, thereby permitting the function performed by the r signal processing apparatus to change every instruction cycle. ci)r 2. Signal processing apparatus according to claim I wherein the swap unit is configured to receive an input complex value and to output the result of the swap operation to the complex arithmetic unit.3. Signal processing apparatus according to claim I wherein the swap unit is configured to receive as its input the result of the complex arithmetic function performed by the complex arithmetic unit.4. Signal processing apparatus according to any one of the preceding claims including more than one swap unit.5. Signal processing apparatus according to any one of the preceding claims wherein the complex arithmetic unit is configured to perform a complex multiplication operation.6. Signal processing apparatus according to any one of the preceding claims wherein the swap unit comprises two multiplexors sharing the same inputs and control signal.7. Signal processing apparatus according to any one of the preceding claims further comprising memory means for storing data words, connected to the input and output data paths of the signal processing apparatus.8. Signal processing apparatus according to any one of the preceding claims further comprising memory means for temporarily storing data words between arithmetic units of the complex arithmetic unit to form a pipeline.9. Signal processing apparatus according to any one of the preceding claims further comprising memory means for temporarily storing control signals such that a delay is introduced in a control signal path of a swap unit to match a delay in a data path of that swap unit.10. Signal processing apparatus according to claim 9 or claim 10 wherein the memory r means is implemented as a register file. ci)r II. Signal processing apparatus according to claim 9 or claim 10 wherein the memory means is implemented as an addressable memory.12. Signal processing apparatus according In any one of the preceding claims, wherein the apparatus is implemented as one ol: a circuit; an integrated circuit; a held programmable gate anay (FPGA); an application specific integrated circuit (ASIC); a processor; or a digital signal processor (DSP).
GB1311996.1A 2013-07-04 2013-07-04 Signal processing apparatus Pending GB2515793A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1311996.1A GB2515793A (en) 2013-07-04 2013-07-04 Signal processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1311996.1A GB2515793A (en) 2013-07-04 2013-07-04 Signal processing apparatus

Publications (2)

Publication Number Publication Date
GB201311996D0 GB201311996D0 (en) 2013-08-21
GB2515793A true GB2515793A (en) 2015-01-07

Family

ID=49033315

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1311996.1A Pending GB2515793A (en) 2013-07-04 2013-07-04 Signal processing apparatus

Country Status (1)

Country Link
GB (1) GB2515793A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0080266A2 (en) * 1981-11-24 1983-06-01 Itt Industries, Inc. Discrete fourier transform circuit
US5669010A (en) * 1992-05-18 1997-09-16 Silicon Engines Cascaded two-stage computational SIMD engine having multi-port memory and multiple arithmetic units
US20060224651A1 (en) * 2005-03-31 2006-10-05 Texas Instruments Incorporated Combined IFFT and FFT system
US20070192394A1 (en) * 2005-12-30 2007-08-16 Oki Techno Centre (Singapore) Pte Ltd Processor and method for performing a fast fourier transform and/or an inverse fast fourier transform of a complex input signal
US20090013021A1 (en) * 2007-07-06 2009-01-08 Mediatek Inc. Variable length fft system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0080266A2 (en) * 1981-11-24 1983-06-01 Itt Industries, Inc. Discrete fourier transform circuit
US5669010A (en) * 1992-05-18 1997-09-16 Silicon Engines Cascaded two-stage computational SIMD engine having multi-port memory and multiple arithmetic units
US20060224651A1 (en) * 2005-03-31 2006-10-05 Texas Instruments Incorporated Combined IFFT and FFT system
US20070192394A1 (en) * 2005-12-30 2007-08-16 Oki Techno Centre (Singapore) Pte Ltd Processor and method for performing a fast fourier transform and/or an inverse fast fourier transform of a complex input signal
US20090013021A1 (en) * 2007-07-06 2009-01-08 Mediatek Inc. Variable length fft system and method

Also Published As

Publication number Publication date
GB201311996D0 (en) 2013-08-21

Similar Documents

Publication Publication Date Title
US20030014457A1 (en) Method and apparatus for vector processing
JP2009026308A (en) High speed and efficient matrix multiplication hardware module
CA2711027C (en) Low power fir filter in multi-mac architecture
GB2526018A (en) Multistage switch
GB2582094A (en) Matrix computation engine
US11507531B2 (en) Apparatus and method to switch configurable logic units
JP2011034566A5 (en)
US9361065B2 (en) Processor and processing method
US20150058389A1 (en) Extended multiply
US7653676B2 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
Tsmots et al. Design of the processors for fast cosine and sine Fourier transforms
CN102214157A (en) Dynamic reconfigurable array time sequence controlling method
EP2525284A1 (en) Signal processing apparatus
US10929101B2 (en) Processor with efficient arithmetic units
GB2515793A (en) Signal processing apparatus
EP3232321A1 (en) Signal processing apparatus with register file having dual two-dimensional register banks
KR20190132295A (en) Parallel processing apparatus capable of consecutive parallelism
Zhang et al. FPGA-Based Implementation of Reconfigurable Floating-Point FIR Digital Filter
EP3035188B1 (en) Fixed-point multiplication by one
GB2531058A (en) Signal processing apparatus
Rudnicki et al. IP core of coprocessor for multiple-precision-arithmetic computations
US20140032626A1 (en) Multiply accumulate unit architecture optimized for both real and complex multiplication operations and single instruction, multiple data processing unit incorporating the same
Wei et al. A unified cryptographic processor for RSA and ECC in RNS
US11113028B2 (en) Apparatus and method for performing an index operation
US20230252106A1 (en) Exploiting shared dimensions in matrix computations