diff --git a/Source/MainComponent.h b/Source/MainComponent.h index 16dfee6..5d7f3e5 100644 --- a/Source/MainComponent.h +++ b/Source/MainComponent.h @@ -28,7 +28,7 @@ #include "ControlComponent.h" #include "Receiver.h" #include "Transmitter.h" -#include +#include #include "RxBuffer.hpp" //[/Headers] diff --git a/Source/Receiver.cpp b/Source/Receiver.cpp index bf66fa5..0bac7b3 100644 --- a/Source/Receiver.cpp +++ b/Source/Receiver.cpp @@ -2,8 +2,8 @@ #include #include "Receiver.h" #include "MinMaxLemire.h" -#include "radio/Interpolation.hpp" -#include +#include +#include #if 0 #include @@ -425,6 +425,7 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len) cpx_t IQ_cma; cpx_t IQ_dfeOn; cpx_t IQ_dfeOff; + cpx_t IQ_eq_in; cpx_t IQ_eq; cpx_t IQ_soft; cpx_t IQ_hard; @@ -491,7 +492,7 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len) } // AGC Blind process samples - IQ_agc = CpxScaleRealS(IQ_mf, AGC_GetWeight(&agcBlind)); + IQ_agc = CpxScaleRealS(IQ_mf, 4+0*AGC_GetWeight(&agcBlind)); // Symbol timing recovery Vd = STRGardnerProcess(&m_SymbolTimingRevovery, IQ_agc); @@ -506,6 +507,8 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len) break; } + IQ_eq_in = IQ_cpr; + // Operate at symbol clock // @1 x symbolrate if (ClockIsTick(&m_symClock, 1)) @@ -515,19 +518,19 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len) { if (m_params.agcMu_index == agc_state_acquisition) { -// AGC_Process(&agcBlind, CpxMagS(IQ_cpr), m_params.agcMu[m_params.agcMu_index], 1.0); +// AGC_Process(&agcBlind, CpxMagS(IQ_eq_in), m_params.agcMu[m_params.agcMu_index], 1.0); e_agc = m_pSymMapper->R2_cma - CpxMagS(m_trackers[0]); AGC_Train(&agcBlind, e_agc, m_params.agcMu[m_params.agcMu_index]); } if (m_params.agcMu_index == agc_state_track) { e_agc = m_pSymMapper->R2_cma - CpxMagS(m_trackers[0]); -// e_agc = CpxMagS(IQ_hard_last) - CpxMagS(IQ_cpr); +// e_agc = CpxMagS(IQ_hard_last) - CpxMagS(IQ_eq_in); AGC_Train(&agcBlind, e_agc, m_params.agcMu[m_params.agcMu_index]); } } #ifndef DISABLE_UNUSED_STATISTICS - minMaxProcess(&m_statistics.ddcMinMax, IQ_cpr); + minMaxProcess(&m_statistics.ddcMinMax, IQ_eq_in); #endif // ----------------------------------------------------- // Equalizer Process samples @@ -535,17 +538,17 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len) ComplexScalar __IQ_cma; ComplexScalar __IQ_dfeOn; - IQ_eq = IQ_cpr; + IQ_eq = IQ_eq_in; if (m_params.eq_mode == eq_mode_cma) { - __IQ_cma = m_cma2.process(toComplexScalar(IQ_cpr)); + __IQ_cma = m_cma2.process(toComplexScalar(IQ_eq_in)); IQ_cma = toCpx(__IQ_cma); IQ_eq = IQ_cma; } if (m_params.eq_mode == eq_mode_dfe) { - __IQ_dfeOn = m_dfe_on2.process(toComplexScalar(IQ_cpr), toComplexScalar(IQ_hard_last)); + __IQ_dfeOn = m_dfe_on2.process(toComplexScalar(IQ_eq_in), toComplexScalar(IQ_hard_last)); IQ_dfeOn = toCpx(__IQ_dfeOn); IQ_eq = IQ_dfeOn; } @@ -602,7 +605,7 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len) m_dfe_off2.train(toComplexScalar(m_dfe_e_cpx), m_params.eqMuDfe); // DFE: Calc offline response - ComplexScalar __IQ_dfeOff = m_dfe_off2.process(toComplexScalar(IQ_cpr), toComplexScalar(sym_dfe_off.rect)); + ComplexScalar __IQ_dfeOff = m_dfe_off2.process(toComplexScalar(IQ_eq_in), toComplexScalar(sym_dfe_off.rect)); IQ_dfeOff = toCpx(__IQ_dfeOff); sym_dfe_off = SymMapGetSymbolInfo(m_pSymMapper, SymMapDemap(m_pSymMapper, IQ_soft)); diff --git a/Source/Receiver.h b/Source/Receiver.h index 9d37ed6..7ddff7c 100644 --- a/Source/Receiver.h +++ b/Source/Receiver.h @@ -7,16 +7,16 @@ #include #include #include -#include +#include -#include "JuceHeader.h" +#include #include "LogComponent.h" -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #ifdef _WINDOWS #include diff --git a/Source/RxBuffer.hpp b/Source/RxBuffer.hpp index 749eb32..e3e802a 100644 --- a/Source/RxBuffer.hpp +++ b/Source/RxBuffer.hpp @@ -8,7 +8,7 @@ #ifndef RXBUFFER_HPP #define RXBUFFER_HPP -#include +#include using namespace Radio; diff --git a/Source/Transmitter.h b/Source/Transmitter.h index 7f8a993..32616b4 100644 --- a/Source/Transmitter.h +++ b/Source/Transmitter.h @@ -4,14 +4,14 @@ #include #include #include -#include +#include #include "JuceHeader.h" #include "LogComponent.h" -#include -#include -#include +#include +#include +#include using namespace Radio;