demodulate_frame.c

来自「完整的OFDM系统,含Matlab仿真代码和DSP源代码下载.平台Tms320C」· C语言 代码 · 共 62 行

C
62
字号
//demodulate_frame.c
//
// Project Red 2002: High Performance OFDM Modem 
// Against Channel Imperfections
// Auther: Linus Falk

#include "put_data.h"
#include "demod.h"
#include "ofdm.h"
#include "bitload.h"

unsigned int frame_number = 0;

//use static bitload
void demodulate_frame_no_bitload(float *complex_frame){
	int i;
	unsigned char data;
	unsigned char modulation;
	
	if(frame_number == 128){
		change_bitload_buffer(); //just to update buffers for viewing at host	
		frame_number = 0;
	}	
	//increase frame number, 1..1024
	frame_number++;
	
	// extract data from frame
	for(i=4; i<124; i++){
		if((i-3)%8 != 0){
			modulation = 4;
			demod(complex_frame + i*2, modulation, &data);
			put_data(modulation,(unsigned int)data);	//put data to Host
		}	
	}
}

/*
void demodulate_frame(float *complex_frame){
	int i;
	//int counter = 0;
	unsigned char data;
	unsigned char modulation;
	//increase frame number, 1..1024
	frame_number = frame_number%1024;
	frame_number++;
	//update bitloading
	if(NextBitLoadBuffer->use_from_frame == frame_number){	//time to change bitload buffer
		change_bitload_buffer();		
	}
	// extract data from frame
	for(i=4; i<127; i++){
		if((i-3)%8 != 0){
			modulation = CurrentBitLoadBuffer->channel_modulation[i];
			demod(complex_frame + i*2, modulation, &data);
			put_data(modulation,(unsigned int)data);	//put data to Host
		}	
	}
}*/



⌨️ 快捷键说明

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