frequency shifted sync symbol not worth the trouble

This commit is contained in:
Ahmet Inan 2023-02-10 11:28:59 +01:00
commit b1d704513b
2 changed files with 1 additions and 17 deletions

View file

@ -45,7 +45,6 @@ struct SchmidlCox
DSP::Delay<value, match_del> delay;
DSP::SchmittTrigger<value> threshold;
DSP::FallingEdgeTrigger falling;
DSP::Phasor<cmplx> fsh;
cmplx tmp0[symbol_len], tmp1[symbol_len], tmp2[symbol_len];
cmplx seq[symbol_len], kern[symbol_len];
cmplx cmplx_shift = 0;
@ -73,9 +72,6 @@ public:
SchmidlCox(const cmplx *sequence) : threshold(value(0.2*match_len), value(0.3*match_len))
{
#if 1
fsh.omega(-1, symbol_len);
#endif
for (int i = 0; i < symbol_len; ++i)
seq[i] = sequence[i];
fwd(kern, sequence);
@ -84,8 +80,7 @@ public:
}
bool operator()(const cmplx *samples)
{
cmplx S = fsh();
cmplx P = conj(S) * cor(S * samples[search_pos] * conj(samples[search_pos+symbol_len]));
cmplx P = cor(samples[search_pos] * conj(samples[search_pos+symbol_len]));
value R = value(0.5) * pwr(norm(samples[search_pos]) + norm(samples[search_pos+symbol_len]));
value min_R = 0.0001 * symbol_len;
R = std::max(R, min_R);

View file

@ -69,22 +69,11 @@ struct Encoder
CODE::MLS seq(0b1100111);
for (int i = 0; i < symbol_len; ++i)
fdom[i] = 0;
#if 1
fdom[first_subcarrier+1] = std::sqrt(value(2 * symbol_len) / value(subcarrier_count));
for (int i = first_subcarrier + 2; i < first_subcarrier + subcarrier_count + 1; ++i)
fdom[i] = fdom[i-1] * cmplx(nrz(seq()));
symbol();
for (int i = first_subcarrier; i < first_subcarrier + subcarrier_count; ++i)
fdom[i] = fdom[i+1];
fdom[first_subcarrier+subcarrier_count] = 0;
symbol(false);
#else
fdom[first_subcarrier] = std::sqrt(value(2 * symbol_len) / value(subcarrier_count));
for (int i = first_subcarrier + 1; i < first_subcarrier + subcarrier_count; ++i)
fdom[i] = fdom[i-1] * cmplx(nrz(seq()));
symbol();
symbol(false);
#endif
}
cmplx mod_map(code_type *b)
{