- prototyping of sync data generation (Zwischenstand)

git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@1093 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-06-27 06:55:18 +00:00
parent aee4d7dd0f
commit 9940c3e169
+33 -6
View File
@@ -1,5 +1,5 @@
#include "Transmitter.hpp"
#include <cpp/radio/DeSymbolizer.hpp>
Transmitter::Transmitter(void)
: Thread("Transmitter")
@@ -116,11 +116,38 @@ void Transmitter::paramChanged()
m_firUp.init(m_upsampleFactor, m_pCoeffRCF, n_mf);
m_duc.init(m_carrierFreq/m_samplerate, 0);
symbol_t sync_syms[4]; // 4 Corners
sync_syms[0] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(+1,+1)));
sync_syms[1] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(-1,+1)));
sync_syms[2] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(-1,-1)));
sync_syms[3] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(+1,-1)));
/****************************************************************/
/* Setup AGC sync
/****************************************************************/
const size_t NUM_SYNC_SYMS = 5;
symbol_t sync_syms[NUM_SYNC_SYMS]; // 4 Corners
size_t i=0;
sync_syms[i++] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(+1,-1)));
sync_syms[i++] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(+1,+1)));
sync_syms[i++] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(-1,+1)));
sync_syms[i++] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(-1,-1)));
sync_syms[i++] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(+1,-1)));
for (i=0; i < NUM_SYNC_SYMS; i++)
{
sync_syms[i] = m_symbolizer.differentialEncode(sync_syms[i]);
}
DeSymbolizer desym;
sync_t sync;
memset(sync.data, 0, sizeof(sync.data));
desym.setNumBitsPerSymbol(m_numBitPerSymbol);
size_t total = 0;
for (size_t i=0; i < NUM_SYNC_SYMS; i++)
{
size_t written = desym.sym2bytes(sync_syms[i], &sync.data[total]);
total += written;
}
m_formatter.setSyncData(sync);
/****************************************************************/
}
void Transmitter::bufferResize(uint32_t size)