58 out.set_size(symbols.length()*
N,
false);
60 for (
int i = 0;i < symbols.length();i++)
61 out.replace_mid(i*
N, symbols(i)*
code);
66 int nosymbols = (int)
std::floor(
double((rec_signal.length() - timing)) /
N);
67 out.set_size(nosymbols);
69 for (
int i = 0;i < nosymbols;i++)
70 out(i) = rec_signal.mid(i *
N + timing,
N) *
code;
93 it_assert(incodeI.length() == incodeQ.length(),
"Size of I and Q codes doesn't match");
123 for (
int i = 0; i <
L; i++)
135 int nomcsymbols = (int)
std::floor(
double(symbols.length() /
L));
136 vec temp(nomcsymbols*
N);
138 for (i = 0;i < nomcsymbols;i++) {
139 temp.replace_mid(i*N,
codes.T() * symbols.mid(i*
L, L));
148 int nosymbols = (int)
std::floor(
double((receivedsignal.length() - timing)) /
N);
149 vec temp(nosymbols*
L);
151 for (i = 0;i < nosymbols;i++) {
152 temp.replace_mid(i*L,
codes*receivedsignal.mid(i*
N + timing,
N));
178 it_assert(incodesI.rows() == incodesQ.rows() && incodesI.cols() == incodesQ.cols(),
179 "Multicode_Spread_2d::set_codes(): dimension mismatch");