Table of Contents
Table of Contents
Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Revision Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Library Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1 Build Options used to build the library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 A Note about C functions and IQMath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Function Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 Complex Fast Fourier Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Complex Fast Fourier Transform (Unaligned) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Complex Fast Fourier Transform Magnitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Complex Fast Fourier Transform Magnitude (Scaled) . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5 Complex Fast Fourier Transform Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6 Complex Fast Fourier Transform Twiddle Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.7 Inverse Complex Fast Fourier Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.8 Real Fast Fourier Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.9 Real Fast Fourier Transform (Unaligned) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.10 Real Fast Fourier Transform with ADC Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.11 Real Fast Fourier Transform with ADC Input (Unaligned) . . . . . . . . . . . . . . . . . . . . . . . . 36
3.12 Real Fast Fourier Transform Magnitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.13 Real Fast Fourier Transform Magnitude (Scaled) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.14 Real Fast Fourier Transform Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.15 Real Fast Fourier Transform Twiddle Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.16 Finite Impulse Response Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.17 Absolute Value of a Complex Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.18 Absolute Value of an Even Length Complex Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.19 Addition (Element-Wise) of a Complex Scalar to a Complex Vector . . . . . . . . . . . . . . . . . . . 52
3.20 Addition of Two Complex Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.21 Inverse Absolute Value of a Complex Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.22 Inverse Absolute Value of an Even Length Complex Vector . . . . . . . . . . . . . . . . . . . . . . . 55
3.23 Index of Maximum Value of an Even Length Real Array . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.24 Mean of Real and Imaginary Parts of a Complex Vector . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.25 Median of a Real Valued Array of Floats (Preserved Inputs) . . . . . . . . . . . . . . . . . . . . . . . 58
3.26 Median of a real array of floats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.27 Complex Multiply of Two Floating Point Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.28 Complex Multiply of Two Complex Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.29 Multiplication of a Complex Vector and the Complex Conjugate of another Vector . . . . . . . . . . . 63
3.30 Multiplication of a Real scalar and a Real Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.31 Multiplication of a Real Scalar, a Real Vector, and another Real Vector . . . . . . . . . . . . . . . . . 65
3.32 Multiplication of a Real Vector and a Complex Vector . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.33 Multiplication of a Real Vector and a Real Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.34 Sort an Array of Floats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.35 Rounding (Unbiased) of a Floating Point Scalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.36 Subtraction of a Complex Scalar from a Complex Vector . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.37 Subtraction of a Complex Vector and another Complex Vector . . . . . . . . . . . . . . . . . . . . . 71
3.38 Fast Square Root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.39 Optimized Memory Copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.40 Optimized Memory Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Sep 10, 2012 3