Octave freqz 命令与 Fliplr --> Python Syntax

问题描述 投票:0回答:1

我正在尝试翻译命令

[h(:,m), w] = freqz(fliplr(b), fliplr(a),2048); % fliplr --> freqz works on powers of z^-1

从 Octave 到 Python(w/ scipy (freqz) 和 numpy (fliplr)),但是,按原样编写时会导致错误: File "<__array_function__ internals>", line 180, in fliplr File "/home/xxxx/yyyy/venv/lib/python3.8/site-packages/numpy/lib/twodim_base.py", line 98, in fliplr raise ValueError("Input must be >= 2-d.") ValueError: Input must be >= 2-d.

指向 
fliplr

函数的工作方式似乎与 Octave 的 Fliplr 函数有所不同。 这是我的

b

a 数组: b= [ 1.01063287e+00 -1.46490341e+01 9.94030209e+01 -4.19168764e+02 1.22949513e+03 -2.66000588e+03 4.39112431e+03 -5.64225597e+03 5.70320516e+03 -4.55022454e+03 2.85602975e+03 -1.39550096e+03 5.20372994e+02 -1.43160328e+02 2.74037105e+01 -3.26098385e+00 1.81735269e-01] a= [ 1.00000000e+00 -1.45159238e+01 9.86464912e+01 -4.16614074e+02 1.22391361e+03 -2.65216678e+03 4.38533779e+03 -5.64421414e+03 5.71487734e+03 -4.56742504e+03 2.87187255e+03 -1.40575405e+03 5.25150201e+02 -1.44741759e+02 2.77584882e+01 -3.30950845e+00 1.84797453e-01]

我也尝试过切片或不翻转:

[h[:, m], w] = freqz(np.flip(b[0:N]), np.flip(a[0:N]), 2048)

两者中哪一个都通过了编译,但是,情节看起来很奇怪。

有翻译方面的建议吗?

python octave
1个回答
0
投票

© www.soinside.com 2019 - 2024. All rights reserved.