实验二 连续时间系统的频率响应.docx

上传人:b****6 文档编号:3001884 上传时间:2022-11-17 格式:DOCX 页数:14 大小:213.99KB
下载 相关 举报
实验二 连续时间系统的频率响应.docx_第1页
第1页 / 共14页
实验二 连续时间系统的频率响应.docx_第2页
第2页 / 共14页
实验二 连续时间系统的频率响应.docx_第3页
第3页 / 共14页
实验二 连续时间系统的频率响应.docx_第4页
第4页 / 共14页
实验二 连续时间系统的频率响应.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

实验二 连续时间系统的频率响应.docx

《实验二 连续时间系统的频率响应.docx》由会员分享,可在线阅读,更多相关《实验二 连续时间系统的频率响应.docx(14页珍藏版)》请在冰豆网上搜索。

实验二 连续时间系统的频率响应.docx

实验二连续时间系统的频率响应

实验二 连续时间系统得频率响应

龚小川

一.实验目得:

1、进一步加深对连续时间系统频率响应理解;

2.掌握借助计算机计算任意连续时间系统频率响应得方法。

二.实验原理

1、本实验得基本内容就就是将系统函数得幅频特性曲线以及相频特性曲线给画出来。

而系统函数,令,则

即(1)计算所有零点模之积及极点模之积,两者之商即为得幅度;

 

(2)计算所有零点相角之与及极点相角之与,两者之差即为得相角。

2、通过零极点图通过几何得方法来计算,而且通过零极点图可以迅速地判断系统得滤波特性。

通过零极点图进行计算得方法就是:

(1)在S平面上标出系统得零极点位置;

(2)选择S平面得坐标原点为起始点,沿虚轴向上移动,计算此时各极点与零点

与该点得膜与夹角;

(3)将所有零点得模相乘,再除以各极点得模,得到对应频率处得幅频特性得值;

(4)将所有零点得幅角相加,减去各极点得幅角,得到对应频率处得相角。

三.实验流程图

j>m?

就是

输出temp1,即

为零点相角之与

令j=0,temp1=0

i>n?

就是

输出temp2,即

为极点相角之与

令i=0,temp2=0

输出temp1-temp2,极为H(s)之相角

四.实验代码

#include"stdio、h"

#include "math、h"

#include "graphics、h"

float atannew(floatt1,floatt2);

intmain()

floatz[10][2],p[10][2],out[100][3],f[50];

 inta,iout;

int i,itemp,k,ktemp,j,m,n;

ﻩfloatw,temp1,temp2,prew,pretemp1,pretemp2,ptemp,h,fout;

ﻩintgdriver,gmode=0;

ﻩchars[10];

 gdriver=0;

 /**/

for(i=0;i<=10;i++)

{

 a=scanf("%f %fj",&z[i][0],&z[i][1]);

ﻩ   if(a!

=0);

else

ﻩ{

ﻩfflush(stdin);/*清空输入缓冲区,使得第二个scanf不被忽略*/

 for(k=0;k<=10;k++)

ﻩﻩ{

   a=scanf("%f%fj",&p[k][0],&p[k][1]);

     if(a!

=0);

   else

ﻩﻩﻩbreak;

ﻩ}

ﻩbreak;

ﻩ}

ﻩ}

/**/

ﻩinitgraph(&gdriver,&gmode,"e:

\\tc\\bgi");

ﻩsetbkcolor(10);

 setcolor(4);

setlinestyle(1,0,1); 

  rectangle(50,20,600,420);

 for(ptemp=20;ptemp<=420;ptemp=ptemp+50)

  line(50,ptemp,600,ptemp);

for(ptemp=50;ptemp<=600;ptemp=ptemp+50)

  line(ptemp,20,ptemp,420);

 setlinestyle(0,0,1);

  setcolor

(1);

line(200,20,200,420);

 line(50,420,600,420);

line(200,20,190,30);

   line(200,20,210,30);

  outtextxy(210,30,"A");

line(600,420,590,410);

 line(600,420,590,430);

 outtextxy(600,430,"w");

  for(iout=0;iout<=5;iout++)

 {

 sprintf(s,"%d",iout);

outtextxy(iout*50+200,430,s);

for(fout=1、0;fout<=8;fout=fout+1)

{

 ﻩsprintf(s,"%.1f",fout/10);

 outtextxy(170,420-fout*50,s);

}

setcolor(4);

/*printf("w幅度    相角\n");*/

ﻩfor(w=0,j=0;w<=5、0;j++)

{

ﻩﻩtemp1=1;

   for(itemp=0;itemp<=i-1;itemp++)

ﻩﻩﻩtemp1=temp1*sqrt(z[itemp][0]*z[itemp][0]+(z[itemp][1]-w)*(z[itemp][1]-w));

ﻩfor(ktemp=0;ktemp<=k-1;ktemp++)

ﻩﻩﻩtemp1=temp1/sqrt(p[ktemp][0]*p[ktemp][0]+(p[ktemp][1]-w)*(p[ktemp][1]-w));ﻩ

  out[j][0]=w;

out[j][1]=temp1;

  if(j>0)

     ﻩline(prew*40+200,420-pretemp1*500,w*40+200,420-temp1*500);

  prew=w;

  pretemp1=temp1;

 w=w+0、1;

}

  for(m=0;m<=50;m++)

  {

 if(out[m][1]>out[m+1][1])

  ﻩ break;

  }

  printf("%.4f,%f",out[m][1],out[m][0]);

  line(100,420-out[m][1]/sqrt

(2)*500,500,420-out[m][1]/sqrt(2)*500);

 getch();

 closegraph();

   initgraph(&gdriver,&gmode,"e:

\\tc\\bgi");

  setbkcolor(10);

 setcolor(4);

  setlinestyle(1,0,1);

 rectangle(50,20,600,420);

 for(ptemp=20;ptemp<=420;ptemp=ptemp+50)

 line(50,ptemp,600,ptemp);

 for(ptemp=50;ptemp<=600;ptemp=ptemp+50)

  line(ptemp,20,ptemp,420);

  for(w=0,j=0;w<=5;j++)

{

 temp2=0;

ﻩfor(ktemp=0;ktemp<=k-1;ktemp++)

temp2=temp2-atannew(-p[ktemp][0],w-p[ktemp][1]);

ﻩﻩfor(itemp=0;itemp<=i-1;itemp++)

ﻩtemp2=temp2+atannew(-z[itemp][0],w-z[itemp][1]);ﻩ

ﻩif(temp2>=180)

ﻩtemp2=temp2-360;

elseif(temp2<=-180)

ﻩﻩ temp2=temp2+360;

ﻩout[j][2]=temp2;ﻩ

if(j>0)

ﻩline(prew*50+200,180+pretemp2,w*50+200,180+temp2);

ﻩﻩprew=w;

pretemp2=temp2;ﻩ

ﻩﻩw=w+0、1;

ﻩ}

getch();

 closegraph();

for(j=0;j<=50;j++)

printf("%.2f,%.4f,%.2f***",out[j][0],out[j][1],out[j][2]);

printf("\n\n");

for(n=0,j=0;n<=50;n++)

  ﻩf[n]=fabs(out[m][1]/sqrt

(2)-out[n][1]); 

for(n=0,h=f[0],j=0;n<=m;n++)

 {

 ﻩif(h>f[n])

   {

  h=f[n];

 ﻩ j=n;

ﻩ }

 }

printf("Fl=%.1f\n",out[j][0]);

 for(n=m,h=f[0],j=0;n<=50;n++)

{

 if(h>f[n])

 {

 h=f[n];

   j=n;

 ﻩ}

 }

 printf("Fh=%.1f",out[j][0]);

getch();

 return0;

}

floatatannew(floatt1,float t2)

{

if(t1>0&&t2>0)

returnatan(t2/t1)/3、14*180;

ﻩelseif(t1<0&&t2<0)

return180+atan(t2/t1)/3、14*180;

ﻩelseif(t1<0&&t2>0)

return180+atan(t2/t1)/3、14*180;

ﻩelseif(t1>0&&t2<0)

ﻩreturnatan(t2/t1)/3、14*180;

elseif(t1==0&&t2>0)

return90;

ﻩelseif(t1==0&&t2<0)

ﻩreturn-90;

ﻩelse if(t1==0&&t2==0)

 return0;

else if(t1>0&&t2==0)

return180;

elseif(t1<0&&t2==0)

ﻩ return-180;  

}

五.实验数据及所绘图形

零点z1=0;极点p1=-1-j,p2=-1+j

w

|H(jw)|

φ(jw)

w

|H(jw)|

φ(jw)

0、1

0、049999

84、2671

2、6

0、368813

-42、4736

0、2

0、09998

78、47115

2、7

0、357173

-44、4137

0、3

0、149848

72、56595

2、8

0、34606

-46、2052

0、4

0、199363

66、50633

2、9

0、335472

-47、8636

0、5

0、248069

60、25955

0、325396

-49、4023

0、6

0、295255

53、81075

3、1

0、315814

-50、8334

0、7

0、339946

47、16826

3、2

0、306705

-52、1674

0、8

0、38097

40、3675

3、3

0、298046

-53、4135

0、9

0、417092

33、47159

3、4

0、289812

-54、5799

0、447214

26、567

3、5

0、281981

-55、6739

1、1

0、47058

19、7542

3、6

0、274528

-56、7019

1、2

0、486921

13、13498

3、7

0、267431

-57、669

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1