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

NAME

6       mlib_SignalFFTW_3,       mlib_SignalFFTW_3_S16_S16_Mod,       mlib_Sig‐
7       nalFFTW_3_S16C_S16C_Mod,   mlib_SignalFFTW_3_S16C_S16_Mod,    mlib_Sig‐
8       nalFFTW_3_S16_Mod,         mlib_SignalFFTW_3_S16C_Mod,        mlib_Sig‐
9       nalFFTW_3_F32_F32,        mlib_SignalFFTW_3_F32C_F32C,        mlib_Sig‐
10       nalFFTW_3_F32C_F32,   mlib_SignalFFTW_3_F32,  mlib_SignalFFTW_3_F32C  -
11       signal Fast Fourier Transform with windowing (FFTW)
12

SYNOPSIS

14       cc [ flag... ] file... -lmlib [ library... ]
15       #include <mlib.h>
16
17       mlib_status mlib_SignalFFTW_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_SignalFFTW_3_S16C_S16C_Mod(mlib_s16 *dstc,
23            const mlib_s16 *srcc,const mlib_s16 *window, mlib_s32 order);
24
25
26       mlib_status mlib_SignalFFTW_3_S16C_S16_Mod(mlib_s16 *dstc,
27            const mlib_s16 *srcr,const mlib_s16 *window, mlib_s32 order);
28
29
30       mlib_status mlib_SignalFFTW_3_S16_Mod(mlib_s16 *srcdstr,
31            mlib_s16 *srcdsti,const mlib_s16 *window, mlib_s32 order);
32
33
34       mlib_status mlib_SignalFFTW_3_S16C_Mod(mlib_s16 *srcdstc,
35            const mlib_s16 *window,mlib_s32 order);
36
37
38       mlib_status mlib_SignalFFTW_3_F32_F32(mlib_f32 *dstr,
39            mlib_f32 *dsti,const mlib_f32 *srcr, const mlib_f32 *srci,
40            const mlib_f32 *window,mlib_s32 order);
41
42
43       mlib_status mlib_SignalFFTW_3_F32C_F32C(mlib_f32 *dstc,
44            const mlib_f32 *srcc,const mlib_f32 *window, mlib_s32 order);
45
46
47       mlib_status mlib_SignalFFTW_3_F32C_F32(mlib_f32 *dstc,
48            const mlib_f32 *srcr,const mlib_f32 *window, mlib_s32 order);
49
50
51       mlib_status mlib_SignalFFTW_3_F32(mlib_f32 *srcdstr,
52            mlib_f32 *srcdsti,const mlib_f32 *window, mlib_s32 order);
53
54
55       mlib_status mlib_SignalFFTW_3_F32C(mlib_f32 *srcdstc,
56            const mlib_f32 *window,mlib_s32 order);
57
58

DESCRIPTION

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

PARAMETERS

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

RETURN VALUES

164       Each function returns MLIB_SUCCESS if successful. Otherwise it  returns
165       MLIB_FAILURE.
166

ATTRIBUTES

168       See attributes(5) for descriptions of the following attributes:
169
170
171
172
173       ┌─────────────────────────────┬─────────────────────────────┐
174       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
175       ├─────────────────────────────┼─────────────────────────────┤
176       │Interface Stability          │Committed                    │
177       ├─────────────────────────────┼─────────────────────────────┤
178       │MT-Level                     │MT-Safe                      │
179       └─────────────────────────────┴─────────────────────────────┘
180

SEE ALSO

182       mlib_SignalFFTW_1(3MLIB),      mlib_SignalFFTW_2(3MLIB),      mlib_Sig‐
183       nalFFTW_4(3MLIB), mlib_SignalIFFTW_1(3MLIB), mlib_SignalIFFTW_2(3MLIB),
184       mlib_SignalIFFTW_3(3MLIB), mlib_SignalIFFTW_4(3MLIB), attributes(5)
185
186
187
188SunOS 5.11                        2 Mar 2007          mlib_SignalFFTW_3(3MLIB)
Impressum