From 4574756f50fd34355aa9d6bfc8a5662f87e88661 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Wed, 27 Sep 2017 20:29:14 +0200 Subject: Add CFR statistics to RC --- src/OfdmGenerator.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/OfdmGenerator.h') diff --git a/src/OfdmGenerator.h b/src/OfdmGenerator.h index ad39f5b..9ac0387 100644 --- a/src/OfdmGenerator.h +++ b/src/OfdmGenerator.h @@ -68,7 +68,13 @@ class OfdmGenerator : public ModCodec, public RemoteControllable const std::string& parameter) const override; protected: - void cfr_one_iteration(complexf *symbol, const complexf *reference); + struct cfr_iter_stat_t { + size_t clip_count = 0; + size_t errclip_count = 0; + }; + + cfr_iter_stat_t cfr_one_iteration( + complexf *symbol, const complexf *reference); fftwf_plan myFftPlan; fftwf_complex *myFftIn, *myFftOut; @@ -85,14 +91,16 @@ class OfdmGenerator : public ModCodec, public RemoteControllable unsigned myZeroSize; bool myCfr; // Whether to enable crest factor reduction + mutable std::mutex myCfrRcMutex; float myCfrClip; float myCfrErrorClip; fftwf_plan myCfrFft; fftwf_complex *myCfrPostClip; fftwf_complex *myCfrPostFft; - size_t myNumClip; - size_t myNumErrorClip; + // Statistics for CFR + std::deque myClipRatios; + std::deque myErrorClipRatios; }; -- cgit v1.2.3