python - 如何在 Python 中从 z、p、k 中找到增益 g

标签 python matlab scipy signal-processing

Matlab zp2sos 返回 [sos, g] 但在 python 等效库中 zpk2sos 仅返回 sos。如何在 python 中计算增益 g。

ts=(length(data1)/128);
Wp = [1 4]/(fs/2); Ws = [0.5 4.5]/(fs/2);
Rp = 3; Rs = 40;
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
[z, p, k] = butter(n,Wn,'bandpass');
[sos,g] = zp2sos(z,p,k);
filt = dfilt.df2sos(sos,g);

我正在将此 Matlab 代码转换为 Python,但找不到计算 Matlab zp2sos 函数返回的增益 g 所需的库。

最佳答案

当你使用表单时

[sos,g] = zp2sos(z,p,k);

gk 相同。

例如,

> [sos, g] = zp2sos([-1 0.5 0.6], [-0.5 0.1+0.25j 0.1-0.25j 0.9], 3);
> g
g = 3

关于python - 如何在 Python 中从 z、p、k 中找到增益 g,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51328872/

相关文章:

matlab - 如何使用 MATLAB 在卡车中查找木材?

python - "Domain error in arguments."与 "stats.beta.rvs"

python - input() - 行继续符后的意外字符

python - 变量交换如何在内部工作?

image - 在 MATLAB 中将两个 y 轴放在 imagesc 图像上

python - 将逻辑曲线拟合到数据

python - 安装 Numpy 和 Scipy - 找不到系统 python 2.6

python - 如何将 Final_Unique 列转换为 pandas 中的标题值

python - 从 .mat 文件导入复杂数据作为 numpy 数组

matlab - 随机唯一整数值