1mlib_SignalIFFTW_3(3MLIB) mediaLib Library Functions mlib_SignalIFFTW_3(3MLIB)
2
3
4

NAME

6       mlib_SignalIFFTW_3,      mlib_SignalIFFTW_3_S16_S16_Mod,      mlib_Sig‐
7       nalIFFTW_3_S16C_S16C_Mod,  mlib_SignalIFFTW_3_S16_S16C_Mod,   mlib_Sig‐
8       nalIFFTW_3_S16_Mod,        mlib_SignalIFFTW_3_S16C_Mod,       mlib_Sig‐
9       nalIFFTW_3_F32_F32,       mlib_SignalIFFTW_3_F32C_F32C,       mlib_Sig‐
10       nalIFFTW_3_F32_F32C,  mlib_SignalIFFTW_3_F32, mlib_SignalIFFTW_3_F32C -
11       signal Inverse Fast Fourier Transform with windowing (IFFTW)
12

SYNOPSIS

14       cc [ flag... ] file... -lmlib [ library... ]
15       #include <mlib.h>
16
17       mlib_status mlib_SignalIFFTW_3_S16_S16_Mod(mlib_s16 *dstr, mlib_s16 *dsti,
18            const mlib_s16 *srcr, const mlib_s16 *srci, const mlib_s16 *window,
19            mlib_s32 order);
20
21
22       mlib_status mlib_SignalIFFTW_3_S16C_S16C_Mod(mlib_s16 *dstc,
23            const mlib_s16 *srcc,
24            const mlib_s16 *window, mlib_s32 order);
25
26
27       mlib_status mlib_SignalIFFTW_3_S16_S16C_Mod(mlib_s16 *dstr,
28            const mlib_s16 *srcc,
29            const mlib_s16 *window, mlib_s32 order);
30
31
32       mlib_status mlib_SignalIFFTW_3_S16_Mod(mlib_s16 *srcdstr,
33            mlib_s16 *srcdsti,
34            const mlib_s16 *window, mlib_s32 order);
35
36
37       mlib_status mlib_SignalIFFTW_3_S16C_Mod(mlib_s16 *srcdstc,
38            const mlib_s16 *window,
39            mlib_s32 order);
40
41
42       mlib_status mlib_SignalIFFTW_3_F32_F32(mlib_f32 *dstr,
43            mlib_f32 *dsti,
44            const mlib_f32 *srcr, const mlib_f32 *srci, const mlib_f32 *window,
45            mlib_s32 order);
46
47
48       mlib_status mlib_SignalIFFTW_3_F32C_F32C(mlib_f32 *dstc,
49            const mlib_f32 *srcc,
50            const mlib_f32 *window, mlib_s32 order);
51
52
53       mlib_status mlib_SignalIFFTW_3_F32_F32C(mlib_f32 *dstr,
54            const mlib_f32 *srcc,
55            const mlib_f32 *window, mlib_s32 order);
56
57
58       mlib_status mlib_SignalIFFTW_3_F32(mlib_f32 *srcdstr,
59            mlib_f32 *srcdsti,
60            const mlib_f32 *window, mlib_s32 order);
61
62
63       mlib_status mlib_SignalIFFTW_3_F32C(mlib_f32 *srcdstc,
64            const mlib_f32 *window,
65            mlib_s32 order);
66
67

DESCRIPTION

69       Each of the functions in  this  group  performs  Inverse  Fast  Fourier
70       Transform with windowing (IFFTW).
71
72
73       The FFTW functions use the following equation:
74
75                   1   N-1
76         dst[k] = ---- SUM {src[n] * window[n] * exp(-j2*PI*n*k/N)}
77                   C1  n=0
78
79
80
81       and the IFFTW functions use the following equation:
82
83                   1   N-1
84         dst[n] = ---- SUM {src[k] * window[k] * exp(j2*PI*n*k/N)}
85                   C2  k=0
86
87
88
89       where
90
91         k = 0, 1, ..., (N - 1)
92         n = 0, 1, ..., (N - 1)
93         N = 2**order
94
95
96
97       The  signal  FFTW/IFFTW  functions  can be categorized into four groups
98       according to the ScaleMode in the function names in the following form:
99
100         mlib_Signal[FFTW|IFFTW]_ScaleMode_OutType_InType_OpMode()
101         mlib_Signal[FFTW|IFFTW]_ScaleMode_DataType_OpMode()
102
103
104
105       The scaling factors C1 and C2 used in the equations are defined as fol‐
106       lows:
107
108           o      For ScaleMode = 1, C1 = 1 and C2 = 2**order.
109
110           o      For ScaleMode = 2, C1 = 2**order and C2 = 1.
111
112           o      For  ScaleMode  =  3,  C1  = C2 = 2**(order/2) when order is
113                  even, or C1 = 2**((order+1)/2)  and  C2  =  2**((order-1)/2)
114                  when order is odd.
115
116           o      For  ScaleMode  =  4, C1 = 2**P and C2 = 2**Q, where P and Q
117                  are adaptive scaling factors and are generated by the  func‐
118                  tions.
119
120
121       For functions with only real parts for the source signal, the imaginary
122       parts are assumed to be all zero. For functions with  only  real  parts
123       for  the  destination  signal,  the  imaginary parts are discarded. The
124       functions with only one data type in their names perform the  operation
125       in place.
126

PARAMETERS

128       Each function takes some of the following arguments:
129
130       dstr       Destination signal array that contains the real parts.
131
132
133       dsti       Destination signal array that contains the imaginary parts.
134
135
136       srcr       Source signal array that contains the real parts.
137
138
139       srci       Source signal array that contains the imaginary parts.
140
141
142       dstc       Complex  destination  signal  array.  dstc[2*i] contains the
143                  real parts, and dstc[2*i+1] contains the imaginary parts.
144
145
146       srcc       Complex source signal array.  srcc[2*i]  contains  the  real
147                  parts, and srcc[2*i+1] contains the imaginary parts.
148
149
150       srcdstr    Source  and  destination signal array that contains the real
151                  parts.
152
153
154       srcdsti    Source and destination signal array that contains the imagi‐
155                  nary parts.
156
157
158       srcdstc    Complex  source  and  destination signal array. srcdstc[2*i]
159                  contains the real parts,  and  srcdstc[2*i+1]  contains  the
160                  imaginary parts.
161
162
163       window     Window  coefficient  array  with 2**order real elements. The
164                  window coefficients are in Q15 format for the S16 data type,
165                  or in float format for the F32 data type.
166
167
168       order      Order  of  the  transformation.  The base-2 logarithm of the
169                  number of data samples.
170
171

RETURN VALUES

173       Each function returns MLIB_SUCCESS if successful. Otherwise it  returns
174       MLIB_FAILURE.
175

ATTRIBUTES

177       See attributes(5) for descriptions of the following attributes:
178
179
180
181
182       ┌─────────────────────────────┬─────────────────────────────┐
183       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
184       ├─────────────────────────────┼─────────────────────────────┤
185       │Interface Stability          │Committed                    │
186       ├─────────────────────────────┼─────────────────────────────┤
187       │MT-Level                     │MT-Safe                      │
188       └─────────────────────────────┴─────────────────────────────┘
189

SEE ALSO

191       mlib_SignalFFTW_1(3MLIB),      mlib_SignalFFTW_2(3MLIB),      mlib_Sig‐
192       nalFFTW_3(3MLIB), mlib_SignalFFTW_4(3MLIB),  mlib_SignalIFFTW_1(3MLIB),
193       mlib_SignalIFFTW_2(3MLIB), mlib_SignalIFFTW_4(3MLIB), attributes(5)
194
195
196
197SunOS 5.11                        2 Mar 2007         mlib_SignalIFFTW_3(3MLIB)
Impressum