IP Library Granted Patent US 11,018,729
Granted Patent B2
US 11,018,729 · App. 16/876,261 · Granted May 25, 2021

Structured-pipelined CORDIC for matrix equalization

Inventors: Yong Ma (San Jose, CA); Kai Cheong Tang (Cupertino, CA); Chao Shan (Milpitas, CA); Mao Yu (San Jose, CA)
Assignee: NXP USA, Inc.
H04B7/0413G06F7/4818G06F7/5446H04B7/066H04L27/0014H04L27/2657H04L27/2675H04L2025/03426H04L2027/003
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,018,729
App. No.
16/876,261
Granted
May 25, 2021
Kind
B2
Abstract

Flexible structured-pipelined CORDIC techniques efficiently perform various CORDIC operations and support different parameters for MIMO MEQ processing. The structured-pipelined CORDIC techniques simplify signal processing flow, unify input requirements and output delay, and simplify integration. Look-up table techniques provide quick generation of control signals, reduce design and verification efforts, and facilitate design automation. In addition, the structured-pipelined CORDIC techniques are conducive to hardware sharing and reuse. The structured-pipelined CORDIC techniques reduce integrated circuit area and power consumption.

Claims (72)

1. A Multiple-Input, Multiple-Output (MIMO) Orthogonal Frequency-Division Multiplexing (OFDM) receiver comprising:

a structured-pipelined COordinate Rotation Digital Computer (CORDIC) configured to generate an output real signal, an output imaginary signal, and an output rotation signal, the structured-pipelined CORDIC comprising:

a first input selection circuit configured to output a first input real signal selected from M input real signals according to an input selection signal where M is an integer greater than zero;

a second input selection circuit configured to output a first input imaginary signal selected from M input imaginary signals according to the input selection signal;

a third input selection circuit configured to output a first input rotation signal selected from M−1 input rotation signals and the output rotation signal according to the input selection signal; and

I CORDIC stages coupled in series comprising:

a first CORDIC stage configured to receive the first input real signal, the first input imaginary signal, the first input rotation signal, and an input control signal, and

I−1 additional CORDIC stages, each of the I−1 additional CORDIC stage being configured to receive a corresponding output real signal, a corresponding output imaginary signal, a corresponding output rotation signal, and a corresponding stored control signal of a prior adjacent CORDIC stage of the I CORDIC stages,

wherein the output real signal, the output imaginary signal, and the output rotation signal are based on a last output real signal, a last output imaginary signal, a last output rotation signal, respectively, generated by a last CORDIC stage of the I−1 additional CORDIC stages, where I is a second integer greater than one.

2. The MIMO OFDM receiver, as recited in claim 1 , wherein the input control signal is used to sequentially configure each of the I CORDIC stages to operate in a mode selected from a rotation mode, a vector mode, a bypass mode, and a storage mode.

3. The MIMO OFDM receiver, as recited in claim 1 , further comprising:

a MIMO Matrix Equalizer (MEQ) comprising a plurality of structured-pipelined CORDICs, the structured-pipelined CORDIC being included in the plurality of structured-pipelined CORDICs.

4. The MIMO OFDM receiver, as recited in claim 3 , further comprising:

a control circuit configured to generate the input control signal for operation of each structured-pipeline CORDIC of the MIMO MEQ based on an encoded state signal, a cycle count value, a burst count value, and a re-use cycle count value.

5. The MIMO OFDM receiver, as recited in claim 3 , wherein the plurality of structured-pipelined CORDICs are grouped by permutation operation of a QR decomposition of a channel matrix and are configured to generate N SS inverse channel matrices for a corresponding subcarrier of an OFDM signal.

6. The MIMO OFDM receiver, as recited in claim 3 , further comprising:

a control circuit configured to sequentially cause the plurality of structured-pipelined CORDICs to perform N SS permutations of a QR decomposition to generate N SS inverse channel matrices based on a channel matrix, the channel matrix being an M×N SS matrix,

wherein N SS is a number of information streams received in a received packet received by M antennas of the receiver, N SS ≤N SS_MAX , M≤M MAX , M≥N SS , N SS_MAX is a maximum number of information streams supported by the MIMO OFDM receiver, and M MAX is a maximum number of receiver antennas supported by the MIMO OFDM receiver.

7. The MIMO OFDM receiver, as recited in claim 6 , wherein N SS <N SS_MAX and M<M MAX .

8. The MIMO OFDM receiver, as recited in claim 3 , wherein the MIMO MEQ further comprises:

a control circuit configured to apply an M×N SS inverse channel matrix to a received signal using the plurality of structured-pipelined CORDICs,

wherein N SS ≤N SS_MAX and M≤M MAX , M is a number of receiver antennas used to receive the received signal, N SS is a number of information streams received in the received signal, and M≥N SS , N SS_MAX is a maximum number of information streams supported by the MIMO MEQ, and M MAX is a maximum number of receiver antennas supported by the MIMO MEQ.

9. The MIMO OFDM receiver, as recited in claim 1 , further comprising:

a MIMO Matrix Equalizer (MEQ) comprising a plurality of first structured-pipelined CORDICs associated with a first permutation of a QR decomposition and configured to generate a first upper triangular matrix based on an M×N SS channel matrix, M being a number of receiver antennas, and N SS being a number of information streams received in a received packet;

a first select circuit configured to provide a first submatrix selected from a plurality of submatrices of the first upper triangular matrix based on N SS ;

a plurality of second structured-pipelined CORDICs associated with a second permutation of the QR decomposition and configured to generate a second upper triangular matrix based on the first submatrix and the first upper triangular matrix;

a second select circuit configured to provide a second submatrix selected from a plurality of second submatrices of the first upper triangular matrix based on N SS ;

a plurality of third structured-pipelined CORDICs associated with a third permutation of the QR decomposition and configured to generate a third upper triangular matrix based on the second submatrix and the first upper triangular matrix; and

a plurality of fourth structured-pipelined CORDICs associated with a fourth permutation of the QR decomposition and configured to generate a fourth upper triangular matrix based on the first upper triangular matrix,

wherein the structured-pipelined CORDIC is included in the plurality of first structured-pipelined CORDICs.

10. A method for operating A Multiple-Input, Multiple-Output (MIMO) Orthogonal Frequency-Division Multiplexing (OFDM) receiver, the method comprising:

generating an output real signal, an output imaginary signal, and an output rotation signal by performing a structured-pipelined CORDIC operation comprising:

selecting a first input real signal from M input real signals according to an input selection signal, where M is an integer greater than one;

selecting a first input imaginary signal from M input imaginary signals according to the input selection signal;

selecting a first input rotation signal from M−1 input rotation signals and the output rotation signal according to the input selection signal;

performing I iterations of a CORDIC operation comprising:

performing a first iteration of the CORDIC operation on the first input real signal, the first input imaginary signal, and the first input rotation signal according to an input control signal; and

performing I−1 additional iterations of the CORDIC operation, each of the I−1 additional CORDIC operations including receiving a corresponding output real signal, a corresponding output imaginary signal, a corresponding output rotation signal, and a corresponding stored control signal of a prior contiguous CORDIC operation of the I CORDIC operations,

wherein the output real signal, the output imaginary signal, and the output rotation signal are based on a last output real signal, a last output imaginary signal, a last output rotation signal, respectively, generated by a last CORDIC operation of the I−1 additional CORDIC operations.

11. The method, as recited in claim 10 , further comprising:

selecting the CORDIC operation is selected from a rotation operation, a vector operation, a bypass operation, and a storage operation.

12. The method, as recited in claim 10 , further comprising:

determining N SS upper triangular matrices based on an M×N SS channel matrix, N SS being a second integer greater than one and M being greater than or equal to N SS ,

wherein the determining includes performing the structured pipeline CORDIC operation.

13. The method, as recited in claim 12 , wherein N SS equals four and M equals four and the determining includes performing structured-pipelined CORDIC operations with a reuse rate of four.

14. The method, as recited in claim 12 , wherein N SS equals four and M equals four, and the determining comprises:

performing a first permutation of a QR decomposition to obtain a first upper triangular matrix as a first result of the first permutation;

performing a second permutation of the QR decomposition using entries of the first result to obtain a second upper triangular matrix as a second result of the second permutation;

performing a third permutation of the QR decomposition using entries of the first result to obtain a third upper triangular matrix as a third result of the third permutation; and

performing a fourth permutation of the QR decomposition using entries of the first result to obtain a fourth upper triangular matrix as a fourth result of the fourth permutation.

15. The method, as recited in claim 10 , further comprising:

for each subcarrier of an OFDM symbol, determining an M×N SS inverse channel matrix by using M MAX ×N SS_MAX structured-pipeline CORDIC operations, wherein N SS ≤N SS_MAX and M≤M MAX , M is a number of receiver antennas used to receive a received packet, N SS is a number of information streams received in the received packet, and M≥N SS ,

where N SS_MAX is a maximum number of information streams supported by a MIMO OFDM receiver, and M MAX is a maximum number of receiver antennas supported by the MIMO OFDM receiver.

16. The method, as recited in claim 10 , further comprising:

for each subcarrier of an OFDM symbol, performing M×N SS Multiple-Input, Multiple-Output (MIMO) matrix equalization using structured-pipelined CORDIC operations,

wherein M is a number of receiver antennas used to receive a received packet, N SS is a number of information streams received in the received packet, and M≥N SS .

17. A method for matrix equalization in a Multiple-Input, Multiple-Output (MIMO) Orthogonal Frequency-Division Multiplexing (OFDM) receiver comprising:

for each subcarrier of an OFDM signal, determining N SS upper triangular matrices of a channel matrix by using structured-pipelined CORDICs,

wherein the channel matrix is an M×N SS matrix, M is a number of receiver antennas used to receive a received packet by the receiver, N SS is a number of information streams received in the received packet, and M≥N SS ;

generating an output real signal, an output imaginary signal, and an output rotation signal by performing a structured-pipelined CORDIC operation by a structured-pipelined CORDIC of the structured pipelined CORDICs, performing the structured-pipelined CORDIC operation comprising

generating an output real signal, an output imaginary signal, and an output rotation signal by performing a structured-pipelined CORDIC operation comprising:

selecting a first input real signal from M input real signals according to an input selection signal, where M is an integer greater than one;

selecting a first input imaginary signal from M input imaginary signals according to the input selection signal;

selecting a first input rotation signal from M−1 input rotation signals and the output rotation signal according to the input selection signal.

18. The method, as recited in claim 17 , wherein determining the N SS upper triangular matrices includes performing CORDIC operations with a reuse rate of four.

19. The method, as recited in claim 17 , further comprising:

reusing the structured-pipelined CORDICs to determine additional N SS upper triangular matrices for each additional channel matrix of each additional subcarrier of a plurality of additional subcarriers.

20. The method, as recited in claim 17 , further comprising:

performing I iterations of a CORDIC operation comprising:

performing a first iteration of the CORDIC operation on the first input real signal, the first input imaginary signal, and the first input rotation signal according to an input control signal; and

performing I−1 additional iterations of the CORDIC operation, each of the I−1 additional CORDIC operations including receiving a corresponding output real signal, a corresponding output imaginary signal, a corresponding output rotation signal, and a corresponding stored control signal of a prior contiguous CORDIC operation of the I CORDIC operations,

wherein the output real signal, the output imaginary signal, and the output rotation signal are based on a last output real signal, a last output imaginary signal, a last output rotation signal, respectively, generated by a last CORDIC operation of the I−1 additional CORDIC operations.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2020
From: SHAN, CHAO
To: NXP USA, INC.
Reel/Frame 052715/0715 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2020
From: MA, YONG; TANG, KAI CHEONG; SHAN, CHAO; YU, MAO
To: NXP USA, INC.
Reel/Frame 052683/0915 →