• MATLAB信号与系统分析(三)——连续信号与系统的复频域分析及MATLAB实现


    一、系统的拉普拉斯变换和反变换

    1、MATLAB函数

    F=laplace(f)  %求拉氏变换
    f=ilaplace(F) %求拉氏反变换

    2、例子

    image

    clear all;clc;close all
    f=sym('exp(-t)*sin(a*t)*heaviside(t)')
    F=laplace(f)  %求拉氏变换
    F=sym('s^2/(s^2+1)')
    f=ilaplace(F) %求拉氏反变换

    二、利用部分分式展开求解拉氏反变换(数学表达式):

    1、MATLAB函数

    [r,p,k]=residue(num,den)
    %r为所得部分分式展开式的系数向量
    %p为极点
    %k为直流分量

    image

    2、例子

    image

    %shiyan3_2 用部分分式展开法求解拉氏反变换
    clear all;clc;close all
    num=[1 2];%分母多项式的系数向量,从高次幂往低次幂排列
    den=[1 4 3 0];%分子多项式的系数向量,从高次幂往低次幂排列,不要忘记该补零的补零值
    [r,p,k]=residue(num,den); %用esidue函数进行展开%
    f=0;
    syms t;
    for i=1:length(p)
        f=f+r(i)*exp(p(i)*t);
    end
    f

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

    1、稳定性的条件,系统的极点位于零极点图的左半平面。

    2、利用matlab计算h(s)的零极点并分析系统稳定性。

    3、画极点的例子

    image

    %shiyan3_3 求H(s)=(s-1)/(s^2+2s+2)的零极点及其分布图
    
    %采用roots和plot函数
    clear all ; clc; close all;
    b=[1,-1];
    a=[1 2 2];
    zs=roots(b);ps=roots(a);
    figure(1)
    plot(real(zs),imag(zs),'o',real(ps),imag(ps),'kx','markersize',12);
    axis([-2,2,-2,2]);grid on;legend('零点','极点')
    
    %利用pole和zero函数
    num=[1,-1];
    den=[1,2,2];
    H = tf(num,den);%采用tf函数获得LTI系统模型sys
    zs=zero(H);ps=pole(H);
    figure(2)
    plot(real(zs),imag(zs),'o',real(ps),imag(ps),'kx','markersize',12);
    axis([-2,2,-2,2]);grid on;legend('零点','极点')
    
    %采用pzmap函数
    num=[1,-1];
    den=[1,2,2];
    H = tf(num,den);%采用tf函数获得LTI系统模型sys
    figure(3)
    pzmap(H);
    
    %采用tf2zp和zplane函数
    A=[1,2,2];
    B=[1,-1];
    figure(4)
    [z,p]=tf2zp(B,A)
    zplane(z,p)

    4、计算h(s)的零极点并分析系统稳定性

    image

    image

    四、系统的零极点分布与系统冲激响应时域特性(P294)

    1、例子

    image

    clear all;clc;close all;
    
    a=[1,1,16.25];
    b=[1];
    impulse(b,a,5)

    五、连续系统的频率响应

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

    image

    2、例子:

    image

    clear all;clc;close all;
    
    b=[1];
    a=[0.08 0.4 1];
    [h,w]=freqs(b,a,100)
    h1=abs(h);     %求幅频
    h2=angle(h);    %求相频
    figure(1)
    subplot(211);
    plot(w,h1);grid,xlabel('角频率(W)');ylabel('幅度');title('H(jw)的幅频特性');
    subplot(212);
    plot(w,h2*180/pi);grid,xlabel('角频率(w)');ylabel('相位(度)');title('H(jw)的相频特性');
    figure(2)
    freqs(b,a)

    3、由连续系统零极点分布分析系统的频率特性

    image

    由连续系统零极点分布求系统的频率特性的步骤:

    定义包含系统所有零点&极点的行向量z&列向量y

    定义绘制系统频率响应曲线的频率起始值f1&终止值f2、频率取样间隔k(频率的变化步长),并产生频率等分点向量f;

    求出系统所有零点&极点到这些等分点的距离;

    l求出系统所有零点&极点到这些等分点的矢量的相角;

    根据(1)式&(2)式求出f1到f2频率范围内各频率等分点的 & 的值

    绘制f1到f2频率范围内的幅频响应&相频响应曲线

    function pz_plxy(f1,f2,k,p,z)
    
    %根据系统零极点分布绘制系统频率响应曲线程序
    %f1、f2:绘制频率响应曲线的频率范围(即频率起始和终止点,单位为赫兹)
    %p、z:系统函数极点和零点位置行向量
    %k:绘制频率响应曲线的频率取样间隔
    
    p=p';   %变成列向量
    z=z'; 
    
    f=f1:k:f2;                                    %定义绘制系统频率响应曲线的频率范围
    w=f*(2*pi);
    y=i*w; %虚数轴上
    
    n=length(p);
    m=length(z);
    
    if n==0                                            %如果系统无极点
       yq=ones(m,1)*y; 
       vq=yq-z*ones(1,length(w));
       bj=abs(vq);
       bw=angle(vq);
       ai=1;
       aw=0;
    elseif m==0                                    %如果系统无零点
       yp=ones(n,1)*y;
       vp=yp-p*ones(1,length(w));
       aw=angle(vp);
       ai=abs(vp);
       bj=1;
       bw=0;
    else 
       yp=ones(n,1)*y;
       yq=ones(m,1)*y;
       vp=yp-p*ones(1,length(w));
       vq=yq-z*ones(1,length(w));
       ai=abs(vp);
       aw=angle(vp);
       bj=abs(vq);
       bw=angle(vq)
    end
    
    figure(1)
    Hw=prod(bj,1)./prod(ai,1);
    plot(f,Hw);
    title('   系统幅频响应曲线')
    xlabel(' 频率w(单位:赫兹)')
    ylabel('H(jw)')
    
    figure(2)
    Anglew=sum(bw,1)-sum(aw,1);
    plot(f,Anglew);
    title('   系统相频响应曲线')
    xlabel(' 频率w(单位:rad)')
    ylabel('angle(jw)')
  • 相关阅读:
    Asp.net MVC3 Routing study
    Sharepoint 站点页面错误问题
    vc2010 学习笔记1
    UML类成员的困惑
    河道二维水流模拟高精度算法研究
    朱庆:真三维GIS技术进展
    map
    SIGGRAPH 2010: 一场视觉盛宴[转]
    新网站开张,欢迎大家
    获取其它进程内EDIT BOX内容的一种方法
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4512922.html
Copyright © 2020-2023  润新知