ex_4.m

来自「信号与系统分析以matlab实现」· M 代码 · 共 35 行

M
35
字号
%ex_4
clear all;
b=[5/4 -5/4];
a=[1 -1/4];
[h,w]=freqz(b,a,400,'whole');
hf=abs(h);
hx=angle(h);
figure(1),clf;
subplot(2,1,1),plot(w,hf),title('幅频特性曲线')
subplot(2,1,2),plot(w,hx),title('相频特性曲线')
figure(2)
freqz(b,a,'whole')
%
[z,p]=tf2zp(b,a);
r=2;
k=200;
w=0:1*pi/k:r*pi;				
y=exp(i*w);						%定义单位圆上的k个频率等分点
N=length(p);					%求极点个数
M=length(z);					%求零点个数
yp=ones(N,1)*y;					%定义行数为极点个数的单位圆向量
yz=ones(M,1)*y;					%定义行数为零点个数的单位圆向量
vp=yp-p*ones(1,r*k+1);			%定义极点到单位圆上各点的向量
vz=yz-z*ones(1,r*k+1);			%定义零点到单位圆上各点的向量
Ai=abs(vp);						%求出极点到单位圆上各点的向量的模
Bj=abs(vz);						%求出零点到单位圆上各点的向量的模
Ci=angle(vp);					%求出极点到单位圆上各点的向量的相角
Dj=angle(vz);					%求出零点到单位圆上各点的向量的相角
fai=sum(Dj,1)-sum(Ci,1);		%求系统相频响应
H=prod(Bj,1)./prod(Ai,1);		%求系统幅频响应
figure(3)
subplot(2,1,1),plot(w,H);title('离散系统幅频特性曲线'),xlabel('角频率'),ylabel('幅度')
subplot(2,1,2),plot(w,fai);title('离散系统的相频特性曲线'),xlabel('角频率'),ylabel('相位')

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?