我一直在一个低通滤波器,应该是过滤一个.wav文件使用汉恩窗口和一些自定义数字滤波器。在
我完成了Matlab的全部代码,今天我用Python编写了它,但是当我开始比较pythonxmatlab中hann函数的值时,它没有任何关系。。。在
#python hanning
hanning(10)
# array([0., 0.11697778, 0.41317591, 0.75, 0.96984631, 0.96984631, 0.75, 0.41317591, 0.11697778, 0.])
^{pr2}$
Tags:
在
scipy.signal
中,函数hanning
已弃用。要使用的函数是scipy.signal.hann
。在numpy.hanning
和{scipy.signal.hann
的参数中添加2,然后丢弃末尾的零:TL;WR:
它们使用不同的定义。Matlab相当于Numpy的}。在
hanning
是hann
,而不是{在Matlab中,
hanning(n)
创建一个对称窗口。根据文件hanning.m
中的代码,对于偶数n
,此窗口的前半部分计算如下然后得到完整的窗口为
^{pr2}$w = [w; w(end:-1:1)]
。除了数值精度问题(这可能是Matlab只计算一半然后镜像的原因),这相当于在Numpy中,根据documentation,公式是不同的。在Matlab语法中,它对应于
这是Matlab的
hann(n)
,如其documentation所述。在相关问题 更多 >
编程相关推荐