亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? frameofdm.c

?? 基于TMS320F2812的AMR+RS編解碼+OFDM調(diào)制解調(diào)源程序。是stand alone運行版本
?? C
字號:
#include <stdio.h>
#include <math.h>
#include "Setting.H"
#include "RS.H"
#include "Function.H"
#include "asintable.h"
/*
 This script generates a COFDM waveform from an input data */ 
void OFDMModu(DType DataStr[], int BaseSignal[], DType RefPhase[])
/* DataStr:    RS coded data to transmit in the CodewordBit given,
 *             UsedCarrier * SymPerFrame in length;
 * BaseSignal: Final output modulated signal, SymbolSize * SymPerFrame in length;

 * RefPhase:   DPSK reference phase, UsedCarrier * 1 in length;
 */
{
	WordType i, j, k;
	DType DPSKdata[SymPerFrame * UsedCarrier];
	long int TxSpecR[FFTSize], TxSpecI[FFTSize];
	DType *pDPSK ,*pDataStr;
	long int *pTxSpecR, *pTxSpecI;
	int *pBase;
	
	pBase = BaseSignal;
	
	/* Convert to DQPSK */
	for (j = 0; j < UsedCarrier; j++)
	{
		DPSKdata[j] = (DType) (DataStr[j] + RefPhase[j]) &
			(DType) ((1 << CodewordBit) - 1);
	}
	pDPSK = DPSKdata + UsedCarrier;
	pDataStr = DataStr + UsedCarrier;
	for (i = 1; i < SymPerFrame; i++)
	{
		for (j = 0; j < UsedCarrier; j++)
		{
			*pDPSK = (DType) ((*pDataStr) + (*(pDPSK - UsedCarrier))) & (DType) ((1 << CodewordBit) - 1);
			pDataStr++;
			pDPSK++;
			//DPSKdata[j + i * UsedCarrier] = 
			//	(DType) (DataStr[j + i * UsedCarrier] + DPSKdata[j + (i - 1) * UsedCarrier]) &
			//	(DType) ((1 << CodewordBit) - 1);
		}
	}
	/* Store the last carrier data in RefPhase[] for next subframe */
	for (j = 0; j < UsedCarrier; j++)
	{
		RefPhase[j] = DPSKdata[j + (SymPerFrame - 1) * UsedCarrier];
	}

	/* Get the required spectrums */
	k = 0;
	for (j = 0; j < SymPerFrame; j++)
	{
		pTxSpecR = TxSpecR;
		pTxSpecI = TxSpecI;
		pDPSK = &DPSKdata[j * UsedCarrier + 1 - CarrierJumpPos];
		for (i = 0; i < FFTSize; i++)
		{
			if ((i > CarrierJumpPos - 2) && (i < CarrierJumpPos + UsedCarrier - 1))
			{
				switch (*pDPSK)
				{
				case 0: *pTxSpecR = 16384;   *pTxSpecI = 0;  break;
				case 1: *pTxSpecR = 0;   *pTxSpecI = 16384;  break;
				case 2: *pTxSpecR = -16384;  *pTxSpecI = 0;  break;
				case 3: *pTxSpecR = 0;   *pTxSpecI = -16384;
				}
			}
			else
			{
				*pTxSpecR = 0;
				*pTxSpecI = 0;
			}
			pTxSpecR++;
			pTxSpecI++;
			pDPSK++;
		}
	    
		/* Change to time waveform using IFFT */
		FFT(TxSpecR, TxSpecI, -1);
    
		/* Add cycle prefixion (guardtime) */
	   	pTxSpecR = TxSpecR + FFTSize - GuardTimeSize;
	   	for (i = GuardTimeSize; i > 0; i--)
		{
			*pBase =(int)(*pTxSpecR);
			k++;
			pBase++;
			pTxSpecR++;
		}
		pTxSpecR = TxSpecR;
		for (i = 0; i < FFTSize; i++)
		{
			*pBase =(int)(*pTxSpecR);
			k++;
			pBase++;
			pTxSpecR++;
		}

	}
}

/* This script demodulates a COFDM waveform from an input data:

 * DataStr:    Received real signal, SymbolSize * SymPerFrame in length;

 * SpecSignal: Demodulated RS data in CodewordBit size per symbol,

 *             UsedCarrier * SymPerFrame in length;

 * RefPhase:   DPSK reference phase, UsedCarrier * 1 in length;

 */
void OFDMDemo(int BaseSignal[], DType SpecSignal[], long int RefPhase[])

{
	WordType i, j;
	long int RxSpecR[FFTSize], RxSpecI[FFTSize];
	long int CarrPh[SymPerFrame * UsedCarrier];
	//int index;
	int * pBase;
	long int *pRxSpecR, *pRxSpecI,*pCarrPh,xR,xI;
	DType *pSpec;

	
	/* Reshape the linear time waveform into FFT segments & remove guard time */


	for (i = 0; i < SymPerFrame; i++)
	{
		pRxSpecR = RxSpecR;
		pRxSpecI = RxSpecI;
		pBase = &BaseSignal[i * SymbolSize + GuardTimeSize];
		for (j = 0; j < FFTSize; j++)
		{
			*pRxSpecR = (long int)(*pBase);
            *pRxSpecI = 0;
			pRxSpecR++;
			pRxSpecI++;
			pBase++;
		}

    	/* Apply FFT on the rest of received data */
    	FFT(RxSpecR, RxSpecI, 1);

	    /* Convert to QPSK phase */
	    pCarrPh = &CarrPh[i * UsedCarrier];
		pRxSpecR = RxSpecR + CarrierJumpPos - 1;
		pRxSpecI = RxSpecI + CarrierJumpPos - 1;
	  	for (j = 0; j < UsedCarrier; j++)
		{
		/*	xR = *pRxSpecR;
			xI = *pRxSpecI;
			index = (float)90 * xI*xI/(xI*xI+xR*xR);
			*pCarrPh = asin_tab[index];                     //Q15
			if(xR>=0 && xI<0)
			 {
				*pCarrPh = -(*pCarrPh) + PI2Q15;
			 }
			 else if(xR<0 && xI<=0)
			 {
				 *pCarrPh = *pCarrPh + PIQ15;
			 }
			 else if(xR<0 && xI>0)
			 {
				*pCarrPh = -(*pCarrPh) + PIQ15;
			 }*/
			*pCarrPh = arctan2(*pRxSpecI, *pRxSpecR);
			pRxSpecR++;
			pRxSpecI++;
			pCarrPh++;	
		}
	   
	}

	/* Apply DQPSK on the received data */
    for (j = 0; j < UsedCarrier; j++)
	{
		SpecSignal[j] = (DType) ((CarrPh[j] - RefPhase[j] + PI2Q15 + PIQ15 / (1 << CodewordBit)) / 
			(PIQ15 / (1 << CodewordBit) * 2)) & (DType) ((1 << CodewordBit) - 1);
	}
	pSpec = SpecSignal + UsedCarrier;
	pCarrPh = CarrPh + UsedCarrier;
	for (i = 1; i < SymPerFrame; i++)
	{		 
		for (j = 0; j < UsedCarrier; j++)
		{
			xR = *pCarrPh;
			xI = *(pCarrPh - UsedCarrier);
			*pSpec = (DType) ((xR - xI + PI2Q15 + PIQ15 / (1 << CodewordBit)) / (PIQ15 / (1 << CodewordBit) * 2)) & 
					 (DType) ((1 << CodewordBit) - 1);
			pSpec++;
			pCarrPh++;
		}
	}

	/* Save the RefPhase for next subframe */
	pCarrPh = CarrPh + (SymPerFrame - 1) * UsedCarrier;
	for (j = 0; j < UsedCarrier; j++)
	{
		RefPhase[j] = *pCarrPh;
		pCarrPh++;
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品一区二区三区在线观看| 日韩精品福利网| 日韩精品一区二区三区中文精品 | 欧洲中文字幕精品| 成人v精品蜜桃久久一区| 国产一区二区三区黄视频 | 欧美mv日韩mv亚洲| 3d成人动漫网站| 欧美精三区欧美精三区| 欧美裸体一区二区三区| 欧美喷水一区二区| 欧美一区二区精品久久911| 91精品国产色综合久久ai换脸| 欧美日韩高清在线播放| 91精品啪在线观看国产60岁| 欧美高清视频不卡网| 日韩一级视频免费观看在线| 日韩欧美三级在线| 久久久久久久综合狠狠综合| 国产视频亚洲色图| 中文字幕亚洲在| 亚洲一区二区三区四区在线观看| 亚洲综合精品自拍| 日韩制服丝袜先锋影音| 黄色精品一二区| 成人精品一区二区三区四区| 99国产麻豆精品| 欧美日韩视频在线一区二区| 欧美另类z0zxhd电影| 日韩精品专区在线影院观看| 久久久精品免费网站| 亚洲欧洲性图库| 亚洲成av人片| 国产一区二区三区免费观看| 99精品视频在线观看| 欧美欧美欧美欧美| 国产三级久久久| 亚洲一区二区视频| 国产一区二区影院| 色综合久久久久久久| 日韩午夜三级在线| 国产精品久久久久久久蜜臀| 亚洲成人自拍偷拍| 国产激情视频一区二区三区欧美 | 麻豆一区二区三| 国产剧情av麻豆香蕉精品| 亚洲国产日产av| 久草在线在线精品观看| 波多野结衣中文字幕一区二区三区| 色女孩综合影院| 日韩精品一区二区在线| 一区二区三区电影在线播| 日本亚洲视频在线| 91免费国产在线观看| 精品国产伦一区二区三区观看体验| 国产精品美女久久久久高潮| 免费高清在线一区| 色av成人天堂桃色av| 国产午夜精品一区二区三区视频| 亚洲成人免费视| 成人黄色在线看| 精品国产免费视频| 久久精品72免费观看| 欧美无砖砖区免费| 亚洲黄色小说网站| 97久久精品人人做人人爽50路| 欧美精品一区二区三区在线| 日韩高清国产一区在线| 欧美中文一区二区三区| 亚洲免费在线播放| 成人99免费视频| 日本一区二区成人在线| 国产福利一区二区三区在线视频| 欧美一区二区三区四区五区| 亚洲图片欧美视频| 在线观看av不卡| 亚洲与欧洲av电影| 在线观看成人小视频| 一区二区久久久久久| 一本到高清视频免费精品| 亚洲视频中文字幕| 91丨porny丨户外露出| 日韩美女视频19| 一本到一区二区三区| 亚洲免费观看高清完整版在线| 91在线云播放| 一区二区三区丝袜| 欧美伦理电影网| 六月丁香综合在线视频| 日韩精品一区二区三区视频播放| 麻豆国产精品官网| 久久综合国产精品| 成人国产精品视频| 樱桃国产成人精品视频| 欧美午夜不卡在线观看免费| 日韩在线一二三区| 久久综合999| 成人激情免费网站| 五月天亚洲婷婷| 欧美一区二区三区不卡| 国产在线一区二区综合免费视频| 欧美精品一区二区三区四区| 不卡视频在线观看| 一区二区视频免费在线观看| 欧美卡1卡2卡| 国产福利精品一区二区| 亚洲色图20p| 日韩免费一区二区三区在线播放| 国内精品久久久久影院薰衣草| 国产精品久久看| 在线视频欧美区| 国内成人自拍视频| 一区二区在线观看视频| 日韩精品专区在线影院重磅| 成人av电影在线| 老司机免费视频一区二区 | 免费不卡在线视频| 国产女人18毛片水真多成人如厕 | 亚洲综合色视频| 2020国产精品自拍| 色妞www精品视频| 国产在线精品免费| 亚洲小说欧美激情另类| 久久久激情视频| 精品视频资源站| 暴力调教一区二区三区| 久久精品国产亚洲高清剧情介绍| 国产精品久久久久aaaa| 欧美一区二区三区的| 一本大道综合伊人精品热热| 国产在线视频不卡二| 亚洲1区2区3区4区| 精品一区二区三区在线播放视频| 日韩一级片网站| 美日韩一区二区| 免费观看久久久4p| 亚洲女人小视频在线观看| 色婷婷国产精品| 成人动漫一区二区三区| 欧美国产精品一区二区| 欧美一级午夜免费电影| 欧美网站大全在线观看| 床上的激情91.| 国产一区二区0| 蜜臀精品久久久久久蜜臀 | 国产福利91精品一区二区三区| 亚洲电影一区二区三区| 亚洲欧美经典视频| 国产精品久久福利| 国产亚洲精久久久久久| 久久久精品综合| 精品免费日韩av| 精品欧美乱码久久久久久1区2区| 国产三级精品视频| 精品av久久707| 91免费国产在线| 97se亚洲国产综合自在线| 国产盗摄精品一区二区三区在线| 精品在线视频一区| 免费高清成人在线| 国内一区二区视频| 奇米精品一区二区三区在线观看一 | 久久亚洲一区二区三区明星换脸| 91精品国产一区二区三区香蕉| 欧美三级中文字| 91精品国产综合久久久久 | 蜜臀91精品一区二区三区| 日韩中文字幕av电影| 免费人成精品欧美精品| 免费高清视频精品| 国产精品一区二区久久不卡| 国产乱妇无码大片在线观看| 国产白丝网站精品污在线入口| 处破女av一区二区| 91福利视频在线| 在线成人小视频| 26uuu国产电影一区二区| 中文一区在线播放| 一区二区三区91| 免费在线观看精品| 国产很黄免费观看久久| 色哟哟亚洲精品| 日韩一区二区电影在线| 国产视频一区二区在线观看| 亚洲日本在线天堂| 奇米影视一区二区三区| 国产91丝袜在线播放| 欧美日韩日本视频| www国产成人免费观看视频 深夜成人网| 欧美国产一区在线| 亚洲成人av一区二区三区| 精品综合久久久久久8888| 97国产精品videossex| 欧美一级理论片| 一区二区中文字幕在线| 蜜臀久久久99精品久久久久久| 成人国产在线观看| 欧美一区二区精品在线| 亚洲欧洲日韩在线| 久久成人久久鬼色|