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

📄 cdma_snr.ps.c

📁 在opnet平台下的卫星仿真程序
💻 C
字号:
/* cdma_snr.ps.c */                                                       
/* CDMA Signal-to-Noise-Ratio (SNR) model for radio link Transceiver Pipeline */

#include "opnet.h"
#include <math.h>

#if defined (__cplusplus)
extern "C"
#endif
//static const char*	PowI_Err_Hdr = "Error in BER computation pipeline stage (dra_collisionnr):";
void
cdma_snr (Packet * pkptr)
	{
	//int msgbuf[512];
	double		bkg_noise, accum_noise, rcvd_power;

	/** Compute the signal-to-noise ratio for the given packet. **/
	FIN (cdma_snr (pkptr));

	/* Get the packet's received power level. */
	rcvd_power = op_td_get_dbl (pkptr, OPC_TDA_RA_RCVD_POWER);

	/* Get the packet's accumulated noise levels calculated by the */
	/* interference and background noise stages. */
	accum_noise = op_td_get_dbl (pkptr, OPC_TDA_RA_NOISE_ACCUM);
	
	bkg_noise = op_td_get_dbl (pkptr, OPC_TDA_RA_BKGNOISE);
	
	/* Assign the SNR in dB. */

	op_td_set_dbl (pkptr, OPC_TDA_RA_SNR,10.0 * log10 (rcvd_power / (accum_noise/3 + bkg_noise)));
	op_td_set_dbl(pkptr,OPC_TDA_RA_MAX_INDEX+1,10.0 * log10 (rcvd_power / (2*accum_noise/3 + bkg_noise)));
	//op_td_set_dbl (pkptr, OPC_TDA_RA_SNR, 
	//	10.0 * log10 (rcvd_power / bkg_noise));
	//	sprintf(msgbuf,"RecPow=%e\nInterP=%e\nBkgNoise=%e\n",rcvd_power,accum_noise,bkg_noise);
	// 	op_sim_message(msgbuf, 0);
	
	
	/* Set field indicating the time at which SNR was calculated. */
	op_td_set_dbl (pkptr, OPC_TDA_RA_SNR_CALC_TIME, op_sim_time ());
	FOUT;
	}

⌨️ 快捷键说明

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