70,023
社区成员




void channel(dcomplex *ricianSeq, dcomplex *signalSeq, double sigma)
{
dcomplex temp;
double nc, ns;
for(int i = 0; i < SYMBOLLEN; i++)
{
ricianSeq[i] = rician_distribution();
ComplexGauss(sigma, &nc, &ns);
temp = cMult(ricianSeq[i], signalSeq[i]);
signalSeq[i].re = temp.re + nc;
signalSeq[i].im = temp.im + ns;
}
}
for(int i = 0; i < SYMBOLLEN; i++)
{
randSeq[i] = rand() % ConstellationSize;
for(label = 0, m = 0; m < MODULATION_TYPE; m++)
label = (label<<1) + (int)encoded_bit[(i+1)*MODULATION_TYPE-m-1];
label = label ^ randSeq[i];
int index = m_pSignalMapper[label];
signalSeq[i] = m_pSignal[index];
}