信 号 与 系 统
实 验 教 程(只有答案)
(实验报告)
这么玩!
目录
实验一 信号与系统的时域分析 ..................................................................................................... 2
三、实验内容及步骤 ............................................................................................................... 2 实验二 连续时间信号的频域分析 ............................................................................................. 14
三、实验内容及步骤 ............................................................................................................. 14 实验三 连续时间LTI系统的频域分析 .................................................................................... 35
三、实验内容及步骤 ............................................................................................................. 35 实验四 通信系统仿真 ................................................................................................................. 41
三、实验内容及步骤 ............................................................................................................. 41 实验五 连续时间LTI系统的复频域分析 .................................................................................. 51
三、实验内容及步骤 ............................................................................................................. 51
实验一 信号与系统的时域分析
三、实验内容及步骤
实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序应该完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。
实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。
Q1-1:修改程序Program1_1,将dt改为0.2,再执行该程序,保存图形,看看所得图形
的效果如何?
dt = 0.01时的信号波形 dt = 0.2时的信号波形
这两幅图形有什么区别,哪一幅图形看起来与实际信号波形更像? 答:
Q1-2:修改程序Program1_1,并以Q1_2为文件名存盘,产生实指数信号x(t)=e-0.5t。 要
求在图形中加上网格线,并使用函数axis()控制图形的时间范围在0~2秒之间。然后执行该程序,保存所的图形。
修改Program1_1后得到的程序Q1_2如下: 信号x(t)=e-0.5t的波形图
clear, % Clear all variables
close all, % Close all figure windows dt = 0.2; % Specify the step of time variable t = -2:dt:2; % Specify the interval of time x = exp(-0.5*t); % Generate the signal plot(t,x) grid on;
axis ([0 2 0 1 ]) title('Sinusoidal signal x(t)')
xlabel('Time t (sec)')
Q1-3:修改程序Program1_1,并以Q1_3为文件名存盘,使之能够仿真从键盘上任意输入
的一个连续时间信号,并利用该程序仿真信号x(t)=e-2t。
修改Program1_1后得到的程序Q1_3如下: 信号x(t)=e-2t的波形图
clear, close all, dt = 0.2; t = -2:dt:2; x=input('Input x(t):');
plot(t,x) grid on;
axis ([0 2 -1 1 ]) title('Sinusoidal signal x(t)') xlabel('Time t (sec)')
Q1-4:将实验原理中所给的单位冲激信号和单位阶跃信号的函数文件在MATLAB文件编辑
器中编写好,并分别以文件名delta和u存入work文件夹中以便于使用。
抄写函数文件delta如下: 抄写函数文件u如下:
function y = delta(t) % Unit step function dt = 0.01; function y = u(t)
y = (u(t)-u(t-dt))/dt; y = (t>=0); % y = 1 for t > 0, else y = 0
Q1-5:修改程序Program1_4,并以Q1_5为文件名存盘,利用axis()函数,将图形窗口的
横坐标范围改为-2≤n≤5,纵坐标范围改为-1.5≤ x ≤1.5。
修改Program1_4后得到的程序Q1_5如下: 信号的波形图
clear, close all, n = -5:5;
x = [zeros(1,4), 0.1, 1.1, -1.2, 0, 1.3, zeros(1,2)]; stem (n,x,'.') grid on,
axis([-2 5 -1.5 1.5]);
title ('A discrete-time sequence x[n]') xlabel ('Time index n')
Q1-6:仿照前面的示例程序的编写方法,编写一个MATLAB程序,以Q1_6为文件名存盘,
使之能够在同一个图形窗口中的两个子图中分别绘制信号x[n]=0.5|n| 和x(t)=cos(2πt)[u(t)-u(t-3)]。要求选择的时间窗能够表现出信号的主要部分(或特征)。
编写的程序Q1_6如下: 信号x[n]=0.5|n| 的波形图和信号x(t)=cos(2πt)[u(t)-u(t-3)]的波形
图
clear,close all, t = -1:0.01:4;
xt = cos(2*pi*t).*(u(t)-u(t-3)); n=-5:5;
xn=(0.5).^abs(n); subplot(211)
plot(t,xt) grid on,
title ('Original signal x(t)') subplot(212)
stem(n,xn,'.') grid on,
title ('Original signal x(n)') xlabel ('Time t (sec)')
Q1-7:根据示例程序的编程方法,编写一个MATLAB程序,以Q1_7为文件名存盘,由给
定信号x(t) = e-0.5tu(t) 求信号y(t) = x(1.5t+3),并绘制出x(t) 和y(t)的图形。
编写的程序Q1_7如下:
编写产生x(t)的函数文件x.m function y=x(t) y=exp(-0.5*t).*u(t);
clear,close all, t = -3:0.01:4;
xt = x(t); % Generate the original signal x(t) yt=x(1.5*t+3); subplot(211)
plot(t,xt) % Plot x(t) grid on,
title ('Original signal x(t)') subplot(212)
plot(t,yt) % Plot x(t) grid on,
title ('Original signal y(t)') xlabel ('Time t (sec)')