?? ofdm.h
字號:
//ofdm.h
//
// Project Red 2002: High Performance OFDM Modem
// Against Channel Imperfections
// Auther: Linus Falk
#ifndef OFDM
#define OFDM
#define _TI_ENHANCED_MATH_H 1
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <dma.h> /* TMS320C6x Peripheral Support Library DMA Support */
#include <intr.h> /* TMS320C6x Peripheral Support Library Interrupt Support */
#include <mcbsp.h> /* TMS320C6x Peripheral Support Library McBSP Support */
#include <regs.h> /* TMS320C6x Peripheral Support Library CPU Register Support */
#include <board.h> /* TMS320C6x Peripheral Support Library Board Support */
#include <codec.h> /* Codec Library API Functions */
//extern int HOST_READY;
#define HOST_READY (*(unsigned int*)0x03000000)
//Get data from host
#define INIT_START_MM 1
#define FILL_HOSTBUFFER1_MM 3
#define FILL_HOSTBUFFER2_MM 4
#define FILL_BITLOADBUFFER1_MM 5
#define FILL_BITLOADBUFFER2_MM 6
#define HostBufferSize 128 //numbers of 32 bit segments in each HostBuffer
#define HostBufferBitLength (HostBufferSize*32) //numbers of bits in HostBuffer
extern volatile unsigned int HostBuffer1[HostBufferSize]; //buffer 1 , +1 for register
extern volatile unsigned int HostBuffer2[HostBufferSize]; //buffer 2 , +1 for register
extern volatile unsigned int *CurrentHostBuffer; //current buffer used
//extern unsigned int offset;
//training data
//#define TRAINING_SEQ 0x4DAE1577
//#define TRAIN {1,0,3,1,2,2,3,2,0,1,1,1,1,3,1,3}
//codec
#define SAMPLING_FREQ 44100
#define MIC_SELECT 1 /* Input source: Mic-1, Line-0 */
//fft
#define FFT_SIZE 256
#define PREFIX_LENGTH 32
#define BUFFER_SIZE FFT_SIZE
#define BLOCK_SIZE BUFFER_SIZE * 2 /* Total number of both left and right short elements in a buffer */
#define NR_OF_CHANNELS (FFT_SIZE/2 -1) //Number of channels
#define FRAME_LENGTH (PREFIX_LENGTH + BLOCK_SIZE)
#define GUARD_LENGTH 32
#define N FFT_SIZE /* N point DFT */
#define n 16 /* Size of index, calculate using formula in bitrev.asm */
#define PI 3.14159265358979323846264338327950288419716939937510
#define DELTA 2 * PI / N
#define ONE_OVER_SQRT_N 0.0625 /* 1/sqrt(N) */
//modulation
#define QAM_AMPLITUDE 1 // bit amplitude
extern volatile float signalf[BLOCK_SIZE];
extern float dft[N]; /* Number of coefficients needed for the DFT routine is N */
extern float idft[N]; /* Number of coefficients needed for the IDFT routine is N */
extern const short index[n];
extern int exponent2;
#define TRUE 1
#define FALSE 0
//bitload
#define BitLoadBufferSize 127
//bitload struct
typedef struct{
unsigned int use_from_frame;
unsigned char channel_modulation[BitLoadBufferSize];
}bitload_struct;
//bitload buffers
extern volatile bitload_struct BitLoadBuffer1;
extern volatile bitload_struct BitLoadBuffer2;
extern volatile bitload_struct *CurrentBitLoadBuffer;
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -