mirror of https://github.com/pvnis/srsRAN_4G.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.1 KiB
C
54 lines
1.1 KiB
C
11 years ago
|
#ifndef COMPLEXPLOT_H
|
||
|
#define COMPLEXPLOT_H
|
||
|
|
||
|
#include <string>
|
||
|
#include <complex>
|
||
|
|
||
|
class ComplexplotWrapper;
|
||
|
|
||
|
class Complexplot
|
||
|
{
|
||
|
public:
|
||
|
enum PlotId
|
||
|
{
|
||
|
I,
|
||
|
Q,
|
||
|
Magnitude,
|
||
|
Phase
|
||
|
};
|
||
|
Complexplot();
|
||
|
~Complexplot();
|
||
|
|
||
|
template<class Iterator>
|
||
|
void setNewData(Iterator begin, Iterator end);
|
||
|
void setNewData(std::complex<float>* data, int numPoints);
|
||
|
void setNewData(std::complex<double>* data, int numPoints);
|
||
|
void setTitle(std::string title);
|
||
|
void setXAxisAutoScale(PlotId id, bool on);
|
||
|
void setYAxisAutoScale(PlotId id, bool on);
|
||
|
void setXAxisScale(PlotId id, double xMin, double xMax);
|
||
|
void setYAxisScale(PlotId id, double yMin, double yMax);
|
||
|
void setXAxisRange(double xMin, double xMax);
|
||
|
|
||
|
private:
|
||
|
ComplexplotWrapper* plot_;
|
||
|
};
|
||
|
|
||
|
template<class Iterator>
|
||
|
void Complexplot::setNewData(Iterator begin, Iterator end)
|
||
|
{
|
||
|
int numPoints = end-begin;
|
||
|
std::complex<double>* data = new std::complex<double>[numPoints];
|
||
|
|
||
|
for(int i=0;begin!=end;begin++,i++)
|
||
|
{
|
||
|
data[i] = *begin;
|
||
|
}
|
||
|
|
||
|
setNewData(data, numPoints);
|
||
|
|
||
|
delete[] data;
|
||
|
}
|
||
|
|
||
|
#endif // COMPLEXPLOT_H
|