离散系统频域分析及matlab实现(修订版)

合集下载

数字信号处理 实验3 离散系统的频域分析

数字信号处理 实验3 离散系统的频域分析
function[db,mag,pha,grd,w]=freqz_m(b,a,N); %离散系统响应求解函数,包括幅度响应、相位响应、群时延; %a,b,N 为输入参数; %b 为系统分子多项式系数向量; %b 为系统分子多项式系数向量; N 为频率离散化的点数; %db,mag,pha,grd,w 为输出参数; %db 为系统[0,π]的度响应,单位是 dB; %ag 也是系统[0,π]的幅度响应,单位是伏; %pha 为系统的[0,π]上的相位响应,单位为 rad; %grd 为[0,π]上的群延时响应; %w 为[0,π]上的频率采样点. [H,w]=freqz(b,a,N,’whole’); H=(H(1:N/2));w=(w(1:N/2)); mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w);
MATLAB 为求解离散系统的频率响应和连续系统的频率响应,分别提供了 freqz 和 freq(s 求
连续系统的频率响应函数)两个函数,使用方法类似。本实验主要讨论离散系统的频率响应。
例 3-1 已知离散时间系统的系统函数为
H(z)
=
0.1321− 0.3963 z−2 + 0.3963 z−4 − 0.1321z−6 1+ 0.34319 z−2 + 0.60439 z−4 + 0.20407 z−6
求该系统在 0~π频率范围内的绝对幅频响应、相对幅度响应、相位响率响应及群迟延。
解 MATLAB 程序如下:
b=[0.1321,0,0.3963,0,0.3963,0,0.1321];
a=[1,0,-0.34319,0,0.60439,0,-0.20407];

数字信号处理实验4

数字信号处理实验4

实验4 离散时间系统的频域分析一、实验目的(1)了解离散系统的零极点与系统因果性和稳定性的关系; (2)加深对离散系统的频率响应特性基本概念的理解; (3)熟悉MATLAB 中进行离散系统零极点分析的常用子函数; (4)掌握离散系统幅频响应和相频响应的求解方法。

二、知识点提示本章节的主要知识点是频率响应的概念、系统零极点对系统特性的影响;重点是频率响应的求解方法;难点是MATLAB 相关子函数的使用。

三、实验原理1.离散时间系统的零极点及零极点分布图设离散时间系统系统函数为NMzN a z a a z M b z b b z A z B z H ----++++++++==)1()2()1()1()2()1()()()(11 (4-1) MATLAB 提供了专门用于绘制离散时间系统零极点图的zplane 函数: ①zplane 函数 格式一:zplane(z, p)功能:绘制出列向量z 中的零点(以符号"○" 表示)和列向量p 中的极点(以符号"×"表示),同时画出参考单位圆,并在多阶零点和极点的右上角标出其阶数。

如果z 和p 为矩阵,则zplane 以不同的颜色分别绘出z 和p 各列中的零点和极点。

格式二:zplane(B, A)功能:绘制出系统函数H(z)的零极点图。

其中B 和A 为系统函数)(z H (4-1)式的分子和分母多项式系数向量。

zplane(B, A) 输入的是传递函数模型,函数首先调用root 函数以求出它们的零极点。

②roots 函数。

用于求多项式的根,调用格式:roots(C),其中C 为多项式的系数向量,降幂排列。

2.离散系统的频率特性MATLAB 提供了专门用于求离散系统频响特性的freqz 函数,调用格式如下: ①H = freqz(B,A,W)功能:计算由向量W (rad )指定的数字频率点上(通常指[0,π]范围的频率)离散系统)(z H 的频率响应)e (j ωH ,结果存于H 向量中。

实验 (三) 项目名称:利用MATLAB分析连续系统及离散系统的复频域特性

实验 (三) 项目名称:利用MATLAB分析连续系统及离散系统的复频域特性

广东技术师范学院实验报告实验 (三) 项目名称:利用MATLAB 分析连续系统及离散系统的复频域特性一.实验目的1.掌握 Laplace 变换的意义、基本性质及应用。

2.掌握拉普拉斯变换的三维可视化表示。

3.理解系统函数的零、极点分布(极、零图)决定系统时间原函数的特性。

4.掌握系统冲激响应。

5. H (z )部分分式展开的MA TLAB 实现6. H (z )的零极点与系统特性的MATLAB 计算二.实验原理1.Laplace 变换和逆变换定义为⎰⎰∞+∞-∞-==j j stst ds e s F jt f dte tf s F σσπ)(21)()()(0( 4 – 1 )在 Matlab 中实现 Laplace 变换有两个途径:直接调用指令 laplace 和ilaplace 进行;根据定义式 ( 4 – 1 ),利用积分指令 int 实现。

相较而言,直接利用 laplace 和 ilaplace 指令实现机器变换要简洁一些。

调用格式:L=laplace(F) F=ilaplace(L)2.实现拉普拉斯曲面图及其可视化的步骤如下:a .定义两个向量x 和y 来确定绘制曲面图的复平面横座标和纵座标的范围。

b .调用meshgrid 函数产生包含绘制曲面图的s 平面区域所有等间隔取样点的复矩阵。

c .计算复矩阵s 定义的各样点处信号拉氏变换F(s)的函数值,并调用abs 函数求其模。

d .调用mesh 函数绘出其幅度曲面图。

3.在连续系统的复频域分析中,系统函数起着十分重要的作用,它包含了连续系统的固有特性。

通过系统函数可以对系统的稳定性、时域特性、系统频率响应等系统特性进行分析。

若连续系统的系统函数的零极点已知,系统函数便可确定下来,即系统函数H (s )的零极点分布完全决定了系统的特性。

系统函数的零点和极点位置可以用matlab 的多项式求根函数roots()来求得。

用roots()函数求得系统函数H(s)的零极点后,就可以用plot 命令在复平面上绘制出系统函数的零极点图。

离散非周期信号的复频域分析及其MATLAB实现

离散非周期信号的复频域分析及其MATLAB实现

离散非周期信号的复频域分析及其MATLAB实现摘要利用MATLAB的图形处理功能、符号运算功能和数值计算功能,完成离散非周期信号的复频域(z域)分析和仿真实现。

分别以低通滤波器、高通滤波器、带通滤波器和带阻滤波器为例,利用MATLAB分析该离散时间系统的零极点分布,观察该系统的单位脉冲响应()h n的时域特性并分析系统的稳定性。

比较分析各类滤波器的零极点分布和频率特性之间的关系。

利用MATLAB比较分析FIR和IIR数字滤波器的零极点分布和频率特性的关系。

关键词:MATLAB 复频域分析滤波器目录摘要 (I)1.复频域分析法 (1)1.1离散系统的复频域分析法 (1)1.2 Z变换特性 (2)2.MATLAB 概述 (3)2.1 MATLAB简介 (3)2.2 MATLAB主要功能 (3)2.3 MATLAB的应用 (3)2.4 MATLAB的基本结构 (4)2.5 MATLAB TOOLBOX的用法 (4)3.离散非周期的复频域分析 (6)3.1低通滤波器 (6)3.2高通滤波器 (8)3.3带通滤波器 (11)3.4 带阻滤波器 (13)4.FIR和IIR数字滤波器MATLAB实现 (15)4.1 FIR型数字滤波器 (15)4.2 IIR数字滤波器 (17)总结 (19)参考文献 (20)1.复频域分析法1.1 离散系统的复频域分析法z变换是离散系统的复频域分析法。

它是对于n﹤0为零的离散序列(所谓“右边序列”)x(n)通过关系式X(z)=Σx(n)z(-n)(n=0)(其中(-n)为z的幂次,下同)变换为复变量z=ρejω的函数X(z)。

它就是时间序列x(n)的“复频域”表示方式。

从中看出,对于“右边序列”,ρ愈大时愈有利于z变换的收敛。

z变换的收敛区为以ρ0为半径的圆的外部。

ρ0就被称之为“收敛半径”。

不难看出,有限长序列,t=0时方出现的直流、正弦波或周期序列,指数序列an,其收敛半径分别为0,1及a 。

离散系统的MATLAB的实现

离散系统的MATLAB的实现

离散系统的MATLAB实现一、设计目的通过该设计,理解系统的单位抽样响应,频率响应及零极点增益的概念及意义。

二、课程设计环境计算机、MATLAB软件三、设计内容及其主要MATLAB函数如图所示的一个离散系统该离散系统对应的输入输出查分方程为:y(n)-0.4y(n-1)-0.5y(n-2)=0.2x(n)+0.1x(n-1)求该系统的单位抽样响应,频率响应及零极点增益。

1、单位抽样响应系统的单位抽样响应是当输入信号为输入信号为单位抽样信号时系统的输出响应。

MATLAB 中有两个函数可以计算系统的单位抽样响应:filter 函数和impz 函数。

1)filter 函数filter 函数是利用递归滤波器或非递归滤波器对数据进行滤波。

因为一个离散系统可以看做一个滤波器。

系统的输出就是输入经过滤波器滤波的结果。

filter 函数的格式为:y=filter (b ,a ,x )此函数是对由a 和b 组成的系统对输入进行滤波,如果输入为单位抽样信号)(n δ,那么输出就是系统的单位抽样响应。

2) impz 函数impz 函数的格式为:impz (b ,a )可直接给出系统的单位抽样响应。

2、频率响应e jw )(H由向量a 和b 组成的系统的频率响应为∑∑=-=-+=H N k jwkMr jwrjweee k a r b 10)(1)()(MATLAB 中的freqz 函数使用基于FFT 的算法来计算由向量a 和b 组成的系统的频率响应。

其一般用法为:【h ,f 】=freqz (b ,a ,n ,Fs )其中向量a 和b 由离散系统决定,Fs 为采样频率,在【0,2Fs】频率范围内选取n 个频率点,并记录在f 中。

由于freqz 函数是从用基2的FFT算法,n常取2的幂次方,这样可以提高运算速度。

3、零极点增益利用MATLAB中roots的函数可求得系统的零、极点,从而得到系统的零极点增益表示。

其一般用法为:zr=roots(b)zp=roots(a)四、设计报告要求1、按题目要求进行设计,写出设计报告,给出源程序。

实验七--离散系统分析的MATLAB实现讲解学习

实验七--离散系统分析的MATLAB实现讲解学习

实验七 离散系统分析的MATLAB 实现一、实验目的1、掌握利用MATLAB 绘制系统零极点图的方法;2、掌握离散时间系统的零极点分析方法;3、学习离散系统响应的MATLAB 求解方法;4、掌握用MATALB 实现离散系统频率特性分析的方法;5、深刻理解离散系统的系统函数零极点对系统频响的影响,可以根据 零极点知识设计简单的滤波器。

二、基本原理(一)离散系统零极点线性时不变离散系统可用线性常系数差分方程描述,即()()N Miji j a y n i b x n j ==-=-∑∑ (1)其中()y k 为系统的输出序列,()x k 为输入序列。

将式(1)两边进行Z 变换,00()()()()()Mjjj Nii i b zY z B z H z X z A z a z-=-====∑∑ (2) 将式(2)因式分解后有:11()()()Mjj Nii z q H z Cz p ==-=-∏∏ (3)其中C 为常数,(1,2,,)j q j M =L 为()H z 的M 个零点,(1,2,,)i p i N =L 为()H z 的N 个极点。

系统函数()H z 的零极点分布完全决定了系统的特性,若某系统函数的零极点已知,则系统函数便可确定下来。

因此,系统函数的零极点分布对离散系统特性的分析具有非常重要意义。

(二)离散系统零极点图及零极点分析 1、零极点图的绘制设离散系统的系统函数为()()()B z H z A z =则系统的零极点可用MATLAB 的多项式求根函数roots()来实现,调用格式为:p=roots(A) 其中A 为待求根多项式的系数构成的行矩阵,返回向量p 则是包含多项式所有根的列向量。

如多项式为231()48B z z z =++,则求该多项式根的MATLAB 命令为为:A=[1 3/4 1/8]; P=roots(A) 运行结果为: P =-0.5000 -0.2500需注意的是,在求系统函数零极点时,系统函数可能有两种形式:一种是分子、分母多项式均按z 的降幂次序排列;另一种是分子、分母多项式均按1z -的升幂次序排列。

实验七--离散系统分析的MATLAB实现讲解学习

实验七--离散系统分析的MATLAB实现讲解学习

实验七 离散系统分析的MATLAB 实现一、实验目的1、掌握利用MATLAB 绘制系统零极点图的方法;2、掌握离散时间系统的零极点分析方法;3、学习离散系统响应的MATLAB 求解方法;4、掌握用MATALB 实现离散系统频率特性分析的方法;5、深刻理解离散系统的系统函数零极点对系统频响的影响,可以根据 零极点知识设计简单的滤波器。

二、基本原理(一)离散系统零极点线性时不变离散系统可用线性常系数差分方程描述,即()()N Miji j a y n i b x n j ==-=-∑∑ (1)其中()y k 为系统的输出序列,()x k 为输入序列。

将式(1)两边进行Z 变换,00()()()()()Mjjj Nii i b zY z B z H z X z A z a z-=-====∑∑ (2) 将式(2)因式分解后有:11()()()Mjj Nii z q H z Cz p ==-=-∏∏ (3)其中C 为常数,(1,2,,)j q j M =L 为()H z 的M 个零点,(1,2,,)i p i N =L 为()H z 的N 个极点。

系统函数()H z 的零极点分布完全决定了系统的特性,若某系统函数的零极点已知,则系统函数便可确定下来。

因此,系统函数的零极点分布对离散系统特性的分析具有非常重要意义。

(二)离散系统零极点图及零极点分析 1、零极点图的绘制设离散系统的系统函数为()()()B z H z A z =则系统的零极点可用MATLAB 的多项式求根函数roots()来实现,调用格式为:p=roots(A) 其中A 为待求根多项式的系数构成的行矩阵,返回向量p 则是包含多项式所有根的列向量。

如多项式为231()48B z z z =++,则求该多项式根的MATLAB 命令为为:A=[1 3/4 1/8]; P=roots(A) 运行结果为: P =-0.5000 -0.2500需注意的是,在求系统函数零极点时,系统函数可能有两种形式:一种是分子、分母多项式均按z 的降幂次序排列;另一种是分子、分母多项式均按1z -的升幂次序排列。

matlab频域分析实验报告

matlab频域分析实验报告

Matlab频域分析实验报告引言频域分析是一种常用的信号处理技术,可以帮助我们理解信号的频率特性和频率成分。

在本实验中,我们将使用Matlab进行频域分析,并通过实际的信号示例来说明其应用。

实验目标本实验的目标是通过Matlab进行频域分析,了解信号的频率特性,并能够对信号进行频域滤波、谱估计和频域增强。

实验步骤步骤一:加载信号数据首先,我们需要加载信号数据。

在Matlab中,我们可以使用load()函数来加载数据文件。

假设我们的信号数据文件名为signal.mat,则可以使用以下代码进行加载:load('signal.mat');步骤二:绘制时域波形图加载信号数据后,我们可以通过绘制时域波形图来观察信号的时域特性。

可以使用plot()函数来绘制信号的时域波形图。

以下是示例代码:plot(signal);xlabel('时间');ylabel('信号幅度');title('信号的时域波形图');步骤三:进行傅里叶变换为了将信号转换到频域,我们需要进行傅里叶变换。

在Matlab中,可以使用fft()函数对信号进行傅里叶变换。

以下是示例代码:signal_freq = fft(signal);步骤四:绘制频域幅度谱进行傅里叶变换后,我们可以绘制信号的频域幅度谱来观察信号的频率特性。

可以使用abs()函数来计算频域幅度,并使用plot()函数来绘制频域幅度谱图。

以下是示例代码:signal_freq_amp = abs(signal_freq);plot(signal_freq_amp);xlabel('频率');ylabel('幅度');title('信号的频域幅度谱');步骤五:频域滤波频域分析不仅可以帮助我们观察信号的频率特性,还可以进行频域滤波。

例如,我们可以通过在频域中将低幅度的频率成分设置为0来实现低通滤波。

离散时间系统的时域和频域分析

离散时间系统的时域和频域分析

实验二 离散时间系统的时域和频域分析1. 已知某系统的系统函数为21112.04.0121)(----++=zzz z H ,)()(n u n f =,要求:(1)从理论上求解系统的单位冲激响应和零状态响应,并根据求解结果用MA TLAB 绘制其时域波形;(2)试分别用MA TLAB 的impz()函数和filter()函数绘制系统的单位冲激响应和零状态响应。

理论分析: 6.075.12.075.2)6.0)(2.0(212.04.0121)(2211+--=+-+=-++=---z z z z z z z z zzz z H)()6.0(75.1)()2.0(75.2)(n u n u n h n n --=)(])6.0(6563.0)2.0(6875.03437.2[)(*)()(n u n h n f n y nn---==求解零状态响应:filter()函数y=filter(b,a,x) 由向量b 和a 组成的系统对输入x 进行滤波 求解单位序列响应:impz()函数h=impz(b,a,n)计算指定范围内(0: n-1)的单位序列响应的序列值 计算得:a=[1 0.4 -0.12]; b=[1 2 0]; 源程序:a=[1 0.4 -0.12]; b=[1 2 0]; n=0:1:10;subplot(2,2,1);h=2.75.*(0.2).^n-1.75.*(-0.6).^n; stem(n,h); xlabel('n'); ylabel('h(n)');subplot(2,2,2);y1=2.3437-(0.6875).*(0.2).^n-(0.6563).*(-0.6).^n; stem(n,y1); xlabel('n'); ylabel('y(n)'); subplot(2,2,3); impz(b,a,11); xlabel('n'); ylabel('h(n)'); subplot(2,2,4); x=ones(1,11); y2=filter(b,a,x);xlabel('n'); ylabel('y(n)'); 实验结果:510nh (n )510ny (n )510nh (n )Impulse Response510ny (n )2. 已知某系统的系统函数为5.0)(-=z z z H(1)绘制其零极点图(2)用freqz()函数绘出该系统的幅频特性曲线和相频特性曲线,并说明该系统的作用。

离散系统的MATLAB实现

离散系统的MATLAB实现

数字信号处理实验报告实验项目名称:离散系统的MATLAB实现实验日期:2012年10月11日实验成绩:实验评定标准:1)实验结果是否正确A()B()C()2)实验结果分析A()B()C()3)实验报告是否按照规定格式A()B()C()一、实验目的离散系统的模型时域表示的MATLAB实现函数有filter和impz 函数两种,本实验通过以上函数实现离散系统的时域模型。

二、实验器材PC机一台MATLAB软件三、实验内容1.filter函数:利用递归滤波器或非递归滤波器对数据滤波,将一个离散系统可以看成一个滤波器,系统的输出就是输入经过滤波器的结果。

●y=filer(b,a,x); 说明:y表示由向量b和a组成的系统对输入信号x进行滤波,系统的输出为y。

2.impz函数:直接给出系统的单位冲击响应。

●impz(b,a);实验要求:(1)当系统的输入输出差分方程为:0.9(n)-y(n-1)-0.8y(n-2)=0.3x(n)+0.7x(n-1)+0.7x(n-2),并且系统的输入为N点单位冲激序列的时候,分别用filter和impz函数得到系统单位冲激相应的曲线,并对其进行比较。

四、实验结果系统的输入方程为:y(n)-0.8y(n-1)-0.5y(n-2)=0.7x(n)+0.3x(n-1)程序:clear all;Pulse=[1,zeros(1,63)];B=[0.7 0.3];A=[1 -0.8 - 0.5];H1=filre(b,a,pulse);H2=impz(b,a,4);Suplot(2,1,1),stem(h1),title(‘filer function’);Suplot(2,1,2),stem(h2),title(‘impz function’);系统的输入方程为:0.9y(n)-y(n-1)-0.8y(n-2)=0.3x(n)+0.7x(n-1)+0.7x(n-2):clear all;Pulse=[1,zeros(1,63)];B=[0.3 0.7 0.7];A=[0.9 -1 - 0.8];H1=filre(b,a,pulse);H2=impz(b,a,4);Suplot(4,1,1),stem(h1),title(‘filer function’);Suplot(4,1,2),stem(h2),title(‘impz function’);系统的输入方程为:y(n)-0.9y(n-1)-0.3y(n-2)=0.6x(n)+0.2x(n-1)clear all;Pulse=[1,sin(1*63)];B=[0.6 0.2];A=[ 1 -0.9 -0.3];H1=filre(b,a,pulse);H2=impz(b,a,4);Suplot(2,1,1),stem(h1),title(‘filer function’);五、实验结果分析y(n)-0.8y(n-1)-0.5y(n-2)=0.7x(n)+0.3x(n-1)0.9y(n)-y(n-1)-0.8y(n-2)=0.3x(n)+0.7x(n-1)+0.7x(n-2)y(n)-0.9y(n-1)-0.3y(n-2)=0.6x(n)+0.2x(n-1)。

精品课件-信号、系统分析与控制(MATLAB版)-第8章 离散系统的时域和频域分析

精品课件-信号、系统分析与控制(MATLAB版)-第8章  离散系统的时域和频域分析

8.2 差分方程的z域解法与离散系统函数
8. 2.1离散系统差分方程的z域解法
差分方程的z域解法是离散系统时域分析的一种间接求解法或变换域求
解法,即先通过z变换将差分方程转换为代数方程进行分析计算,
然后通过反变换求得时域的解。 M
单边z变换将系统的初始条件自Y(z然) j地0bj z包j X含(z) 于其代数方程中,可求得零输 入、零状态响应和全响应。 将(N a8iz.i 1.1)y(式n) 两Z 边1[Y进(z)行] z变换,如果 输入激励为因果序列,得到系统i的0 零状态响应的z变换为:
N
M
y(n) ai y(n i) bi x(n i)
i 1
i0
…… 以此类推,通过反复迭代,就可以求出任意时刻的响应值。
体育工程信息技术系
filter ()函数 这种迭代方法最适合用MATLAB来实现计算机计算。在时域计算方法有
filter()函数和impz()函数两种: filter ()函数可求出离散系统的零状态响应。 impz()函数直接给出系统的单位冲激响应。 filter ()函数是利用递归滤波器或非递归滤波器对数据进行滤波。
[n] h[n]
y(n) x(k)h(n k)] x(n) h(n)
输入信号k分 解为冲激信号序列:
即,系统单位冲激响

,则LSI系统响应可表示为如下
的卷积计算式:
(8.1.11)
在MATLAB中,求离散系统冲激响应并绘制其时域波形 使用函数impz(),也可以根据(8.1.11)式的定义使用卷积。
0.8x(n) 0.44 x(n 1) 0.36 x(n 2) 0.02 x(n 3)
x(n) (n)
当输入序列为

实验8 离散系统频域分析

实验8 离散系统频域分析

实验8 LTI 离散系统频域分析一、实验目的1、 利用Matlab 绘制LTI 离散系统的零极图;2、 根据离散系统的零极点分布,分析系统单位响应的时域特性;)(k h 3、 利用Matlab 求解LTI 离散系统的幅频特性和相频特性二、实验原理1、离散系统零极点LTI 离散系统可采(8-1)所示的线性常系数差分方程来描述,其中y (k )为系统输出信号,f (k )为系统输入信号。

∑∑==−=−M j j N i ij k f b i k y a 00)()( (8-1)将上式两边进行z 变换得:)()()()()()()(1100i N i j Mj N i i i M j j j p z q z c z A z B z a z b z F z Y z H −∏−∏========∑∑ (8-2) 上式中,A (z )和B (z )均为z 的多项式,可分别进行式因式分解。

c 为常数,(j =1,2,…,M)为H (z )的M 个零点,(i =1,2,…,N )为H (z )的N 个极点。

H (z )的零、极点的分布决定了系统的特性,若某离散系统的零、极点已知,则系统函数便可确定。

因此,通过对H (z )零极点的分析,可以分析离散系统以下几个方面的特性:j q i p 离散系统的稳定性;系统单位响应h (k )的时域特性;离散系统的频率特性(幅频响应和相频响应)。

2、离散系统的稳定性离散系统稳定的充要条件:系统函数H (z )的所有极点均位于z 平面的单位圆内。

对于三阶以下的低阶系统,利用求根公式可方便地求出离散系统的极点位置,判断系统的稳定性。

对于高阶系统,手工求解极点位置则非常困难,这时可利用MATLAB 来实现。

3、离散系统的频率响应)(Ωj e H )(|)(|)|()]([)(ΩΩ=Ω===Ωϕj j e z j e e H z H k h DTFT e H j |)(|Ωj e H 称为离散系统的幅频响应,决定了输出序列与输入序列的幅度之比;)(Ωϕ称为离散系统的相频响应,决定了输出序列和输入序列的相位之差;随而变化的曲线称为系统的幅频特性曲线,|)(|Ωj e H Ω)(Ωϕ随Ω而变化的曲线称为系统的相频特性曲线。

Matlab讲义-离散时间系统的Z域分析

Matlab讲义-离散时间系统的Z域分析

atlab讲义-离散时间系统的Z 域分析离散时间系统的Z 域分析一、实验目的1. 加深理解和掌握离散时间序列信号求Z 变换和逆Z 变换的方法。

2. 加深理解和掌握离散时间系统的零极点分布于时域特征关系。

二、实验内容1. 离散时间信号的Z 变换()()n n F z f n z +∞-=-∞=∑(1)双边Z 变换,单边Z 变换MATLAB 实现 F=ztrans(f)//Z 变换 f=iztrans(F)//逆Z 变换7-1 已知序列1()()n f n a u n =,序列2()f n 的Z 变换为22()/(1/2)F z z z =-,求序列1()f n 的z 变换,2()F z 的逆z 变换。

f1=sym('a^n'); F1=ztrans(f1) F2=sym('z/(z-1/2)^2'); f2=iztrans(F2) F1 =z/a/(z/a-1) f2 =2*(1/2)^n*n由此可知 11zza F z z a a ==--,21()2()()2n f n nu n =2. 系统函数1201212012()()()mm nn b b z b z b z B z H z A z a a z a z a z------++++==++++ (2) 1111(1)(2)()()(1)(2)1(1)1(2)1()r r r n H z k k z p z p zp n z----=++++++--- MATLAB 实现 residuez()函数。

7-2 已知因果系统的传递函数2()(1/2)(1/4)z H z z z =--。

利用MATLAB 计算()H z 的部分分式展开,求单位冲激响应画出图形。

B=1;A=[1 -0.75 0.125]; [r p k]=residuez(B,A) r =2 -1 p =0.5000 0.2500 k =[]1121()10.510.25H z z z--=---。

matlab 离散系统求频率应

matlab 离散系统求频率应

matlab 离散系统求频率应用方法在MATLAB中,求离散系统的频率响应可以使用离散傅里叶变换(DFT)或离散余弦变换(DCT)等方法。

其中,DFT是一种将时域信号转换为频域信号的方法,而DCT则是一种将实数信号转换为实数频域信号的方法。

下面以DFT为例,介绍如何在MATLAB中求离散系统的频率响应。

步骤一:定义离散系统首先,需要定义一个离散系统。

可以使用MATLAB中的tf函数或zpk 函数来定义系统的传递函数或零极点形式。

例如,定义一个二阶低通滤波器:s = tf('s');H = 1/(s^2 + 1.414*s + 1);步骤二:生成离散信号接下来,需要生成一个离散信号,可以使用MATLAB中的linspace函数生成一个等间距的时间序列,然后通过系统的传递函数将其转换为离散信号。

例如,生成一个采样频率为100Hz的离散信号:t = linspace(0, 1, 100);x = sin(2*pi*10*t);y = lsim(H, x, t);步骤三:进行DFT变换使用MATLAB中的fft函数进行DFT变换,得到离散系统的频率响应。

例如,对y进行DFT变换:Y = fft(y);步骤四:绘制频率响应曲线最后,可以使用MATLAB中的plot函数将离散系统的频率响应绘制出来。

例如,绘制离散系统的幅频响应曲线:f = linspace(0, 100, 100);Hf = abs(Y(1:50))/max(abs(Y(1:50)));plot(f(1:50), Hf);以上就是在MATLAB中求离散系统的频率响应的方法。

需要注意的是,DFT变换得到的频率响应是离散的,因此需要对其进行插值处理才能得到连续的频率响应曲线。

离散时间系统的频域分析

离散时间系统的频域分析

实验三 离散时间系统的频域分析一、实验目的:加深对离散系统的频率响应分析和零、极点分布的概念理解。

二、实验内容理解离散系统的变换域分析原理,掌握常用matlab 程序。

三、实验仪器1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台;2、MATLAB 编程软件。

四、实验原理:离散系统的时域方程为∑=N n 0d n y(k-n)= =∑=M n 0p n x (k -n )其变换域分析方法如下:频域 y (k )=x (k )*h (k ) =∑∞-∞=n x (n )h (k -n ) ⇔Y(Ω)= X(Ω) H(Ω)系统的频率响应为 H(Ω)= Ω-Ω-Ω-Ω-++++++=ΩΩjN N j jM M j e d e d d e p e p p D P ......)()(1010 Z 域y (k )=x (k )*h (k ) =∑∞-∞=n x (n )h (k -n ) ⇔Y(z )= X(z ) H(z )系统的转移函数为 H(z )=11101110......)()(----++++++=zd z d d z p z p p z D z P N M 在MATLAB 中,可以用函数[z ,p ,K]=tf2zp (num ,den )求得有理分式形式的系统转移函数的零、极点,用函数zplane (z ,p )绘出零、极点分布图;也可以用函数zplane (num ,den )直接绘出有理分式形式的系统转移函数的零、极点分图。

使h=freqz(num,den,w)函数可求系统的频率响应,w 是频率的计算点,如w=0:pi/255:pi, h 是复数,abs(h)为幅度响应,angle(h)为相位响应。

另外,在MATLAB 中,disp()就是屏幕输出函数。

五、实验步骤1求系统H(z )=45.02.02.01.012.03.03.01.013214321z z z z z z z z ++++-----------的零、的零、极点和幅度频率响应和相位响应。

实验一离散信号与系统时域分析的Matlab实现

实验一离散信号与系统时域分析的Matlab实现

实验1 离散信号与系统时域分析的Matlab实现一、实验目的1.掌握用Matlab表示常用离散信号的方法;2.掌握用Matlab求解离散系统的单位取样响应与零状态响应;3.掌握用Matlab实现离散信号卷积的方法;二、实验原理与内容1. Matlab基本操作打开Matlab 6.5,只保留命令窗口(Command Window),点击文本编辑窗口(M-file)创建、编辑M程序。

图1命令窗口在文本编辑窗口输入指令程序。

当输入完整程序后,点击DEBUG→RUN运行程序,或用键盘F5键直接运行。

另外,也可点击窗口快捷运行程序键。

图2文本编辑窗口编辑完成一个程序后,第一次运行或另存为时,需要保存M程序,保存的路径为命令窗口所示的当前目录路径(Current Directory),该路径可自行设置。

图3当前目录路径注意:M 文件在命名时有一定规则,错误命名时会使M 文件不能正常运行。

(1)M 文件名首字符不能是数字或下划线。

(2)M 文件名不能与Matlab 的内部函数名相同(3)M 文件名中不能有空格,不能含有中文。

一般应采用英文或拼音对M 文件命名。

2.离散信号的Matlab 表示表示离散时间信号x(n)需要两个行向量,一个是表示序号n=[ ],一个是表示相应函数值x=[ ],画图指令是stem 。

(1)正、余弦序列正、余弦序列为MATLAB 内部函数,可直接调用,文件名为sin 和cos 。

例1-1 画出()sin()4x n n π=的波形。

打开文本编辑窗口,输入波形程序:n=0:40;xn=sin(pi*n/4);stem(n,xn,'.')title('sin(pi*n/4)')运行,输出波形如下图4。

图4 ()x n 的波形图对于0cos()n ωϕ+或0sin()n ωϕ+,当2/πω是整数或有理数时,才是周期信号。

练习:(1)把上述程序中第三行分别改为stem(n,xn)、stem(n,xn,'*') 、stem(n,xn,' filled ') 后依次运行,看输出波形有何变化。

离散信号与系统z域分析的MATLAB实现

离散信号与系统z域分析的MATLAB实现

离散信号与系统z域分析的MATLAB实现实验⼗五离散信号与系统z域分析的MATLAB实现⼀、实验⽬的1. 掌握离散信号z变换和逆z变换的MATLAB⽅法;2. 掌握离散系统的系统函数零极点分布与系统频率特性分析的MATLAB实现⽅法。

⼆、实验原理1.离散信号的z变换和逆z变换序列f(k) (k为整数)的双边z变换定义为MATLAB的符号数学⼯具箱(Symbolic Math Tools)提供了计算z正变换的函数ztrans和计算逆z变换的函数iztrans。

其调⽤形式为:F=ztrans(f) %求符号函数f的z变换,返回函数的⾃变量为z;F=ztrans(f,w) %求符号函数f的z变换,返回函数的⾃变量为w;F=ztrans(f,k,w) %对⾃变量为k的符号函数f求z变换,返回函数的⾃变量为w。

f=iztrans(F) %对⾃变量为z的符号函数F求逆z变换,返回函数的⾃变量为n;f=iztrans(F,k) %对⾃变量为z的符号函数F求逆z变换,返回函数的⾃变量为k;f=iztrans(F,w,k) %对⾃变量为w的符号函数F求逆z变换,返回函数的⾃变量为k。

例15-1.已知序列,求其z变换。

解:在命令窗⼝中输⼊如下命令,即可完成f(k)的z变换>> syms k>> f=sym('2^(-k)'); %定义序列>> F=ztrans(f) %求z变换运⾏结果为:F =2*z/(2*z-1) ,即例15-2.已知⼀离散系统的系统函数,求其冲激响应h(k)。

解:运⾏如下M⽂件,syms k zH=sym('z/(z^2+3*z+2)');h=iztrans(H,k) %求逆z变换运⾏结果为:h =(-1)^k-(-2)^k,即对象函数F求逆z变换,还可以利⽤函数residuez( )对象函数作部分分式展开,然后按部分分式展开法求得原函数。

离散系统频域分析及matlab实现(修订版)

离散系统频域分析及matlab实现(修订版)

离散系统的频域分析及matlab 实现摘 要:系统的频域分析主要包括求表征系统频率特性的频率响应特征量和在频域求解系统输出两方面内容,本文主要分析离散系统的频域特性,应用实例结合理论,通过matlab 做出了系统输出的幅频特性和相频特性曲线。

1.系统函数对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。

在本文中利用系统函数H(z)进行描述。

若已知一个差分方程为∑∑==---=Mi Ni iii n y ai n x b n 01)()()(y ,则可以利用双边取Z 变换,最终可以得到系统函数的一般式H(z),∑∑=-=-==Ni ii Mi iiza z bz X z z H 00)()(Y )(。

若已知系统的单位脉冲响应,则直接将其进行Z 变换就可以得到系统函数H(z)。

系统函数表征系统的复频域特性。

2.系统的频率响应:利用Z 变化分析系统的频率响应:设系统的初始状态为零,系统对输入为单位脉冲序列)(n δ的响应输出称为系统的单位脉冲响应h (n )。

对h(n)进行傅里叶变换,得到:∑∞∞∞-==-)(jw nj |)(|)(e H w j nnj eeH en h ϕω)(其中|)(|jwn e H 称为系统的幅频特性函数,)(ωϕ称为系统的相位特性函数。

)(jweH 表示的是系统对特征序列jwn e 的响应特性。

对于一个系统输入信号为n)(ωj en x =,则系统的输出信号为jwn e )(jw e H 。

由上可以知道单频复指数信号jwne 通过频率响应函数为)(jw e H 后,输出仍为单频复指数信号,其幅度放大了|)(|jweH ,相移为)(ωϕ。

对于系统函数H(z)与H(w)之间,若系统函数H(z)的收敛域包含单位圆|z|=1,则有jw e z jwz H e H ==|)()(,在MATLAB 中可以利用freqz 函数计算系统的频率响应。

(1)[h,w]=freqz(b,a,n)可得到n 点频率响应,这n 个点均匀地分布在上半单位圆(即 ),并将这n 点频率记录在w 中,相应的频率响应记录在h 中。

用MATLAB分析控制系统性能(频域)

用MATLAB分析控制系统性能(频域)

系统的频域分析
绘图时横坐标是以对数分度的。为指定频率的范围, 可采用以下命令格式:
logspace(d1,d2) 或 logspace(d1,d2,n)
在指定频率范围内按对数距离分成50等分。 对计算点数进行人工设定,例如,要在 ω1 = 1rad / s 例如,要在 ω1 = 0.1 rad / s 和 ω2 个对数等分点,可 = 100rad / s 之间的频区 /s 和 ω2 = 1000rad 之间产生 100 画伯德图,输入命令时, = d1 lg( = ω1 ) , d 2 lg(ω2 ) 在此 输入: w=logspace(0,3,100) 频区自动按对数距离等分成50个频率点,返回到工作 空间,即 w=logspace(-1,2)
系统的频域分析
对数坐标绘图函数
semilogx(x,y,s) 对x轴进行对数变换,y轴仍为线性坐标。 semilogy(x,y,s) 对y轴取对数变换的半对数坐标图。 loglog(x,y,s) 全对数坐标图,即x轴和y轴均取对数变换。 给定单位负反馈系统的开环传递函数为
G (s) = 10( s + 1) ,画出开环系统伯德图。 s ( s + 7)
[mag,phase,w] = bode(num,den) [mag,phase,w]= bode(G) [mag,phase,w] = bode(num,den,w) [mag,phase,w]= bode(G,w)
画伯德图时,若用户指定频率点,在变量mag中可以由 以下命令把幅值转变成分贝:
magdb=20*log10(mag)
求出系统的幅值裕量和相位裕量。
系统的频域分析
频域法串联校正的MATLAB仿真 例
给定系统如图,试设计一个串联校正装置, 使系统满足幅值裕量大于10dB,相位裕量大 于等于45°。

实验25 离散系统的时域和频域分析

实验25 离散系统的时域和频域分析

2
实验原理与说明
1、系统零极点分布与冲激响应的关系: 系统零极点分布与冲激响应的关系: 极点决定了冲激响应的形式,而各系数则由零、 极点决定了冲激响应的形式,而各系数则由零、 极点共同决定。 极点共同决定。 系统的稳定性由极点在z平面上的分布决定, 系统的稳定性由极点在z平面上的分布决定,而零 点不影响稳定性。 点不影响稳定性。 极点分布在z平面的单位圆内,系统是稳定的。 极点分布在z平面的单位圆内,系统是稳定的。极 点在单位圆上有单极点,系统是临界稳定。 点在单位圆上有单极点,系统是临界稳定。极点 平面的单位圆外或在单位圆上有重极点, 在z平面的单位圆外或在单位圆上有重极点,系统 不稳定。 不稳定。
相位响应 4 3 2 1 0 -1 -2 -3 -4
0
0.1
0.2
0.3
0.4
0.5 频率 ω
0.6
0.7
0.8
0.9
1
0
0.1
0.2
0.3
0.4
0.5 频率 ω
0.6
0.7
0.8
0.9
1
(c)系统的幅频响应 系统的幅频响应
(d)系统的相频响应 系统的相频响应
系统的零极点图、 图25-1 系统的零极点图、冲激响应和频率响应
3
实验原理与说明
2、系统零极点分布与频率响应的关系: 、系统零极点分布与频率响应的关系:
信号处理工具箱提供的freqz函数可直接计算系统的频率 信号处理工具箱提供的freqz函数可直接计算系统的频率 响应, 响应,其一般调用形式为 [H,w]=freqz(b,a) b为系统函数的有理多项式中分子多项式的系数向量, 为系统函数的有理多项式中分子多项式的系数向量, a为分母多项式的系数向量, 为分母多项式的系数向量, w为需计算的频率抽样点向量(取 为需计算的频率抽样点向量( ),单位为 rad/s。 rad/s。 如果没有输出参数, 如果没有输出参数,直接调用 freqz(b,a) Matlab会在当前绘图窗口中自动画出幅频和相频响应 则Matlab会在当前绘图窗口中自动画出幅频和相频响应 曲线图形。 曲线图形。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

离散系统的频域分析及matlab 实现
摘 要:系统的频域分析主要包括求表征系统频率特性的频率响应特征量和在频域求解系统输出两方面内容,本文主要分析离散系统的频域特性,应用实例结合理论,通过matlab 做出了系统输出的幅频特性和相频特性曲线。

1.系统函数
对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。

在本文中利用系统函数H(z)进行描述。

若已知一个差分方程为
∑∑==---=
M
i N
i i
i
i n y a
i n x b n 0
1
)()()(y ,则可以利用双边取Z 变换,最终可以得到系统
函数的一般式H(z),∑
∑=-=-=
=
N
i i
i M
i i
i
z
a z b
z X z z H 0
0)
()(Y )(。

若已知系统的单位脉冲响应,
则直接将其进行Z 变换就可以得到系统函数H(z)。

系统函数表征系统的复频域
特性。

2.系统的频率响应:
利用Z 变化分析系统的频率响应:设系统的初始状态为零,系统对输入为单位脉冲序列)(n δ的响应输出称为系统的单位脉冲响应h (n )。

对h(n)进行傅里叶变换,得到:
∑∞

∞-==
-)
(jw n
j |)(|)(e H w j n
n
j e
e
H e
n h ϕω)(
其中|)(|jwn e H 称为系统的幅频特性函数,)(ωϕ称为系统的相位特性函数。

)
(jw
e
H 表示的是系统对特征序列jwn e 的响应特性。

对于一个系统输入信号为
n
)(ωj e
n x =,则系统的输出信号为jwn e )(jw e H 。

由上可以知道单频复指数信号jwn
e 通过频率响应函数为)(jw e H 后,输出仍为单频复指数信号,其幅度放大了
|)(|jw
e
H ,相移为)(ωϕ。

对于系统函数H(z)与H(w)之间,若系统函数H(z)的收敛域包含单位圆|z|=1,则有jw e z jw
z H e H ==|)()(,在MATLAB 中可以利用freqz 函数计算系统的频率响应。

(1)[h,w]=freqz(b,a,n)
可得到n 点频率响应,这n 个点均匀地分布在上半单位圆(即 ),并将这n 点频率记录在w 中,相应的频率响应记录在h 中。

n 最好能取2的幂次方,如果
缺省,则n=512。

(2)[h,w]=freqz(b,a,n,'whole')
在 之间均匀选取n 个点计算频率响应。

(3)[h,w]=freqz(b,a,n,Fs)
Fs 为采样频率(以Hz 为单位),在0~Fs/2频率范围内选取n 个频率点,计算相应的频率响应。

(4)[h,w]=freqz(b,a,n,'whole',Fs)
在0~Fs 之间均匀选取n 个点计算频率响应。

(5)freqz(b,a)
可以直接得到系统的幅频和相频特性曲线。

其中幅频特性以分贝的形式给出,频率特性曲线的横轴采用的是归一化频率,即Fs/2=1。

3.系统的因果性和稳定性 3.1因果性
因果系统其单位脉冲响应序列h(n)一定是一个因果序列,其z 域的条件是其系统函数H(z)的收敛域一定包含∞,即∞点不是极点,极点 分布在某个圆内,收敛域在
某个圆外。

3.2稳定性
系统稳定就要求∞<∑∞

-|h(n)|,由序列的)
(jw
e
H 存在条件和jw e z jw
z H e H ==|)()(可
以知道系统稳定的z 域条件就是H(z)的收敛域包含单位圆,即极点全部分布在单位圆内部。

由上3.1和3.2可知,利用系统的零极点分布图可以判断系统的因果性和稳定性。

若在零极点分布图中,若系统的极点都分布在单位圆内,则此系统是因果系统,若有极点分布在单位圆 外,则此系统是非因果系统。

在MATLAB 中可以利用zplane 函数画出系统的零极点分布图。

系统函数的零极点图的绘制:zplane(b,a)。

其中b 为系统函数的分子,a 为系统函数的分母。

4.系统的单位脉冲响应
设系统的初始状态为零,系统对输入为单位脉冲序列)(n δ的响应输出称为系统的单位脉冲响应h (n )。

对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。

单位脉冲响应是系统的一种描述方法,若已知了系统的系统函数,可以利用系统得出系统的单位脉冲响应。

在MATLAB 中利用impz 由函数函数求出单位脉冲响应h(n)。

稳定系统的频率响应就是系统函数在单位圆上的取值,计算系统的频率响应,可将系统函数中的Z 变量用ωj e 代入即可得到。

频率响应是一个复函数,其模叫幅度响应,其相角叫相位响应,它反映了输入序列的频谱经系统后所发生的变化规律。

从幅频曲线上可直观看到各频率分量的幅度变化情况,从相频曲线上可直观看到各频率分量的相移情况。

根据频响曲线分析系统对信号频谱的影响,概念清楚、简单直观,对信号综合也意义重大,但要将一个较复杂的频率响应复函
数转化成幅度响应和相位响应并图示,计算量大且容易出错,图示结果也不一定精确。

利用MATLAB 函数这些问题都迎刃而解。

幅频特性,它指的是当w 从0到∞变化时,|)(|jw H 的变化特性,记为A (w ),
相频特性,指的是当w 从0到∞变化时,)(ωj H ∠的变化特性称为相频特性,记为)(ωϕ。

离散系统的幅频特性曲线和相频特性曲线直观的反应了系统对不同频率的输入序列的处理情况。

5.MATLAB 的实现
下面已知一个系统的系统函数为
3
2
1
1
125.055.01.1106.03.0)(-----+-+=
z
z
z
z
z H
1.系统的频率响应
clc ;close all;clear all; a=[1 -0.3];
b=[1 -1.6 0.9425];
[H,w]=freqz(a,b,'whole'); subplot(2,1,1); plot(w/pi,abs(H)); title('幅度谱');
xlabel('\omega/\pi');
ylabel('|H(e^j^\omega)|'); grid on;
subplot(2,1,2);
plot(w/pi,angle(H)); title('相位谱');
xlabel('\omega/\pi'); ylabel('phi(\omega)'); grid on;
图1
由图1可以知道此系统为带通;
2
clc ;close all;clear all;
a=[1 -0.3];
b=[1 -1.6 0.9425];
zplane(a,b);
title('零极点分布图');
图2
由图2可以知道系统的所有极点都位于单位圆内,所以此系统为稳定系统;
3.
clc ;close all;clear all;
a=[1 -0.3];
b=[1 -1.6 0.9425];
impz(a,b,30);
title('系统单位脉冲响应');
axis([-3 30 -2 2])
图3
由图3可以知道此系统的单位脉冲响应序列为一个因果序列,所以此系统为因果系统;
6 .结束语
用MATLAB辅助分析离散系统,程序简单易懂,计算准确,绘图方便,只要掌握了系统分析的概念原理和方法,繁杂的分析计算及图形显示均可用MATLAB 实现。

利用MATLAB的计算功能,不仅使大量的手工计算得以简化,也使得系统分析更为简便和高效;利用MATLAB的绘图功能,有利于分析结果的直观理解,也有利于深入掌握所学的内容,更能培养学习的兴趣。

相关文档
最新文档