- 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:
+33
-6
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user