
实验二、信号的变换


,求
、
、
、
、
的时域波形。 程序如下
发布日期:2021-05-08 16:12:05
浏览次数:33
分类:精选文章
本文共 2361 字,大约阅读时间需要 7 分钟。
目录
一、实验目的
1.掌握信号时移、反折和尺度运算的法则。
2.学习利用Matlab进行波形的平移、反折、尺度变换等。 3.掌握信号的微积分运算。二、实验器材
计算机、MATLAB软件
三、实验原理
1.信号的平移
用代替原来的t或k。
2.信号的反折
用-t代替原来的t。
3.信号的尺度变换
用at代替t。
4.信号的微积分
信号的微分就是信号对时间的求导,即

信号的积分就是信号对时间在区间(-∞,t)上的累加,即

matlab里面用于信号变换的函数有subs()、diff()、int(),下面分别介绍这三个函数。
(1)subs() subs函数是用来实现信号变换的函数,其调用格式为 subs(f,t,v) 其中,f为原始函数,t是原函数的变量,v是新函数的变量,v和t的关系为。 (2)diff() diff()是用来求微分的函数。其调用格式为 diff(f)、 diff(f,v)、diff(f,v,n) 其中f是符号表达式,默认求导是对变量x的求导,默认的求导是一阶,v是新的求导变量,n是求导的阶数。 (3)int() int()函数是用来求积分的函数。其调用格式为 inf(f)、inf(f,a,b)、inf(f,v)、inf(f,v,a,b) 其中f是符号表达式,默认为求对x的不定积分,a、b表示积分的上下限,v是新的积分变量。 MATLAB实现的序列移位函数程序为: function[y,k]=sigshift(f,m,k0) k=m+k0;y=x; 该函数不是MATLAB自带的函数,所以将此函数以sigshift作为文件名存盘才能调用。四、示例演示
例1:已知连续时间信号的波形如图2.1所示,试用matlab绘出、、、、、的时域波形,并观察时域变换后信号波形的变换。
图2.1 连续信号的波形
% Program2.1.msyms t;f=sym('(t+1)*(heaviside(t+1)-heaviside(t))');f=f+sym('(heaviside(t)-heaviside(t-1))');axis([-3,3,-1.2,1.2])title('f(t)')pause f1=subs(f,t,-t);ezplot(f1,[-3,3])title('f(-t)')pause f2=-f;ezplot(f2,[-3,3])title('-f(t)')pausef3=subs(f,t,t-2);ezplot(f3,[-3,3])title('f(t-2)')pause f4=subs(f,t,0.5*t);ezplot(f4,[-3,3])title('f(0.5t)')pause f5=subs(f,t,-3*t-2);ezplot(f5,[-3,3])title('f(-3t-2)')
程序运行结果如图2.2所示




图2.2 连续信号的时域变换图
例2:已知

matlab程序如下
% Program2.2.msyms t;f=sym('t^2');g=diff(f)d=int(f)运行结果如下g =2*td =1/3*t^3
即
五、实验内容
1.已知连续时间信号





syms t;y = sym((3*t-2).*(heaviside(t)-heaviside(t-2)));axis([-3,3,-3,3]);%对坐标轴缩放 f0 = subs(y,t,t);subplot(2,3,1)%分块画图ezplot(f0,[-3,3]);title('f(t)') f1 = subs(y,t,-t);subplot(2,3,2);ezplot(f1,[-3,3]);title('f(-t)') f2 = subs(y,t,t-2);subplot(2,3,3);ezplot(f2,[-3,3]);title('f(t-2)') f3 = subs(y,t,0.5*t);subplot(2,3,4);ezplot(f3,[-3,3]);title('f(0.5t)') f4 = subs(y,t,-3*t-2);subplot(2,3,5);ezplot(f4,[-3,3]);title('f(-3t-2)')
运行结果如下

2.已知,试用matlab法求
程序如下
syms t;f = sym((t^3).*heaviside(t));g = diff(f,t,2)d = int(f,t,1,2)
运行结果如下

3.已知,试用matlab绘出
、
、
k = -5:5;k0=0;f = 2*(stepfun(k,k0)-stepfun(k,k0+2)); subplot(1,3,1);stem(k,f);title('f(k)'); f1 =2*(-stepfun(k,k0)+stepfun(k,k0-2));subplot(1,3,2);stem(k,f1);title('f(-k)'); f2 =2*(stepfun(k,k0+2)-stepfun(k,k0+4));subplot(1,3,3);stem(k,f2);title('f(k-2)');
运行结果如下

实验总结与心得体会:
第二次的实验相比较第一次而言难度加大了许多,不仅仅需要我上课认真听讲,更需要课下对每一句程序语句的理解和研究。另外还自己百度学习了绘制离散的图形和setfun方法,增强自我探索和学习能力。期待下一次的实验我会有更大的进步。六、实验报告要求
1.实验内容中详细说明信号变换的原理;
2.写出其对应的matlab程序; 3.上机调试程序的方法及实验中的心得体会。发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年03月21日 21时21分58秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
系统编程-进程-ps命令、进程调度、优先级翻转、进程状态
2021-05-09
为什么我觉得需要熟悉vim使用,难道仅仅是为了耍酷?
2021-05-09
一个支持高网络吞吐量、基于机器性能评分的TCP负载均衡器gobalan
2021-05-09
HDOJ2017_字符串统计
2021-05-09
高等软工第二次作业《需求分析阶段总结》
2021-05-09
404 Note Found 团队会议纪要
2021-05-09
CentOS安装Docker-ce并配置国内镜像
2021-05-09
使用JWT作为Spring Security OAuth2的token存储
2021-05-09
使用Redis作为Spring Security OAuth2的token存储
2021-05-09
【SOLVED】Linux使用sudo到出现输入密码提示延迟时间长
2021-05-09
项目引入非配置的文件,打成war包后测试报错的可能原因
2021-05-09
Git学习笔记
2021-05-09
SpringBoot笔记
2021-05-09
让你的代码更优秀的 14 条建议
2021-05-09
不需要爬虫也能轻松获取 unsplash 上的图片
2021-05-09
将博客搬至CSDN
2021-05-09