matlab中离散已知系统函数不知具体现实求零极点分布图
时间: 2023-08-23 07:49:03 浏览: 122
如果你不知道离散系统的具体表达式,但是有系统的差分方程或者传递函数,也可以通过MATLAB绘制离散系统的零极点分布图。具体步骤如下:
1. 如果有离散系统的差分方程,可以使用MATLAB中的tf函数将其转换为传递函数。例如,对于一个差分方程y(n) - 0.5y(n-1) + 0.2y(n-2) = x(n) + 0.5x(n-1),可以输入以下命令将其转换为传递函数:
num = [1 0.5];
den = [1 -0.5 0.2];
sys = tf(num,den,1);
其中,1表示采样周期为1。
2. 使用zplane函数绘制零极点分布图。例如,输入以下命令:
zplane(sys);
3. 运行上述命令后,会弹出一个新的窗口,显示系统的零极点分布图。其中,蓝色圆圈表示系统的极点,红色叉号表示系统的零点。可以使用该图形来分析系统的稳定性和频率响应特性。
注意:在绘制零极点分布图时,需要保证系统的分母多项式没有重根,否则zplane函数可能会出现错误。同时,对于离散系统,需要保证其零极点在单位圆内,否则系统可能不稳定。
相关问题
matlab中离散已知系统函数求零极点分布图代码
要绘制离散已知系统函数的零极点分布图,可以使用MATLAB中提供的zplane函数。具体步骤如下:
1. 在MATLAB命令窗口输入系统的分子多项式系数向量和分母多项式系数向量。例如,对于一个离散系统,其传递函数为H(z) = (1 + 0.5z^(-1)) / (1 - 0.7z^(-1) + 0.2z^(-2)),可以输入以下命令:
num = [1 0.5];
den = [1 -0.7 0.2];
2. 使用zplane函数绘制零极点分布图。例如,输入以下命令:
zplane(num,den);
3. 运行上述命令后,会弹出一个新的窗口,显示系统的零极点分布图。其中,蓝色圆圈表示系统的极点,红色叉号表示系统的零点。可以使用该图形来分析系统的稳定性和频率响应特性。
注意:在绘制零极点分布图时,需要保证系统的分母多项式没有重根,否则zplane函数可能会出现错误。同时,对于离散系统,需要保证其零极点在单位圆内,否则系统可能不稳定。
实验五 离散时间系统的频域分析 (一)教学要求 了解离散系统的零极点与系统因果性和稳定性的关系;加深对离散系统的频率响应特性基本概念的理解;熟悉MATLAB中进行离散系统零极点分析的常用子函数;掌握离散系统幅频响应和相频响应的求解方法。 (二)知识点提示 本章节的主要知识点是频率响应的概念、系统零极点对系统特性的影响;重点是频率响应的求解方法;难点是MATLAB相关子函数的使用。 (三)教学内容 5.1 已知离散时间系统的系统函数,求该系统的零极点及零极点分布图,并判断系统的因果性、稳定性 5.2 已知离散时间系统的系统函数,求该系统的频率响应 (四)思考题 5.1 因果稳定的离散系统必须满足的充分必要条件是什么?系统函数零极点的位置与系统冲激响应有何关系?对系统的幅度响应有何影响? 5.2 利用MATLAB如何求解离散系统的幅频响应和相频响应?
5.1 因果稳定的离散系统必须满足的充分必要条件是:系统的极点全部位于单位圆内,即系统的极点模长小于1。系统函数的零极点位置与系统的冲激响应有密切的联系。系统的零点决定了系统的传递特性,而系统的极点则决定了系统的稳定性。具体而言,系统的零点是决定系统频率响应的因素,而系统的极点则是决定系统时域响应和稳定性的因素。对于系统的幅度响应,系统的零点会影响系统在不同频率处的增益大小,而系统的极点则会影响系统的衰减速度。
5.2 利用MATLAB,可以使用freqz函数求解离散系统的幅频响应和相频响应。freqz函数的第一个输入参数为系统函数的分子系数,第二个输入参数为系统函数的分母系数,第三个参数可以指定频率响应的采样点数,第四个参数可以指定频率响应的范围。例如,若要求解系统函数为H(z)的离散系统在0~pi范围内的幅频响应和相频响应,可以使用以下命令:
```matlab
[b, a] = tfdata(H, 'v');
[w, h] = freqz(b, a, 1024, 'whole');
mag = abs(h);
phase = unwrap(angle(h));
```
其中,H为系统函数,'v'表示将分子分母系数以行向量的形式输出,1024表示采样点数,'whole'表示在0~pi范围内进行采样。幅频响应存储在mag中,相频响应存储在phase中。
阅读全文