US8706787B2ActiveUtilityA1

CORDIC-based FFT and IFFT apparatus and method

Assignee: OKELLO JAMES AWUOR ODUORPriority: Sep 26, 2007Filed: Sep 26, 2007Granted: Apr 22, 2014
Est. expirySep 26, 2027(~1.1 yrs left)· nominal 20-yr term from priority
G06F 17/142G06F 7/4818
36
PatentIndex Score
0
Cited by
16
References
20
Claims

Abstract

Provided two CORDIC processors, each including: two input ports representing real and imaginary input ports; and two output ports representing real and imaginary output ports; wherein real and imaginary parts of a first input signal are applied to the imaginary input ports of the first and second CORDIC processors; real and imaginary parts of a second input signal are applied to the real input ports of the first and second CORDIC processors; the first and second CORDIC processors rotate the respective input signals applied thereto by 45 degrees in the clockwise direction; respective data from the real output ports of said first and second CORDIC processors constitute real and imaginary parts of a first output signal; and respective data from the imaginary output ports of said first and second CORDIC processors constitute real part and imaginary part of a second output signal.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An apparatus for performing a 2-point FFT, wherein first and second complex input signals are evaluated to generate 2-point FFT's first and second complex output signals, said apparatus comprising first and second CORDIC processors,
 each of the first and second CORDIC processors including: 
 first and second input ports that respectively represent a real input port and an imaginary input port; and 
 first and second output ports that respectively represent a real output port and an imaginary output port for outputting rotated data; 
 wherein a real part of the first input signal is applied to the imaginary input port of the first CORDIC processor; 
 an imaginary part of the first input signal is applied to the imaginary input port of the second CORDIC processor; 
 a real part of the second input signal is applied to the real input port of the first CORDIC processor; 
 an imaginary part of the second input signal is applied to the real input port of the second CORDIC processor; and 
 the first and second CORDIC processors rotate the respective input signals applied thereto by 45 degrees in the clockwise direction; 
 wherein data from the real output port of said first CORDIC processor, and data from the real output port of the second CORDIC processor constitute respectively a real part and an imaginary part of the 2-point FFT's first output signal; and 
 data from the imaginary output port of said first CORDIC processor, and data from the imaginary output port of said second CORDIC processor constitute respectively a real part and an imaginary part of the 2-point FFT's second output signal. 
 
     
     
       2. An apparatus for performing a 2-point FFT, wherein first and second complex input signals are evaluated to generate 2-point FFT's first and second complex output signals, said apparatus comprising first and second CORDIC processors, each of said first and second CORDIC processors including:
 first and second input ports that respectively represent a real input port and an imaginary input port; and 
 first and second output ports that respectively represent a real output port and an imaginary output port for outputting rotated data; wherein a real part of the first input signal is applied to the real input port of the first CORDIC processor, 
 an imaginary part of the first input signal is applied to the real input port of the second CORDIC processor; 
 a real part of the second input signal is applied to the imaginary input port of the first CORDIC processor, 
 an imaginary part of the second input signal is applied to the imaginary input port of the second CORDIC processor; and 
 the first and second CORDIC processors rotate respective input signals applied thereto by 45 degrees in the anticlockwise direction; 
 wherein data from the imaginary output port of the second CORDIC processor, and data from the imaginary output port of the first CORDIC processor, constitute respectively a real part and an imaginary part of the 2-point FFT's first output signal; and 
 data from the real output port of the second CORDIC processors, and data from the real output port of the first CORDIC processors, constitute respectively a real part and an imaginary part of the 2-point FFT's second output signal. 
 
     
     
       3. An apparatus for performing a 4-point FFT, comprising first and second stages that process FFT of four complex data samples;
 wherein the first stage includes two 2-point FFT units that process four complex input signals, each of said two 2-point FFT units processing data as defined in  claim 1 ; and 
 the second stage processes the output of the first stage using two 2-point FFT. 
 
     
     
       4. An apparatus for performing a 4-point FFT, comprising first and second stages that process FFT of four complex data samples;
 wherein the first stage includes two 2-point FFT units that process four complex input signals; and 
 the second stage processes the output of the first stage using first and second pair of CORDIC processors, each CORDIC processor including: 
 first and second input ports that respectively represent a real input port and an imaginary input port; and 
 first and second output ports that respectively a represent real output port and an imaginary output port for outputting rotated data; 
 wherein in the second stage of the FFT, 
 first and second input signals into a first pair of CORDIC processors are processed as defined in  claim 1 ; and 
 the second pair of CORDIC processors process third and fourth input signals applied thereto as follows: 
 applying a real part of the third input signal to the real input port of a first CORDIC processor of the second pair of CORDIC processors; 
 applying an imaginary part of the third input signal to the real input port of a second CORDIC processor of the second pair of CORDIC processors; 
 applying a real part of the fourth input signal to the imaginary input port of the second CORDIC processor of the second pair of CORDIC processors; 
 applying an imaginary part of the fourth input signal to the imaginary input port of the first CORDIC processor of the second pair of CORDIC processors; and 
 the first and second CORDIC processors of the second pair of CORDIC processors, rotating respective input signals applied thereto by 45 degrees in the anticlockwise direction; 
 wherein data from the imaginary output port of the first CORDIC processor, and data from the real output port of the second CORDIC processor in the second pair of CORDIC processors, constitute respectively a real part and an imaginary part of a third output signal from the second stage of the FFT; and 
 the data from real output port of first CORDIC processor, and data from the imaginary output port of the second CORDIC processor in the second pair of CORDIC processors, constitute respectively a real part and an imaginary part of a fourth output signal from the second stage of the FFT. 
 
     
     
       5. An apparatus for performing an 8-point FFT, comprising three stages for processing FFT of eight complex data samples;
 wherein the first stage includes two pairs of 4-point FFT that process eight complex input signals to generate eight complex output signals; 
 in the second stage, the output signals of the two pairs of said 4-point FFT are multiplied by twiddle factors to generate an output for being processed by the third stage of the 8-point FFT; and 
 the third stage comprises four pairs of 2-point FFT units, each of which processes data as defined in  claim 1 . 
 
     
     
       6. An apparatus for performing an FFT, comprising a plurality of stages that process FFT of complex data samples, with at least one stage implemented using at least one 2-point FFT unit;
 wherein in the stage implementing 2-point FFT, at least one 2-point FFT unit processes data as defined in  claim 1 . 
 
     
     
       7. An apparatus for performing an FFT, comprising a plurality of stages for processing FFT of complex data samples with at least one stage implemented using at least one 4-point FFT unit;
 wherein in the stage implementing 4-point FFT, at least one 4-point FFT unit processes data as defined in  claim 3 . 
 
     
     
       8. An apparatus for performing an FFT, comprising a plurality of stages for processing FFT of complex data samples with at least one stage implemented using at least 8-point FFT unit;
 wherein in the stage implementing 8-point FFT, at least one 8-point FFT unit processes data as defined in  claim 5 . 
 
     
     
       9. An apparatus for processing first, second, third and fourth complex input signals, comprising first and second pairs of CORDIC processors that rotate the fourth input signal applied thereto in the clockwise direction by 90 degrees and evaluate a 2-point FFT of the third input signal and the rotated fourth input signal;
 each CORDIC processor of the first and second pairs of CORDIC processors including: 
 first and second input ports that respectively a represent real an input port and imaginary input port; and 
 first and second output ports that respectively represent a real output port and an imaginary output port for outputting rotated data; 
 where in the processor, 
 first and second input signals into the first pair of CORDIC processors are processed as defined in  claim 1 ; and 
 third and fourth input signals into the second pair of CORDIC processors are processed as follows: 
 applying a real part of the third input signal to the real input port of the first CORDIC processor of the second pair of CORDIC processors; 
 applying an imaginary part of the third input signal to the real input port of the second CORDIC processor of the second pair of CORDIC processors; 
 applying a real part of the fourth input signal to the imaginary input port of the second CORDIC processor of the second pair of CORDIC processors; 
 applying an imaginary part of the fourth input signal to the imaginary input port of the second CORDIC processor of the second pair of CORDIC processors; and 
 the first and second CORDIC processors of the second pair of CORDIC processors, rotating respective input signals applied thereto by 45 degrees in the anticlockwise direction; 
 wherein data from the imaginary output port of the first CORDIC processor, and data from the real output port of the second CORDIC processor in the second pair of CORDIC processors, constitute respectively a real part and an imaginary part of a first output signal; and 
 data from the real output port of the first CORDIC processor, and data from the imaginary output port of the second CORDIC processor in the second pair of CORDIC processors, constitute respectively a real part and an imaginary part of a second output signal. 
 
     
     
       10. An apparatus for performing a 2-point IFFT, comprising two CORDIC processors,
 each CORDIC processor including: 
 first and second input ports that respectively represent a real input port and an imaginary input port; and 
 first and second output ports that respectively represent a real output port and an imaginary output port for outputting rotated data; 
 wherein IFFT of two samples of complex input signals is evaluated to generate 2-point IFFT's first and second output signals as follows: 
 applying a real part of the first input signal to the imaginary input port of the first CORDIC processor; 
 applying an imaginary part of the first input signal to the imaginary input port of the second CORDIC processor; 
 applying a real part of second input signal to the real input port of the first CORDIC processor, 
 applying an imaginary part of second input signal to the real input port of the second CORDIC processor; and 
 the first and second CORDIC processors rotating respective input signals applied thereto by 45 degrees in the clockwise direction; wherein data from the real output port of first CORDIC processor, and data from the real output port of the second CORDIC processor, constitute respectively a real part and an imaginary part of the 2-point IFFT's first output signal; and 
 data from the imaginary output port of first CORDIC processor, and the imaginary output port of the second CORDIC processor, constitute respectively a real part and an imaginary part of the 2-point IFFT's second output signal. 
 
     
     
       11. An apparatus for performing a 4-point IFFT, comprising two stages that process IFFT of four complex data samples,
 wherein the first stage includes two 2-point IFFT units that process four complex input signals; and 
 the second stage processes the output of the first stage using two 2-point IFFT, wherein in the first stage, the 4-point IFFT unit process data as defined in  claim 10 . 
 
     
     
       12. An apparatus for performing a 4-point IFFT, comprising two stages that process IFFT of four complex data samples,
 wherein the first stage includes two 2-point IFFT units that process complex input signals; and 
 the second stage processes the output of the first stage using two pairs of CORDIC processors, 
 each CORDIC processor including: 
 first and second input ports that respectively represent a real input port and an imaginary input port; and 
 first and second output ports that respectively represent a real output port and an imaginary output port for outputting rotated data; 
 wherein in the second stage of the IFFT, first and second input signals into the first pair of CORDIC processors are processed as defined in  claim 10 ; and 
 third and fourth input signals into the second pair of CORDIC processors is processed as follows: 
 applying a real part of the third input signal to the real input port of the first CORDIC processor of the second pair of CORDIC processors; 
 applying an imaginary part of the third input signal to the real input port of the second CORDIC processor of the second pair of CORDIC processors; 
 applying a real part of the fourth input signal to the imaginary input port of the second CORDIC processor of the second pair of CORDIC processors; 
 applying an imaginary part of the fourth input signal to the imaginary input port of the first CORDIC processor of the second pair of CORDIC processors; and 
 the first and second CORDIC processors of the second pair of CORDIC processors, rotating respective input signals applied thereto by 45 degrees in the anticlockwise direction; 
 wherein data from the real output port of first CORDIC processor, and data from the imaginary output port of the second CORDIC processor in the second pair of CORDIC processors, constitute respectively a real part and an imaginary part of the third output signal from the second stage of the IFFT; and 
 data from the imaginary output port of first CORDIC processor, and data from the real output port of the second CORDIC processor in the second pair of CORDIC processors, constitute respectively a real part and an imaginary part of the fourth output signal from the second stage of the IFFT. 
 
     
     
       13. An apparatus for performing an 8-point IFFT, comprising three stages that process IFFT of eight complex data samples;
 wherein the first stage includes two pairs of 4-point IFFT units that process eight complex input signals to generate eight complex output signals; 
 in the second stage, the outputs of said two pairs of 4-point IFFT are multiplied by twiddle factors to generate an output for being processed by the third stage of the 8-point IFFT; and 
 the third stage comprises four pairs of 2-point IFFT units, at least one of which processes data as defined in  claim 10 . 
 
     
     
       14. An apparatus for performing an IFFT, comprising multiple stages that process IFFT of complex data samples with at least one stage implemented using at least one 2-point IFFT unit,
 wherein in the stage implementing 2-point IFFT, at least one 2-point IFFT unit processes data as defined in  claim 10 . 
 
     
     
       15. An apparatus for performing an IFFT, comprising a plurality of stages that process IFFT of complex data samples with at least one stage implemented using 4-point IFFT unit;
 wherein in the stage implementing 4-point IFFT, at least one 4-point IFFT processes data as defined in  claim 11 . 
 
     
     
       16. An apparatus for performing an IFFT comprising multiple stages that process IFFT of complex data samples with at least one stage implemented using at least 8-point IFFT units;
 wherein in the stage implementing 8-point IFFT, at least one 8-point IFFT processes data as defined in  claim 13 . 
 
     
     
       17. An apparatus for processing four samples of complex input signals, the processor comprising first and second pairs of CORDIC processors for rotating the fourth signal in the clockwise direction by 90 degrees and evaluating a 2-point IFFT of the third input signal and the rotated fourth input signal;
 each CORDIC processor including: 
 first and second input ports that respectively represent a real input port and an imaginary input port; and 
 first and second output ports that respectively represent a real output port and an imaginary output port for outputting rotated data; 
 wherein in the processor, 
 first and second input signals into the first pair of CORDIC processors are processed as defined in  claim 10 ; and 
 third and fourth input signals into the second pair of CORDIC processors are processed as follows: 
 applying a real part of the first input signal to the real input port of the first CORDIC processor of the second pair of CORDIC processors; 
 applying an imaginary part of the first input signal to the real input port of the second CORDIC processor of the second pair of CORDIC processors; 
 applying a real part of the second input signal to the imaginary input port of the second CORDIC processor of the second pair of CORDIC processors; 
 applying an imaginary part of the second input signal (‘a4’) to the imaginary input port of the second CORDIC processor of the second pair of CORDIC processors; and 
 the first and second CORDIC processors of the second pair of CORDIC processors, rotating respective input signals applied thereto by 45 degrees in the anticlockwise direction; 
 wherein data from the real output port of first CORDIC processor, and data from the imaginary output port of the second CORDIC processor in the second pair of real number CORDIC processors, constitute respectively a real part and an imaginary part of a first output signal; and 
 data from the imaginary output port of first CORDIC processor, and data from the real output port of the second CORDIC processor in the second pair of CORDIC processors, constitute respectively a real part and an imaginary part of a second output signal. 
 
     
     
       18. An apparatus for performing an IFFT comprising a plurality of stages that process IFFT of complex data samples, with at least one stage processing two complex input data using first and second CORDIC processors as defined in  claim 11 . 
     
     
       19. An apparatus for performing a 4-point FFT, comprising first and second stages that process FFT of four complex data samples;
 wherein the first stage includes two 2-point FFT units that process four complex input signals, each of said two 2-point FFT units processing data as defined in  claim 2 ; and 
 the second stage processes the output of the first stage using two 2-point FFT. 
 
     
     
       20. An apparatus for performing an 8-point FFT, comprising three stages for processing FFT of eight complex data samples;
 wherein the first stage includes two pairs of 4-point FFT that process eight complex input signals to generate eight complex output signals; 
 in the second stage, the output signals of the two pairs of said 4-point FFT are multiplied by twiddle factors to generate an output for being processed by the third stage of the 8-point FFT; and 
 the third stage comprises four pairs of 2-point FFT units, each of which processes data as defined in  claim 2 .

Join the waitlist — get patent alerts

Track US8706787B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.