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

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

?? adaptive.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一区二区三区免费野_久草精品视频
狠狠色狠狠色综合系列| 欧美一区二区精品在线| 中文字幕一区二区三区在线播放| 国内精品国产成人国产三级粉色 | 水野朝阳av一区二区三区| 欧美日韩dvd在线观看| 奇米影视7777精品一区二区| 久久久久九九视频| av电影天堂一区二区在线| 一区二区视频在线| 91精品国产综合久久福利| 精品伊人久久久久7777人| 国产精品色呦呦| 欧美三级韩国三级日本一级| 久久福利视频一区二区| 中文字幕不卡在线播放| 91黄色免费版| 久久99精品国产麻豆婷婷洗澡| 国产欧美一区二区精品性| 91亚洲精品久久久蜜桃网站| 日韩成人av影视| 欧美国产综合一区二区| 欧美日韩免费视频| 国产精品中文字幕欧美| 亚洲一区二区三区四区五区黄| 欧美一二三四区在线| www.66久久| 麻豆精品一区二区| 日韩伦理电影网| www久久久久| 欧美日韩一区二区三区在线| 国产精品正在播放| 亚洲a一区二区| 亚洲欧美综合色| 久久夜色精品一区| 欧美日韩一区二区在线观看| jiyouzz国产精品久久| 蜜桃视频免费观看一区| 亚洲精品日韩一| 久久久国际精品| 在线不卡一区二区| 色婷婷综合久久久中文一区二区| 国产美女久久久久| 首页亚洲欧美制服丝腿| 一区二区三区久久| 国产精品视频麻豆| www一区二区| 日韩一区二区三区视频| 欧美亚一区二区| av电影天堂一区二区在线观看| 极品少妇一区二区| 日本sm残虐另类| 亚洲国产aⅴ成人精品无吗| 中文字幕在线不卡视频| 国产视频视频一区| 欧美mv和日韩mv国产网站| 欧美日韩国产综合一区二区| 成人免费毛片a| 成人小视频在线| 国产成人一级电影| 精品一区二区三区视频 | 欧美大尺度电影在线| 精品视频1区2区| 色先锋资源久久综合| 不卡的av网站| 福利一区二区在线观看| 国产成人在线影院 | 白白色 亚洲乱淫| 国产精品99久久久久久久女警| 久久成人久久爱| 美日韩一区二区| 蜜桃精品视频在线观看| 三级欧美在线一区| 日韩高清在线观看| 另类综合日韩欧美亚洲| 蜜臀av一区二区在线免费观看| 日韩经典一区二区| 青青草视频一区| 麻豆成人久久精品二区三区小说| 蜜桃一区二区三区在线| 精品亚洲国产成人av制服丝袜| 美国三级日本三级久久99| 日本成人在线一区| 激情综合色综合久久| 韩国三级电影一区二区| 国产福利一区二区三区| 暴力调教一区二区三区| 在线观看亚洲a| 欧美一区二区三区播放老司机| 日韩一区国产二区欧美三区| 日韩欧美一级在线播放| 久久久久久久精| 国产精品久久福利| 亚洲一区二区三区四区中文字幕| 婷婷开心激情综合| 狠狠狠色丁香婷婷综合激情| 丁香婷婷综合五月| 在线免费观看视频一区| 91精品久久久久久蜜臀| 欧美电视剧免费全集观看| 亚洲国产高清在线| 夜夜嗨av一区二区三区中文字幕| 天天综合天天做天天综合| 韩国成人福利片在线播放| 99久久国产综合精品女不卡| 欧美三日本三级三级在线播放| 欧美成人一区二区| 91小宝寻花一区二区三区| 911国产精品| 久久国产人妖系列| 欧美经典一区二区| 日韩精品一区二区三区中文不卡| 2023国产精华国产精品| 亚洲天堂a在线| 免费观看在线综合| 99麻豆久久久国产精品免费| 欧美放荡的少妇| 欧美激情一二三区| 日韩精品电影一区亚洲| jvid福利写真一区二区三区| 欧美一区二区视频在线观看 | 国产成人亚洲精品青草天美| 欧美丝袜自拍制服另类| 久久久精品综合| 亚洲二区在线观看| 国产91丝袜在线18| 91精品久久久久久久久99蜜臂| 中文字幕av免费专区久久| 日韩中文欧美在线| 91麻豆6部合集magnet| 精品美女在线观看| 亚洲成av人综合在线观看| 岛国一区二区三区| 日韩免费一区二区三区在线播放| 一区二区三区中文免费| 国产精品一二三区在线| 欧美军同video69gay| 亚洲视频一区二区在线观看| 激情久久五月天| 制服丝袜亚洲色图| 一区二区三区精品在线观看| 成人深夜在线观看| 精品成人a区在线观看| 日韩国产精品91| 精品视频在线免费观看| 亚洲欧美日韩国产成人精品影院| 国产盗摄视频一区二区三区| 日韩午夜精品电影| 日日摸夜夜添夜夜添精品视频| 在线观看国产精品网站| 亚洲视频免费观看| 97精品国产97久久久久久久久久久久| 久久综合色播五月| 激情另类小说区图片区视频区| 日韩一级片在线播放| 婷婷一区二区三区| 777午夜精品视频在线播放| 亚洲国产成人91porn| 欧美亚洲动漫另类| 婷婷成人激情在线网| 欧美日韩国产精品自在自线| 亚洲小少妇裸体bbw| 日本高清不卡在线观看| 亚洲理论在线观看| 在线亚洲一区观看| 亚洲精品成人少妇| 欧美色图一区二区三区| 亚洲mv大片欧洲mv大片精品| 欧美日韩不卡在线| 免费成人结看片| 精品三级在线观看| 国产精品99久久久久久有的能看| 国产丝袜在线精品| 99视频一区二区三区| 亚洲欧美aⅴ...| 欧美色涩在线第一页| 亚洲va韩国va欧美va精品 | 91久久线看在观草草青青| 亚洲人精品午夜| 欧美视频一区二区三区四区 | 欧美一区二区精品久久911| 亚洲图片有声小说| 91精品国产欧美一区二区成人| 免费在线观看视频一区| 精品久久人人做人人爽| 国产一区二区久久| 中文字幕一区二区三区色视频| 色综合天天综合狠狠| 天天亚洲美女在线视频| 欧美xingq一区二区| 成人精品在线视频观看| 亚洲一卡二卡三卡四卡五卡| 91精品国产91久久综合桃花| 国产毛片一区二区| 亚洲色图欧洲色图婷婷| 91精品国产综合久久福利| 高清国产一区二区三区| 亚洲一区二区三区精品在线| 欧美成人福利视频| aaa欧美日韩|