如何从 Python 中的 z、p、k 找到增益 g

How to find gain g from z,p,k in Python

Matlab zp2sos returns [sos, g] 但在 python 等效库中 zpk2sos returns 仅 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);

g 等同于 k.

例如,

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