信号与系统连续时间系统的频率响应

实验报告

实验名称:连续时间系统的频率响应

一、实验目的:

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

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

二、实验原理:

连续时间系统的频率响应可以直接通过所得表达式计算,也可以通过零极点 图通过用几何的方法来计算,而且通过零极点图可以迅速地判断系统的滤波特 性。

根据系统函数H(s)在s 平面的零、极点分布可以绘制频响特性曲线,包括幅 频特性 H(jw) 曲线和相频特性?(w)曲线。这种方法的原理如下: 假定,系统函数H(s)的表达式为

当收敛域含虚轴时,取s = jw,也即在s 平面中,s 沿虚轴从- j∞移动到+ j∞时, 得到

容易看出,频率特性取决于零、极点的分布,即取决于Zj 、Pi 的位置,而式中K

是系数,对于频率特性的研究无关紧要。分母中任一因子(jw- Pi )相当于由极点 p 引向虚轴上某点 jw的一个矢量;分子中任一因子(jw-Zj)相当于由零点Zj 引至虚轴上某点 jw的一个矢量。

在右图示意画出由零点Zj 和极点 Pi 与 jw点连接 构成的两个矢量,图中Nj 、Mi 分别表示矢量的模,ψj 、θi 表示矢量的辐角(矢量与正实轴的夹角,逆时针为正)。 对于任意零点Zj 、极点Pi ,相应的复数因子(矢量)都可表示为:

于是,系统函数可以改写为

当ω延虚轴移动时,各复数因子(矢量)的模和辐角都随之改变,于是得出幅频特性曲线和相频特性曲线。这种方法称为s 平面几何分析。通过零极点图进行计算的方法是: 1 在S 平面上标出系统的零、极点位置;

2 选择S 平面的坐标原点为起始点,沿虚轴向上移动,计算此时各极点和零点与该点的膜模和夹角;

3 将所有零点的模相乘,再除以各极点的模,得到对应频率处的幅频特性的值; 4 将所有零点的幅角相加,减去各极点的幅角,得到对应频率处的相角。

三、实验内容

用 C 语言编制相应的计算程序进行计算,要求程序具有零极点输入模块, 可以手工输入不同数目的零极点。

计算频率从0~5频段的频谱,计算步长为0.1,分别计算上面两个系统的幅频特性和相频特性,将所得结果用表格列出,并画出相应的幅频特性曲线和相频特性曲线。

判断所给系统的滤波特性,对于带通滤波器,计算出 3dB 带宽的起始频点和结束频点;对于低通或高通滤波器,计算出3dB 带宽的截止或开始的频率。

四、画出系统一和系统二的零极点图

系统一 系统二 五、程序流程图和程序代码 程序流程图如下:

#include #include

#define Pi 3.1415926 struct fushu{

float re; float im; };

struct shuchu{

float w; float fu; float xiang; };

struct fushu jianfa(struct fushu,struct fushu); float MO(struct fushu); float FU(struct fushu); main() {

char i,j; int Li,Ji;

float w,Hw,Jw,ZH;

struct fushu lingdian[10],jidian[10],ww,LJ;

struct shuchu jieguo[51]; //根据分析,可知本实验中最后只有51个结果 FILE *fp;

fp=fopen("D:\\实验二第二个.txt","w");

ZH=180/Pi;

printf("请输入零点个数:\n");

scanf("%d",&Li);

printf("请输入零点:\n"); for(i=0;i

printf("请输入极点:\n"); for(i=0;i

Hw=1;Jw=0;

ww.re=0;ww.im=w; for(j=0;j

//处理零点

//求相频和幅频,循环执行

LJ=jianfa(ww,lingdian[j]); Hw=MO(LJ)*Hw; Jw+=FU(LJ);

//处理极点

}

for(j=0;j

{

LJ=jianfa(ww,jidian[j]); Hw=Hw/MO(LJ);

Jw-=FU(LJ);

//存储数据

}

jieguo[i].w=w; jieguo[i].fu=Hw; jieguo[i].xiang=Jw;

}

for(i=0;i

{

while(1)

{ }

if(jieguo[i].xiang

jieguo[i].xiang=jieguo[i].xiang+2*Pi; else if(jieguo[i].xiang>Pi) jieguo[i].xiang=jieguo[i].xiang-2*Pi; else break;

//将角度限定合适范围

jieguo[i].xiang=ZH*jieguo[i].xiang;

}

printf("最终结果为:\n");

printf(" w值\tH(w)值\t F(w)值\n"); fprintf(fp,"最终结果为:\n");

fprintf(fp," w值\tH(w)值\t F(w)值\n"); for(i=0;i

//列表输出结果

printf("%3.2f\t%5.3f\t%5.3f\n",jieguo[i].w,jieguo[i].fu,jieguo[i].xiang);

fprintf(fp,"%3.2f\t%5.3f\t%5.3f\n",jieguo[i].w,jieguo[i].fu,jieguo[i].xiang); } }

struct fushu jianfa(struct fushu a,struct fushu b) //两个复数相减 {

struct fushu m; m.re=a.re-b.re; m.im=a.im-b.im;

printf("输出完毕\n"); fprintf(fp,"输出完毕");

return(m); }

float MO(struct fushu a) {

//计算a 的模

float m;

m=a.re*a.re+a.im*a.im; m=sqrt(m); return(m); }

float FU(struct fushu m) { float jiao;

if(m.re==0)

{ }

if(m.im>0) jiao=Pi/2; else if(m.im

//在实轴上时的情况

//在虚轴上时的情况(不含原点)

//计算m 的幅角

else if(m.im==0)

{

}

if(m.re>=0) jiao=0;

else if(m.im

//四个象限时的情况

else {

}

jiao=fabs(m.im/m.re); jiao=atan(jiao); if(m.re0) jiao=Pi-jiao; else if(m.re0&&m.im

//先求出对应第一象限的角度

return(jiao);

}

六、所得幅频特性和相频特性用表格列出

系统二所得结果列表

七、画出相应的幅频特性和相频特性曲线 系统一的幅频和相频特性曲线 幅频特性

相频特性

系统二的幅频和相频特性曲线 幅频特性

相频特性

实验报告

实验名称:连续时间系统的频率响应

一、实验目的:

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

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

二、实验原理:

连续时间系统的频率响应可以直接通过所得表达式计算,也可以通过零极点 图通过用几何的方法来计算,而且通过零极点图可以迅速地判断系统的滤波特 性。

根据系统函数H(s)在s 平面的零、极点分布可以绘制频响特性曲线,包括幅 频特性 H(jw) 曲线和相频特性?(w)曲线。这种方法的原理如下: 假定,系统函数H(s)的表达式为

当收敛域含虚轴时,取s = jw,也即在s 平面中,s 沿虚轴从- j∞移动到+ j∞时, 得到

容易看出,频率特性取决于零、极点的分布,即取决于Zj 、Pi 的位置,而式中K

是系数,对于频率特性的研究无关紧要。分母中任一因子(jw- Pi )相当于由极点 p 引向虚轴上某点 jw的一个矢量;分子中任一因子(jw-Zj)相当于由零点Zj 引至虚轴上某点 jw的一个矢量。

在右图示意画出由零点Zj 和极点 Pi 与 jw点连接 构成的两个矢量,图中Nj 、Mi 分别表示矢量的模,ψj 、θi 表示矢量的辐角(矢量与正实轴的夹角,逆时针为正)。 对于任意零点Zj 、极点Pi ,相应的复数因子(矢量)都可表示为:

于是,系统函数可以改写为

当ω延虚轴移动时,各复数因子(矢量)的模和辐角都随之改变,于是得出幅频特性曲线和相频特性曲线。这种方法称为s 平面几何分析。通过零极点图进行计算的方法是: 1 在S 平面上标出系统的零、极点位置;

2 选择S 平面的坐标原点为起始点,沿虚轴向上移动,计算此时各极点和零点与该点的膜模和夹角;

3 将所有零点的模相乘,再除以各极点的模,得到对应频率处的幅频特性的值; 4 将所有零点的幅角相加,减去各极点的幅角,得到对应频率处的相角。

三、实验内容

用 C 语言编制相应的计算程序进行计算,要求程序具有零极点输入模块, 可以手工输入不同数目的零极点。

计算频率从0~5频段的频谱,计算步长为0.1,分别计算上面两个系统的幅频特性和相频特性,将所得结果用表格列出,并画出相应的幅频特性曲线和相频特性曲线。

判断所给系统的滤波特性,对于带通滤波器,计算出 3dB 带宽的起始频点和结束频点;对于低通或高通滤波器,计算出3dB 带宽的截止或开始的频率。

四、画出系统一和系统二的零极点图

系统一 系统二 五、程序流程图和程序代码 程序流程图如下:

#include #include

#define Pi 3.1415926 struct fushu{

float re; float im; };

struct shuchu{

float w; float fu; float xiang; };

struct fushu jianfa(struct fushu,struct fushu); float MO(struct fushu); float FU(struct fushu); main() {

char i,j; int Li,Ji;

float w,Hw,Jw,ZH;

struct fushu lingdian[10],jidian[10],ww,LJ;

struct shuchu jieguo[51]; //根据分析,可知本实验中最后只有51个结果 FILE *fp;

fp=fopen("D:\\实验二第二个.txt","w");

ZH=180/Pi;

printf("请输入零点个数:\n");

scanf("%d",&Li);

printf("请输入零点:\n"); for(i=0;i

printf("请输入极点:\n"); for(i=0;i

Hw=1;Jw=0;

ww.re=0;ww.im=w; for(j=0;j

//处理零点

//求相频和幅频,循环执行

LJ=jianfa(ww,lingdian[j]); Hw=MO(LJ)*Hw; Jw+=FU(LJ);

//处理极点

}

for(j=0;j

{

LJ=jianfa(ww,jidian[j]); Hw=Hw/MO(LJ);

Jw-=FU(LJ);

//存储数据

}

jieguo[i].w=w; jieguo[i].fu=Hw; jieguo[i].xiang=Jw;

}

for(i=0;i

{

while(1)

{ }

if(jieguo[i].xiang

jieguo[i].xiang=jieguo[i].xiang+2*Pi; else if(jieguo[i].xiang>Pi) jieguo[i].xiang=jieguo[i].xiang-2*Pi; else break;

//将角度限定合适范围

jieguo[i].xiang=ZH*jieguo[i].xiang;

}

printf("最终结果为:\n");

printf(" w值\tH(w)值\t F(w)值\n"); fprintf(fp,"最终结果为:\n");

fprintf(fp," w值\tH(w)值\t F(w)值\n"); for(i=0;i

//列表输出结果

printf("%3.2f\t%5.3f\t%5.3f\n",jieguo[i].w,jieguo[i].fu,jieguo[i].xiang);

fprintf(fp,"%3.2f\t%5.3f\t%5.3f\n",jieguo[i].w,jieguo[i].fu,jieguo[i].xiang); } }

struct fushu jianfa(struct fushu a,struct fushu b) //两个复数相减 {

struct fushu m; m.re=a.re-b.re; m.im=a.im-b.im;

printf("输出完毕\n"); fprintf(fp,"输出完毕");

return(m); }

float MO(struct fushu a) {

//计算a 的模

float m;

m=a.re*a.re+a.im*a.im; m=sqrt(m); return(m); }

float FU(struct fushu m) { float jiao;

if(m.re==0)

{ }

if(m.im>0) jiao=Pi/2; else if(m.im

//在实轴上时的情况

//在虚轴上时的情况(不含原点)

//计算m 的幅角

else if(m.im==0)

{

}

if(m.re>=0) jiao=0;

else if(m.im

//四个象限时的情况

else {

}

jiao=fabs(m.im/m.re); jiao=atan(jiao); if(m.re0) jiao=Pi-jiao; else if(m.re0&&m.im

//先求出对应第一象限的角度

return(jiao);

}

六、所得幅频特性和相频特性用表格列出

系统二所得结果列表

七、画出相应的幅频特性和相频特性曲线 系统一的幅频和相频特性曲线 幅频特性

相频特性

系统二的幅频和相频特性曲线 幅频特性

相频特性


相关内容

  • 电子科技大学2011年信号系统面试题
  • [历年试题] 电子科技大学2011年信号系统面试题 [复制链接] 潇亦然 潇亦然 当前离线 注册时间2011-1-3最后登录2011-7-13在线时间47 小时阅读权限255积分23223帖子1037精华5UID193753 管理员 在线时间47 小时弘豆1111 最后登录2011-7-13积分23 ...

  • 信号与系统实验报告
  • 本科生实验报告 实验课程 信号与系统 学院名称 信息科学与技术学院 专业名称 信息工程 学生姓名 杨海洋 学生学号 [1**********]1 指导教师 杨斯涵 实验地点 6A502 实验成绩 二〇一四年11月二〇一四年12月 实验一 MATLAB 编程初步应用及产生典型信号 一.实验目的及要求: ...

  • 信号与线性系统
  • <信号与线性系统>课程教学大纲 课程编号:28121008 课程类别:学科基础课程 授课对象:信息工程.电子信息工程.通信工程等专业 指定教材:管致中,<信号与线性系统>(第4版),高等教育出版社,2004年 教学目的: <信号与线性系统>课程讨论确定信号经过线性 ...

  • 信号与系统试题附答案
  • 信号与系统复习参考练习题 一.单项选择题: 14.已知连续时间信号f (t ) =sin 50(t -2) 100(t -2) , 则信号f (t ) ·cos 104t 所占有的频带宽度为() A .400rad /s B .200 rad/s C .100 rad/s D .50 rad/s 1 ...

  • 中北大学[信号与系统]实验报告
  • 信 号 与 系 统 实 验 报 告 班级: 姓名: 信息与通信工程学院 实验一 系统的卷积响应 实验性质:提高性 实验级别:必做 开课单位:信息与通信工程学院 学 时:2 一.实验目的:深刻理解卷积运算,利用离散卷积实现连续卷积运算:深刻理解信号与系统的关系,学习MATLAB 语言实现信号通过系统的 ...

  • [信号与线性系统]试题与答案4
  • 例5.2-10 f (t ) F (s ) =h (t ) H (s ) = 1s 1s +1 y zs (t ) =f (t ) *h (t ) 1s +1 111 =s s +1s ⇒y zs (t ) =ε(t ) e -t ε(t ) Y zs (s ) =F (s ) H (s ) = 求 ...

  • 考研电路.信号与系统复习参考提纲
  • 电路.信号与系统复习参考提纲 一. 总体要求 "电路.信号与系统"由"电路"(75分)和"信号与系统"(75分)两部分组成. "电路"要求学生掌握电路的基本理论和基本的分析方法,使学生具备基本的电路分析.求解.应用能力. ...

  • 信号与系统基础知识
  • <信号与系统>基础知识学习指导 第一章 信号与系统的基本概念 1.单位冲激信号的脉冲幅度为,脉冲强度为. 2.单位抽样序列(是/不是)奇异函数. 3.离散信号两个序号之间的序列值为(零/无定义). 4.虚指数序列的低频位置位于π的倍附近,高频位置位于π的倍附近. 5.虚指数序列的谐波个数 ...

  • [信号与系统]每章小结
  • <信 号 与 系 统> 目 录 第一章 引论 .................................................................................... 2 第二.三章. 连续时间信号.离散时间信号与系统时域分析 ...... ...

  • 信号分析与处理_模拟试卷
  • 1.具有跳变的信号在其跳变处的导数是一个 a)强度等于跳变幅度的冲激函数 b) 幅度为无限大的冲激函数 c) 强度为无限大的冲号 d) 理想阶跃信号 则 x(n) 是 2.设 x(n) 是一个绝对可求和的信号,其有理 z 变换为 X ( z) .若已知 X ( z) 在 z=0.5有一个极点, . ...