Doxygen Source Code Documentation
Haar.c File Reference
Go to the source code of this file.
Functions | |
| void | Haar_ip_FFWT_1d (int n, float *s) |
| void | Haar_ip_IFWT_1d (int n, float *s) |
| void | Haar_forward_pass_1d (int n, float *s) |
| void | Haar_forward_FWT_1d (int n, float *s) |
| void | Haar_inverse_pass_1d (int n, float *s) |
| void | Haar_inverse_FWT_1d (int n, float *s) |
| void | Haar_forward_pass_2d (int n, float **s) |
| void | Haar_forward_FWT_2d (int n, float **s) |
| void | Haar_inverse_pass_2d (int n, float **s) |
| void | Haar_inverse_FWT_2d (int n, float **s) |
Function Documentation
|
||||||||||||
|
Definition at line 139 of file Haar.c. References Haar_forward_pass_1d(), and powerof2(). Referenced by wavelet_analysis().
00140 {
00141 int m;
00142 int npts;
00143
00144 npts = powerof2 (n);
00145
00146 for (m = n-1; m >= 0; m--)
00147 {
00148 Haar_forward_pass_1d (m+1, s);
00149 /*
00150 ts_print (npts, s);
00151 */
00152 }
00153 }
|
|
||||||||||||
|
Definition at line 246 of file Haar.c. References Haar_forward_pass_2d(), and powerof2().
00247 {
00248 int m;
00249 int npts;
00250
00251 npts = powerof2 (n);
00252
00253 for (m = n-1; m >= 0; m--)
00254 {
00255 Haar_forward_pass_2d (m+1, s);
00256 }
00257 }
|
|
||||||||||||
|
Definition at line 106 of file Haar.c. References a, c, free, i, malloc, and powerof2(). Referenced by Haar_forward_FWT_1d(), and Haar_forward_pass_2d().
00107 {
00108 int i;
00109 int npts;
00110 float * a = NULL;
00111 float * c = NULL;
00112
00113 npts = powerof2 (n);
00114 a = (float *) malloc (sizeof(float) * npts/2);
00115 c = (float *) malloc (sizeof(float) * npts/2);
00116
00117 for (i = 0; i < npts/2; i++)
00118 {
00119 a[i] = (s[2*i] + s[2*i+1]) / 2.0;
00120 c[i] = (s[2*i] - s[2*i+1]) / 2.0;
00121 }
00122
00123 for (i = 0; i < npts/2; i++)
00124 {
00125 s[i] = a[i];
00126 s[i + npts/2] = c[i];
00127 }
00128
00129 free (a); a = NULL;
00130 free (c); c = NULL;
00131 }
|
|
||||||||||||
|
Definition at line 212 of file Haar.c. References c, free, Haar_forward_pass_1d(), i, malloc, and powerof2(). Referenced by Haar_forward_FWT_2d().
00213 {
00214 int i, j;
00215 int npts;
00216 float * c = NULL;
00217
00218
00219 npts = powerof2 (n);
00220
00221 for (i = 0; i < npts; i++)
00222 {
00223 Haar_forward_pass_1d (n, s[i]);
00224 }
00225
00226 c = (float *) malloc (sizeof(float) * npts);
00227
00228 for (j = 0; j < npts; j++)
00229 {
00230 for (i = 0; i < npts; i++)
00231 c[i] = s[i][j];
00232 Haar_forward_pass_1d (n, c);
00233 for (i = 0; i < npts; i++)
00234 s[i][j] = c[i];
00235 }
00236
00237 free (c); c = NULL;
00238 }
|
|
||||||||||||
|
Definition at line 190 of file Haar.c. References Haar_inverse_pass_1d(), and powerof2(). Referenced by wavelet_analysis().
00191 {
00192 int m;
00193 int npts;
00194
00195 npts = powerof2 (n);
00196
00197 for (m = 1; m <=n; m++)
00198 {
00199 Haar_inverse_pass_1d (m, s);
00200 /*
00201 ts_print (npts, s);
00202 */
00203 }
00204 }
|
|
||||||||||||
|
Definition at line 299 of file Haar.c. References Haar_inverse_pass_2d(), and powerof2().
00300 {
00301 int m;
00302 int npts;
00303
00304 npts = powerof2 (n);
00305
00306 for (m = 1; m <= n; m++)
00307 {
00308 Haar_inverse_pass_2d (m, s);
00309 }
00310 }
|
|
||||||||||||
|
Definition at line 161 of file Haar.c. References free, i, malloc, powerof2(), and r. Referenced by Haar_inverse_FWT_1d(), and Haar_inverse_pass_2d().
00162 {
00163 int i;
00164 int npts;
00165 float * r = NULL;
00166
00167 npts = powerof2 (n);
00168 r = (float *) malloc (sizeof(float) * npts);
00169
00170 for (i = 0; i < npts/2; i++)
00171 {
00172 r[2*i] = s[i] + s[i + npts/2];
00173 r[2*i+1] = s[i] - s[i + npts/2];
00174 }
00175
00176 for (i = 0; i < npts; i++)
00177 {
00178 s[i] = r[i];
00179 }
00180
00181 free (r); r = NULL;
00182 }
|
|
||||||||||||
|
Definition at line 265 of file Haar.c. References c, free, Haar_inverse_pass_1d(), i, malloc, and powerof2(). Referenced by Haar_inverse_FWT_2d().
00266 {
00267 int i, j;
00268 int npts;
00269 float * c = NULL;
00270
00271
00272 npts = powerof2 (n);
00273
00274 for (i = 0; i < npts; i++)
00275 {
00276 Haar_inverse_pass_1d (n, s[i]);
00277 }
00278
00279 c = (float *) malloc (sizeof(float) * npts);
00280
00281 for (j = 0; j < npts; j++)
00282 {
00283 for (i = 0; i < npts; i++)
00284 c[i] = s[i][j];
00285 Haar_inverse_pass_1d (n, c);
00286 for (i = 0; i < npts; i++)
00287 s[i][j] = c[i];
00288 }
00289
00290 free (c); c = NULL;
00291 }
|
|
||||||||||||
|
Definition at line 22 of file Haar.c. References a, c, i, l, and powerof2().
00023 {
00024 float a;
00025 float c;
00026 int i;
00027 int j;
00028 int k;
00029 int l;
00030 int m;
00031
00032
00033 i = 1;
00034 j = 2;
00035 m = powerof2 (n);
00036
00037 for (l = n-1; l >= 0; l--)
00038 {
00039 printf ("l = %d \n", l);
00040 m /= 2;
00041
00042 for (k = 0; k < m; k++)
00043 {
00044 a = (s[j*k] + s[j*k+i]) / 2.0;
00045 c = (s[j*k] - s[j*k+i]) / 2.0;
00046 s[j*k] = a;
00047 s[j*k+i] = c;
00048 }
00049
00050 i *= 2;
00051 j *= 2;
00052 /*
00053 ts_print (powerof2(n), s);
00054 */
00055 }
00056 }
|
|
||||||||||||
|
Definition at line 64 of file Haar.c. References i, l, and powerof2().
00065 {
00066 float a0;
00067 float a1;
00068 int i;
00069 int j;
00070 int k;
00071 int l;
00072 int m;
00073
00074
00075 i = powerof2 (n-1);
00076 j = 2*i;
00077 m = 1;
00078
00079 for (l = 1; l <= n; l++)
00080 {
00081 printf ("l = %d \n", l);
00082
00083 for (k = 0; k < m; k++)
00084 {
00085 a0 = s[j*k] + s[j*k+i];
00086 a1 = s[j*k] - s[j*k+i];
00087 s[j*k] = a0;
00088 s[j*k+i] = a1;
00089 }
00090
00091 i /= 2;
00092 j /= 2;
00093 m *= 2;
00094 /*
00095 ts_print (powerof2(n), s);
00096 */
00097 }
00098 }
|