Multi-Threaded MIMO OFDM Equalizer for Pipeline Conflict Avoidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing MIMO OFDM channel equalizers face inefficiencies due to overhead from load/store instructions, program control instructions, and data conflicts, which limit their ability to perform complex arithmetic operations and operations like 1/sqrt(x) efficiently, hindering their use in channel equalization.

Innovation Solution

A multi-threaded MIMO OFDM channel equalizer is designed with a pipelined and multi-threaded processing unit that schedules symbol-carrier pairs using multiple threads across pipeline stages, executing expanded instructions that include complex arithmetic operations and 1/sqrt(x) using a Look Up Table, ensuring high throughput and avoiding data conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a traditional MIMO OFDM channel equalizer is used, then the system can perform basic channel equalization, but it suffers from overhead from load/store instructions, program control instructions, and data conflicts that limit processing efficiency

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidinstruction overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing unit is divided into multiple independent pipeline stages (fetch, decode, execute, memory access, writeback) that can operate simultaneously on different instructions. This segmentation allows the equalizer to process multiple symbol-carrier pairs in parallel, eliminating the bottleneck of sequential instruction execution and reducing the impact of load/store overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The equalizer implements dynamic instruction scheduling where the program counter is updated based on executed instructions, allowing the system to adaptively manage instruction flow. The pipeline can dynamically stall or forward data to resolve data conflicts, maintaining high utilization while handling complex arithmetic operations and memory access patterns efficiently.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If the equalizer processes complex arithmetic operations and 1/sqrt(x) operations, then channel equalization accuracy improves, but processing time increases due to computational complexity

Engineering Contradiction:
Improvechannel equalization accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The equalizer pre-calculates and stores 1/sqrt(x) values in a lookup table during system initialization or idle periods. When complex arithmetic operations require 1/sqrt(x) calculations during channel equalization, the pre-computed values are retrieved immediately, eliminating the time-consuming computational step while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of performing complex 1/sqrt(x) calculations in real-time, the system creates a copy of pre-computed values stored in memory. The pipeline retrieves these copied values during execution, trading off memory usage for significant time savings in the critical processing path.

Inventive Principle:
Principle #26Copying

3Productivity

If multiple threads are used to process symbol-carrier pairs, then throughput increases, but data conflicts may occur in the pipeline stages

Engineering Contradiction:
ImprovethroughputVSAvoiddata conflict avoidance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The pipeline introduces intermediary buffer registers between stages that act as mediators for data from multiple threads. When multiple threads access the same pipeline stage, the intermediary buffers hold and manage the data, ensuring that reads and writes are properly coordinated and conflicts are avoided while maintaining parallel throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If the ALU is pipelined with multiple stages, then processing speed increases, but the complexity of scheduling and coordinating threads across stages increases

Engineering Contradiction:
Improveprocessing speedVSAvoidpipeline scheduling complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The pipeline stages are designed with universal functionality to handle multiple operation types (arithmetic, logical, memory access) and multiple threads simultaneously. Each stage is equipped with control logic that can universally manage different instruction types and thread priorities, reducing the overall scheduling complexity compared to having specialized stages for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8711921B1System and method for multi-threaded MIMO OFDM channel equalizer
Publication Date: 2014.04.29 AVIAT U S
  • US8711921B1 patent drawing
  • US8711921B1 patent drawing
  • US8711921B1 patent drawing

AI summary

A system for a multiple input multiple output (MIMO) orthogonal frequency division multiplexed (OFDM) equalizer, said system comprising a program memory, a program sequencer and a processing unit connected to each other, wherein the processing unit comprises an input selection unit, an arithmetic logic unit (ALU) and an output selection unit; further wherein the program sequencer schedules the processing of one or more symbol-carrier pairs input to said OFDM equalizer using multiple threads; retrieves, for each of the one or more symbol-carrier pairs, multiple program instructions from said program memory; generates multiple expanded instructions corresponding to said retrieved multiple program instructions; and further wherein said ALU performs said processing of the one or more symbol-carrier pairs using the multiple threads across multiple pipeline stages, wherein said processing comprises said ALU executing one or more arithmetic operations to process said expanded instructions using said multiple threads across the multiple pipeline stages.