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

NAME

6       mlib_SignalIFFTW_2,      mlib_SignalIFFTW_2_S16_S16_Mod,      mlib_Sig‐
7       nalIFFTW_2_S16C_S16C_Mod,  mlib_SignalIFFTW_2_S16_S16C_Mod,   mlib_Sig‐
8       nalIFFTW_2_S16_Mod,        mlib_SignalIFFTW_2_S16C_Mod,       mlib_Sig‐
9       nalIFFTW_2_F32_F32,       mlib_SignalIFFTW_2_F32C_F32C,       mlib_Sig‐
10       nalIFFTW_2_F32_F32C,  mlib_SignalIFFTW_2_F32, mlib_SignalIFFTW_2_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_2_S16_S16_Mod(mlib_s16 *dstr,
18            mlib_s16 *dsti,
19            const mlib_s16 *srcr, const mlib_s16 *srci, const mlib_s16 *window,
20            mlib_s32 order);
21
22
23       mlib_status mlib_SignalIFFTW_2_S16C_S16C_Mod(mlib_s16 *dstc,
24            const mlib_s16 *srcc,
25            const mlib_s16 *window, mlib_s32 order);
26
27
28       mlib_status mlib_SignalIFFTW_2_S16_S16C_Mod(mlib_s16 *dstr,
29            const mlib_s16 *srcc,
30            const mlib_s16 *window, mlib_s32 order);
31
32
33       mlib_status mlib_SignalIFFTW_2_S16_Mod(mlib_s16 *srcdstr,
34            mlib_s16 *srcdsti,
35            const mlib_s16 *window, mlib_s32 order);
36
37
38       mlib_status mlib_SignalIFFTW_2_S16C_Mod(mlib_s16 *srcdstc,
39            const mlib_s16 *window,
40            mlib_s32 order);
41
42
43       mlib_status mlib_SignalIFFTW_2_F32_F32(mlib_f32 *dstr,
44            mlib_f32 *dsti,
45            const mlib_f32 *srcr, const mlib_f32 *srci, const mlib_f32 *window,
46            mlib_s32 order);
47
48
49       mlib_status mlib_SignalIFFTW_2_F32C_F32C(mlib_f32 *dstc,
50            const mlib_f32 *srcc,
51            const mlib_f32 *window, mlib_s32 order);
52
53
54       mlib_status mlib_SignalIFFTW_2_F32_F32C(mlib_f32 *dstr,
55            const mlib_f32 *srcc,
56            const mlib_f32 *window, mlib_s32 order);
57
58
59       mlib_status mlib_SignalIFFTW_2_F32(mlib_f32 *srcdstr,
60            mlib_f32 *srcdsti,
61            const mlib_f32 *window, mlib_s32 order);
62
63
64       mlib_status mlib_SignalIFFTW_2_F32C(mlib_f32 *srcdstc,
65            const mlib_f32 *window,
66            mlib_s32 order);
67
68

DESCRIPTION

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

PARAMETERS

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

RETURN VALUES

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

ATTRIBUTES

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

SEE ALSO

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