加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 索引数组值在特定错误带内?

发布时间:2020-12-20 13:10:35 所属栏目:Python 来源:网络整理
导读:是否有任何内置的numpy函数来检查信号(数组)从哪个索引不会留下特定的错误带? 使用数字滤波器,我需要确定在 scipy.signal.filtfilt 中使用的脉冲响应的长度.使用有限脉冲响应(FIR)滤波器相当容易,但使用无限脉冲响应(IIR)滤波器是不可能的. 但是,它会计算点
是否有任何内置的numpy函数来检查信号(数组)从哪个索引不会留下特定的错误带?

使用数字滤波器,我需要确定在scipy.signal.filtfilt中使用的脉冲响应的长度.使用有限脉冲响应(FIR)滤波器相当容易,但使用无限脉冲响应(IIR)滤波器是不可能的.
但是,它会计算点,脉冲响应不会离开某个误差带:

现在,我正在使用快速而肮脏的解决方法,手动检查反向数组以获取错误带外的第一个值:

def ringing_time(sig,th):
    return len(sig) - np.argmax(np.abs(sig[::-1]) > th)

这有什么快速的内置numpy方法吗?

解决方法

一般来说,没有.您正在利用一些不普遍适用的信号特定知识(信封随时间衰减).如果您想以数字方式进行,我认为您的解决方案是一个很好的解决方案.

你可以做一些像脉冲响应方程一样,用符号象征性地区分它并应用牛顿方法,但是你必须处理它在正确的位置开始它所以它不属于局部最小值之一.总的来说,我认为你处在一个好位置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读