一、实验目的
1.了解熟悉MATLAB中meshgrid、mesh绘图函数的使用;
2.回忆传递函数,利用meshgrid和mesh函数在三维上绘出传递函数图像。
二、实验原理
传递函数是零初始条件下线性系统响应(即输出)量的拉普拉斯变换(或z变换)与激励(即输入)量的拉普拉斯变换之比,记作G(s)=Y(s)/U(s),其中Y(s)、U(s)分别为输出量和输入量的拉普拉斯变换。
三、实验设计及操作
1、选定自变量幅度mag和相位phs的范围,取相同数量的点;
2、通过meshgrid由向量转变为矩阵M和P;
3、写出传递函数表达式;
4、基于矩阵M和P作相应的计算并绘图。
四、实验结果及分析
作图结果与示例相一致,结果正确。
从三维图像中可以看出高通滤波器,与传递函数计算出的结果相一致,印证了理论结果,实验结果非常完美。
五、实验总结和提升
实现了MATLAB中传递函数的三维局限化,加深了传递函数的理解,为日后的其他信号处理打下基础。
六、源代码
clear
clc
close all
%% 示例
z1=0.5*exp(1j*3);
for mag=0.2:0.07:0.8
for phs=-pi+0.01:pi/20:pi
x=mag*cos(phs);
y=mag*sin(phs);
H=1/(x+y*1j-z1);
subplot(221);plot3(x,y,abs(H),'.');
hold on;grid on;
subplot(222);plot3(x,y,unwrap(angle(H)),'.');
hold on;grid on;
end
end
%% mesh作图
mag=0.2:0.07:0.8;
phs=-pi:pi/20:pi;
[M,P]=meshgrid(mag,phs);
H=1./(M.*exp(P.*1j)-z1);
figure(2)
subplot(121);mesh(M.*cos(P),M.*sin(P),abs(H));
hold on;grid on;
subplot(122);mesh(M.*cos(P),M.*sin(P),angle(H));
hold on;grid on;