The COordinate Rotation DIgital Computer (CORDIC) algorithm is an iterative shift-and-add technique for calculating trigonometric functions, vector rotations, and complex magnitudes without hardware multipliers. By decomposing a desired rotation angle into a sequence of pre-defined micro-rotations, CORDIC replaces resource-intensive multiplication with simple binary shifts and additions, enabling highly efficient computation on FPGAs and ASICs.
Glossary
CORDIC Algorithm

What is the CORDIC Algorithm?
The CORDIC algorithm is a foundational iterative method for computing trigonometric, hyperbolic, and logarithmic functions using only shift-and-add operations, making it ideal for resource-constrained hardware implementations.
In digital signal processing, CORDIC is essential for implementing Digital Down Converters (DDCs) and Numerically Controlled Oscillators (NCOs) for real-time IQ mixing. Its multiplier-less architecture achieves deterministic latency and minimal resource utilization, making it the standard method for generating complex sinusoids and performing phase-to-amplitude conversion in high-throughput, low-power software-defined radio pipelines.
Key Features of the CORDIC Algorithm
The CORDIC (COordinate Rotation DIgital Computer) algorithm is a shift-and-add iterative method that computes trigonometric, hyperbolic, and logarithmic functions using only basic integer arithmetic, making it the gold standard for FPGA and ASIC implementations where multipliers are expensive.
Shift-and-Add Iteration Core
CORDIC replaces complex multiplications with simple binary shifts and additions. Each iteration rotates a vector by a decreasing angle stored in a lookup table, converging to the target angle with 1-bit precision gain per step. This eliminates the need for dedicated DSP slices, dramatically reducing FPGA resource utilization.
- Micro-rotation: Each step applies a rotation of arctan(2⁻ⁱ)
- Gain factor: A fixed scaling constant (≈1.64676) compensates for magnitude growth
- Convergence range: ±99.7° for the standard circular mode
Dual Operating Modes
CORDIC operates in two fundamental modes, enabling a single hardware block to compute multiple transcendental functions by simply changing the input configuration and interpreting the output differently.
- Rotation Mode: Drives the angle accumulator to zero. Computes sine, cosine, and vector rotation simultaneously from a given angle input
- Vectoring Mode: Drives the Y component to zero. Computes arctangent and vector magnitude (hypotenuse) from given X,Y coordinates
- Unified hardware: The same datapath serves as an NCO, digital mixer, and Cartesian-to-polar converter
Pipelined FPGA Architecture
For real-time streaming applications like digital down-conversion, CORDIC is implemented as a deeply pipelined systolic array. Each iteration occupies one pipeline stage with dedicated registers, producing a new output sample on every clock cycle after the initial latency.
- Throughput: One result per clock cycle after pipeline fill
- Latency: Equal to the number of iterations (e.g., 16 clocks for 16-bit precision)
- Resource trade-off: Pipelining maximizes throughput at the cost of register usage, ideal for continuous IQ stream processing
NCO and Digital Mixing Application
A Numerically Controlled Oscillator (NCO) built with CORDIC in rotation mode generates quadrature local oscillator signals (cos θ, sin θ) with exceptional spurious-free dynamic range (SFDR). This is the foundational block for digital down-converters (DDCs) in software-defined radio.
- Phase accumulator: A simple counter drives the CORDIC angle input
- Frequency resolution: Determined by the accumulator bit width and clock rate
- Quadrature output: Simultaneous sine and cosine eliminate the need for separate LUTs or phase-shift networks
- SFDR advantage: CORDIC-based NCOs achieve >100 dB SFDR with sufficient bit width, outperforming direct LUT approaches
Extended Function Repertoire
Beyond sine and cosine, the CORDIC algorithm generalizes to hyperbolic and linear coordinate systems by changing the micro-rotation angle sequence. This unified approach computes a wide range of functions critical for signal processing and synchronization.
- Hyperbolic mode: Computes sinh, cosh, tanh, eˣ, and ln(x) for exponential scaling and log-likelihood ratios
- Linear mode: Performs multiplication and division directly, useful for gain normalization
- Square root: Derived from hyperbolic vectoring mode, essential for magnitude computation in automatic gain control (AGC) loops
Bit-Serial and Iterative Variants
When throughput demands are lower, CORDIC can be folded into a bit-serial or iterative architecture that reuses a single micro-rotation stage, dramatically reducing logic area for cost-sensitive or low-power applications.
- Iterative CORDIC: One stage loops N times, trading throughput for area
- Bit-serial arithmetic: Processes one bit per clock, minimizing interconnect and routing congestion
- Application fit: Ideal for control loops, calibration routines, and slow telemetry processing where a few hundred clock cycles per result is acceptable
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Frequently Asked Questions
Common questions about the COordinate Rotation DIgital Computer algorithm and its role in efficient hardware-based signal processing for real-time modulation classification.
The CORDIC (COordinate Rotation DIgital Computer) algorithm is an iterative shift-and-add method for computing trigonometric, hyperbolic, and logarithmic functions using only integer arithmetic. It operates by decomposing a desired rotation angle into a sequence of pre-computed micro-rotations, where each step rotates a vector by a fixed angle whose tangent is a power of two. Because multiplication by a power of two is simply a bit shift in hardware, CORDIC eliminates the need for expensive multipliers or lookup tables. The algorithm operates in two modes: rotation mode, which computes the sine and cosine of a given angle by rotating a unit vector, and vectoring mode, which computes the magnitude and phase of an input vector. This makes CORDIC foundational for digital down-conversion, NCO implementation, and phase estimation in FPGA-based modulation classifiers.
Related Terms
Core algorithms and architectural patterns that work alongside the CORDIC algorithm in real-time signal processing pipelines for modulation classification.
Digital Down Converter (DDC)
A digital circuit that performs frequency translation and sample rate reduction to convert a digitized IF signal to complex baseband. The DDC relies on a Numerically Controlled Oscillator (NCO)—often implemented using CORDIC—to generate the precise sine and cosine values required for quadrature mixing. The architecture typically includes a mixer stage, a CIC decimation filter, and multiple FIR compensation filters to prevent aliasing while preserving the modulated signal's phase and amplitude characteristics.
Numerically Controlled Oscillator (NCO)
A digital signal generator that produces a programmable, phase-continuous sinusoidal waveform. The NCO consists of a phase accumulator and a phase-to-amplitude converter. The phase accumulator increments by a tuning word on each clock cycle, and the resulting phase value is converted to a sine/cosine pair. CORDIC in rotation mode is the preferred implementation for the phase-to-amplitude stage in FPGAs because it requires only shift-and-add operations, avoiding the need for large lookup tables or dedicated multiplier blocks.
Polyphase Filter Bank
A computationally efficient structure for channelizing a wideband input signal into multiple narrowband sub-channels. It combines a prototype low-pass filter with a DFT operation implemented via an FFT. The polyphase decomposition reduces the per-channel computation by a factor equal to the number of channels. When paired with a CORDIC-based NCO for fine-frequency tuning, this architecture enables parallel modulation classification across many simultaneous signals without redundant filtering operations.
Direct Digital Synthesizer (DDS)
A complete waveform generation system that integrates an NCO, a digital-to-analog converter (DAC), and a reconstruction filter. The DDS produces agile, high-resolution analog signals with sub-Hertz frequency tuning and instantaneous phase-continuous switching. In test and measurement applications, a DDS using a CORDIC core can generate complex modulated waveforms—including QPSK, QAM, and FSK—by directly computing the required I and Q samples in real time without pre-computed waveform tables.
Coordinate Rotation Digital Computer
The CORDIC algorithm itself operates in three distinct modes: rotation mode (computes sine and cosine of a given angle), vectoring mode (computes magnitude and arctangent of a vector), and linear mode (performs multiplication and division). Each iteration uses a fixed set of arctangent constants and performs a conditional addition or subtraction based on the sign of the remaining angle or y-coordinate. The algorithm converges at approximately 1 bit of accuracy per iteration, making it inherently scalable for different precision requirements.
Pipeline Parallelism for DSP
A concurrency architecture where the signal processing chain—DDC, channelizer, feature extractor, and neural network inference—is decomposed into discrete stages that execute simultaneously on separate hardware resources. Each stage processes a different sample block in an assembly-line fashion. CORDIC-based NCOs and FFT butterflies are inherently feed-forward structures that map naturally to deep pipelines, enabling sustained throughput of multiple giga-samples per second on modern FPGAs without backpressure stalls.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us