git-svn-id: svn://db.shs.com.ru/pip@318 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2017-03-15 08:45:29 +00:00
parent 286b63e93d
commit a1d77eff32
5 changed files with 103 additions and 36 deletions

View File

@@ -59,14 +59,33 @@ PIVector<complexd> * PIFFT_double::calcFFT(const PIVector<double> & val) {
}
PIVector<double> PIFFT_double::getAmplitude() {
PIVector<double> a;
PIVector<double> PIFFT_double::getAmplitude() const {
PIVector<double> ret;
ret.resize(result.size());
double tmp;
for (uint i = 0; i < result.size(); i++) {
tmp = sqrt(result[i].real() * result[i].real() + result[i].imag() * result[i].imag());
a.push_back(tmp);
ret[i] = tmp;
}
return a;
return ret;
}
PIVector<double> PIFFT_double::getReal() const {
PIVector<double> ret;
ret.resize(result.size());
for (uint i = 0; i < result.size(); i++)
ret[i] = result[i].real();
return ret;
}
PIVector<double> PIFFT_double::getImag() const {
PIVector<double> ret;
ret.resize(result.size());
for (uint i = 0; i < result.size(); i++)
ret[i] = result[i].imag();
return ret;
}
@@ -980,14 +999,33 @@ PIVector<complexf> * PIFFT_float::calcFFT(const PIVector<float> & val) {
}
PIVector<float> PIFFT_float::getAmplitude() {
PIVector<float> a;
PIVector<float> PIFFT_float::getAmplitude() const {
PIVector<float> ret;
ret.resize(result.size());
float tmp;
for (uint i = 0; i < result.size(); i++) {
tmp = sqrt(result[i].real() * result[i].real() + result[i].imag() * result[i].imag());
a.push_back(tmp);
ret[i] = tmp;
}
return a;
return ret;
}
PIVector<float> PIFFT_float::getReal() const {
PIVector<float> ret;
ret.resize(result.size());
for (uint i = 0; i < result.size(); i++)
ret[i] = result[i].real();
return ret;
}
PIVector<float> PIFFT_float::getImag() const {
PIVector<float> ret;
ret.resize(result.size());
for (uint i = 0; i < result.size(); i++)
ret[i] = result[i].imag();
return ret;
}

View File

@@ -34,7 +34,9 @@ public:
PIVector<complexd> * calcFFT(const PIVector<double> &val);
PIVector<complexd> * calcFFTinverse(const PIVector<complexd> &val);
PIVector<complexd> * calcHilbert(const PIVector<double> &val);
PIVector<double> getAmplitude();
PIVector<double> getAmplitude() const;
PIVector<double> getReal() const;
PIVector<double> getImag() const;
private:
PIVector<complexd> result;
@@ -78,7 +80,9 @@ public:
PIVector<complexf> * calcFFT(const PIVector<float> &val);
PIVector<complexf> * calcFFTinverse(const PIVector<complexf> &val);
PIVector<complexf> * calcHilbert(const PIVector<float> &val);
PIVector<float> getAmplitude();
PIVector<float> getAmplitude() const;
PIVector<float> getReal() const;
PIVector<float> getImag() const;
private:
PIVector<complexf> result;