数字信号处理基本知识点Matlab实现

合集下载

使用Matlab进行数字信号处理的方法与案例

使用Matlab进行数字信号处理的方法与案例

使用Matlab进行数字信号处理的方法与案例1. 引言数字信号处理是一项广泛应用于通信、音频、图像以及其他相关领域的技术。

Matlab作为一种功能强大的数学计算软件,提供了丰富的工具和函数,使得数字信号处理变得更加简单和高效。

本文将会介绍使用Matlab进行数字信号处理的方法和一些实际应用案例。

2. Matlab数字信号处理工具箱Matlab提供了专门的工具箱来支持数字信号处理。

其中最常用的是信号处理工具箱(Signal Processing Toolbox)和图像处理工具箱(Image Processing Toolbox)。

这些工具箱提供了一系列的函数和算法,用于处理和分析数字信号。

3. 数字信号处理基础知识在开始使用Matlab进行数字信号处理之前,有一些基础知识是必须掌握的。

数字信号处理涉及到信号的采样、离散化、滤波、频谱分析等概念。

了解这些基础知识将有助于我们更好地理解和处理信号。

4. 信号生成与操作在Matlab中,可以使用函数生成各种类型的信号。

例如,使用sawtooth函数可以生成锯齿波信号,使用square函数可以生成方波信号。

此外,Matlab还提供了丰富的信号操作函数,例如加法、乘法、卷积等,方便对信号进行进一步处理。

5. 时域和频域分析时域分析用于分析信号在时间上的变化情况,而频域分析则用于分析信号在频率上的分布。

在Matlab中,可以使用fft函数进行快速傅里叶变换,将信号从时域转换到频域。

通过对频域信号进行分析,可以获得信号的频谱分布,进而得到信号的频率特性。

6. 滤波器设计与应用滤波是数字信号处理中常用的技术,用于去除噪声、增强信号等。

Matlab提供了一系列的滤波器设计函数,例如fir1、butter等,可以根据需要设计各种类型的数字滤波器。

使用这些函数可以实现低通滤波、高通滤波、带通滤波等操作。

7. 音频处理案例音频处理是数字信号处理的一个重要应用领域。

在Matlab中,可以使用audioread函数读取音频文件,使用audiowrite函数写入音频文件。

数字信号处理基础及 matlab 实现

数字信号处理基础及 matlab 实现

数字信号处理基础及 matlab 实现数字信号处理是一门研究如何对数字信号进行处理和分析的学科。

它涉及到信号的获取、数字化、处理和重建等过程。

在数字信号处理中,Matlab是一种常用的工具,它提供了丰富的函数库和工具箱,使得信号处理的实现更加便捷和高效。

数字信号处理的基础概念包括采样、量化、编码和解码等。

采样是指将连续时间信号转换为离散时间信号的过程,即在一定的时间间隔内对信号进行抽样。

采样定理规定了采样频率的最小值,以避免信号失真和混叠现象。

量化是将连续幅度信号转换为离散幅度信号的过程,即将连续信号的幅度近似为有限个离散幅度值。

编码和解码则是将离散幅度信号转换为二进制码字和将二进制码字转换为离散幅度信号的过程。

Matlab提供了丰富的函数和工具箱来实现数字信号处理的基础操作。

例如,通过使用`sample`函数可以对信号进行采样,通过使用`quantize`函数可以对信号进行量化,通过使用`encode`和`decode`函数可以进行编码和解码操作。

此外,Matlab还提供了许多滤波器设计和频谱分析的函数,如`fir1`、`fft`和`spectrogram`等,可以方便地进行数字滤波和频谱分析。

除了基础操作,数字信号处理还涉及到一些高级的算法和技术,如滤波、频谱分析、时频分析和信号重建等。

滤波是对信号进行频率选择性处理的过程,常用的滤波器包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。

Matlab提供了许多滤波器设计方法,如IIR滤波器设计和FIR滤波器设计等,可以根据需求选择适当的滤波器类型和设计参数。

频谱分析是对信号频谱特性进行分析的过程,常用的频谱分析方法包括快速傅里叶变换(FFT)、功率谱密度估计和频率变换等。

Matlab提供了一系列的频谱分析函数,如`fft`、`pwelch`和`spectrogram`等,可以进行频谱特性的计算和可视化。

时频分析是对信号的时域和频域特性进行联合分析的过程,常用的时频分析方法包括短时傅里叶变换(STFT)、连续小波变换和Wigner-Ville分布等。

数字信号处理 Matlab实验一 Matlab 基本功能和基础知识操作

数字信号处理 Matlab实验一 Matlab 基本功能和基础知识操作

温州大学物理与电子信息工程学院Matlab 仿真及其应用 实验报告实验一Matlab 基本功能和基础知识操作 [实验目的和要求]1、 熟练掌握Matlab 的启动与退出2、 熟悉Matlab 的命令窗口、常用命令、帮助系统3、 熟悉Matlab 的数据类型、基本矩阵操作、运算符和字符串处理[实验内容]1、 用逻辑表达式球下列分段函数的值 22201112,=0:0.5:2.52123t t y t t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩其中2、 求[100,999]之间能被32整除的数的个数3、 建立一个字符串向量,删除其中的小写字母。

4、 输入矩阵1234514789A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,求出此矩阵的行列式,逆和特征根,并找出A 中大于5和小于9的元素,用行列式表示。

5、 不采用循环的形式求出和式63230034ii i i S ===+∑∑6、 给定矩阵E=rand (4,4),计算C+E ,C*E ,C\E实验结果及分析:经过Matlab 软件的程序编辑和测试分析,得出以下实验结果: 详见程序代码、注释及屏幕截图:【题1】程序代码:t=0:0.5:2.5y=t.^2.*((t>=0)&(t<1))+(t.^2-1).*((t>=1)&(t<2))+(t.^2-2*t+1).*((t>=2)&(t<3)) 效果截图:【题2】程序代码:p=rem([100:999],32)==0;sum(p)效果截图:【题3】程序代码:ch='dfghjGUIJKVC',k=find(ch>'a'&ch<='z'),ch(k)=[]效果截图:【题4】程序代码:A=[1 2 3;4 5 14;7 8 9];[i,j]=find(A>5&A<9) %定位for n=1:length(i)m(n)=A(i(n),j(n))endDA=det(A) %行列式IA=inv(A) %逆矩阵EA=eig(A) %特征根效果截图:【题5】程序代码:E=rand(4,4); %产生随机数0~1 C=rand(4,4);B1=C+E;B2=C*E;B3=C/E;B1B2B3效果截图:【题6】程序代码:E=rand(4,4); %产生随机数0~1 C=rand(4,4);B1=C+E;B2=C*E;B3=C/E;B1B2B3效果截图:4、心得:通过本次Matlab课程实验,我已熟练Matlab的命令窗口、常用命令、帮助系统,并掌握Matlab的数据类型、基本矩阵操作、运算符和字符串处理。

数字信号处理及其MATLAB实现

数字信号处理及其MATLAB实现

音频处理
音频压缩
通过降低音频数据的冗余信息,实现音频文件 的压缩,便于存储和传输。
音频增强
去除噪声、提高音质,使音频更加清晰、悦耳 。
语音识别
将语音信号转换为文字,实现人机交互。
图像处理
图像压缩
降低图像数据的冗余信息,实现图像的压缩,便于存储和 传输。
图像增强
改善图像的视觉效果,如锐化、去噪等。
未来发展中,深度学习将在数字 信号处理中发挥越来越重要的作 用,尤其是在人工智能和物联网 等领域的信号处理任务中。
THANKS FOR WATCHING
感谢您的观看
图像识别
对图像进行特征提取和分类,实现目标检测、人脸识别等 功能。
通信系统
调制解调
将数字信号转换为适合 传输的调制信号,以及 将接收到的调制信号还 原为原始数字信号。
信道编码
提高数字信号的抗干扰 能力,降低误码率。
多路复用
提高通信系统的传输效 率,实现多个信号在同 一信道上的传输。
05
数字信号处理的未来发 展
改进的自适应滤波算法将在各种复杂环境中表现出更好的性能,为信号处理领域的发展提供有力支持。
深度学习在信号处理中的应用
深度学习是机器学习领域的一种 新兴技术,通过构建深度神经网 络模型进行学习。在信号处理中 ,深度学习可以用于语音识别、 图像处理、自然语言处理等领域 。
与传统的信号处理方法相比,深 度学习能够自动提取信号中的复 杂特征,并基于这些特征进行分 类或识别。深度学习具有更高的 准确性和鲁棒性,能够处理更加 复杂的信号。
信号以一定的时间间隔 重复。
信号不重复,没有固定 的周期。
信号的频域表示
01
02

使用Matlab进行数字信号处理的技巧与注意事项

使用Matlab进行数字信号处理的技巧与注意事项

使用Matlab进行数字信号处理的技巧与注意事项1. 引言数字信号处理(Digital Signal Processing,简称DSP)是指通过对离散时间信号进行算法处理以达到某种目的的一种技术。

在现代科技和工程领域中,DSP被广泛应用于通信、图像处理、音频处理、医学诊断、雷达和控制系统等众多领域。

而Matlab作为一种强大的数学计算工具,具备优秀的信号处理和算法库,成为众多工程师和研究人员进行数字信号处理的首选之一。

本文将介绍一些使用Matlab 进行数字信号处理时的技巧与注意事项。

2. 信号处理基础知识在使用Matlab进行数字信号处理之前,有一些基础知识是必备的。

首先是对信号的了解,信号可以分为连续时间信号和离散时间信号。

连续时间信号指的是信号在所有时间上都有定义,而离散时间信号则只在某些时间点上有定义。

数字信号处理主要针对离散时间信号进行。

此外,还需要了解采样定理、变换、滤波器以及噪声等基本概念。

3. 信号与信号处理在进行数字信号处理时,首先需要得到待处理的信号。

Matlab提供了多种方法来生成信号,比如使用波形发生器函数、加载文件以及使用模型等。

根据具体情况选择合适的方法生成待处理信号。

4. 信号的可视化与分析在开始处理信号之前,可以使用Matlab中的图形工具对信号进行可视化和分析。

例如,使用plot函数可以绘制信号的时域波形图,使用spectrogram函数可以绘制信号的频谱图,利用histogram函数可以绘制信号的直方图等。

这些图像可以帮助我们更好地理解信号的特征和性质。

5. 信号的滤波处理滤波是数字信号处理中常用的操作之一,用于去除信号中的噪声、增强信号的频率特征等。

Matlab提供了丰富的滤波器设计函数,包括有限冲激响应(FIR)滤波器和无限冲击响应(IIR)滤波器等。

通过选择合适的滤波器类型、阶数和截止频率等参数,可以实现对信号的滤波处理。

6. 时频分析时频分析用于分析信号在时间和频率上的变化情况,帮助我们更全面地认识信号的特性。

用MATLAB实现数字信号处理

用MATLAB实现数字信号处理
首先通过的MATLAB和 DSP(Digital Signal Processing)------数字信号处理的简单概括,在第二章里利用MATLAB中几个简单而又强大的命令(比如:plot,函数的赋值,M函数等)来对数字信号处理中信号的取样和还原进行模拟。本文先从理论上说明:原函数与冲激函数相乘得到的函数 fs(t) 其频谱是原函数频谱的无限个频移项组成,其幅值是原函数的 1/Ts. 而且,只有当 取样频率 fs 大于原函数fm的两倍时,那么相后的频谱就不会混叠了,也就是说,取样函数(fs=f(t)*s(t))包含了原函数的全部信息。 那么我们就可以在接收端用一个低通滤波器(其频率响应的幅度是Ts),就可以把原信号还原出来了。 反之,如果采样的时候,采样频率小于 2*fm, 那么采样后得到的函数的频谱会出现混叠。这样,采样函数就不能包括原函数的全部信息,使得接收断的低通滤波器所截取的信号不能真实的反映原函数。
图中各个方框的意义介绍如下:
PrF:这是一个前置滤波器或反泄漏滤波器,它限制了模拟信号以防止泄漏。
ADC:模-数转换器,它是由模拟信号产生出一个二进制流。
数字信号处理器:这是DSP的心脏,它可以代表一个通用计算机或专用处理器,或数字硬件等等。
DAC:这是ADC的逆运算,称为数-模转换器,它由一个二进制流产生一个阶梯波形,作为形成模拟信号的第一步。
摘要
MATLAB(Matrix Laboratory-----矩阵实验室) 是由美国Mathworks公司于1984年正式推出的一种以矩阵运算为基础的交互式程序语言。与其他的语言相比她有着“简洁和智能化,适应科技专业人员的思维方式和书写习惯”的优点,所以为科技人员所乐于接受。更因为它可适用于各种平台,并且随计算机硬、软件的更新而及时升级。所以MATLAB逐渐成为当前我国大学教学和科学研究中一种非常重要的工具软件。

Matlab数字信号处理

Matlab数字信号处理

1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
9、sinc函数信号
y=sinc(x); 产生周期为2*pi,随x的增加衰减震荡的 偶函数,在n*pi处值为零

1 0.8
0.6
0.4
0.2
0
-0.2
-0.4
0
0.01
程序实现: clc; clear; x=[1 zeros(1,63)]; b=[0.2 0.1]; a=[1 –0.4 –0.5]; h=filter(b,a,x); h1=impz(b,a); figure; stem(h); title(‘Filter function’); figure; stem(h1) title(‘Impz function’)
250 300 Frequency (Hz)
350
400
450
500



(2)切比雪夫法设计滤波器 切比雪夫法设计滤波器可以分为切比雪夫1法 和切比雪夫2法两种,这里我们只介绍切比雪 夫1法。 其语法结构为: [b,a]=cheby1(n,Rp,wn); [b,a]=cheby1(n,Rp,wn,’ftype’); …… 设计的是一个阶数为n,截止频率为wn,通带 波纹衰减为Rp的低通滤波器。返回值a,b分别是 阶数为n+1的向量,表示滤波器系统函数的分 母和分子的多项式系数,滤波器的传递函数可 以表示为:

它有如下两种形式: y=filter(b,a,x) 由上图可以知道:b=[0.2,0.1] a=[1,-0.4,-0.5] 则系统的单位抽样响应为:h=filter(b,a,x) (2)impz函数实现 Impz(b,a)可以直接得到单位抽样响应,并画出 响应图形

利用Matlab进行数字信号处理与分析

利用Matlab进行数字信号处理与分析

利用Matlab进行数字信号处理与分析数字信号处理是现代通信、控制系统、生物医学工程等领域中不可或缺的重要技术之一。

Matlab作为一种功能强大的科学计算软件,被广泛应用于数字信号处理与分析领域。

本文将介绍如何利用Matlab进行数字信号处理与分析,包括基本概念、常用工具和实际案例分析。

1. 数字信号处理基础在开始介绍如何利用Matlab进行数字信号处理与分析之前,我们首先需要了解一些基础概念。

数字信号是一种离散的信号,可以通过采样和量化得到。

常见的数字信号包括音频信号、图像信号等。

数字信号处理就是对这些数字信号进行处理和分析的过程,包括滤波、频谱分析、时域分析等内容。

2. Matlab在数字信号处理中的应用Matlab提供了丰富的工具箱和函数,可以方便地进行数字信号处理与分析。

其中,Signal Processing Toolbox是Matlab中专门用于信号处理的工具箱,提供了各种滤波器设计、频谱分析、时域分析等功能。

除此之外,Matlab还提供了FFT函数用于快速傅里叶变换,可以高效地计算信号的频谱信息。

3. 数字信号处理实例分析接下来,我们通过一个实际案例来演示如何利用Matlab进行数字信号处理与分析。

假设我们有一个包含噪声的音频文件,我们希望去除噪声并提取出其中的有效信息。

首先,我们可以使用Matlab读取音频文件,并对其进行可视化:示例代码star:编程语言:matlab[y, Fs] = audioread('noisy_audio.wav');t = (0:length(y)-1)/Fs;plot(t, y);xlabel('Time (s)');ylabel('Amplitude');title('Noisy Audio Signal');示例代码end接下来,我们可以利用滤波器对音频信号进行去噪处理:示例代码star:编程语言:matlabDesign a lowpass filterorder = 8;fc = 4000;[b, a] = butter(order, fc/(Fs/2), 'low');Apply the filter to the noisy audio signaly_filtered = filtfilt(b, a, y);Plot the filtered audio signalplot(t, y_filtered);xlabel('Time (s)');ylabel('Amplitude');title('Filtered Audio Signal');示例代码end通过以上代码,我们成功对音频信号进行了去噪处理,并得到了滤波后的音频信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字信号处理(第二版)绪论1.4 MATLAB 在信号处理中的应用简介MATLAB 是美国Mathworks 公司于1984年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理、系统仿真和图形显示于一体,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。

MATLAB 软件包括五大通用功能:数值计算功能(Numeric ),符号运算功能(Symbolic );数据可视化功能(Graphic ),数据图形文字统一处理功能(Notebook )和建模仿真可视化功能(Simulink )。

该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。

目前,Mathworks 公司已推出30多个应用工具箱。

MA TLAB 在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。

2.10 离散时间信号与系统的Matlab 表示 2.10.1 离散时间信号的表示和运算1、基本序列的Matlab 表示 单位采样序列在MA TLAB 中,单位采样序列可以通过编写以下的DTimpulse .m 文件来实现,即function y=DTimpulse (n)y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。

单位阶跃序列在MA TLAB 中,单位阶跃序列可以通过编写DTu .m 文件来实现,即function y=DTu (n)y=n>=0; %当参数为非负时输出1 调用该函数时n 必须为整数或整数向量。

矩形序列用MA TLAB 表示矩形序列可根据公式()()()N R n u n u n N =--并利用DTu 函数生成,即 function y=DTR(n,N)y=DTu(n)-DTu(n-N);调用该函数时n 必须为整数或整数向量,N 必须为整数。

实指数序列用MA TLAB 表示实指数序列()(),nx n a u n n N a R =∈∈,即n=0:N-1; x=a.^n;复指数序列用MA TLAB 表示实指数序列0()0(),,j nx n en N R σωσω+=∈∈,即n=0:N-1;x=exp((sigma+j*w0)*n);正弦序列用MA TLAB 表示实指数序列00()sin(),,,x n A n n N A R ωϕωϕ=+∈∈,即n=0:N-1;x=A*sin(w0*n+phi);2、基本序列运算的Matlab 表示 序列相加用MA TLAB 实现序列12()()()y n x n x n =+,即y=x1+x2;当x1和x2序列长度不等或其起始位置不对应时,序列相加前需要调整x1和x2,使之具有相同长度并具有相同起始位置。

序列相乘用MA TLAB 实现序列12()()*()y n x n x n =,即y=x1.*x2;当x1和x2序列长度不等或其起始位置不对应时,序列相乘前需要调整x1和x2,使之具有相同长度并具有相同起始位置。

此处需要利用Matlab 中的点乘(.*)实现。

序列反转用MA TLAB 实现序列()()y n x n =-,即y=flipr(x);序列移位用MA TLAB 实现序列0()()y n x n n =-,即n=-N:N; n1=n-n0;subplot(211);stem(n,x,’ fill ’); subplot(211);stem(n1,x,’ fill ’);2.10.2 离散时间信号的频域变换1、Matlab 实现离散时间傅里叶变换(DTFT )1()()N j j n n X e x n e ωω--==∑序列的离散时间傅里叶变换(DTFT )由于频率为连续实数变量,所以严格的讲其在Matlab 下是无法实现的,但是为了说明DTFT 在Matlab 下的运算过程,这里将其频率变量设置为频率向量[]0121M ωωωωω-=,只计算频率向量指定的有限个频率点上的频谱结果。

设序列[](0)(1)(1)x x x x N=- ,[]0121n N =-,[]0121M ωωωωω-=,则DTFT 的矩阵表达形式为:[]01101101101100111(1)(1)(1)()()()(0)(1)(1)M M M M j j j j j j j j j j N j N j N X e X e X e e e e ee e x x x N ee e ωωωωωωωωωωωω----------------⎡⎤⎣⎦⎡⎤⎢⎥⎢⎥=-⎢⎥⎢⎥⎣⎦其中:[]011011012101100001111()2(1)(1)(1)1M M M M j j j j j j j j N j N j N N ωωωωωωωωωωωωω----⎡⎤---⎡⎤⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥------⎣⎦⎢⎥-⎣⎦DTFT 在Matlab 中可以利用矩阵乘法的形式表示如下:exp ()T X x j n ω⎡⎤=⋅-⋅⋅⎣⎦【例2-1】 用Matlab 实现5()()x n R n =的离散时间傅里叶变换。

解:DTFT 的MA TLAB 源程序为:N=5;n=[0:N-1]; k=-200:200;w=(4*2*pi/400)*k; x= DTR(n,N)DTFT_X=x*exp(-j*(n'*w)); magX=abs(DTFT_X); plot(w/pi,magX); xlabel('w/pi'); ylabel('|X(jw)|');title('x(n)的离散时间傅里叶变换的幅频响应曲线');图 2-1 离散时间傅里叶变换幅度响应曲线2、Matlab 实现Z 变换Z 正反变换的符号表示MATLAB 符号数学工具箱提供了计算离散时间信号单边Z 变换的函数ztrans 和Z 反变换函数iztrans ,其语句格式分别为z=ztrans(x) x=iztrans(z)上式中的x 和z 分别为时域表达式和z 域表达式的符号表示,可通过sym 函数来定义。

【例2-2】 试用ztrans 函数求下列函数的z 变换。

(1))()cos()(n u n a n x nπ=; (2))(])2(2[)(11n u n x n n ----=。

解:(1)Z 变换MATLAB 源程序为x=sym('a^n*cos(pi*n)'); Z=ztrans(x); simplify(Z) ans=z/(z+a)(2)Z 变换MATLAB 源程序为x=sym('2^(n-1)-(-2)^(n-1)'); Z=ztrans(x); simplify(Z) ans=z^2/(z-2)/(z+2)【例2-3】 试用iztrans 函数求下列函数的Z 反变换。

(1)65198)(2+--=z z z z X (2)32)2)(1()12112()(--+-=z z z z z z X解:(1)Z 反变换MA TLAB 源程序为Z=sym('(8*z-19)/(z^2-5*z+6)'); x=iztrans(Z);ans=-19/6*charfcn[0](n)+5*3^(n-1)+3*2^(n-1)其中,charfcn[0](n)是)(n δ函数在MA TLAB 符号工具箱中的表示,反变换后的函数形式为)()2335()(619)(11n u n n x n n --⨯+⨯+-=δ。

(2)Z 反变换MA TLAB 源程序为Z=sym('z*(2*z^2-11*z+12)/(z-1)/(z-2)^3'); x=iztrans(Z); simplify(x) ans=-3+3*2^n-1/4*2^n*n-1/4*2^n*n^2其函数形式为)()241241233()(2n u n n n x nn n--⨯+-=。

Z 反变换的留数表示如果信号的z 域表示式)(z X 是有理函数,进行z 反变换的另一个方法是对)(z X 进行部分分式展开,然后求各简单分式的z 反变换。

设)(z X 的有理分式表示为)()(1)(221122110z A z B za z a z a zb z b z b b z X nn m m =++++++++=------ (4-3) MATLAB 信号处理工具箱提供了一个对)(z X 进行部分分式展开的函数residuez ,其语句格式为[R,P,K]=residuez(B,A)其中,B ,A 分别表示)(z X 的分子与分母多项式的系数向量;R 为部分分式的系数向量;P 为极点向量;K 为多项式的系数。

若)(z X 为有理真分式,则K 为零。

【例2-4】 试用MA TLAB 命令对函数321431818)(-----+=z z z z X 进行部分分式展开,并求出其Z 反变换。

解:MATLAB 源程序为B=[18]; A=[18,3,-4,-1]; [R,P,K]=residuez(B,A) R= 0.3600 0.2400 0.4000 P= 0.5000-0.3333 K= []从运行结果可知,32p p =,表示系统有一个二重极点。

所以,)(z X 的部分分式展开为2111)3330.314.03333.0124.05.0136.0)(---++++-=z z z z X ( 因此,其Z 反变换为)(])3333.0)(1(4.0)3333.0(24.0)5.0(36.0[)(n u n n x n n n -++-⨯+⨯=Z 变换的零极点分析离散时间系统的系统函数定义为系统零状态响应的Z 变换与激励的Z 变换之比,即)()()(z X z Y z H =(4-4) 如果系统函数)(z H 的有理函数表示式为11211121)(+-+-++++++++=n n n n m m m m a z a z a z a b z b z b z b z H (4-5) 那么,在MATLAB 中系统函数的零极点就可通过函数roots 得到,也可借助函数tf2zp 得到,tf2zp 的语句格式为[Z,P,K]=tf2zp(B,A) 其中,B 与A 分别表示)(z H 的分子与分母多项式的系数向量。

它的作用是将)(z H 的有理分式表示式转换为零极点增益形式,即)())(()())(()(2121n m p z p z p z z z z z z z kz H ------= (4-6)若要获得系统函数)(z H 的零极点分布图,可直接应用zplane 函数,其语句格式为zplane(B,A)其中,B 与A 分别表示)(z H 的分子和分母多项式的系数向量。

相关文档
最新文档