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

NAME

6       mlib_SignalFFT_1,        mlib_SignalFFT_1_S16_S16_Mod,        mlib_Sig‐
7       nalFFT_1_S16C_S16C_Mod,    mlib_SignalFFT_1_S16C_S16_Mod,     mlib_Sig‐
8       nalFFT_1_S16_Mod,  mlib_SignalFFT_1_S16C_Mod, mlib_SignalFFT_1_F32_F32,
9       mlib_SignalFFT_1_F32C_F32C,    mlib_SignalFFT_1_F32C_F32,     mlib_Sig‐
10       nalFFT_1_F32,      mlib_SignalFFT_1_F32C,     mlib_SignalFFT_1_D64_D64,
11       mlib_SignalFFT_1_D64C_D64C,    mlib_SignalFFT_1_D64C_D64,     mlib_Sig‐
12       nalFFT_1_D64,  mlib_SignalFFT_1_D64C  -  signal  Fast Fourier Transform
13       (FFT)
14

SYNOPSIS

16       cc [ flag... ] file... -lmlib [ library... ]
17       #include <mlib.h>
18
19       mlib_status mlib_SignalFFT_1_S16_S16_Mod(mlib_s16 *dstr, mlib_s16 *dsti,
20            const mlib_s16 *srcr, const mlib_s16 *srci, mlib_s32 order);
21
22
23       mlib_status mlib_SignalFFT_1_S16C_S16C_Mod(mlib_s16 *dstc,
24            const mlib_s16 *srcc,mlib_s32 order);
25
26
27       mlib_status mlib_SignalFFT_1_S16C_S16_Mod(mlib_s16 *dstc,
28            const mlib_s16 *srcr,mlib_s32 order);
29
30
31       mlib_status mlib_SignalFFT_1_S16_Mod(mlib_s16 *srcdstr,
32            mlib_s16 *srcdsti,mlib_s32 order);
33
34
35       mlib_status mlib_SignalFFT_1_S16C_Mod(mlib_s16 *srcdstc,
36            mlib_s32 order);
37
38
39       mlib_status mlib_SignalFFT_1_F32_F32(mlib_f32 *dstr,
40            mlib_f32 *dsti,const mlib_f32 *srcr, const mlib_f32 *srci,
41            mlib_s32 order);
42
43
44       mlib_status mlib_SignalFFT_1_F32C_F32C(mlib_f32 *dstc,
45            const mlib_f32 *srcc,mlib_s32 order);
46
47
48       mlib_status mlib_SignalFFT_1_F32C_F32(mlib_f32 *dstc,
49            const mlib_f32 *srcr,mlib_s32 order);
50
51
52       mlib_status mlib_SignalFFT_1_F32(mlib_f32 *srcdstr,
53            mlib_f32 *srcdsti,mlib_s32 order);
54
55
56       mlib_status mlib_SignalFFT_1_F32C(mlib_f32 *srcdstc,
57            mlib_s32 order);
58
59
60       mlib_status mlib_SignalFFT_1_D64_D64(mlib_d64 *dstr,
61            mlib_d64 *dsti,const mlib_d64 *srcr, const mlib_d64 *srci,
62            mlib_s32 order);
63
64
65       mlib_status mlib_SignalFFT_1_D64C_D64C(mlib_d64 *dstc,
66            const mlib_d64 *srcc,mlib_s32 order);
67
68
69       mlib_status mlib_SignalFFT_1_D64C_D64(mlib_d64 *dstc,
70            const mlib_d64 *srcr,mlib_s32 order);
71
72
73       mlib_status mlib_SignalFFT_1_D64(mlib_d64 *srcdstr,
74            mlib_d64 *srcdsti,mlib_s32 order);
75
76
77       mlib_status mlib_SignalFFT_1_D64C(mlib_d64 *srcdstc,
78            mlib_s32 order);
79
80

DESCRIPTION

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

PARAMETERS

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

RETURN VALUES

181       The function returns MLIB_SUCCESS if successful. Otherwise  it  returns
182       MLIB_FAILURE.
183

ATTRIBUTES

185       See attributes(5) for descriptions of the following attributes:
186
187
188
189
190       ┌─────────────────────────────┬─────────────────────────────┐
191       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
192       ├─────────────────────────────┼─────────────────────────────┤
193       │Interface Stability          │Committed                    │
194       ├─────────────────────────────┼─────────────────────────────┤
195       │MT-Level                     │MT-Safe                      │
196       └─────────────────────────────┴─────────────────────────────┘
197

SEE ALSO

199       mlib_SignalFFT_2(3MLIB),       mlib_SignalFFT_3(3MLIB),       mlib_Sig‐
200       nalFFT_4(3MLIB),  mlib_SignalIFFT_1(3MLIB),   mlib_SignalIFFT_2(3MLIB),
201       mlib_SignalIFFT_3(3MLIB), mlib_SignalIFFT_4(3MLIB), attributes(5)
202
203
204
205SunOS 5.11                        2 Mar 2007           mlib_SignalFFT_1(3MLIB)
Impressum