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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? readfile.c

?? FFT arm匯編實現
?? C
字號:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define PI 3.1415926535898
#define ROW		128
#define COL		128
#define LEVEL	256

int* sinw;
int* cosw;

extern void MYFFT(int* a,int* b,int* si,int* co);
//int n_fft(unsigned char *inimage, int *prdata,int *pidata,int *ap,
//				int row, int col);
int n_fft(unsigned char *inimage, double *prdata,double *pidata,double *ap,
				int row, int col);
//int fft(int n, int *ar, int *ai);
void swap(double *f1, double *f2);
double sqr(double ff);
//fast fourier convert

int fft(int n, double *ar, double *ai)
{
	int n2, a, c, d, f, g, h, j,count;
	double b, e, k, i, n1, co, si;
	int m, p, q, r, s;
	n1=log10(n)/log10(2);
	n2=-1;
	a=n;
	b=2*PI/n;
	for(c=1;c<=n1;c++)
	{
		d=a;
		a=a/2;
		e=0;
		for(f=0;f<a;f++)
		{
			co=cos(e);
			si=sin(e)*n2;
			e=e+b;
			for(g=d;g<=n;g+=d)
			{
				h=g-d+f;
				j=h+a;
				k=*(ar+h)-*(ar+j);
				i=*(ai+h)-*(ai+j);
				*(ar+h)=*(ar+h)+*(ar+j);                                    //butterfly process
				*(ai+h)=*(ai+h)+*(ai+j);
				*(ar+j)=(co*k+si*i);
				*(ai+j)=(co*i-si*k);
			}
		}
		b=2*b;
	}
	m=0;
	p=n/2;
	q=n-1;
	for(r=0;r<q;r++)
	{
		if((r-m)<0)
		{
			swap((double *)ar+r, (double *)ar+m);                            //sort the sequence
 			swap((double *)ai+r, (double *)ai+m);
		}
		s=p;
		while((s-m)<1)
		{
			m=m-s;
			s=s/2;
		}
		m=m+s;
	}
	for(s=0;s<n;s++)
	{ 
		*(ar+s)=*(ar+s)/n;                                                   //calculate the results
		*(ai+s)=*(ai+s)/n;
	}
	//for(count=0;count < n; count++)
	//{
	//	printf("%lf %lfi ",*(ar+count),*(ai+count));
	//}
	return 1;
}

/* f1, f2 swap */
void swap(double *f1, double *f2)
{
	double ttf;
	ttf= *f1;
	*f1= *f2;
	*f2=ttf;
	return;
}

double sq (double ff)
{
	return(ff*ff);
}
//whole fft
int n_fft(unsigned char *inimage, double *prdata,double *pidata,double *ap,
				int row, int col)
{	
	FILE* destfile;
	int ii,jj;
	int *ar;
	int *ai;
	double* ard;
	double* aid;
	//int gmax;
	double gmax;
	int j;
	char* destname = "d:\\fft.raw";
	
	destfile = fopen(destname,"wb+");
	if(destfile == (FILE*)0)
		return -1;
	
	ar=malloc(2*col*sizeof(int));
	ai=malloc(2*col*sizeof(int));
	ard=malloc(2*col*sizeof(double));
	aid=malloc(2*col*sizeof(double));
	//printf("%ld\n",&col);
	printf("\n\n%d\n\n%d\n\n",row,col);
	for(ii=0;ii<row;ii++)
	{
		for(jj=0;jj<col;jj++)
		{
			
			//*(prdata+ii*col+jj) = (int)*(inimage+ii*col+jj);
			*(prdata+ii*col+jj) = (double)*(inimage+ii*col+jj);
			*(pidata+ii*col+jj) = 0;
			//printf("%d ",*(inimage+ii*col+jj));
			
		}
		//printf("\n");
		
	}
	for(j=0; j < 128; j++)
	{
		
		printf(" %d %d %d\n",j,*(sinw + j),*(cosw + j));
		
	}
	
	printf("\n\n%d\n\n%d\n\n",sinw,cosw);
	for(ii=0;ii<row;ii++)
	{
		for(jj=0;jj<col;jj++)
		{
			*(ar+jj)=*(prdata+ii*col+jj)*100;                                
			*(ai+jj)=*(pidata+ii*col+jj)*100;
			//*(ard+jj) = (double)*(prdata+ii*col+jj); 
			//*(aid+jj) = (double)*(pidata+ii*col+jj);
			
			
		}
		printf("\n");
		printf("%d \n",col);
		//fft(col,ar,ai);
		//fft(col,ard,aid);
		MYFFT(ar,ai,sinw,cosw);
	//	for(jj=0;jj<col;jj++)
	//	{
	//		printf("%d %d ",*(ar+jj),*(ai+jj));
	//	}
	
		
		for(jj=0;jj<col;jj++)
		{
			*(prdata+ii*col+jj)=*(ar+jj)/100;
			*(pidata+ii*col+jj)=*(ai+jj)/100;                                 //after fft give the values back
			
			
		}
	}
	
	
	for(ii=0;ii<col;ii++)                                                 
	{
		for(jj=0;jj<row;jj++)
		{
			*(ar+jj)=*(prdata+jj*col+ii)*100;
			*(ai+jj)=*(pidata+jj*col+ii)*100;
		}
		//fft(row,ar,ai);
		MYFFT(ar,ai,sinw,cosw);                                               //fft to each column
		for(jj=0;jj<row;jj++)
		{
			*(prdata+jj*col+ii)=*(ar+jj)/100;
			*(pidata+jj*col+ii)=*(ai+jj)/100;                                 //after fft give the values back
		}
	}
	
	
	/*for(ii=0;ii<col;ii++)                                                 
	{
		                                              
		for(jj=0;jj<row;jj++)
		{
			printf("%d %d ",*(prdata+jj*col+ii),*(pidata+jj*col+ii));
	                             
		}
		printf("\n");
	}*/

	
	printf("the end\n");
	gmax=0;
	for(ii=0;ii<row;ii++)
		for(jj=0;jj<col;jj++)
		{
			*(ap+col*ii+jj)=sqrt(sq(*(prdata+ii*col+jj))+sq(*(pidata+ii*col+jj)));      //choose the max one
			if(gmax<*(ap+col*ii+jj))
				gmax=*(ap+col*ii+jj);
		}
		printf("\n\n%d\n\n",gmax);
	for(ii=0;ii<row;ii++)
	{
		for(jj=0;jj<col;jj++)
		{
			*(ap+ii*col+jj)=(unsigned char)(*(ap+col*ii+jj)*LEVEL/gmax);   //calculate the result
			//printf("%d ",*(ap+ii*col+jj));
			fputc((unsigned char)(*(ap+ii*col+jj)),destfile);
			
		}
		printf("\n");
	}
	free(ar);
	free(ai);
	return 1;
	
}

int main()
{
	//int *ap;
	double* ap;
	double *pr;
	double *pi;
	double *si;
	double *co;
	int *prd;
	int *pid;
	
	FILE* file;
	char* filename = "d:\\lab2_d.raw";
	
	int j = 0;
	int ch;
	int i = 0;
	int ci = 0;
	int ri = 0;
	unsigned char* matrix;
	matrix = (unsigned char*)malloc(128*128*sizeof(char));
	pr = (double*)malloc(128*128*sizeof(double));
	pi = (double*)malloc(128*128*sizeof(double));
	//ap = (int*)malloc(128*128*sizeof(int));
	ap = (double*)malloc(128*128*sizeof(double));
	prd = (int*)malloc(128*128*sizeof(int));
	pid = (int*)malloc(128*128*sizeof(int));
	for(ri = 0; ri < 128; ri++)
	{
		for(ci = 0; ci < 128; ci++)
		{
				*(matrix+ri*128 + ci) = 0;
		}
	
	}
	/*open the file*/
	printf("%s\n",filename);
	file = fopen(filename,"rb+");
	if(file == (FILE*)0)
		return -1;
	ri = 0;
	ci = 0;
	while((ch = fgetc(file))!=EOF)
	{
		
		if(i!= 0 && i % 128 == 0)
		{
		ri++;
		printf("\n");
		ci = 0;
		}
		*(matrix+ri*128 + ci) = ch;
	//	printf("%d ",ch);
		ci++;
		i++;
	}
	printf("\n\n\n\n\n\n%d\n\n\n\n\n",i);
	
	/*for(ri = 0; ri < 128; ri++)
	{
		for(ci = 0; ci < 128; ci++)
		{
				printf("%d ",*(matrix+ri*128 + ci));
		}
		printf("\n");
	}*/
	for(ri = 0; ri < 128; ri++)
	{
		for(ci = 0; ci < 128; ci++)
		{
				*(ap+ri*128 + ci) = 0;
				*(pr+ri*128 + ci) = 0;
				*(pi+ri*128 + ci) = 0;
				*(prd+ri*128 + ci) = 0;
				*(pid+ri*128 + ci) = 0;
				
		}
		
	}
	/*n_fft(matrix,pr,pi,ap,128,128);
	for(ri = 0; ri < 128; ri++)
	{
		for(ci = 0; ci < 128; ci++)
		{
				printf("%lf ",*(ap+ri*128 + ci));
		}
		printf("\n");
	}*/
	si = (double*)malloc(128*sizeof(double));
	co = (double*)malloc(128*sizeof(double));
	sinw = (int*)malloc(128*sizeof(int));
	cosw = (int*)malloc(128*sizeof(int));
	for(j=0; j < 128; j++)
	{
		*(si + j) = sin(j*2*PI/128);
		*(co + j) = cos(j*2*PI/128);
		*(sinw + j) =  *(si+j) * 128 * (-1);
		*(cosw + j) =  *(co+j) * 128;
		printf(" %d %d %d\n",j,*(sinw + j),*(cosw + j));
		
	}
	n_fft(matrix,pr,pi,ap,128,128);
	//n_fft(matrix,prd,pid,ap,128,128);
	
	
	
	
	
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品蜜桃在线看| 欧美老年两性高潮| 丰满少妇在线播放bd日韩电影| 天天综合网 天天综合色| 三级一区在线视频先锋| 亚洲福利一区二区三区| 免费亚洲电影在线| 精品系列免费在线观看| 国内精品自线一区二区三区视频| 人人超碰91尤物精品国产| 九九视频精品免费| 国产iv一区二区三区| 91黄色小视频| 欧美videossexotv100| 亚洲欧美综合在线精品| 亚洲图片有声小说| 国产麻豆精品在线观看| 91麻豆swag| 欧美大片顶级少妇| 亚洲自拍偷拍欧美| 久草中文综合在线| 日韩精品一区二区三区在线| 不卡一区中文字幕| 欧美羞羞免费网站| 亚洲精品在线网站| 亚洲高清在线视频| 国产激情视频一区二区在线观看 | 国产乱子伦一区二区三区国色天香| 精品亚洲国产成人av制服丝袜| 国产91丝袜在线播放| 欧美久久久久久久久| 国产精品福利在线播放| 美女mm1313爽爽久久久蜜臀| 色综合欧美在线视频区| 精品国内片67194| 日韩精品欧美精品| 欧美日韩不卡在线| 视频一区欧美日韩| 精品视频免费看| 亚洲国产精品久久艾草纯爱| 一本一本大道香蕉久在线精品 | 91一区一区三区| 国产女同性恋一区二区| 福利91精品一区二区三区| 久久视频一区二区| 国产精品99久久久久久久vr| 欧美成人a∨高清免费观看| 毛片不卡一区二区| 久久新电视剧免费观看| 国产高清在线精品| 国产精品你懂的在线欣赏| 国产高清成人在线| 亚洲三级电影网站| 欧美在线你懂得| 日欧美一区二区| 日韩你懂的在线观看| 国产精品一区专区| 日韩伦理免费电影| 欧美中文字幕亚洲一区二区va在线 | 国产欧美一区二区精品久导航| 国产成人亚洲综合a∨婷婷| 国产精品入口麻豆九色| www.欧美日韩| 日韩精品成人一区二区在线| 欧美xfplay| 色哟哟在线观看一区二区三区| 亚洲国产精品影院| 久久网站热最新地址| 91久久精品一区二区三| 七七婷婷婷婷精品国产| 亚洲国产精品成人综合色在线婷婷| 99久久免费国产| 图片区日韩欧美亚洲| 国产拍揄自揄精品视频麻豆| 91麻豆精品国产91| 91理论电影在线观看| 欧美a级一区二区| 亚洲日本欧美天堂| 日韩欧美亚洲国产精品字幕久久久| caoporn国产精品| 久久99国产精品尤物| 亚洲成人免费视频| 中文字幕在线不卡一区二区三区| 欧美成人vps| 欧美日本一道本| 日本道色综合久久| 国产91色综合久久免费分享| 美腿丝袜在线亚洲一区| 一区二区三区欧美激情| 国产精品国产三级国产普通话三级| 在线成人午夜影院| 在线观看一区二区精品视频| 成人国产精品免费观看| 懂色中文一区二区在线播放| 久久国产精品72免费观看| 日韩电影在线免费看| 午夜激情一区二区| 肉色丝袜一区二区| 偷拍日韩校园综合在线| 奇米色一区二区三区四区| 天堂一区二区在线免费观看| 日日夜夜免费精品| 久久99日本精品| 国内精品第一页| 激情久久五月天| 国内外成人在线视频| 国产不卡在线播放| 99国产精品久久久久| 色综合久久久久| 91麻豆产精品久久久久久 | 日韩一区二区在线观看| 欧美日韩在线不卡| 欧美一区二区视频在线观看2022| 91超碰这里只有精品国产| 日韩一区二区三区电影 | 国产成人在线观看免费网站| 国产东北露脸精品视频| 成人深夜在线观看| 欧美综合视频在线观看| 日韩女优电影在线观看| 中文字幕制服丝袜成人av| 午夜精品123| av中文字幕亚洲| 欧美人动与zoxxxx乱| 久久蜜桃av一区精品变态类天堂| 自拍偷拍亚洲激情| 蜜桃传媒麻豆第一区在线观看| 成人av网站在线观看| 在线观看一区二区视频| 久久久综合视频| 五月婷婷激情综合| 国产成人亚洲综合a∨婷婷图片| 欧美午夜精品一区| 欧美精品一区二区在线播放| 亚洲一区二区在线免费看| 懂色av中文一区二区三区 | 中文字幕亚洲区| 久久99精品久久久久久| 欧美日韩一级视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲精品久久嫩草网站秘色| 国产伦精品一区二区三区在线观看| 日本韩国一区二区| 国产精品免费aⅴ片在线观看| 国产综合一区二区| 精品国产自在久精品国产| 日韩成人免费在线| 欧美日韩极品在线观看一区| 亚洲柠檬福利资源导航| 成人免费va视频| 国产视频一区在线观看| 国产成人综合自拍| 久久精品视频免费| 国产传媒久久文化传媒| 国产肉丝袜一区二区| 国产精品18久久久久久久久 | 国内精品免费**视频| 337p粉嫩大胆色噜噜噜噜亚洲| 久久99国产精品麻豆| 欧美不卡在线视频| 国产精品1区2区3区| 中文字幕欧美激情| 99久久免费国产| 一区二区免费看| 91精品国产综合久久久蜜臀粉嫩| 亚洲成a人片综合在线| 欧美精品第1页| 极品少妇xxxx偷拍精品少妇| 久久综合九色综合欧美98| 成人在线视频一区二区| 日韩毛片精品高清免费| 欧美中文字幕一二三区视频| 日韩电影免费一区| 久久一区二区三区四区| 不卡高清视频专区| 亚洲成人在线网站| 欧美xxx久久| 色久优优欧美色久优优| 日本大胆欧美人术艺术动态| 日韩精品一区国产麻豆| 99视频一区二区三区| 日韩在线a电影| 国产精品久久三区| 欧美一级午夜免费电影| 不卡高清视频专区| 麻豆国产精品官网| 亚洲美女少妇撒尿| 精品88久久久久88久久久| 色系网站成人免费| 国产不卡在线视频| 久久超碰97中文字幕| 亚洲第一会所有码转帖| 中文字幕一区二区三区蜜月| 精品国产伦一区二区三区观看方式| 91丨九色porny丨蝌蚪| 国产伦精品一区二区三区免费| 午夜私人影院久久久久| 最新日韩av在线| 中文字幕高清不卡| 久久看人人爽人人|