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

📄 bitload.c

📁 完整的OFDM系统,含Matlab仿真代码和DSP源代码下载.平台Tms320C6000.含项目说明文档.绝对高质量的源代码.
💻 C
字号:
//bitload.c
//
// Project Red 2002: High Performance OFDM Modem 
// Against Channel Imperfections
// Auther: Linus Falk

#include "ofdm.h"
#include "channel_est.h"

volatile bitload_struct BitLoadBuffer1;
volatile bitload_struct BitLoadBuffer2;
volatile bitload_struct *CurrentBitLoadBuffer;
volatile bitload_struct *NextBitLoadBuffer;
#pragma DATA_SECTION (gn, ".sysmem");
float gn[127];
#pragma DATA_SECTION (gn1, ".sysmem");
float gn1[127];

volatile bitload_struct TempBitLoadBuffer;

void calculate_gn(void);

//calculates bitload parameters for next bitload buffer to use
void bitload(void){
	int i;
	calculate_gn();
	#pragma MUST_ITERATE(127,127);
	for(i=0; i<127; i++){
		if(gn[i] > 1.5){
			NextBitLoadBuffer->channel_modulation[i] = 6;
		}else if(gn[i] > 0.9){
			NextBitLoadBuffer->channel_modulation[i] = 4;
		}else if(gn[i] > 0.5){
			NextBitLoadBuffer->channel_modulation[i] = 2;
		}else if(gn[i] > 0.1){
			NextBitLoadBuffer->channel_modulation[i] = 1;
		}else{
			NextBitLoadBuffer->channel_modulation[i] = 0;
		}
	}
}

void calculate_gn(void){
	int i;
	float noise_var_rcpsp = _rcpsp(noise_var);
	#pragma MUST_ITERATE(127,127);
	for(i=0; i<127; i++){
		gn[i] = H_abs_sqr[i]*noise_var_rcpsp;
	}
}

#pragma CODE_SECTION(init_bitload,"SBSRAM_PROG_MEM");
void init_bitload(void){
	int i;
	CurrentBitLoadBuffer = &BitLoadBuffer1;
	NextBitLoadBuffer = &BitLoadBuffer2;
	BitLoadBuffer1.use_from_frame = 1;
	BitLoadBuffer2.use_from_frame = 512;
	for(i=0; i<127; i++){
		BitLoadBuffer1.channel_modulation[i] = 4;
		BitLoadBuffer2.channel_modulation[i] = 4;
	}
}

void change_bitload_buffer(void){
	NextBitLoadBuffer = CurrentBitLoadBuffer;
	bitload(); //real function
	if(CurrentBitLoadBuffer == &BitLoadBuffer1){
		CurrentBitLoadBuffer = &BitLoadBuffer2;
		pci_message_send(FILL_BITLOADBUFFER1_MM);
	}else{
		CurrentBitLoadBuffer = &BitLoadBuffer1;
		//pci_message_send(FILL_BITLOADBUFFER2_MM);
	}	
}

⌨️ 快捷键说明

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