00001
00042
00043 #include <assert.h>
00044 #include <stdio.h>
00045
00046 #include <vector>
00047
00048 #include "signalUtil.h"
00049 #include "spectrum.h"
00050
00051 #include "haar.h"
00052 #include "daub.h"
00053 #include "line.h"
00054
00055
00056
00057
00058
00059 void genSawTooth( double *vec, size_t N)
00060 {
00061 double *A = new double[N];
00062 double *B = new double[N];
00063
00064 signalUtil::sawToothWave( A, N, 8, 1.5 );
00065 signalUtil::sawToothWave( B, N, 32, 0.25 );
00066 signalUtil::addSignal( vec, A, B, N );
00067 delete [] A;
00068 delete [] B;
00069 }
00070
00071
00094 int
00095 main()
00096 {
00097 const size_t N = 1024;
00098
00099 double vecX[N], vecY[N];
00100
00101
00102
00103
00104 genSawTooth( vecY, N );
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117 line<double *> w;
00118
00119
00120
00121
00122
00123
00124
00125 double *ptr = vecY;
00126 w.forwardTrans( ptr, N );
00127
00128 std::vector<double> powerVec;
00129 spectrum::spectralCalc( vecY, N, powerVec );
00130
00131
00132
00133
00134 size_t len = powerVec.size();
00135 for (size_t i = 0; i < len; i++) {
00136
00137 }
00138
00139 double d1[N], d2[N];
00140
00141 spectrum::copyBands( d1, vecY, N, 0, 6 );
00142 spectrum::copyBands( d2, vecY, N, 7, 10 );
00143
00144 ptr = d1;
00145 w.inverseTrans( ptr, N );
00146
00147 ptr = d2;
00148 w.inverseTrans( ptr, N );
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160 signalUtil::prVec( d2, N );
00161 return 0;
00162 }