信号与系统 实验四:信号与系统复频域分析(2 学时)

article/2025/10/9 6:18:34

注明:这是学校专业课实验,利用网站做一个学习和记录。有错的地方希望好心人指点一下。

一、实验目的

1.学会用 MATLAB 进行部分分式展开;

2.学会用 MATLAB 分析 LTI 系统的特性;

3.学会用 MATLAB 进行 Laplace 正、反变换。

4.学会用 MATLAB 画离散系统零极点图;

5.学会用 MATLAB 分析离散系统的频率特性;

二、实验原理   

1.用 MATLAB 进行部分分式展开

用 MATLAB 函数 residue 可以得到复杂有理分式 F(s)的部分分式展开式,其调用格式为

\left [ r,p,k \right ]= residue(num,den)

 其中,num,den 分别为 F(s)的分子和分母多项式的系数向量,r 为部分分式的系数,p 为 极点,k 为 F(s)中整式部分的系数,若 F(s)为有理真分式,则 k 为零。

例 6-1 用部分分式展开法求 F(s)的反变换F(s)=\frac{s+2}{s^{3}+4s^{2}+3s}

解:其 MATLAB 程序为

format rat;num=[1,2];den=[1,4,3,0];[r,p]=residue(num,den)

程序中 format rat 是将结果数据以分数形式显示

F(s)可展开为         F(s)=\frac{2/3}{s}+\frac{-0.5}{s+1}+\frac{-1/6}{s+3}

所以,F(s)的反变换f(t)=\left [ \frac{2}{3} -\frac{1}{2}e^{-t}-\frac{1}{6}e^{-3t}\right ]u(t)

2.用 MATLAB 分析 LTI 系统的特性

        系统函数 H(s)通常是一个有理分式,其分子和分母均为多项式。计算 H(s)的零极 点可以应用 MATLAB 中的 roots 函数,求出分子和分母多项式的根,然后用 plot 命令画图。

在 MATLAB 中还有一种更简便的方法画系统函数 H(s)的零极点分布图,即用 pzmap

函数画图。其调用格式为

pzmap(sys)

        sys 表示 LTI 系统的模型,要借助 tf 函数获得,其调用格式为

sys=tf(b,a)

        式中,b a 分别为系统函数 Hs)的分子和分母多项式的系数向量。

         如果已知系统函数H(s),求系统的单位冲激响应H(t)和频率响应 H(j\omega )可以用以前 介绍过的 impulse freqs 函数。

例 6-2 已知系统函数为 H(s)=\frac{1}{s^{3}+2s^{2}+2s+1}

试画出其零极点分布图,求系统的单位冲激响应 h(t)和频率响应H(j\omega ),并判断系统  

是否稳定。

解:其 MATLAB 程序如下:

num=[1];den=[1,2,2,1];sys=tf(num,den);figure(1);pzmap(sys);t=0:0.02:10;h=impulse(num,den,t);figure(2);plot(t,h)title('Impulse Response')[H,w]=freqs(num,den);figure(3);plot(w,abs(H))xlabel('\omega')title('Magnitude Response')

3.用 MATLAB 进行 Laplace 正、反变换

        MATLAB 的符号数学工具箱提供了计算 Laplace 正、反变换的函数 Laplace ilaplace, 其调用格式为上述两式右端的 f F 分别为时域表示式和 s 域表示式的符号表示,可以应用函数 sym 实现,其调用格式为 

S=sym(A)

        式中,A 为待分析表示式的字符串,S 为符号数字或变量。

F=laplace(f)

f=ilaplace(f))

6-3 试分别用 Laplace ilaplace 函数求

1f(t)=e^{-t}sin(at)u(t)Laplace 变换;

2) F(s)=\frac{s^{2}}{s^{2}+1}Laplace 反变换。

解:

1)其程序为

%(1)其程序为 
f=sym('exp(-t)*sin(a*t)'); 
F=laplace(f) 
%或者
syms a t 
F=laplace(exp(-t)*sin(a*t)) 
%(2)其程序为
F=sym('s^2/(s^2+1)'); 
ft=ilaplace(F) 
%或 
syms s 
ft= ilaplace(s^2/(s^2+1)) 

4.离散系统零极点图

离散系统可以用下述差分方程描述:\sum_{i=0}^{N}a_{i}y(k-i)=\sum_{m=0}^{M}b_{m}f(k-m)

Z变换后可得系统函数: H(z)=\frac{Y(z)}{F(z)}=\frac{b_{0}+b_{1}z^{-1}+...+b_{M}z^{-M}}{a_{0}+a_{1}z^{-1}+...+a_{N}z^{-N}}

MATLAB 提供的 root 函数可分别求零点和极点,调用格式是

p=[a0,a1…an],q=[b0,b1…bm,0,0…0], 0 使二者维数一样。画零极点图的方法有多种,可 以用 MATLAB 函数[z,p,k]=tf2zp(b,a)zplane(q,p),也可用 plot 命令自编一函数 ljdt.m,图时调用。

%注意:建立函数时以lidt.m为文件名,切函数有参数不足报错不用细究
function ljdt(A,B)% The function to draw the pole-zero diagram for discrete systemp=roots(A); %求系统极点q=roots(B); %求系统零点p=p'; %将极点列向量转置为行向量q=q';%将零点列向量转置为行向量x=max(abs([p q 1])); %确定纵坐标范围x=x+0.1;y=x; %确定横坐标范围clfhold onaxis([-x x -y y]) %确定坐标轴显示范围w=0:pi/300:2*pi;t=exp(i*w);plot(t) %画单位园axis('square')plot([-x x],[0 0])  %画横坐标轴plot([0 0],[-y y]) %画纵坐标轴text(0.1,x,'jIm[z]')text(y,1/10,'Re[z]')plot(real(p),imag(p),'x') %画极点plot(real(q),imag(q),'o') %画零点title('pole-zero diagram for discrete system') %标注标题hold offend

6-4 求系统函数零极点图 H(z)=\frac{z+1}{3z^{5}-z^{4}+1}

%在建立好上述函数的情况下,另起脚本,运行代码
a=[3 -1 0 0 0 1];b=[1 1];ljdt(a,b)p=roots(a)q=roots(b)pa=abs(p)

5.离散系统的频率特性

        离散系统的频率特性可由系统函数求出,既令 z=e^{j\omega },MATLAB 函数 freqz 可计算频率特性,调用格式是:

[HW]=freqz(b,a,n)

        b 和 a 是系统函数分子分母系数,n0-\pi范围 n 个等份点,默认 值 512H 是频率响应函数值,W 是相应频率点; [H,W]=freqz(b,a,n,’whole’), n 0-2\pi范围 n 个等份点freqz(b,a,n),直接画频率响应幅频和相频曲线;

例 6-5 系统函数 H(z)\frac{z-0.5}{z}

运行如下语句,可得 10 个频率点的计算结果

A=[1 0];B=[1 -0.5];[H,W]=freqz(B,A,10)继续运行如下语句,可将 400 个频率点的计算结果用 plot 语句画幅频和相频曲线B=[1 -0.5];A =[1 0];[H,w]=freqz(B,A,400,'whole');Hf=abs(H);Hx=angle(H);clffigure(1)plot(w,Hf)title('离散系统幅频特性曲线')figure(2)plot(w,Hx)title('离散系统相频特性曲线')%还可用 freqz 语句直接画图,注意区别A=[1 0];B=[1 -0.5];[H,W]=freqz(B,A,10)继续运行如下语句,可将 400 个频率点的计算结果用 plot 语句画幅频和相频曲线B=[1 -0.5];A =[1 0];[H,w]=freqz(B,A,400,'whole');Hf=abs(H);Hx=angle(H);clffigure(1)plot(w,Hf)title('离散系统幅频特性曲线')figure(2)plot(w,Hx)title('离散系统相频特性曲线')%还可用 freqz 语句直接画图,注意区别%A=[1 0];%B=[1 -0.5];%freqz(B,A,400)

6-6 用几何矢量法,自编程序画频率响应

原理:频率响应H(e^{j\omega })=\frac{\prod_{j-1}^{M}e^{j\omega }-q^{j}}{\prod_{i=1}^{N}e^{j\omega }-p^{i}}

        编程流程:定义 Z 平面单位圆上 k 个频率等分点;求出系统函数所有零点和极点到

这些等 分点的距离;求出系统函数所有零点和极点到这些等分点的矢量的相角;求出单位圆上各频率等分点的

\left | H(e^{j\omega}) \right |\varphi (\omega )

画指定范围内的幅频与相频。若要画零极点图,可调用 ljdt.m 函数。

%与例4相同,建立一个函数以dplxy.m 命名,
function dplxy(k,r,A,B)%The function to draw the frequency response of discrete systemp=roots(A); %求极点q=roots(B); %求零点figure(1)ljdt(A,B) %画零极点图w=0:l*pi/k:r*pi;y=exp(i*w);%定义单位圆上的 k 个频率等分点N=length(p);%求极点个数M=length(q);%求零点个数yp=ones(N,1)*y;%定义行数为极点个数的单位圆向量yq=ones(M,1)*y;%定义行数为零点个数的单位圆向量vp=yp-p*ones(1,r*k+1);%定义极点到单位圆上各点的向量vq=yq-q*ones(1,r*k+1);%定义零点到单位圆上各点的向量Ai=abs(vp);%求出极点到单位圆上各点的向量的模Bj=abs(vq);%求出零点到单位圆上各点的向量的模Ci=angle(vp);%求出极点到单位圆上各点的向量的相角Dj=angle(vq);%求出零点到单位圆上各点的向量的相角fai=sum(Dj,1)-sum(Ci,1); %求系统相频响应H=prod(Bj,1)./prod(Ai,1); %求系统幅频响应figure(2)plot(w,H); %绘制幅频特性曲线title('离散系统幅频特性曲线')xlabel('角频率')ylabel('幅度')figure(3)plot(w,fai)title('离散系统的相频特性曲线')xlabel('角频率')ylabel('相位')end

已知系统函数 H(z)=\frac{5/4(1-z^{-1})}{1-1/4z^{-1}},画频率响应和零极点图。

%同例4,在上述dplxy.m函数建好情况下,另建脚本运行
A=[1 -1/4];B=[5/4 -5/4];dplxy(500,2,A,B) %绘制系统 2π 频率范围内 500 个频率点的幅频和相频特性曲线

三。上机实验

1.验证实验原理中的相关程序。

2 .求信号f(t)=te^{-3t}u(t) 的拉普拉斯变换
%上机实验 f=t*exp(-3*t)u(t)的拉普拉斯变化
f=str2sym('t*exp(-3*t)'); 
F=laplace(f) 
%或
syms  t 
F=laplace(t*exp(-3*t))

3 .求函数F(s)=\frac{s^{3}+5s^{2}+9s+7}{s^{2}+3s+2} 的反变换
%求F(s)=s^3+s^2+9*s+7/(s^2+3*s+2)的反变化
%反变换:
F=str2sym('(s^3+5*s^2+9*s+7)/(s^2+3*s+2)'); 
ft=ilaplace(F)

4 .已知连续系统的系统函数如下,试用 MATLAB 绘制系统的零极点图,并根据零极点图
判断系统的稳定性
H(s)=\frac{s^{2}+s+2}{3s^{3}+5s^{2}+4s-6}
% 已知连续系统的系统函数如下,试用 MATLAB 绘制系统的零极点图,并根据零极点图,判断系统的稳定性
%H(s)=s^2+s+2/(3*s^3+5*s^2+4*s-6)num=[1,1,2];%用向 量表示 分子系数
den=[3,5,4,-6];%用向量表示分母系数
sys=tf(num,den);%系统传递函数
set(gcf,'color','w');
pzmap(sys);%绘制其零极点图
p=pole(sys);
z=zero(sys);%零极点图: X为极点, O为零点
%由零极点图看出:系统不稳定,因为有极点在右半平面

 

 

5 .系统函数是 1+5z^{-1}+5z^{-2}+z^{-3} 求频率响应
第一种方法:
(总的求他的频率响应图,有问题请指正)
num=[1,5,5,1]; 
den=[1];
sys=tf(num,den); 
figure(1);pzmap(sys); 
[H,w]=freqs(num,den); 
figure(2);plot(w,abs(H)) 
xlabel('\omega') 
title('频率响应')

 

第二种方法:

(分别求频率响应的幅频和相频)

num=[1,5,5,1]; 
den=[1,0,0,0];
[H,w]=freqz(num,den,400,'whole'); 
Hf=abs(H);
Hx=angle(H);
clf
figure(1) 
plot(w,Hf)
title('幅频特性') 
figure(2)
plot(w,Hx)
title('相频特性')

 


http://chatgpt.dhexx.cn/article/eT0uh8Wp.shtml

相关文章

MATLAB中freqz函数的用法

本文引用自乱七八糟 《MATLAB中freqz函数的用法》 FREQZ 是计算数字滤波器的频率响应的函数 [H,W] FREQZ(B,A,N)returns the N-point complex frequency response vector H and the N-point frequency vector W in radians/sample of the filter: 函数的输出:a.滤波…

fft和freqz的区别

http://www.ilovematlab.cn/thread-245794-1-1.html 最近在研究matlab画频谱图,在查找资料过程,在matlab中文论坛中看到一篇帖子,感觉比较有用,简单整理了一下。 一、FFT函数 假设原始信号为x,则fft_xabs(fft(x))得…

MATLAB R2021a无法识别freqz_m

MATLAB R2021a中能识别的函数是freqz,但是无法识别freqz_m函数。 方法一: 若只想了解图像趋势,可以直接用freqz函数替代freqz_m函数,因为freqz_m函数可以有多个输出,但是freqz函数只有两个,所以可以分次进…

【matlab】freqz函数的使用(二)

freqz函数计算线性系统的频率响应,包括幅频响应和相频响应,基本输入为线性系统的AMMA模型系数向量,一个典型的AMMA模型为 % jw -jw -jmw % jw B(e) b(1) b(2)e .... b(m1)e % H(e) ---- -----------------------…

freqz()

实函数的傅里叶变换的幅度谱是偶函数,其相位谱为奇函数。这一特性在信号分析中得到广泛应用。 离散系统频响特性的函数freqz() [H,W ] freqz(b,a,n)返回量H则包含了离散系统频响在 0~pi范围内N个频率等分点…

MATLAB函数freqz的使用

(一)、它是数字滤波器的频率响应(包括幅频响应和相频响应) (二)、主要的形式: [h,w] freqz(b,a,n)[h,w] freqz(sos,n)[h,w] freqz(d,n)[h,w] freqz(___,n,whole)[h,f] freqz(___,n,fs)[h,f] freqz(___,n,whole…

频率响应说明

目录 数字域 模拟域 数字域 freqz 使用基于 FFT 的算法来计算数字滤波器的 Z 变换频率响应。具体来说,语句 [h,w] freqz(b,a,p) 返回数字滤波器的包含 p 个点的复频率响应 在其最简单的形式中,freqz 接受滤波器系数向量 b 和 a 以及整数 p&#xf…

详解MATLAB之freqz()函数

一 函数调用介绍 MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式有以下几种: (1)[H,w]freqz(B,A,N); %N默认值为512 (2)[H,w]freqz(B,A,N,whole); (3)[H,w]freqz(B,A,[自定义区间]); 上式中B和A分别对应离散系统的系统函…

Matlab中freqz函数使用

目录 语法 输入参数 输出参数 说明 示例 传递函数的频率响应 二阶部分的频率响应 FIR滤波器的频率响应 FIR带通滤波器的频率响应 freqz函数是求解数字滤波器的频率响应。 语法 [h,w] freqz(b,a,n)[h,w] freqz(sos,n)[h,w] freqz(d,n)[h,w] freqz(___,n,whole)[h…

计算机网络实验三 rdt协议

实验目的 熟悉各种不同 rdt 协议的运行环境,对照教材理解给出的 rdt 协议源码,理解并掌握不同链路特性对 rdt 协议性能的影响。比较不同 rdt 协议适应的运行环境。 准备阶段 进入Linux操作系统,将实验文件复制到Ubuntu内,观察到文件内包含Makefile文件,于是在命令行内将…

慧荣SM2262EN跑RDT教程

本次教程使用材料: 板子:2262EN公版4贴 颗粒:英特尔 PF29F04T2AOCTJ1 *4(ID:89,C4,18,32,A2,00)单颗512G 8CE B27A制程 缓存:镁光D9STQ *2(单颗512M 16bit1G的DDR3) &…

可靠传输协议 rdt 1.0、rdt 2.0、rdt 2.1、rdt 2.2、rdt3.0

转载自:https://blog.csdn.net/springtostring/article/details/80379841 计算机网络的设计基本方案是复杂化,多功能化应用层,运输层的协议设计,从而使得网络层,链路层,物理层变得相对简单,网络…

【计算机网络】三传输层--可靠传输原理rdt、GBN、SR

4、可靠数据传输原理 为上层实体提供的服务:数据可以通过一条可靠的信道进行传输。借助可靠信道,传输数据比特不会受到损坏或者丢失,而且所有数据都是按照其发送顺序进行交付。 那么,可靠传输协议的责任就是实现抽象服务&#xf…

linux内核的挂载,通过Linux内核使用RDT

8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Intel RDT特性详解介绍了RDT的基本概念,以及通过PQOS工具使用RDT。本文主要是介绍如何通过内核来使用RDT。 我的内核版本为4.14.32,内核对…

rdt不同版本(rdt1.0,rdt2.0,rdt2.1,rdt2.2,rdt3.0)协议的特点以及发送端接收端的FSM

两个简单概念 可靠数据传输(Reliable Data Transfer,rdt),发送方通过该协议把数据交给更底层(比如传输层交给网络层),底层负责传输,接收方再通过该协议把数据取出。 有限状态机(Finite-state machine, FSM)&#xff…

计算机网络-TCP-可靠数据传输(RDT)

TCP-可靠性(RDT) RDT(reliable data transfer protocl)可靠数据传输 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2p84x4XF-1679328566800)(https://s3-us-west-2.amazonaws.com/secure.notion-sta…

计算机网络-自顶向下笔记-可靠数据传输原理(三种rdt)

计算机网络自顶向下全部笔记🔗 可靠数据传输原理 🐳可靠性问题不仅仅出现在运输层,同样也是会出现在链路层以及应用层次中,可靠性问题同样也是会被列为🔝TOP10问题。 信道的不可靠特性决定了可靠数据传输协议&#xf…

DJ3-2 可靠数据传输原理:rdt

目录 一、如何实现可靠数据传输 二、rdt1.0:完全可靠信道上的可靠数据传输 1. 前提条件 2. 有限状态机 FSM 三、rdt2.0:仅具有 bit 错误的信道上的可靠数据传输 1. 前提条件 2. 有限状态机 FSM 3. 停等协议 4. rdt2.0 的致命缺陷 四、rdt2.1&a…

粗浅的rdt协议介绍

1、rdt1.0:经完全可靠信道的可靠数据传输 rdt1.0是假设使用最可靠的通道情况。主要有传输端与接收端两个部分。发送端等待上层传数据传进来,将数据打包为分组并将其发送到信道中;接收端收到分组以后,将封包解开,将其发…

计算机网络 可靠数据传输原理——从rdt协议到GBN到SR

文章目录 可靠数据传输原理rdt协议rdt 1.0rdt 2.0rdt 2.1rdt 2.2rdt 3.0 流水线可靠数据传输协议GBNGBN发送方GBN接收方GBN协议具体处理过程的示例 SRSR发送方SR接收方SR协议具体处理过程的示例接收方情况简析发送方情况简析接收方处理的区间长度为什么刚好是2N 窗口长度与序号…