22 lines
566 B
C++
22 lines
566 B
C++
#include "estimatePulseLength.h"
|
|
#include "Function1D.h"
|
|
#include "Function2D.h"
|
|
#include <cstddef>
|
|
#include <vector>
|
|
|
|
using namespace Aurora;
|
|
|
|
double Recon::estimatePulseLength(const CeEstimatePulseLength& aCe, double aSampleFreq)
|
|
{
|
|
Matrix value1 = abs(hilbert(aCe.ce));
|
|
double value2 = 0.05 * max(abs(hilbert(aCe.ce)),All)[0];
|
|
std::vector<size_t> t;
|
|
for(size_t i=0; i<value1.getDataSize(); ++i)
|
|
{
|
|
if(value1[i] > value2)
|
|
{
|
|
t.push_back(i);
|
|
}
|
|
}
|
|
return (t[t.size()-1] - t[0]) / aCe.ce_sf * aSampleFreq;
|
|
} |