• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

MATLAB信号与系统分析(四)——离散信号与系统的复频域分析及MATLAB实现 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、系统的z变换和反变换

1、利用部分分式展开求解逆Z变换:

2、例子

3、Z变换的MATLAB函数

clear all
f=sym(\'cos(a*k)\');
F=ztrans(f)
F=sym(\'z^2/((1+z)*(z-2))\');
f=iztrans(F)

 

二、系统的零极点分布及其稳定性

%求H(z)=(z^3+2z)/(z^4+3(z^3)+2(z^2)+2z+1)的零极点及其分布图
%求H(z)=(1+z^(-1))/(1+z^-1/2+z^-2/4+1)的零极点及其分布图
%采用roots和plot函数
clear all 
%(1)
b=[1,0,2,0];
a=[1,3,2,2,1];
zs1=roots(b);
ps1=roots(a);
figure(1)
subplot(2,1,1);plot(real(zs1),imag(zs1),\'o\',real(ps1),imag(ps1),\'kx\',\'markersize\',12);
axis([-2,2,-2,2]);grid on;
legend(\'零点\',\'极点\')
%(2)
c=[1,1,0];
d=[1,1/2,1/4];
zs2=roots(c);
ps2=roots(d);
subplot(2,1,2);
plot(real(zs2),imag(zs2),\'o\',real(ps2),imag(ps2),\'kx\',\'markersize\',12);
axis([-2,2,-2,2]);grid on;legend(\'零点\',\'极点\')

%采用tf2zp和zplane函数
%(1)
b=[1,0,2,0];
a=[1,3,2,2,1];
figure(2)
[z,p]=tf2zp(b,a)
subplot(2,1,1),zplane(z,p)
%(2)
c=[1,1,0];
d=[1,1/2,1/4];
[z,p]=tf2zp(c,d)
subplot(2,1,2),zplane(z,p)

 

三、系统的零极点分布与系统冲激响应时域特性

clear all
a=[1 -2*0.8*cos(pi/4) 0.8^2];
b=[1];
[z,p,k]=tf2zp(b,a);
figure(1)
subplot(2,1,1),zplane(z,p);
subplot(2,1,2),impz(b,a,20)

 

四、离散系统的频率响应

MATLAB提供了专门对离散系统频率响应H(jw)进行分析的函数freqz(),该函数可以求出系统频率响应的数值解,并可绘出系统的幅频和相频响应曲线。

[H,w]=freqz(b,a,N)

[H,w]=freqz(b,a,N,’whole’)

freqz(b,a,N)

freqz(b,a,N,’whole’)

 

 

%例7
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(\'幅频特性曲线\'),grid on;
subplot(2,1,2),plot(w,hx),title(\'相频特性曲线\'),grid on;
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(\'相位\')

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi与SQL Server存储过程编程详解发布时间:2022-07-18
下一篇:
Delphi2010DataSnap入门发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap