Thanks for your reply. My header is:
Code:
#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include <complex>
using namespace std;
typedef complex<float> fcomplex;
typedef vector<vector<fcomplex> > iqmatrix;
typedef vector<fcomplex> iqvector;
//functions
void calc_vector_sum();
void add_data(string, iqmatrix &);
void write_data(string, iqmatrix &);
Function add_data is:
Code:
#include "average_phase.h"
void add_data(string filename, iqmatrix &iqsum) {
// open iq file
ifstream iqfile (filename.c_str(), ios::in|ios::binary);
if (!iqfile.is_open()) {
cout << "Unable to open binary file" << endl;
exit(1);
}
// get dimensions of matrix
int ny = iqsum.size();
int nx = iqsum[0].size();
float data;
for (int y=0;y<ny;y++){
for (int x=0;x<nx;x++){
// add real part I
iqfile.read(reinterpret_cast < char * > (&data), sizeof(data));
iqsum[y][x].real(iqsum[y][x].real() + data);
// add imag part Q
iqfile.read(reinterpret_cast < char * > (&data), sizeof(data));
iqsum[y][x].imag(iqsum[y][x].imag() + data);
}
}
iqfile.close();
}
The add_data calling code is given in previous post, I hope the rest is irrelevant.
Best regards