⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 noise.c

📁 QPSK在AWGN传输中的检测性能 QPSK在AWGN传输中的检测性能
💻 C
字号:

#include "const.h"

extern double CNR;


void awgn(double (*transmitted_signal)[2], double (*received_signal)[2]){
	int n;
	double r1, r2;
	double amp, phase;
	double gamma, noise[2];

	gamma = pow(10.0, CNR / 10.0);

	for(n=0; n<SYMBOLN; n++) {
		r1 = (double)rand()/RAND_MAX;
		r2 = (double)rand()/RAND_MAX;
		if(r1 <= 1.0e-8) {
			r1 = 1.0e-8; //防止出现log0的操作
		}
		
		amp = sqrt(-log(r1) / gamma);
		phase = 2.0 * PI * r2;
		noise[0] = amp * cos(phase);
		noise[1] = amp * sin(phase);

		received_signal[n][0] = transmitted_signal[n][0] + noise[0];
		received_signal[n][1] = transmitted_signal[n][1] + noise[1];
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -