- 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 "Transmitter.hpp"
|
||||||
|
#include <cpp/radio/DeSymbolizer.hpp>
|
||||||
|
|
||||||
Transmitter::Transmitter(void)
|
Transmitter::Transmitter(void)
|
||||||
: Thread("Transmitter")
|
: Thread("Transmitter")
|
||||||
@@ -116,11 +116,38 @@ void Transmitter::paramChanged()
|
|||||||
m_firUp.init(m_upsampleFactor, m_pCoeffRCF, n_mf);
|
m_firUp.init(m_upsampleFactor, m_pCoeffRCF, n_mf);
|
||||||
m_duc.init(m_carrierFreq/m_samplerate, 0);
|
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)));
|
/* Setup AGC sync
|
||||||
sync_syms[1] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(-1,+1)));
|
/****************************************************************/
|
||||||
sync_syms[2] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(-1,-1)));
|
const size_t NUM_SYNC_SYMS = 5;
|
||||||
sync_syms[3] = SymMapDemap(&m_symbolMapper, toCpx(ComplexScalar(+1,-1)));
|
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)
|
void Transmitter::bufferResize(uint32_t size)
|
||||||
|
|||||||
Reference in New Issue
Block a user