High performance digital signal processing in software radios
First Claim
Patent Images
1. A method implemented on a computing device—
- in a software defined radio (SDR) system—
by a processor configured to execute instructions that, when executed by the processor, direct the computing to device to perform acts comprising;
receiving an array of data bits;
loading a set of bits of the array of data bits;
performing a “
min”
operation to find an optimal path in a Trellis diagram of a Viterbi decoder, wherein the “
min”
operation includes;
starting from a known state in the Trellis diagram; and
updating a data structure for each expansion in the Trellis diagram relative to the known state, the data structure containing a path metric embedded in most significant bits to define a minimal value for each state in the expansion, and a path index embedded in least significant bits to define link information for the minimal value; and
tracing back the minimal values relative to an end state of the Trellis diagram to obtain the optimal path.
2 Assignments
0 Petitions
Accused Products
Abstract
An extensive use of look-up table (LUT) and single instruction multiple data (SIMD) in different algorithms in a software-defined radio (SDR) system is described. In particular, the LUT is used during spreading modulation, mapping and spreading, scrambling, de-scrambling, soft demapping, and the like. The SIMD is executed by a multi-core processor during implementation of a “min” operation to find an optimal path in a Trellis diagram for a Viterbi decoder.
-
Citations
20 Claims
-
1. A method implemented on a computing device—
- in a software defined radio (SDR) system—
by a processor configured to execute instructions that, when executed by the processor, direct the computing to device to perform acts comprising;receiving an array of data bits; loading a set of bits of the array of data bits; performing a “
min”
operation to find an optimal path in a Trellis diagram of a Viterbi decoder, wherein the “
min”
operation includes;starting from a known state in the Trellis diagram; and updating a data structure for each expansion in the Trellis diagram relative to the known state, the data structure containing a path metric embedded in most significant bits to define a minimal value for each state in the expansion, and a path index embedded in least significant bits to define link information for the minimal value; and tracing back the minimal values relative to an end state of the Trellis diagram to obtain the optimal path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- in a software defined radio (SDR) system—
-
11. A computer-readable storage device having computer-readable instructions thereon which, when executed by a computer in a software defined radio (SDR) system, implement a method comprising:
-
receiving an array of data bits; loading a byte of the array of data bits; performing an algorithm to find an optimal path in a Trellis diagram, wherein the algorithm includes; starting from a known state in the Trellis diagram; and updating a data structure for each expansion in the Trellis diagram relative to the known state, the data structure containing a path metric embedded in most significant bits to define a minimal value for each state in the expansion, and a path index embedded in least significant bits to define link information for the minimal value; and tracing back the minimal values relative to an end state of the Trellis diagram, wherein the tracing back uses single input multiple data (SIMD) instructions to accelerate processing. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A software-defined radio (SDR) stack comprising:
-
a memory; and a multi-core processor coupled to the memory, which is configured to; receive an array of data bits comprising one or more soft values from a soft-demapper that uses a look-up table (LUT) as an optimization method; load a byte of the array of data bits; perform an algorithm to find an optimal path in a Trellis diagram, wherein the algorithm includes; starting from a known state in the Trellis diagram; and updating a data structure for each expansion in the Trellis diagram relative to the known state, the data structure containing a path metric and a path index; and trace back the optimal path relative to an end state of the Trellis diagram. - View Dependent Claims (19, 20)
-
Specification