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 }