综合实验一 《信号与系统》的MATLAB 仿真实验
一.实验目的
1.熟悉MATLAB软件平台、工具箱、高效的数值计算及符号计算功能。
2.熟悉MATLAB软件的信号处理编程方法和结果的可视化 3.了解数字信号处理的计算机仿真方法
4.进一步加深对信号与系统的基本原理、方法及应用的理解。
二.实验软件MATLAB 6.5 界面
三.实验内容
1.基本信号的表示及可视化
3.线性系统的时域分析及Matlab实现
4.连续时间信号的频域分析及Matlab实现
四.实验原理方法及相关MATLAB函数
1.基本信号的表示及可视化
1.1 连续时间信号
(1)表示出连续信号f(t)=Sa(t)=sin(t)/t
Matlab命令如下:
t=-10:1.5:10; %向量t时间范围t=t1:p:t2,p为时间间隔
f=sin(t)./t;
1999年虎门大桥事故plot(t,f); %显示该信号的时域波形
title(‘f(t)=Sa(t)’);
调度系统
xlabel(‘t’)
axis([-10,10,-0.4,1.1])
注:改变p可使信号波形更平滑,同学们可以试一试。
(2)单位阶跃信号
定义阶跃函数
function f=Heaviside(t)
f=(t>0)
调用阶跃函数
t=-1:0.01:3;
f=Heaviside(t)
plot(t,f);
axis([-1,3,-0.2,1.2]);
(2)单位冲击信号δ(t)
定义冲击函数
function chongji(t1,t2,t0)
大闹怀仁堂dt=0.01;
t=t1:dt:t2;
n=length(t);
x=zeros(1,n);
x(1,(-t0-t1)/dt+1)=1/dt;
stairs(t,x);
axis([t1,t2,0,1.2/dt])
title('单位冲击信号δ(t)')
调用的是chongji柳倩月(-1,5,0)光波网;可以试着给别的t1,t2,t0.
1.2离散时间信号
(1)单位阶跃序列ε(k)
定义阶跃序列
function jyxulie(k1,k2,k0)
k=k1:-k0-1;
kk=-k0:k2;
n=length(k);
nn=length(kk);
u=zeros(1,n); %k0前信号赋值为零
uu=ones(1,nn); %k0后信号赋值为一
stem(kk,uu,’filled’)
hold on
stem(k,u,’filled’)
hold off
title(‘单位阶跃序列’)
axis([k1 k2 0 1.5])
调用阶跃序列函数jyxulie(-2,6,0)
(3)单位序列δ(k)
定义单位序列函数
function dwxulie(k1,k2,k0)
k=k1:k2;
n=length(k);
f=zeros(1,n);
f(1,-k0-k1+1)=1;
stem(k,f,’filled’)
axis([k1,k2,0,1.5])
title(‘单位序列δ(k)’)
调用单位序列函数dwxulie(-3,5,0)
2.连续信号的时域运算与时域变换
运算、变换的符号运算方法:相加、相乘、移位、反折、尺度变换、倒相
已知信号,用matlab求f(t+2),f(t-2),f(-t),f(2t),-f(t),并绘出时域波形。
syms t
f=sym('(t/2+1)*(heaviside(t+2)-heaviside(t-2))')
subplot(2,3,1);
ezplot(f,[-3,3]);
y1=subs(f,t,t+2)
subplot(2,3,2),ezplot(y1,[-5,1])
y2=subs(f,t,t-2)
subplot(2,3,3),ezplot(y2,[-1,5])cg时代
y3=subs(f,t,-t)
subplot(2,3,4),ezplot(y3,[-3,3])