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

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

?? dfstest.c

?? 這是數(shù)字信號(hào)處理方面的一些源碼
?? C
字號(hào):
/**********************************************************************

DFSTEST.C - 離散傅里葉級(jí)數(shù)合成連續(xù)周期信號(hào)

gen_freq   產(chǎn)生信號(hào)的頻域數(shù)據(jù)
cal_time   計(jì)算信號(hào)的時(shí)域波形
draw_image 輸入數(shù)據(jù)繪圖子程序

***********************************************************************/

#include    <math.h>
#include    <stdlib.h>
#include    <stdio.h>
#include    <string.h>
#include    <conio.h>
#include    <graphics.h>

/* function prototypes and structures for fft functions */

/* COMPLEX STRUCTURE */
typedef struct {
    double real, imag;
} COMPLEX;

#define    PI	(4.0*atan(1.0))

void gen_freq(COMPLEX *x, int m ,double a, double w0,int type);
void cal_time(COMPLEX *x, int m, COMPLEX *Dataout, int N);
void draw_image(double *x,int m,char *title1,char *title2,
		 char *xdis1,char *xdis2,int dis_type);

/********************************************************/
void main(void)
{
  int          i,j,k,length,m,type;
  char         title1[80],title2[80],tmp1[20],tmp2[20];
  double       *amp;
  double       a,w0;
  COMPLEX      *fsamp,*tsamp;

  a = 1;         /* a : 信號(hào)幅度 */
  w0 = 2.0*PI*1; /* w0: 信號(hào)的頻率(弧度) */
  m = 10;        /* m : DFS 長(zhǎng)度 */
  length = 512;  /* length: 顯示樣點(diǎn)數(shù)據(jù)長(zhǎng)度 */
  type = 3;      /* type: 對(duì)應(yīng)于表2.2 中的信號(hào)類型(1,2,...,6) */

  amp = (double *) calloc(length+1,sizeof(double));
  fsamp = (COMPLEX *) calloc(m*2+2,sizeof(COMPLEX));
  tsamp = (COMPLEX *) calloc(length+1,sizeof(COMPLEX));
	if(!tsamp) {
	    printf("\nUnable to allocate complex array for calculation\n");
	    exit(1);
	}

  /* Input frequency DFS sampling data for processing */
  gen_freq(fsamp,m,a,w0,type);

  for (i = 0; i < 2*m+1; i++) {
     amp[i]= sqrt(fsamp[i].real*fsamp[i].real+fsamp[i].imag*fsamp[i].imag);
  }

  strcpy(title1,"The DFS Data Sequency N=");
  strcat(title1,itoa(m,tmp1,10));
  strcpy(title2,"The Magnitude of DFS");
  strcpy(tmp1,"-N");
  strcpy(tmp2,"N");
  draw_image(amp,2*m,title1,title2,tmp1,tmp2,1);

/* Calculate the time domain signal wave of the input DFS*/
  printf("Waitting for the calculation...\n");
  cal_time(fsamp,m,tsamp,length);

  for (i = 0 ; i < length ; i++) {
    amp[i]   = tsamp[i].real;
  }
  strcpy(title1,"The Signal In Time Domain N=");
  strcat(title1,itoa(m,tmp1,10));
  strcpy(title2,"The Time Signal Magnitude");
  strcpy(tmp1,"0");
  gcvt(4.0*PI/w0,6,tmp2);
  strcat(tmp2,"(s)");
  draw_image(amp,length,title1,title2,tmp1,tmp2,0);

  free(fsamp);
  free(tsamp);
  free(amp);
}

/**************************************************************************
gen_freq - 信號(hào)的頻率域數(shù)據(jù)產(chǎn)生子程序

輸入?yún)?shù):
	x : 復(fù)數(shù)指針,作為輸出頻域信號(hào)的存放區(qū)
	m : 整數(shù),輸出頻域信號(hào)的長(zhǎng)度(length=2^m+1)
	a : 信號(hào)的幅度, 雙精度浮點(diǎn)數(shù)
	w0: 信號(hào)基波的頻率(弧度),雙精度浮點(diǎn)數(shù)
      type: 產(chǎn)生信號(hào)的類型, 對(duì)應(yīng)于表2.2(1,2,...,6)
輸出參數(shù):
	產(chǎn)生的信號(hào)存放在 x 所指定的區(qū)域

void gen_freq(COMPLEX *x, int m ,double a, double w0,int type)
*************************************************************************/

void gen_freq(COMPLEX *x, int m, double a, double w0,int type)
{
    int i,j,le;

    le = 2*m + 1;
/* calculate the F-Domain X(nw0) values recursively */
    switch(type) {
       case 1:  i= -m;
		for (j=0; j<le; j++) {
		   if(abs(i%2) == 0) {
		      (x+j)->real = 2.0*a/(PI*(1.0-i*i));
		      (x+j)->imag = 0;
		   }
		   else {
		     (x+j)->real = 0;
		     (x+j)->imag = 0;
		   }
		   i++;
		}
		break;
       case 2:  i= -m;
		for (j=0; j<le; j++) {
		   if(abs(i%2) == 0) {
		      (x+j)->real = a/(PI*(1.0-i*i));
		      (x+j)->imag = 0;
		   }
		   else if(abs(i) != 1) {
		     (x+j)->real = 0;
		     (x+j)->imag = 0;
		   }
		   else {
		     (x+j)->real = 0;
		     (x+j)->imag = -1.0*i*a/4.0;
		   }
		   i++;
		}
		break;
       case 3:  i= -m;
		for (j=0; j<le; j++) {
		   if(abs(i)%2 == 0) {
		      (x+j)->real = 0;
		      (x+j)->imag = 0;
		   }
		   else if( abs(i>>1)%2 == 0 ) {
		     (x+j)->real = 2.0*a/i/PI;
		     (x+j)->imag = 0;
		   }
		   else {
		     (x+j)->real = -2.0*a/i/PI;
		     (x+j)->imag = 0;
		   }
		   i++;
		}
		break;
       case 4:  i= -m;
		for (j=0; j<le; j++) {
		   if(abs(i%2) == 0) {
		      (x+j)->real = 0;
		      (x+j)->imag = 0;
		   }
		   else {
		     (x+j)->real = 4.0*a*cos(i*PI/2)/(PI*PI*i*i);
		     (x+j)->imag = -4.0*a*sin(i*PI/2)/(PI*PI*i*i);
		   }
		   i++;
		}
		break;
       case 5:  i= -m;
		for (j=0; j<le; j++) {
		   if(i == 0) {
		      (x+j)->real = 0;
		      (x+j)->imag = 0;
		   }
		   else {
		     (x+j)->real = a*pow(-1,i+1)*cos(PI/2)/(i*PI);
		     (x+j)->imag = -a*pow(-1,i+1)*sin(PI/2)/(i*PI);
		   }
		   i++;
		}
		break;
       case 6:  for (j=0; j<le; j++) {
		  (x+j)->real = w0/2.0/PI;
		  (x+j)->imag = 0;
		}
		break;
       default: for (j=0; j<le; j++) {
		  (x+j)->real = 0;
		  (x+j)->imag = 0;
		}
		break;
    }
}

/***********************************************************************

cal_time - 計(jì)算信號(hào)的時(shí)間域波形子程序

輸入?yún)?shù):
	 x : 輸入頻率域的數(shù)據(jù)指針,復(fù)數(shù)指針;
	 m : 輸入數(shù)據(jù)的長(zhǎng)度, 整數(shù);
    Dataout: 輸出數(shù)據(jù)指針, 復(fù)數(shù)指針;
	 N : 輸出數(shù)據(jù)長(zhǎng)度;
輸出參數(shù):
	 輸出數(shù)據(jù)在 Dataout 中, 長(zhǎng)度為 N;
	 無(wú)輸出參數(shù).

void cal_time(COMPLEX *x, int m, COMPLEX *Dataout, int N)
*************************************************************************/

void cal_time(COMPLEX *x, int m, COMPLEX *Dataout, int N)
{
    int i,j,k;
    COMPLEX *Dinptr,*Doutptr;
    double arg;

/* Perform the DFT calculation */

    arg = 4*PI/N;
    printf("\n");
    Doutptr=Dataout;
    for (i=0; i<N; i++)  {
       Doutptr->real = 0;
       Doutptr->imag = 0;
       Doutptr++;
    }

    Dinptr = x;
    for (i=-m ; i<=m ; i++) {
	Doutptr=Dataout;
	for (j=0; j<N; j++) {
	   Doutptr->real += Dinptr->real*cos(arg*i*j)-Dinptr->imag*sin(arg*i*j);
	   Doutptr->imag += Dinptr->imag*cos(arg*i*j)+Dinptr->real*sin(arg*i*j);
	   Doutptr++;
	}
	printf("*");
	Dinptr++;
    }
    printf("\n");
}

/************************************************************************
draw_image - 將輸入數(shù)據(jù)的幅度畫(huà)出圖形。該函數(shù)可自動(dòng)調(diào)整顯示的比例, 使圖形
	     充滿整個(gè)屏幕。

輸入?yún)?shù): double *x    -   輸入數(shù)據(jù)序列的指針;
	  int m        -   輸入數(shù)據(jù)序列的長(zhǎng)度;
	  char *title1 -   顯示圖形的上標(biāo)題字符串指針;
	  char *xdis1  -   X 坐標(biāo)左邊顯示標(biāo)題字符串指針.
	  char *title2 -   顯示圖形的左標(biāo)題字符串指針.
	  char *xdis2  -   X 坐標(biāo)右邊顯示標(biāo)題字符串指針.
	  int dis_type -   顯示類型, 0:連線 1:直線.
輸出參數(shù): 無(wú)
*************************************************************************/
void draw_image(double *x,int m,char *title1,char *title2,
		char *xdis1,char *xdis2,int dis_type)
{
 int gdriver=DETECT, gmode,errorcode;
 int i,scx,scy,y0,signa,signb;
 int style, userpat;
 int start_x=40,start_y=40,end_x=10,end_y=60;
 long tlen;
 double ys,xs,ym;
 char dis[40];
 /*initializes the graphics mode */
 initgraph(&gdriver,&gmode,"");
 errorcode=graphresult();
 if (errorcode != grOk) {
    printf("Graphics error: %s\n",grapherrormsg(errorcode));
    printf("Press any key to halt!\n");
    getch();
    exit(1);
 }
 scx=getmaxx();
 scy=getmaxy();
 ym=1.e-90;
 signa=0;
 signb=0;

 for(i=0;i<m;i++) {
    if ((*(x+i)>0)&&(*(x+i)>ym))  ym = *(x+i);
    if ((*(x+i)<0)&&(- *(x+i)>ym))  ym = - *(x+i);
 }
 for(i=0;i<m;i++)  {
    if (*(x+i)>fabs(ym/20)) signa=1;
    if (*(x+i)<-fabs(ym/20)) signb=1;
 }
 if ((signa==1)&&(signb==1)) ys=(double)((scy - start_y - end_y)>>1)/ym;
 else ys=(double)((scy - start_y - end_y)/ym);
 xs=(double)(scx - start_x - end_x)/m;
 y0=((scy - start_y - end_y)>>1)+start_y;

 /* draw the frame */

 setcolor(LIGHTGREEN);
 rectangle(start_x-1,start_y-20,scx-end_x+1,scy-end_y+20);

 setcolor(DARKGRAY);
 /* select the line style */
 style=DASHED_LINE;
 userpat = 1;
 setlinestyle(style, userpat, 1);
 /* a user defined line pattern */
 /* binary: "0000000000000001"  */
 for(i=0;i<=10;i++)
    line(start_x,start_y+(scy-start_y-end_y)*i/10,scx-end_x,start_y+(scy-start_y-end_y)*i/10);
 for(i=0;i<=10;i++)
    line(start_x+(scx-start_x-end_x)*i/10,start_y,start_x+(scx-start_x-end_x)*i/10,scy-end_y);
 setcolor(GREEN);
 style=SOLID_LINE;
 userpat = 1;
 setlinestyle(style, userpat, 1);
 rectangle(start_x,start_y,scx-end_x,scy-end_y);
 setcolor(YELLOW);
 for(i=0;i<=10;i++)
    line(start_x,start_y+(scy-start_y-end_y)*i/10,start_x+5,start_y+(scy-start_y-end_y)*i/10);
 for(i=0;i<=10;i++)
    line(start_x+(scx-start_x-end_x)*i/10,scy-end_y+15,start_x+(scx-start_x-end_x)*i/10,scy-end_y+20);
 settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
 setcolor(YELLOW);
 if((signa==1)&&(signb==0)) {
    strcpy(dis,"0");
    outtextxy(start_x+2,scy-end_y+4,dis);
    gcvt(ym,5,dis);
    outtextxy(start_x+1,start_y-10,dis);
    outtextxy(start_x-10,scy-end_y+24,xdis1);
    outtextxy(scx-2-strlen(xdis2)*8,scy-end_y+24,xdis2);
 }
 else if((signb==1)&&(signa==0)) {
    strcpy(dis,"0");
    outtextxy(start_x+2,start_y-10,dis);
    gcvt(ym,5,dis);
    outtextxy(start_x+2,scy-end_y+4,"-");
    outtextxy(start_x+10,scy-end_y+4,dis);
    outtextxy(start_x-10,scy-end_y+24,xdis1);
    outtextxy(scx-2-strlen(xdis2)*8,scy-end_y+24,xdis2);
 }
 else {
    line(start_x,y0,scx-end_x,y0);
    strcpy(dis,"0");
    outtextxy(start_x-10,y0,dis);
    gcvt(ym,5,dis);
    outtextxy(start_x+2,start_y-10,dis);
    outtextxy(start_x+2,scy-end_y+4,"-");
    outtextxy(start_x+10,scy-end_y+4,dis);
    outtextxy(start_x-10,scy-end_y+24,xdis1);
    outtextxy(scx-2-strlen(xdis2)*8,scy-end_y+24,xdis2);
 }
 strcpy(dis,"Press any key to continue...");
 setcolor(LIGHTRED);
 outtextxy((scx-28*8)>>1,scy-16,dis);

 settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
 tlen=strlen(title1);
 if ((tlen<<4)<scx) {
    setcolor(LIGHTGREEN);
    outtextxy((start_x+scx-end_x-(tlen<<4))>>1,start_y-40,title1);
 }

 settextstyle(DEFAULT_FONT,VERT_DIR,1);
 tlen=strlen(title2);
 if ((tlen<<4)<scy) {
    setcolor(LIGHTGREEN);
    outtextxy(start_x-20,(scy-end_y-(tlen<<3))>>1,title2);
 }
 /*draw the amplitude image*/
 setcolor(WHITE);
 if((signa==1)&&(signb==0)) y0=scy-end_y;
 else if((signb==1)&&(signa==0)) y0=start_y;
 if (dis_type == 0) {
    for(i=0;i<m-1;i++)
      line(xs*i+start_x,y0-*(x+i)*ys,xs*(i+1)+start_x,y0-*(x+i+1)*ys);
 }
 else if (dis_type == 1) {
    for(i=0;i<=m;i++)
      line(xs*i+start_x,y0-*(x+i)*ys,xs*i+start_x,y0);
 }
 getch();
 closegraph();
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品视频在线免费| 337p日本欧洲亚洲大胆色噜噜| 精品一区二区三区视频在线观看| 亚洲欧洲综合另类在线| 国产精品国产三级国产aⅴ原创| 91福利社在线观看| 成人教育av在线| 国产jizzjizz一区二区| 国产盗摄一区二区三区| 久久免费视频色| 91精品国产欧美一区二区18 | √…a在线天堂一区| 久久精品一区二区三区不卡牛牛 | 91麻豆自制传媒国产之光| 国产福利精品一区| 成人激情小说网站| 99精品欧美一区| 色天天综合色天天久久| 欧美高清www午色夜在线视频| 欧美一区二区视频观看视频| 欧美日韩二区三区| 国内一区二区视频| 国产.欧美.日韩| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | www..com久久爱| 色8久久精品久久久久久蜜| 欧美无砖专区一中文字| 91精品福利在线一区二区三区 | 色婷婷综合久久久| 欧美日韩成人一区| 国产欧美日韩视频一区二区| 国产精品久久99| 久久蜜桃av一区精品变态类天堂 | 国产精品高清亚洲| 欧美高清在线视频| 欧美一区二区三区四区视频| 国产一区二区三区在线观看免费视频| 久久精品久久精品| 大桥未久av一区二区三区中文| 99久久精品免费看| 9191久久久久久久久久久| 久久久精品国产99久久精品芒果| 中文字幕亚洲一区二区va在线| 性欧美疯狂xxxxbbbb| 国产福利一区二区三区| 欧美色涩在线第一页| 国产亚洲一本大道中文在线| 亚洲欧美色综合| 国产精品一色哟哟哟| 欧美性猛交一区二区三区精品| 久久久亚洲精品一区二区三区 | 色综合久久中文综合久久97| 国产精品1区二区.| 欧美色精品在线视频| 精品福利一二区| 亚洲国产视频a| 成人听书哪个软件好| 欧美一区二区三区免费观看视频| 亚洲欧洲国产专区| 国产69精品久久久久毛片| 日韩一区二区精品在线观看| 亚洲伊人伊色伊影伊综合网| 大桥未久av一区二区三区中文| 日韩西西人体444www| 亚洲国产va精品久久久不卡综合| jvid福利写真一区二区三区| 久久综合九色欧美综合狠狠 | 色婷婷av一区二区三区软件| 国产成人精品综合在线观看| 日韩一区二区三区电影在线观看| 一区二区三区四区乱视频| 国产河南妇女毛片精品久久久| 91精品国产综合久久久久久| 午夜久久久久久久久| 欧美唯美清纯偷拍| 亚洲国产精品久久久男人的天堂| 99精品偷自拍| 伊人开心综合网| 色综合欧美在线| 亚洲欧美另类图片小说| 91丨九色porny丨蝌蚪| 亚洲欧美日韩国产成人精品影院| 成人午夜av在线| 亚洲天堂免费看| 一本色道久久综合亚洲精品按摩| 中文字幕日本不卡| 在线中文字幕一区二区| 亚洲国产一区二区在线播放| 欧美久久久久久久久久| 日本不卡高清视频| 精品久久一区二区三区| 激情欧美一区二区三区在线观看| 日韩三级在线免费观看| 国产麻豆成人精品| 国产视频一区在线观看| 成人丝袜高跟foot| 国产日韩欧美在线一区| 成人成人成人在线视频| 日韩美女啊v在线免费观看| 亚洲成人精品影院| 美女脱光内衣内裤视频久久影院| 色综合中文综合网| 久久久精品影视| 波多野结衣91| 国产精品乱码久久久久久| 国产成人精品亚洲午夜麻豆| 国产欧美日产一区| 在线视频一区二区三区| 五月天激情综合| 久久久久久久久久久99999| 性久久久久久久久久久久| 日本黄色一区二区| 天堂精品中文字幕在线| www成人在线观看| 91福利在线看| 精品在线你懂的| 亚洲欧美偷拍三级| 精品国产免费一区二区三区四区| av综合在线播放| 亚洲国产综合91精品麻豆| 久久综合丝袜日本网| www.亚洲在线| 激情伊人五月天久久综合| 国产精品妹子av| 精品少妇一区二区三区视频免付费 | 91视频在线看| 久久国产尿小便嘘嘘尿| 亚洲伦理在线免费看| 一区二区免费看| 欧美中文字幕一二三区视频| 日韩av一区二区在线影视| 中文字幕av一区二区三区| 欧美日韩国产色站一区二区三区| 国产成人欧美日韩在线电影| 青青草一区二区三区| 亚洲精品国产一区二区三区四区在线| 欧美日韩国产天堂| 国产一区二区主播在线| 国产精品欧美综合在线| 7777精品伊人久久久大香线蕉超级流畅 | 91色乱码一区二区三区| 亚洲综合色自拍一区| 精品国产一区二区精华| eeuss国产一区二区三区| 亚洲精品综合在线| 欧美日韩激情一区二区三区| 国产日韩欧美a| 经典一区二区三区| 国产精品美女久久久久aⅴ| 欧美性受xxxx黑人xyx| 久久国产精品99久久人人澡| 国产精品天干天干在观线| 成人午夜短视频| 久久久久久久久一| 国产精品伦理在线| 日韩一区二区在线观看视频播放| 国产不卡免费视频| 天堂一区二区在线免费观看| 国产欧美一区在线| 成人久久18免费网站麻豆| 裸体歌舞表演一区二区| 亚洲免费看黄网站| 国产精品卡一卡二| 欧美一级久久久| 欧美日韩综合在线免费观看| 97久久超碰精品国产| 国产米奇在线777精品观看| 午夜a成v人精品| 亚洲综合色婷婷| 亚洲色欲色欲www| 成人免费在线观看入口| 日本一区二区高清| 久久影视一区二区| 欧美一级一级性生活免费录像| 在线视频欧美区| 欧美性生活大片视频| 欧洲av在线精品| 欧美综合久久久| 在线免费不卡视频| 欧美午夜在线一二页| 欧美色手机在线观看| 欧美群妇大交群中文字幕| 欧洲国内综合视频| 欧美日韩国产高清一区二区| 色哟哟精品一区| 欧美日韩一本到| 欧美视频完全免费看| 欧美日韩另类一区| 在线成人av影院| 精品999久久久| 国产精品热久久久久夜色精品三区| 国产亚洲一区二区三区四区 | 中文字幕在线一区二区三区| 久久久www成人免费无遮挡大片| 久久综合久久鬼色中文字| 久久久99精品久久| 国产精品丝袜黑色高跟| 亚洲图片激情小说| 亚洲成人精品影院| 久久免费电影网|