eliminate fp/int IQ data conversions

This commit is contained in:
Charles J. Cliffe
2014-12-26 16:15:35 -05:00
parent b487cf9901
commit 45b223aed9
11 changed files with 47 additions and 50 deletions
+3 -3
View File
@@ -73,7 +73,7 @@ void SpectrumCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) {
SwapBuffers();
}
void SpectrumCanvas::setData(std::vector<signed char> *data) {
void SpectrumCanvas::setData(std::vector<liquid_float_complex> *data) {
if (data && data->size()) {
if (spectrum_points.size() < FFT_SIZE * 2) {
@@ -81,8 +81,8 @@ void SpectrumCanvas::setData(std::vector<signed char> *data) {
}
for (int i = 0; i < FFT_SIZE; i++) {
in[i][0] = (float) (*data)[i * 2] / 127.0f;
in[i][1] = (float) (*data)[i * 2 + 1] / 127.0f;
in[i][0] = (*data)[i].real;
in[i][1] = (*data)[i].imag;
}
fftw_execute(plan);
+1 -1
View File
@@ -17,7 +17,7 @@ public:
SpectrumCanvas(wxWindow *parent, int *attribList = NULL);
~SpectrumCanvas();
void setData(std::vector<signed char> *data);
void setData(std::vector<liquid_float_complex> *data);
private:
void OnPaint(wxPaintEvent& event);
+3 -3
View File
@@ -206,7 +206,7 @@ void WaterfallCanvas::OnKeyDown(wxKeyEvent& event) {
}
}
void WaterfallCanvas::setData(std::vector<signed char> *data) {
void WaterfallCanvas::setData(std::vector<liquid_float_complex> *data) {
if (data && data->size()) {
if (spectrum_points.size() < FFT_SIZE * 2) {
@@ -214,8 +214,8 @@ void WaterfallCanvas::setData(std::vector<signed char> *data) {
}
for (int i = 0; i < FFT_SIZE; i++) {
in[i][0] = (float) (*data)[i * 2] / 127.0f;
in[i][1] = (float) (*data)[i * 2 + 1] / 127.0f;
in[i][0] = (*data)[i].real;
in[i][1] = (*data)[i].imag;
}
fftw_execute(plan);
+1 -1
View File
@@ -21,7 +21,7 @@ public:
WaterfallCanvas(wxWindow *parent, int *attribList = NULL);
~WaterfallCanvas();
void setData(std::vector<signed char> *data);
void setData(std::vector<liquid_float_complex> *data);
int GetFrequencyAt(float x);
private: