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