transmitter.c

来自「QPSK在AWGN传输中的检测性能 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 + -
显示快捷键?