信号与系统上机报告二.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信号与系统上机报告二

实验二、信号的矩形脉冲抽样与恢复一、实验目的:1、加深对抽样定理的原理、物理意义以及抽样过程和信号恢复的频谱变换特性的理解。2、掌握借助计算机对信号抽样进行频域分析的方法。二、实验原理:图4.1为连续信号f(t)的抽样与恢复的示意图设输入信号f(t)为带限信号(),如图4.2所示。对f(t) 进行矩形脉冲抽样。假设矩形抽样脉冲p(t)的脉冲幅度为E,脉宽为τ,周期为Ts (抽样频率),则其频谱为P(w) ,即图4.3给出了抽样脉冲p (t)的时域波形及其频谱。对f(t)进行矩形脉冲抽样后得到信号fs(t) ,其对应的频谱为当fs(t) 通过如图4.5所示的理想低通滤波器H(w)时,可从f(t)中恢复出原信号,所得恢复信号记作f(t) 。其中理想低通滤波器H(w) 的频谱特性为:三、实验内容给定带限信号f(t),其频谱为1 画出此信号的频谱图(ω的取值:-0.5π ω0.5π,精度取0.01rad )。2 对此频域信号进行傅里叶逆变换,得到相应的时域信号,画出此信号的时域波形f(t)(t的取值:-20st20s;精度取0.1s)。3 分别用三种不同抽样频率f =0.2Hz,0.5 Hz,1.0 Hz的周期矩形脉冲信号(矩形脉冲的幅度E取1,宽度τ取0.01s)对f(t) 进行抽样,画出抽样后的信号的频谱图(ω的取值:-10rad ω10 rad,精度取0.01rad )。4 针对3 中抽样所得的矩形抽样信号,用滤波器对所得信号进行滤波,所得恢复信号f(t)的频谱记为F ‘(w),与原信号的频谱F(w)进行比较(ω的取值:-2rad ω2rad ,精度取0.01rad )。四、实验程序、流程图和相关图像4.1、画出f(t)的频谱图即F(W)的图像4.1.1流程图为4.1.2程序代码如下:#includestdio.h #includemath.h#define PI 3.14 double f(double w) { if (w=-0.5*PI w=0.5*PI) return cos(w); else return 0; }main() { double w,F; FILE *fp;for (w=-0.5*PI;w=0.5*PI;w+=0.01) { F=f(w); printf(w=%.2f, F(w)=%f\n,w,F);fp=fopen(d:\\2.txt,w);fprintf(fp,%f\t,F);} system(pause); }4.1.3、F(W)的图像4.2、对此频域信号进行傅里叶逆变换,得到相应的时域信号,画出此信号的时域波形f(t)4.2.1流程图为:4.2.2 程序代码如下:#include stdio.h #include math.h #define PI 3.14 double f(double t) { double w=-0.5*PI,f=0; double ans; while(w=0.5*PI) { f=f+cos(w)*cos(w*t)*0.01; w=w+0.01; } ans=f/(2*PI);return ans; } main() { double t,ans=0; for(t=-20;t20;t+=0.1) { ans=f(t); printf(t=%.1f, f(t)=%f\n,t,ans); } system(pause); }4.2.3运行结果及仿真图形将实验数据导入matlab,对数据进行仿真绘图。4.3、三种不同频率的抽样分别用三种不同抽样频率f =0.2Hz,0.5 Hz,1.0 Hz的周期矩形脉冲信号(矩形脉冲的幅度E取1,宽度τ取0.01s)对f(t)进行抽样,画出抽样后的信号的频谱图4.3.1流程图为:4.3.2程序代码如下:#include stdio.h #include math.h #define PI 3.14 #define INF 2000 double sa(double x) { if (x==0) return 1; else return sin(x)/x; } double f1(double w) { if (w=-0.5*PI w=0.5*PI) return cos(w); else return 0; } double f2(double w,double f) { double s=0,ans; int n;for (n=-INF;n=INF;n+=1) { s=s+f1(w-n*2*PI*f)*sa(n*2*PI*f*

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档