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

NAME

6       mlib_SignalIFFT_2,       mlib_SignalIFFT_2_S16_S16_Mod,       mlib_Sig‐
7       nalIFFT_2_S16C_S16C_Mod,   mlib_SignalIFFT_2_S16_S16C_Mod,    mlib_Sig‐
8       nalIFFT_2_S16_Mod,         mlib_SignalIFFT_2_S16C_Mod,        mlib_Sig‐
9       nalIFFT_2_F32_F32,        mlib_SignalIFFT_2_F32C_F32C,        mlib_Sig‐
10       nalIFFT_2_F32_F32C,    mlib_SignalIFFT_2_F32,   mlib_SignalIFFT_2_F32C,
11       mlib_SignalIFFT_2_D64_D64,    mlib_SignalIFFT_2_D64C_D64C,    mlib_Sig‐
12       nalIFFT_2_D64_D64C,   mlib_SignalIFFT_2_D64,  mlib_SignalIFFT_2_D64C  -
13       signal Inverse Fast Fourier Transform (IFFT)
14

SYNOPSIS

16       cc [ flag... ] file... -lmlib [ library... ]
17       #include <mlib.h>
18
19       mlib_status mlib_SignalIFFT_2_S16_S16_Mod(mlib_s16 *dstr,
20           mlib_s16 *dsti,
21            const mlib_s16 *srcr, const mlib_s16 *srci, mlib_s32 order);
22
23
24       mlib_status mlib_SignalIFFT_2_S16C_S16C_Mod(mlib_s16 *dstc,
25           const mlib_s16 *srcc,
26            mlib_s32 order);
27
28
29       mlib_status mlib_SignalIFFT_2_S16_S16C_Mod(mlib_s16 *dstr,
30           const mlib_s16 *srcc,
31            mlib_s32 order);
32
33
34       mlib_status mlib_SignalIFFT_2_S16_Mod(mlib_s16 *srcdstr,
35           mlib_s16 *srcdsti,
36            mlib_s32 order);
37
38
39       mlib_status mlib_SignalIFFT_2_S16C_Mod(mlib_s16 *srcdstc, mlib_s32 order);
40
41
42       mlib_status mlib_SignalIFFT_2_F32_F32(mlib_f32 *dstr,
43           mlib_f32 *dsti,
44            const mlib_f32 *srcr, const mlib_f32 *srci, mlib_s32 order);
45
46
47       mlib_status mlib_SignalIFFT_2_F32C_F32C(mlib_f32 *dstc,
48            const mlib_f32 *srcc,
49            mlib_s32 order);
50
51
52       mlib_status mlib_SignalIFFT_2_F32_F32C(mlib_f32 *dstr,
53            const mlib_f32 *srcc,
54            mlib_s32 order);
55
56
57       mlib_status mlib_SignalIFFT_2_F32(mlib_f32 *srcdstr,
58            mlib_f32 *srcdsti,
59            mlib_s32 order);
60
61
62       mlib_status mlib_SignalIFFT_2_F32C(mlib_f32 *srcdstc,
63            mlib_s32 order);
64
65
66       mlib_status mlib_SignalIFFT_2_D64_D64(mlib_d64 *dstr,
67            mlib_d64 *dsti,
68            const mlib_d64 *srcr, const mlib_d64 *srci, mlib_s32 order);
69
70
71       mlib_status mlib_SignalIFFT_2_D64C_D64C(mlib_d64 *dstc,
72            const mlib_d64 *srcc,
73            mlib_s32 order);
74
75
76       mlib_status mlib_SignalIFFT_2_D64_D64C(mlib_d64 *dstr,
77            const mlib_d64 *srcc,
78            mlib_s32 order);
79
80
81       mlib_status mlib_SignalIFFT_2_D64(mlib_d64 *srcdstr,
82            mlib_d64 *srcdsti,
83            mlib_s32 order);
84
85
86       mlib_status mlib_SignalIFFT_2_D64C(mlib_d64 *srcdstc,
87            mlib_s32 order);
88
89

DESCRIPTION

91       Each of the functions in  this  group  performs  Inverse  Fast  Fourier
92       Transform (IFFT).
93
94
95       The following equation is used for forward FFT:
96
97                   1   N-1
98         dst[k] = ---- SUM {src[n] * exp(-j2*PI*n*k/N)}
99                   C1  n=0
100
101
102
103       and the following equation is used for inverse FFT (IFFT):
104
105                   1   N-1
106         dst[n] = ---- SUM {src[k] * exp(j2*PI*n*k/N)}
107                   C2  k=0
108
109
110
111       where
112
113         k = 0, 1, ..., (N - 1)
114         n = 0, 1, ..., (N - 1)
115         N = 2**order
116
117
118
119       The  signal  FFT/IFFT  functions  can  be  categorized into four groups
120       according to the ScaleMode in the function names in the following form:
121
122         mlib_Signal[FFT|IFFT]_ScaleMode_OutType_InType_OpMode()
123         mlib_Signal[FFT|IFFT]_ScaleMode_DataType_OpMode()
124
125
126
127       The scaling factors C1 and C2 used in the equations are defined as fol‐
128       lows:
129
130           o      For ScaleMode = 1, C1 = 1 and C2 = 2**order.
131
132           o      For ScaleMode = 2, C1 = 2**order and C2 = 1.
133
134           o      For  ScaleMode  =  3,  C1  = C2 = 2**(order/2) when order is
135                  even, or C1 = 2**((order+1)/2)  and  C2  =  2**((order-1)/2)
136                  when order is odd.
137
138           o      For  ScaleMode  =  4, C1 = 2**P and C2 = 2**Q, where P and Q
139                  are adaptive scaling factors and are generated by the  func‐
140                  tions.
141
142
143       For functions with only real parts for the source signal, the imaginary
144       parts are assumed to be all zero. For functions with  only  real  parts
145       for  the  destination  signal,  the  imaginary parts are discarded. The
146       functions with only one data type in their names perform the  operation
147       in place.
148

PARAMETERS

150       Each function takes some of the following arguments:
151
152       dstr       Destination signal array that contains the real parts.
153
154
155       dsti       Destination signal array that contains the imaginary parts.
156
157
158       srcr       Source signal array that contains the real parts.
159
160
161       srci       Source signal array that contains the imaginary parts.
162
163
164       dstc       Complex  destination  signal  array.  dstc[2*i] contains the
165                  real parts, and dstc[2*i+1] contains the imaginary parts.
166
167
168       srcc       Complex source signal array.  srcc[2*i]  contains  the  real
169                  parts, and srcc[2*i+1] contains the imaginary parts.
170
171
172       srcdstr    Source  and  destination signal array that contains the real
173                  parts.
174
175
176       srcdsti    Source and destination signal array that contains the imagi‐
177                  nary parts.
178
179
180       srcdstc    Complex  source  and  destination signal array. srcdstc[2*i]
181                  contains the real parts,  and  srcdstc[2*i+1]  contains  the
182                  imaginary parts.
183
184
185       order      Order  of  the  transformation.  The base-2 logarithm of the
186                  number of data samples.
187
188

RETURN VALUES

190       The function returns MLIB_SUCCESS if successful. Otherwise  it  returns
191       MLIB_FAILURE.
192

ATTRIBUTES

194       See attributes(5) for descriptions of the following attributes:
195
196
197
198
199       ┌─────────────────────────────┬─────────────────────────────┐
200       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
201       ├─────────────────────────────┼─────────────────────────────┤
202       │Interface Stability          │Committed                    │
203       ├─────────────────────────────┼─────────────────────────────┤
204       │MT-Level                     │MT-Safe                      │
205       └─────────────────────────────┴─────────────────────────────┘
206

SEE ALSO

208       mlib_SignalFFT_1(3MLIB),       mlib_SignalFFT_2(3MLIB),       mlib_Sig‐
209       nalFFT_3(3MLIB),   mlib_SignalFFT_4(3MLIB),   mlib_SignalIFFT_1(3MLIB),
210       mlib_SignalIFFT_3(3MLIB), mlib_SignalIFFT_4(3MLIB), attributes(5)
211
212
213
214SunOS 5.11                        2 Mar 2007          mlib_SignalIFFT_2(3MLIB)
Impressum