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

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

?? testmain.c

?? FFT算法c程序for ARM
?? C
字號:
/* testmain.c      Routines to test a FFT implementation      Created: JDB, 20001212   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.      This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.      You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   Copyright (C)2001 Jan-Derk Bakker, jdb@lartmaker.nl*/#include <stdio.h>#include <math.h>#include <assert.h>#include <string.h>#include <sys/time.h>#include <unistd.h>#include "fft.h"#define FFT_SIZE 64#define FREQ 0#define ITERS 100000static void TransTable(void);static void SinTabTest(void);int main(void) {    struct complex in[FFT_SIZE], out_ref[FFT_SIZE], out_test[FFT_SIZE];  double snr;  int i, j;  double elapsed;  struct timeval start, end;#if 0  SinTabTest();#endif  printf("Testing a %d-point FFT.\n", FFT_SIZE);  InitFFTTables();#if 1  TransTable();#endif#if 1  FillVectorRandom(in, FFT_SIZE);#else  for(i = 0; i < FFT_SIZE; i++) {    in[i].r = DOUBLE2FIX(cos(2 * M_PI * i * FREQ / FFT_SIZE));    in[i].i = DOUBLE2FIX(-sin(2 * M_PI * i * FREQ / FFT_SIZE));  }#endif    ReferenceDFT(in, out_ref, FFT_SIZE);  for(i = 0; i < FFT_SIZE; i++) {    out_test[i].r = in[i].r;    out_test[i].i = in[i].i;  }  DoFFT(out_test, FFT_SIZE);#if 0  for(i = 0; i < FFT_SIZE; i++) {    printf("%3d (%f,%f) \t: (%f,%f)\t- (%f,%f)\n", i,	   FIX2DOUBLE(in[i].r), FIX2DOUBLE(in[i].i), 	   FIX2DOUBLE(out_test[i].r), FIX2DOUBLE(out_test[i].i), 	   FIX2DOUBLE(out_ref[i].r), FIX2DOUBLE(out_ref[i].i));  }#endif    snr = CompareVectors(out_ref, out_test, FFT_SIZE);  printf("SNR: %f (%f dB)\n", snr, 10.0 * log10(snr));  printf("Mean energy in: %f out_test: %f out_ref: %f\n",	 VectorMeanEnergy(in, FFT_SIZE), 	 VectorMeanEnergy(out_test, FFT_SIZE), 	 VectorMeanEnergy(out_ref, FFT_SIZE));  printf("Timing FFT speed...");  fflush(stdout);  for(i = 0; i < FFT_SIZE; i++)    out_test[i].r = out_test[i].i = 0;  gettimeofday(&start, (struct timezone *) 0);  for(i = 0; i < ITERS; i++)    DoFFT(out_test, FFT_SIZE);  gettimeofday(&end, (struct timezone *) 0);  elapsed = 1000000 * (end.tv_sec - start.tv_sec)     + (end.tv_usec - start.tv_usec);  printf(" %.2f us per %d-point FFT, or %.2f Mbps with QPSK,\n"	 "or %.2f insns per point on a 220MHz SA-1100.\n", 	 (double)elapsed / ITERS, FFT_SIZE, 	 2.0 * FFT_SIZE * ITERS / elapsed,	 (double) elapsed * 3.6864 * 60 / ITERS / FFT_SIZE);  return 0;}static void TransTable(void) {  struct complex in[FFT_SIZE];  int i, j, maxind, numInvariants, startind, nextind;  int transtab[FFT_SIZE], invtab[FFT_SIZE], iffttab[FFT_SIZE], inviffttab[FFT_SIZE];    /* Determine the translation table */  for(i = 0; i < FFT_SIZE; i++) {    for(j = 0; j < FFT_SIZE; j++) {      in[j].r = DOUBLE2FIX(cos(2 * M_PI * i * j / FFT_SIZE));      in[j].i = DOUBLE2FIX(-sin(2 * M_PI * i * j / FFT_SIZE));    }   DoFFT(in, FFT_SIZE);    maxind = 0;    for(j = 1; j < FFT_SIZE; j++)      if(in[j].r > in[maxind].r) {	maxind = j;      }    transtab[i] = maxind;    if(i == 0)      iffttab[i] = maxind;    else      iffttab[FFT_SIZE - i] = maxind;  }  numInvariants = 0;  for(i = 0; i < FFT_SIZE; i++) {    for(j = i + 1; j < FFT_SIZE; j++) {      if(transtab[i] == transtab[j]) {	printf("*** WARNING: table entries %d and %d collide !\n", i, j);      }    }    invtab[transtab[i]] = i;    inviffttab[iffttab[i]] = i;    if(transtab[i] == i)      numInvariants++;  }  if(numInvariants == FFT_SIZE)    printf("1:1 mapping; no reorder required.\n");  else {    printf("In-place FFT table:\n{\n");    for(i = 1; i < FFT_SIZE; i++) {      if(invtab[i] < 0)	continue;      startind = i;      printf("%2d, ", startind);      do {	nextind = invtab[i];	assert(nextind >= 0);	invtab[i] = -invtab[i];	i = nextind;	printf("%2d, ", i);      } while(i != startind);    }    printf("0 }\n");    printf("Out-of-place FFT table (dst[i] = src[tab[i]]):\n{\n%2d", transtab[0]);    for(i = 1; i < FFT_SIZE; i++)      printf(", %2d", transtab[i]);    printf(" }\n");        printf("In-place IFFT table:\n{\n");    for(i = 1; i < FFT_SIZE; i++) {      if(inviffttab[i] < 0)	continue;      startind = i;      printf("%2d, ", startind);      do {	nextind = inviffttab[i];	assert(nextind >= 0);	inviffttab[i] = -inviffttab[i];	i = nextind;	printf("%2d, ", i);      } while(i != startind);    }    printf("0 }\n");    printf("Out-of-place IFFT table (dst[i] = src[tab[i]]):\n{\n%2d", iffttab[0]);    for(i = 1; i < FFT_SIZE; i++)      printf(", %2d", iffttab[i]);    printf(" }\n");      }}#define SINVECLEN 256static void SinTabTest(void) {  struct complex orig[SINVECLEN], tabbed[SINVECLEN];  int i, tabSize;  for(i = 0; i < SINVECLEN; i++) {    orig[i].r = DOUBLE2FIX(sin(2 * M_PI * i / SINVECLEN));    orig[i].i = DOUBLE2FIX(cos(2 * M_PI * i / SINVECLEN));  }  printf("Energy in original sine: %f.\n", VectorMeanEnergy(orig, SINVECLEN));  for(tabSize = 256; tabSize < 5000; tabSize *= 2) {    for(i = 0; i < SINVECLEN; i++) {      tabbed[i].r = DOUBLE2FIX(sin(2 * M_PI * (i + 128.0 / tabSize) / SINVECLEN));      tabbed[i].i = DOUBLE2FIX(cos(2 * M_PI * (i + 128.0 / tabSize) / SINVECLEN));    }    printf("Max full cycle distortion for a table of %d : %f (%f).\n",	   tabSize, 10.0 * log10(CompareVectors(orig, tabbed, SINVECLEN)),	   VectorMeanEnergy(tabbed, SINVECLEN));  }} /* SinTabTest */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱淫av一区二区三区| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 成人h精品动漫一区二区三区| 色哟哟一区二区在线观看| 久久在线观看免费| 午夜视频一区二区| 色综合天天综合在线视频| 亚洲免费在线视频| 高清不卡在线观看av| 欧美一区二区三区的| 亚洲免费观看高清完整版在线 | 91精品国产手机| 综合欧美一区二区三区| 国产成人av电影在线播放| 日韩欧美久久一区| 日韩国产欧美一区二区三区| 色综合久久99| 一区精品在线播放| 成人免费视频网站在线观看| 日韩视频免费观看高清在线视频| 亚洲二区在线视频| 色素色在线综合| 亚洲日本中文字幕区| 成人免费观看视频| 欧美激情一区二区三区不卡| 久久av资源站| 日韩欧美美女一区二区三区| 三级在线观看一区二区| 欧美亚洲愉拍一区二区| 亚洲伊人色欲综合网| 一本到不卡免费一区二区| 亚洲欧洲美洲综合色网| 91在线观看高清| 亚洲男女一区二区三区| 99久久精品国产观看| 亚洲视频在线一区观看| 91麻豆福利精品推荐| 亚洲欧美日韩国产另类专区| 色综合色综合色综合| 亚洲一二三区不卡| 欧美日韩午夜影院| 美腿丝袜亚洲一区| 久久综合色婷婷| 国产69精品久久99不卡| 一色桃子久久精品亚洲| 日本高清不卡视频| 亚洲18色成人| 精品国产自在久精品国产| 久久66热re国产| 国产亚洲女人久久久久毛片| 不卡一卡二卡三乱码免费网站| 国产精品久久久久久久久图文区 | 丰满亚洲少妇av| **网站欧美大片在线观看| 色天使久久综合网天天| 秋霞影院一区二区| 2014亚洲片线观看视频免费| 成人av网站在线观看免费| 亚洲国产成人tv| 精品久久久网站| 99久久久无码国产精品| 丝袜亚洲另类欧美综合| 国产婷婷一区二区| 欧美在线综合视频| 久久成人免费日本黄色| 国产精品久久久久久久久图文区| 欧美亚洲综合久久| 国产乱码精品一区二区三区忘忧草 | 亚洲卡通欧美制服中文| 欧美日韩国产高清一区二区| 麻豆中文一区二区| 亚洲男女一区二区三区| 久久色在线观看| 在线观看www91| 国产福利一区二区三区视频 | 久久99久久99| 亚洲精品国产a久久久久久| 日韩视频一区在线观看| 91在线高清观看| 久久99精品国产91久久来源| 亚洲视频免费在线| 欧美va日韩va| 欧美日韩精品专区| av在线一区二区| 国产精品456露脸| 蜜臀久久久99精品久久久久久| 欧美国产日产图区| 精品国产人成亚洲区| 欧美在线观看18| 99精品视频中文字幕| 国产伦精品一区二区三区在线观看| 一区二区三区四区五区视频在线观看 | 一区二区在线电影| 国产色产综合色产在线视频| 91精品午夜视频| 欧美综合欧美视频| 99久久精品国产导航| 精品亚洲免费视频| 奇米影视一区二区三区| 亚洲午夜电影在线观看| 一区二区视频在线| 亚洲美女区一区| 成人免费一区二区三区视频 | 亚洲第一二三四区| 亚洲欧美日韩中文字幕一区二区三区 | 成人国产精品免费网站| 国产精品色在线| www.在线欧美| av电影在线不卡| 91网站最新地址| 国产在线一区观看| 欧美性受xxxx黑人xyx| 亚洲一区二区三区四区中文字幕| 久久久久国产精品麻豆ai换脸| 日韩一区二区精品葵司在线| 欧美日韩一区二区在线观看视频 | 亚洲欧美日韩综合aⅴ视频| 日本一区二区视频在线| 久久九九久精品国产免费直播| 精品国产欧美一区二区| 欧美精品一区二区久久久| 精品美女一区二区| 久久久久国色av免费看影院| 久久美女高清视频| 欧美激情中文字幕| 成人欧美一区二区三区| 亚洲精品五月天| 亚洲国产欧美一区二区三区丁香婷| 免费成人在线视频观看| 精品一区二区三区视频在线观看| 久久国产麻豆精品| 国产99精品视频| 91女厕偷拍女厕偷拍高清| 精品视频一区二区三区免费| 777午夜精品免费视频| 26uuu欧美| 日韩一区欧美一区| 亚洲bt欧美bt精品777| 久久国产视频网| 成人黄动漫网站免费app| 91久久精品午夜一区二区| 91精品国产色综合久久不卡电影 | 国产一区999| 97国产一区二区| 欧美日韩国产在线观看| 日韩欧美一级二级三级 | 日韩一级黄色大片| 国产亚洲成年网址在线观看| 亚洲色图都市小说| 美女在线视频一区| 99久久国产免费看| 91精品国产高清一区二区三区 | 欧美一区国产二区| 国产欧美日韩卡一| 亚洲成人手机在线| 丰满少妇在线播放bd日韩电影| 日本高清不卡aⅴ免费网站| 日韩精品一区二区三区视频播放 | 91精品中文字幕一区二区三区| 久久男人中文字幕资源站| 亚洲欧美成aⅴ人在线观看| 极品少妇xxxx精品少妇| 色视频欧美一区二区三区| 亚洲精品在线观看视频| 亚洲一区在线视频| 成年人国产精品| 精品久久久久久久一区二区蜜臀| 亚洲欧美日本在线| 国产成人精品三级麻豆| 欧美精品一二三四| 一区二区在线看| 成人国产精品免费观看| 精品日韩一区二区三区| 亚洲第一激情av| 91老师国产黑色丝袜在线| 久久久一区二区| 久久精品99国产精品日本| 欧美伊人久久久久久久久影院 | 不卡欧美aaaaa| 久久九九全国免费| 麻豆成人av在线| 91精品国产色综合久久ai换脸 | 欧美一级二级三级乱码| 一二三区精品福利视频| 成人h版在线观看| 国产无一区二区| 国产麻豆视频一区二区| 欧美不卡123| 久久激五月天综合精品| 制服丝袜亚洲网站| 午夜激情一区二区| 欧美三区免费完整视频在线观看| 亚洲丝袜另类动漫二区| 99精品欧美一区二区三区小说| 国产清纯美女被跳蛋高潮一区二区久久w| 免费成人你懂的| 精品免费日韩av| 国产老女人精品毛片久久| 精品国产乱码久久久久久夜甘婷婷| 天使萌一区二区三区免费观看|