首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何找到DWT信号变换的频带?

如何找到DWT信号变换的频带?
EN

Stack Overflow用户
提问于 2020-03-20 15:00:11
回答 1查看 1K关注 0票数 0

我是信号处理方面的新手,我想找出杜贝希斯小波'db4‘变换输出的各个电平的频率范围。转换是用PyWavelets完成的。我在python中工作,下面的代码输出5个细节级别和1个近似,但是我不确定每个级别描述的频率范围。

代码语言:javascript
运行
复制
data = pywt.wavedec(X_train_ch1_raw[0], 'db4', level=5)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-20 23:10:41

你的问题比看上去更棘手。

简短的回答是:使用pywt的scale2freq内建函数在给定的尺度上返回与给定小波相关的频率。例如,下面的代码返回标度为5(0.14285714285714285)的Daubecaries4小波的频率:

import pywt pywt.scale2frequency('db4',5)

通过计算db4小波(0.7142857142857143)的中心频率,然后除以标度(5),就可以得到同样的结果。

import pywt pywt.central_frequency('db4')/5

请注意,这个不是信号的实际中心频率!这个量被称为伪频率,因为它与被分析的信号无关.

为了恢复信号的中心频率,需要将伪频率除以信号的采样率:

import pywt pywt.scale2frequency('db4',5)/dt

dt是你的抽样率。

我希望这能帮到你!

PS:我建议绘制重建信号的频谱,以使自己确信中心频率与上述解析公式的输出值相匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60776629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档