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 }