上机实验1连续时间信号的时域分析.doc
文本预览下载声明
上机实验1 连续时间信号的时域分析
一、实验目的?
(1)?掌握连续时间信号的时域运算的基本方法;?
(2)?掌握相关函数的调用格式及作用;
(3)?掌握连续信号的基本运算;?
(4)?掌握利用计算机进行卷积运算的原理和方法;?
(5)?熟悉连续信号卷积运算函数conv的应用。
二、实验原理?
??信号的基本运算包括信号的相加(减)和相乘(除)。信号的时域变换包括信号的平移、翻转、倒相、尺度变换等,由以下公式所描述。?
(1)加(减):
(2)乘:
(3)延时或平移:
(4)翻转:
(5)尺度变换:
(6)标量乘法:
(7)倒相:
(8)微分:
(9)积分:
(10)卷积:
??
三、?涉及的MATLAB函数极其实现?
1.?stepfun函数?
功能:产生一个阶跃信号
? 调用格式:
stepfun(t,t0)?
其中t是时间区间,在该区间内阶跃信号一定会产生;t0是信号发生从0到1的条约的时刻。
2.?diff函数?
调用格式:?
diff(f):求函数f对预设的独立变数的一次微分值。?
diff(f,’t’):求函数f对独立变数t的一次微分。
3.?int函数?
调用格式:?
Int(f):函数F对预设独立变数的积分值。?
Int(f,’t’):函数f对独立和变数t的积分值。
4.?conv函数?
功能:实现信号的卷积运算。?
调用格式:
w?=?conv(u,v):计算两个有限长度序列的卷积。?说明:该函数假定两个序列都从零开始
四、实验内容与方法
1.验证性实验(直接利用符号法进行编程)
相加
实现两个连续信号的相加,即f(t)=f1(t)+f2 (t)
Matlab程序:
clear all;
t=0:0.0001:3;
b=3;
t0=1;u=stepfun(t,t0);
n=length(t);
for i=1:n
u(i)=b*u(i)*(t(i)-t0);
end
y=sin(2*pi*t);
f=y+u;
plot(t,f);
xlabel(时间(t));ylabel(幅值f(t));title(连续信号的相加);两个连续信号的相加结果如下图所示。
相乘
实现两个连续信号的相乘,即f(t)=f1(t)*f2(t)
Matlab 程序:
clear all;
t=0:0.0001:5;
b=3;
t0=1; u=stepfun(t,t0);
n=length(t);
for i=1:n
u(i)=b*u(i)*(t(i)-t0);
end
y=sin(2*pi*t);
f=y.*u;
plot(t,f);
xlabel(时间(t));ylabel(幅值f(t));title(连续信号相乘);
两个连续信号的相乘结果如下图所示:
移位
实现连续信号的移位,即f(t-),或者f(t+),常数0.
Matlab 程序;
clear all;
t=0:0.0001:2;
y=sin(2*pi*(t));
y1=sin(2*pi*(t-0.2));
plot(t,y,-,t,y1,--);
xlabel(t);ylabel(f(t));titile(信号的移位);
信号及其移位结果如下图所示。
翻转
信号的翻转就是将信号的波形以纵轴为对称轴翻转180°。将信号f(t)中的自变量t替换为-t即可得到其翻转信号。
MATLAB程序:
Clear all:
t=0:0.02:1;
t1=-1:0.02:0;
g1=3*t;
g2=3*(-t1);
grid on;
plot(t,g1,--,t1,g2);
xlabel(t);
ylabel(g(t));
titile(信号的反折);
尺度变换
将信号f(t)中的自变量t替换为at
clear all;
t=0:0.001:1;
a=2;
y=sin(2*pi*t);
y1=sin(2*a*pi*t);
subplot(2,2,1)
plot(t,y);
ylabel(y(t));xlabel(t);
title(尺度变化);
subplot(2,1,2)
plot(t,y1);
ylabel(y1(t));xlabel(t);
信号及其移位结果如下图所示。
2. 程序设计实验
(1)已知信号f1(t)=(-t+4)[U(t)-U(t-4)],f2(t)=sin(2πt),用matlab绘出下列信号的时域波形。要求写出全部程序,并绘制出信号时域波形。
(a) f3(t)=f1(-t)+f1(t)
(b) f4(t)=-[f1(t)+f1(t)]
(c) f5(t)=f1(t) ×
显示全部