transmitter.c
来自「QPSK在AWGN传输中的检测性能 仿真计算」· C语言 代码 · 共 38 行
C
38 行
#include "const.h"
void transmitter(int (*bit), double (*signal)[2]){
bit_generator(bit);
QPSK_modulator(bit, signal);
}
void bit_generator(int (*bit)){
int n;
for(n=0; n<BITN; n++){
bit[n] = rand() & 0x1;
}
}
void QPSK_modulator(int (*bit), double (*signal)[2]){
int n, bit1, bit2, symbol;
int bin2sym[2][2] = {
{ 0, 1},
{ 3, 2}
};
double sym2sgnl[4][2] = {
{ OneBySqrt2, OneBySqrt2},
{-OneBySqrt2, OneBySqrt2},
{-OneBySqrt2,-OneBySqrt2},
{ OneBySqrt2,-OneBySqrt2}
};
for(n=0; n<SYMBOLN; n++){
bit1 = bit[n*2];
bit2 = bit[n*2+1];
symbol = bin2sym[bit1][bit2];
signal[n][0] = sym2sgnl[symbol][0];
signal[n][1] = sym2sgnl[symbol][1];
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?