华南理工大学信号与系统实验报告一

实验报告
课程名称 信号与系统实验课
专业班级 22信息工程x班
学生姓名 xx
学生学号 xxxxxxx
学生专业 信息工程
开课学期 2023~2024第二学期
实验一 基本信号的产生和实现
实验日期:
一、实验目的
学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统设计奠定基础。
二、实验原理
MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。这些基本信号是信号处理的基础。
三、实验内容(题目+代码+结果截图+实验过程中碰到的问题如何解决的)
1、利用Matlab产生下列连续信号并作图。
(1) x t =-2u t-1, -1 <t<5
代码:
t= -1: 0.01: 5;
x=-2*(t>=1);
plot(t,x);
axis([-1,5,0,1.2]);
结果截图:

未遇到问题。
(2) x t = cos 0.1πt cos 0.8πt, 0 <t<200
x t _=_1 2 cos 0.9πt + cos 0.7πt
代码:
t=0:200;
x=0.5*[cos(0.9pit)+cos(0.7pit)];
plot(t,x);
结果截图:

2、利用Matlab产生下列离散序列并作图。
(1) x n _=_1, -5≤k≤5 0, 其他
, 设 -15 <k≤15
代码:
k=-14:15;
x=[zeros(1,9),1,1,1,1,1,1,1,1,1,1,1,zeros(1,10)];
stem(k,x);
结果截图:

遇到的问题及解决方法:
命令行窗口报错,错误使用 stem (第 102 行) X 和 Y 的长度必须相同。经过检查之后发现,自变量与因变量之间的数组长度不一致导致报错。通过修改因变量数组长度来消除错误。
(2) x k _=__(0.9)_k sin 0.25πk + cos 0.25πk , 设 -20 <k≤20
代码:
k=-19:1:20;
x1=sin(0.25pik);
x2=cos(0.25pik);
x3=power(0.9,k);
x=x3.*(x2+x1);
stem(k,x);
结果截图:

遇到的问题及解决方法:
在第一次运行代码时,发现报错:出错 experiment1 (第 5 行) x=x3*(x2+x1)。是由于信号的运算符号写错,乘号应为“.*”。改过之后就运行正确了。
3、已知序列
x k=[1,2,0,-1,3,2;k=-2,-1,0,1,2,3]
h k=[1,-1,1,k=0,1,2]
- 计算离散序列的卷积和 y k =x k*h[k]
,并绘出其波形。
代码:
k1=[-2,-1,0,1,2,3];
x=[1,2,0,-1,3,2];
k2=[0,1,2];
h=[1,-1,1];
y=conv(x,h);
stem([-2:5],y);
结果截图:

遇到的问题:主要是在输出图像时总是报错。原因是stem函数的的、自变量的长度与函数的长度不一致。后来我们修改了长度使之适应函数的长度。
(2)计算离散序列的相关函数 ,并绘出其波形。
R xy k _=_k=-∞ ∞ x k yk+n
代码:
k1=[-2,-1,0,1,2,3];
x=[1,2,0,-1,3,2];
k2=[0,1,2];
h=[1,-1,1];
y=conv(x,h);
y1=xcorr(x,y);
subplot(2,1,2);
m=(length(y1)-1)/2;
stem([-m:m],y1);
结果截图:

无问题。
(3)序列相关与序列卷积有何关系?
序列相关表示两个离散信号的相关程度,而序列卷积则是表示一个信号经过LTI系统之后的响应。二者之间并无太大关系。
四、实验思考题
1、两个连续信号的卷积定义是什么?两个序列的卷积定义是什么?卷积的作用是什么?conv函数只输出了卷积结果,没有输出对应的时间向量,如何使时间向量和卷积结果对应起来?
两个连续信号的卷积定义是 x t *h t =__-∞ ∞ x τ h t-τdτ
两个序列的卷积定义是 x n *h n _=_k=-∞ ∞ x kh[n-k]
卷积的作用是求出一个线性时不变系统的输入经过线性时不变系统后的响应。
可以用卷积结果的特点,如果一个信号的卷积区域为 [a,b]
,另一个信号的卷积区域为 [c,d]
,则卷积结果的区域则是 [a+c,b+d]
。所以,我们可以将两个信号的区域最大值和最小值分别相加构成卷积结果最大值和最小值,便可以用该时间区域与conv函数的结果一一对应。
2、两个连续信号相关的定义是什么?两个序列相关的定义是什么?相关的作用是什么?
两个连续信号相关的定义是表征着这两个连续时间信号之间的相关程度。即,互相关函数就是描述连续时间信号 x(t)
和 y(t)
在任意两个不同时刻 t 1 _,_t2
取值之间的相关程度。
R xy t =__-∞ ∞ x t y t+τdτ
两个序列相关的定义是表示的是表征着这两个序列之间的相关程度。即,互相关函数就是描述两个序列 x[n]
和 y[n]
在任意两个不同位置 n 1 _,_n2
取值之间的相关程度。
R xy n _=_k=-∞ ∞ x ky[k+n]
相关表示的是两个信号在时间上的相似程度,通过计算我们可以得到两个时间上不同信号的相似程度。
3、能够利用MATLAB产生单位冲激信号吗?
能。对于连续信号,可以用标准差趋近于零的高斯函数模拟。对于离散信号则可以直接令单个位置为1即可。
4、产生连续信号时,首先要定义时间向量 _t=0:T:_Tp
。其中 T 和 Tp
是什么意思?
T p 则表示自变量也就是时间向量的取值上限 , T 表示 _0~_T p 取值的间隔。
