如何在Python中从z,p,k中找到增益g

如何在Python中从z,p,k中找到增益g,python,matlab,scipy,signal-processing,Python,Matlab,Scipy,Signal Processing,Matlabzp2sos返回[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 = dfi

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);
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

标题和大部分问题都是关于
g
,但在最后一句中,您提出了一个关于
dfilt.df2sos
的单独问题。我认为你应该为此提出一个新的问题。每个主题一个问题可以使问题集中,更容易回答。@WarrenWeckesser谢谢。编辑问题。好的。谢谢。但是你能告诉我python中是否有任何库相当于matlab
dfilt.df2sos
g
不应该是向量吗?
g
是标量;这是“总体收益”。请注意,如果使用
sos=zp2sos(z,p,k)
,则增益嵌入在二阶部分的第一个部分中。有关更多详细信息,请参阅。我认为它是一个向量,因为在文档中它指出,
g
是一个增益向量。