- switch to use radio_float_t
- RX/TX Buffers: fixed interfacing from radio_float_t to float I/O git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@931 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -152,10 +152,8 @@ void MainComponent::audioDeviceIOCallback (const float** inputChannelData,
|
||||
(void) numInputChannels;
|
||||
(void) numOutputChannels;
|
||||
|
||||
RMap rf((RealScalar*)inputChannelData[0], numSamples);
|
||||
m_pTransmitterControl->getData(outputChannelData[0], numSamples);
|
||||
// m_pReceiver->processPassband(rf, numSamples);
|
||||
m_rxBuf.write(rf, numSamples);
|
||||
m_rxBuf.write(inputChannelData[0], numSamples);
|
||||
|
||||
}
|
||||
|
||||
|
||||
+5
-6
@@ -1,5 +1,4 @@
|
||||
#include <cmath>
|
||||
#include <float.h>
|
||||
#include "Receiver.hpp"
|
||||
#include "MinMaxLemire.h"
|
||||
#include <cpp/radio/Frame.hpp>
|
||||
@@ -365,7 +364,7 @@ void Receiver::processPassband(RVec const &rf, uint32_t len)
|
||||
const ScopedLock sl (m_lock);
|
||||
|
||||
uint32_t len_down;
|
||||
float test4normal;
|
||||
radio_float_t test4normal;
|
||||
|
||||
if (!m_ReceiverEnable)
|
||||
{
|
||||
@@ -401,7 +400,7 @@ void Receiver::processPassband(RVec const &rf, uint32_t len)
|
||||
|
||||
}
|
||||
|
||||
void Receiver::processBaseband(float *pI, float *pQ, uint32_t len)
|
||||
void Receiver::processBaseband(radio_float_t *pI, radio_float_t *pQ, uint32_t len)
|
||||
{
|
||||
for (uint32_t i=0; i < len/2; i++)
|
||||
{
|
||||
@@ -630,10 +629,10 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
|
||||
|
||||
// Lock-detector development
|
||||
cpx_t winner_diff = Cpx(0,0);
|
||||
float winner_d = 1000;
|
||||
radio_float_t winner_d = 1000;
|
||||
int winner_i = 0;
|
||||
cpx_t diff;
|
||||
float d;
|
||||
radio_float_t d;
|
||||
for (int i=0; i < 4; i++)
|
||||
{
|
||||
diff = CpxSubS(IQ_soft, m_trackers_[i]);
|
||||
@@ -779,7 +778,7 @@ void Receiver::initFilterArm()
|
||||
}
|
||||
|
||||
// Interface
|
||||
void Receiver::setSamplerate(float samplerate_hz)
|
||||
void Receiver::setSamplerate(radio_float_t samplerate_hz)
|
||||
{
|
||||
const ScopedLock sl (m_lock);
|
||||
|
||||
|
||||
+37
-37
@@ -106,18 +106,18 @@ enum str_state
|
||||
|
||||
typedef struct _minmax_t
|
||||
{
|
||||
float min, max;
|
||||
radio_float_t min, max;
|
||||
|
||||
} minmax_t;
|
||||
|
||||
typedef struct _cpx_minmax_t
|
||||
{
|
||||
cpx_t min, max;
|
||||
float magMin, magMax;
|
||||
float phiAtMinI;
|
||||
float phiAtMaxI;
|
||||
float phiAtMinQ;
|
||||
float phiAtMaxQ;
|
||||
radio_float_t magMin, magMax;
|
||||
radio_float_t phiAtMinI;
|
||||
radio_float_t phiAtMaxI;
|
||||
radio_float_t phiAtMinQ;
|
||||
radio_float_t phiAtMaxQ;
|
||||
|
||||
} cpx_minmax_t;
|
||||
|
||||
@@ -160,10 +160,10 @@ typedef struct _statistics_t
|
||||
typedef struct _params_t
|
||||
{
|
||||
uint32_t numBitsPerSymbol;
|
||||
float symbolrate;
|
||||
float samplerate;
|
||||
float ddc_freq;
|
||||
float CPR_phase;
|
||||
radio_float_t symbolrate;
|
||||
radio_float_t samplerate;
|
||||
radio_float_t ddc_freq;
|
||||
radio_float_t CPR_phase;
|
||||
bool dfeAutoUpdateEnable;
|
||||
bool strAutoControlEnable;
|
||||
bool cprAutoControlEnable;
|
||||
@@ -180,9 +180,9 @@ typedef struct _params_t
|
||||
lead_lag_coeff_t cpr_loopfilter_coeff[2];
|
||||
uint32_t cpr_loopfilter_coeff_index;
|
||||
|
||||
float eqMuCma;
|
||||
float eqMuDfe;
|
||||
float agcMu[2];
|
||||
radio_float_t eqMuCma;
|
||||
radio_float_t eqMuDfe;
|
||||
radio_float_t agcMu[2];
|
||||
uint32_t agcMu_index;
|
||||
|
||||
enum str_state strState;
|
||||
@@ -196,31 +196,31 @@ typedef struct _status_t
|
||||
uint32 numSymbolsReceived;
|
||||
frame_statistics_t frameStatRx;
|
||||
|
||||
float noiseStr;
|
||||
float noiseCpr;
|
||||
radio_float_t noiseStr;
|
||||
radio_float_t noiseCpr;
|
||||
|
||||
float EB_N0;
|
||||
float powerRF_dB;
|
||||
float powerDDC_dB;
|
||||
float powerMF_dB;
|
||||
float powerCPR_dB;
|
||||
float powerAGC_dB;
|
||||
float powerEQ_dB;
|
||||
float powerDecison_dB;
|
||||
float powerMagDecision_dB;
|
||||
float powerPhiDecision_dB;
|
||||
radio_float_t EB_N0;
|
||||
radio_float_t powerRF_dB;
|
||||
radio_float_t powerDDC_dB;
|
||||
radio_float_t powerMF_dB;
|
||||
radio_float_t powerCPR_dB;
|
||||
radio_float_t powerAGC_dB;
|
||||
radio_float_t powerEQ_dB;
|
||||
radio_float_t powerDecison_dB;
|
||||
radio_float_t powerMagDecision_dB;
|
||||
radio_float_t powerPhiDecision_dB;
|
||||
|
||||
float snrCurrent_dB;
|
||||
float snrCma_dB;
|
||||
float snrDfeOn_dB;
|
||||
float snrDfeOff_dB;
|
||||
float snrSymbolMagnitude_dB;
|
||||
float snrSymbolPhase_dB;
|
||||
radio_float_t snrCurrent_dB;
|
||||
radio_float_t snrCma_dB;
|
||||
radio_float_t snrDfeOn_dB;
|
||||
radio_float_t snrDfeOff_dB;
|
||||
radio_float_t snrSymbolMagnitude_dB;
|
||||
radio_float_t snrSymbolPhase_dB;
|
||||
|
||||
float deltaFrequencyCPR;
|
||||
float deltaFrequencySTR;
|
||||
radio_float_t deltaFrequencyCPR;
|
||||
radio_float_t deltaFrequencySTR;
|
||||
|
||||
float agcGain[2];
|
||||
radio_float_t agcGain[2];
|
||||
|
||||
minmax_t rfMinMax;
|
||||
cpx_minmax_t ddcMinMax;
|
||||
@@ -235,7 +235,7 @@ public:
|
||||
ReceiverInterface() {}
|
||||
virtual ~ReceiverInterface() {}
|
||||
|
||||
virtual void setSamplerate(float samplerate_hz) = 0;
|
||||
virtual void setSamplerate(radio_float_t samplerate_hz) = 0;
|
||||
|
||||
virtual void setParams(const params_t ¶ms) = 0;
|
||||
virtual const params_t& getParams() = 0;
|
||||
@@ -278,7 +278,7 @@ public:
|
||||
~Receiver(void);
|
||||
void init();
|
||||
void free();
|
||||
void processBaseband(float *pI, float *pQ, uint32_t len);
|
||||
void processBaseband(radio_float_t *pI, radio_float_t *pQ, uint32_t len);
|
||||
void processPassband(RVec const &rf, uint32_t len);
|
||||
void setBufSize(uint32 size);
|
||||
uint32 getNumSoftSym();
|
||||
@@ -399,7 +399,7 @@ private:
|
||||
void initDDC();
|
||||
|
||||
// Interface
|
||||
void setSamplerate(float samplerate_hz) override;
|
||||
void setSamplerate(radio_float_t samplerate_hz) override;
|
||||
void setParams(const params_t ¶ms) override;
|
||||
params_t& getParams() override;
|
||||
status_t& getStatus() override;
|
||||
|
||||
@@ -28,8 +28,14 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void write(RVec const &data, uint32_t len)
|
||||
void write(float const *pData, uint32_t len)
|
||||
{
|
||||
RVec data(len);
|
||||
|
||||
for (int i=0; i < len; i++)
|
||||
{
|
||||
data[i] = pData[i];
|
||||
}
|
||||
if (m_numfill.get() >= numBuffers)
|
||||
return;
|
||||
|
||||
|
||||
@@ -41,9 +41,9 @@ private:
|
||||
RVec m_bufferRF;
|
||||
CVec m_bufferSym;
|
||||
CVec m_bufferSymRcf;
|
||||
float m_samplerate;
|
||||
float m_ddcFrequency;
|
||||
float m_symbolrate;
|
||||
radio_float_t m_samplerate;
|
||||
radio_float_t m_ddcFrequency;
|
||||
radio_float_t m_symbolrate;
|
||||
uint32_t m_numBitPerSymbol;
|
||||
radio_float_t *m_pCoeffRCF;
|
||||
radio_float_t m_kRcf;
|
||||
@@ -95,31 +95,31 @@ private:
|
||||
bufferResize(size);
|
||||
paramChanged();
|
||||
}
|
||||
void setSamplerate(float samplerate_hz) override
|
||||
void setSamplerate(radio_float_t samplerate_hz) override
|
||||
{
|
||||
m_samplerate = samplerate_hz;
|
||||
m_carrierFreq = samplerate_hz/4;
|
||||
m_symbolrate = samplerate_hz/4;
|
||||
paramChanged();
|
||||
}
|
||||
void setCarrierFrequency(float frequency_hz) override
|
||||
void setCarrierFrequency(radio_float_t frequency_hz) override
|
||||
{
|
||||
const ScopedLock sl (m_lock);
|
||||
m_carrierFreq = frequency_hz;
|
||||
m_duc.init(m_carrierFreq/m_samplerate, 0);
|
||||
}
|
||||
float getCarrierFrequency() override
|
||||
radio_float_t getCarrierFrequency() override
|
||||
{
|
||||
return m_carrierFreq;
|
||||
}
|
||||
|
||||
void setSymbolRate(float symbolrate_bit_per_sec) override
|
||||
void setSymbolRate(radio_float_t symbolrate_bit_per_sec) override
|
||||
{
|
||||
m_symbolrate = symbolrate_bit_per_sec;
|
||||
paramChanged();
|
||||
}
|
||||
|
||||
float getSymbolRate() override
|
||||
radio_float_t getSymbolRate() override
|
||||
{
|
||||
return m_symbolrate;
|
||||
}
|
||||
@@ -132,6 +132,7 @@ private:
|
||||
|
||||
paramChanged();
|
||||
}
|
||||
|
||||
void getData(float *pRF, uint32_t len) override
|
||||
{
|
||||
uint32_t res;
|
||||
|
||||
@@ -13,14 +13,14 @@ public:
|
||||
|
||||
virtual void reset() = 0;
|
||||
virtual void setBuffersize(uint32_t size) = 0;
|
||||
virtual void setSamplerate(float samplerate_hz) = 0;
|
||||
virtual void setCarrierFrequency(float frequency_hz) = 0;
|
||||
virtual float getCarrierFrequency() = 0;
|
||||
virtual void setSymbolRate(float symbolrate_bit_per_sec) = 0;
|
||||
virtual float getSymbolRate() = 0;
|
||||
virtual void setSamplerate(radio_float_t samplerate_hz) = 0;
|
||||
virtual void setCarrierFrequency(radio_float_t frequency_hz) = 0;
|
||||
virtual radio_float_t getCarrierFrequency() = 0;
|
||||
virtual void setSymbolRate(radio_float_t symbolrate_bit_per_sec) = 0;
|
||||
virtual radio_float_t getSymbolRate() = 0;
|
||||
virtual void setNumBitPerSymbol(uint32_t numBitPerSymbol) = 0;
|
||||
virtual void getData(float *pRF, uint32_t len) = 0;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user