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

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

?? adaptive.c

?? DSP常用C語言算法
?? C
字號:
/*Adaptive filtering using the least mean square adaptation */

#include <math.h>
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <graphics.h>

void initial_graphics (void);
float graph_outline (void);
int format ( double position);
void LJ_Graphic();
void draw_line (double D, double Y, long T, double D_1, double Y_1);
char key_status (void);

#define BACKGROUND BLACK
#define COLORTEXT LIGHTGRAY
#define TRACE1 RED
#define TRACE2 BLUE


#define N  30
#define NS  40
#define FS  8000
#define Pi  3.1415926
#define YSCALE  2
#define XSCALE  NS/FS
#define DESIRED cos(2*Pi*T*1000/FS)
#define NOISE sin(2*Pi*T*1000/FS)

main()
{
  char ch;
  float beta;
  long loop, I, T;
  double D, Y, E, D_1, Y_1; 
  double W[N+1] = {0.0};
  double X[N+1] = {0.0};

  initial_graphics();                   //initialize graphics
  do                                    //repeat graph for new beta value
  {
    beta = graph_outline();             //draw graph and read in value of beta
    for (loop = 0; loop <= N+1; loop++) //initialize arrays to zero for new beta
    {  
      W[loop] = 0.0;                    //coefficient array
      X[loop] = 0.0;                    //array for noise samples
    }
    for (T = 0; T <= NS; T++)           //start adaptive alogrithm
    {    
      X[0] = NOISE;                     //new noise sample
      D = DESIRED;                      //desired signal
      Y = 0;                            //set output of filter to zero
      for (I = 0; I <= N; I++)
	Y = Y + (W[I] * X[I]);          //calculate filter output
      E = D - Y;                        //calculate error signal
      for (I = N; I >= 0; I--)
      {
	W[I] = W[I] + (2*beta*E*X[I]);  //update filter coefficients
	if (I != 0)                     
	  X[I] = X[I-1];                //move data sample 
      }      
      draw_line (D,Y,T,D_1,Y_1);        //plot output to display
      D_1 = D;                          //D_1 is previous desired sample
      Y_1 = Y;                          //Y_1 is previous output sample
    }   
    ch = key_status();                  //get instruction from user
    setviewport (0,0,getmaxx(),getmaxy(),0);   
    clearviewport();                    //clear screen for plot with new beta
  }
  while (ch == 0);    
  closegraph();                         //return to text mode
  return 0;
}

char key_status (void)
{
  char ch;

  while (!kbhit());
  ch = getch();
  if (ch == 0)
  {
    ch = getch();
    if (ch == 59)
      LJ_Graphic();
    if (ch == 60)
      return(0);
  }
  return(1);
}


void draw_line(double D, double Y, long T, double D_1, double Y_1)
{
  if (T != 0)
  {
    setcolor(TRACE2);
    setlinestyle(DASHED_LINE,1,1);
    line((T-1)*(400/NS), (150 - (D_1 * 150/YSCALE)), (T * 400/NS),
	 (150 - (D * (150/YSCALE))));
    setcolor(TRACE1);
    setlinestyle(SOLID_LINE,1,1);
    line((T-1)*(400/NS), (150 - (Y_1 * 150/YSCALE)), (T * 400/NS),
	 (150 - (Y * (150/YSCALE))));
    setcolor(COLORTEXT);
  }
}

void initial_graphics (void)
{

  int gdriver = DETECT, gmode, errorcode;    // request auto detection
  initgraph(&gdriver, &gmode, "");           // initialize graphics mode
  errorcode = graphresult();            // read result of initialization 
  if (errorcode != grOk)                     // an error occurred
    {
       printf("Graphics error: %s\n", grapherrormsg(errorcode));
       printf("Press any key to halt:");
       getch();
       exit(1);                                // return with error code
    }
}


float graph_outline (void)
  {
    int left, top, right, bottom, loop;
    char str[25];
    float beta;

    printf ("Enter a real number for beta (Example 0.05).  ");
    scanf ("%f", &beta);
    setbkcolor(BACKGROUND);
    cleardevice();
    setcolor(COLORTEXT);
    left = getmaxx() / 2 - 200;
    top = getmaxy() / 2 - 200;
    right = getmaxx() / 2 + 200;
    bottom = getmaxy() / 2 + 100;
    settextjustify(CENTER_TEXT,CENTER_TEXT);
    outtextxy (getmaxx()/2,top-20, "ADAPTIVE FILTER");
    rectangle (left, top, right, bottom);
    setviewport (left+1,top+1,right-1,bottom-1,1);
    setlinestyle(DASHED_LINE, 1,1);
    line(0,150,400,150);
    setlinestyle(SOLID_LINE,1,1);
    for (loop = 1; loop <= 7; loop++)
      {
	line(0,(loop*75)/2,5,(loop*75)/2);        //draws horz hash marks
	line(loop*80,300,loop*80,292);    //draws vert hash marks
      }
    setviewport (left-50,top-10,right,bottom+10,1);
    for (loop = 4; loop >= -4; loop--)
      {
	gcvt((-loop/(4.0)*YSCALE),2,str);
	outtextxy(25,(loop*75)/2+160, str);
      }
    setviewport (left-20,top,right+50,bottom+140,0);
    for (loop = 0; loop <= 5; loop++)
      {
	gcvt(loop/(5.0)*XSCALE, 10, str);
	outtextxy((loop*80) + 20, 315, str);
      }
    outtextxy(220,340, "TIME");
    settextstyle(DEFAULT_FONT, VERT_DIR, 1);
    outtextxy (-50,150, "AMPLITUDE");
    settextstyle(DEFAULT_FONT, HORIZ_DIR, 1);
    settextjustify(LEFT_TEXT,CENTER_TEXT);
    setcolor(TRACE1);
    line(50,365,75,365);
    setlinestyle(DASHED_LINE, 1,1);
    setcolor(COLORTEXT);
    outtextxy(80,365, "OUTPUT SIGNAL");
    setcolor(TRACE2);
    line(250,365,275,365);
    setcolor(COLORTEXT);
    outtextxy(280,365, "DESIRED SIGNAL");
    settextjustify(RIGHT_TEXT,CENTER_TEXT);
    outtextxy(150,385, "SAMPLING FREQ = ");
    outtextxy(350,385, "SAMPLES = ");
    outtextxy(150,400, "ORDER OF FILTER = ");
    outtextxy(350,400, "BETA = ");
    settextjustify(CENTER_TEXT,CENTER_TEXT);
    outtextxy(75,425, "F1 for Printout");
    outtextxy(225,425, "F2 for New BETA");
    outtextxy(375,425, "ENTER to Quit");
    settextjustify(LEFT_TEXT,CENTER_TEXT);
    gcvt(FS*1.0, 10, str);
    outtextxy (150, 385, str);
    gcvt(NS*1.0, 10, str);
    outtextxy (350, 385, str);
    gcvt(N+1.0, 10, str);
    outtextxy (150, 400, str);
    gcvt(beta, 6, str);
    outtextxy (350, 400, str);
    settextjustify(CENTER_TEXT,CENTER_TEXT);    
    setviewport (left+1,top+1,right-1,bottom-1,1);
    return(beta); 
}


void LJ_Graphic()
{
  int xaspect, yaspect, maxX, maxY, line, xword, pixel, xwidth, ywidth;
  double xpos, ypos, prnstep, ratio;
  char chr;
				   
  maxX = getmaxx();                         //get number of horizontal pixel
  maxY = getmaxy();                         //get number of vertical pixel
  getaspectratio(&xaspect, &yaspect);       //get the screen aspect ratio
  ratio = (double) xaspect/ (double) yaspect;      
  setviewport(0,0,maxX,maxY,0);             //set viewport for full screen

  xpos = 690;                               //initial position of prn cursor
  ypos = 500;                               //initial position of prn cursor
  prnstep = 7.2/ratio;                      //match printer aspr fo screen aspr
  fprintf (stdprn, "\x1B&E\x1B&11H\x1B&1O\x1B*p0X\x1B*p0Y\x1B*t100R");
  for (line = 0; line <= maxY; line++)
  {
    ywidth = 6;
    if (ypos < 1000.0) ywidth--;
    if (ypos < 100.0) ywidth--;
    if (ypos < 10.0) ywidth--;
    fprintf (stdprn, "\x1B&a%-*.1fh%-*.1fV", 5, xpos, ywidth, ypos);
    ypos += prnstep;
    fprintf (stdprn, "\x1B*r1A\x1B*b%dW", maxX/8);
    for (xword = 0; xword < maxX/8; xword++)
    {
      chr = 0;
      for (pixel = 0; pixel < 8; pixel++)  
      {                     //reads series of 8 pixels to create graphics char
	chr <<= 1;
	if (getpixel (xword*8+pixel, line)) chr++;
      }
      fprintf (stdprn, "%c", chr);             //sends graphic char to printer
    }
    fprintf (stdprn, "\x1B*rB");               //ends graphics line
  }
  fprintf (stdprn, "\x0C\x1B&10O\x1B&11H\x1B&E");
}
		    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产婷婷色一区二区三区四区| 日本色综合中文字幕| 久久一区二区三区国产精品| 91精品久久久久久蜜臀| 欧美视频一区二区三区四区 | 蜜臀av在线播放一区二区三区| 一区二区视频免费在线观看| 亚洲裸体xxx| 亚洲欧美日韩在线| 一区二区三区精密机械公司| 亚洲婷婷在线视频| 亚洲欧美日韩国产一区二区三区| 日韩理论电影院| 亚洲精品亚洲人成人网| 亚洲精品免费在线播放| 亚洲综合网站在线观看| 亚洲国产精品人人做人人爽| 亚洲成av人片| 免费成人在线观看| 国产一二三精品| 成人涩涩免费视频| 91丨porny丨国产| 欧美视频一区二区| 欧美一区二区播放| 久久免费国产精品| 国产精品久久福利| 亚洲女人的天堂| 亚洲大片在线观看| 麻豆精品视频在线观看免费| 国产一区二区三区在线看麻豆| 国产精品99久久久久久有的能看| 国产iv一区二区三区| 99久久久精品| 欧美妇女性影城| xvideos.蜜桃一区二区| 国产精品青草久久| 亚洲高清一区二区三区| 久久99精品久久久久久国产越南 | 日韩亚洲欧美成人一区| 久久人人超碰精品| 亚洲欧美日韩久久| 青青草原综合久久大伊人精品 | 中文字幕不卡的av| 一区二区欧美精品| 久久黄色级2电影| 成人av综合一区| 91精品国产综合久久精品图片| 久久综合色之久久综合| 亚洲欧美乱综合| 美女国产一区二区| 99久久婷婷国产| 日韩精品中文字幕一区| 中文字幕一区视频| 久久国产麻豆精品| 91麻豆.com| 26uuu久久综合| 亚洲小说欧美激情另类| 国产精品自拍在线| 欧美日韩免费观看一区二区三区| 三级欧美在线一区| 国产精品亚洲午夜一区二区三区 | 欧美视频你懂的| 国产片一区二区三区| 亚洲超碰精品一区二区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 日韩成人精品在线观看| 成人一区在线观看| 日韩一本二本av| 亚洲美女淫视频| 国产在线观看一区二区| 欧美日韩免费在线视频| 中文字幕一区日韩精品欧美| 黄色日韩三级电影| 欧美理论片在线| 亚洲视频免费在线| 国产精品99久久久| 精品日韩在线观看| 亚洲福利视频一区| 91影院在线观看| 久久久精品一品道一区| 日本伊人精品一区二区三区观看方式| 91在线观看下载| 国产日本一区二区| 狠狠色丁香婷婷综合| 欧美日韩视频专区在线播放| 综合久久给合久久狠狠狠97色| 国产一区二区三区电影在线观看 | 欧美精品xxxxbbbb| 亚洲视频网在线直播| 成人综合婷婷国产精品久久免费| 日韩欧美黄色影院| 日本成人在线看| 欧美色图12p| 亚洲精品videosex极品| 成人激情小说乱人伦| 欧美激情一二三区| 国产成人av福利| 久久久久99精品国产片| 激情综合网最新| 日韩视频一区二区在线观看| 天堂午夜影视日韩欧美一区二区| 在线影视一区二区三区| 亚洲精品视频在线观看免费| 99久久国产综合精品女不卡| 中文成人综合网| 高清国产午夜精品久久久久久| 久久久久久久久久久99999| 精品亚洲aⅴ乱码一区二区三区| 欧美一级二级三级乱码| 免费看黄色91| 日韩精品在线网站| 国产精品一区二区三区网站| 国产亚洲精品中文字幕| 国产乱码精品一区二区三区av| 欧美成人性战久久| 国产精品亚洲成人| 中文字幕不卡的av| 色域天天综合网| 亚洲一区精品在线| 91精品欧美久久久久久动漫| 九色综合国产一区二区三区| ww亚洲ww在线观看国产| 国产精品18久久久久久vr| 国产精品久久久久久久久搜平片 | 亚洲国产高清在线| 91视频国产资源| 亚洲午夜电影网| 91麻豆精品国产91久久久久久 | 色婷婷亚洲综合| 丝袜a∨在线一区二区三区不卡| 欧美剧在线免费观看网站| 免费在线看一区| 久久久精品2019中文字幕之3| 成人成人成人在线视频| 亚洲一区成人在线| 精品久久久久一区二区国产| 国产精品99久久久久久宅男| 亚洲人午夜精品天堂一二香蕉| 欧美怡红院视频| 琪琪久久久久日韩精品| 久久久国产综合精品女国产盗摄| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产精品欧美综合在线| 在线亚洲一区观看| 久久成人免费电影| 中文字幕在线观看不卡| 欧美裸体bbwbbwbbw| 国产精品综合二区| 亚洲综合一区二区| 久久先锋资源网| 91激情五月电影| 狠狠色伊人亚洲综合成人| 亚洲欧美综合在线精品| 5566中文字幕一区二区电影| 国产福利一区二区三区视频 | 伊人一区二区三区| 日韩欧美中文一区| 99久久久免费精品国产一区二区| 日韩avvvv在线播放| 日韩一区欧美一区| 日韩小视频在线观看专区| av电影在线观看一区| 免费人成黄页网站在线一区二区| 国产精品免费观看视频| 欧美日韩精品综合在线| 福利一区二区在线| 日韩福利视频导航| 亚洲视频综合在线| 久久嫩草精品久久久精品 | 综合中文字幕亚洲| 欧美电视剧免费全集观看| 色噜噜偷拍精品综合在线| 久久99精品久久久久久久久久久久| 一区二区三区自拍| 国产三级精品视频| 欧美一区三区四区| 色呦呦网站一区| 国产999精品久久久久久| 日韩精品视频网| 亚洲在线观看免费视频| 国产欧美va欧美不卡在线| 日韩一级片网站| 欧美日韩国产综合视频在线观看| 粉嫩高潮美女一区二区三区| 日本不卡一区二区| 亚洲午夜视频在线| 亚洲免费大片在线观看| 中文字幕成人网| 久久精品欧美一区二区三区不卡| 欧美精品黑人性xxxx| 色94色欧美sute亚洲线路一ni| 国产激情一区二区三区| 久久精品国产色蜜蜜麻豆| 午夜精品久久久久久不卡8050 | 成人激情免费视频| 国产成人综合在线观看| 韩国三级中文字幕hd久久精品| 人人超碰91尤物精品国产| 五月婷婷久久丁香| 午夜久久久久久久久久一区二区|