diff --git a/README.md b/README.md index 2dc2c041cab6ffa5f1978758127aa172c4465cde..f34cf7047e17566af40f1f2f8829018154d9c4b4 100644 --- a/README.md +++ b/README.md @@ -2,35 +2,73 @@ #### 介绍 -信号分析 +snowland-wave 是一个专注于信号分析的Python库,提供了多种信号处理和分解方法。主要功能包括: -1. 固有时间尺度分解(itd) +1. 固有时间尺度分解(ITD) +2. 经验模态分解(EMD) +3. 奇异谱分析(SSA) -2. 经验模态分解(emd) - -3. 奇异谱分析(ssa) - +这些技术广泛应用于非线性和非平稳信号的分析,适用于如金融、生物医学、地球物理等多个领域。 #### 软件架构 -软件架构说明 +该项目采用模块化设计,主要分为以下几个部分: + +- **核心模块(core)**:包含基础类和通用功能,如边界条件处理、极值点检测等。 +- **EMD模块**:实现经验模态分解相关算法。 +- **ITD模块**:实现固有时间尺度分解算法。 +- **SSA模块**:实现奇异谱分析算法。 +- **绘图模块(plot)**:提供可视化工具,用于绘制信号波形等。 #### 安装教程 -使用一下方式安装 -1. pip 安装 -- pip install snowland-wave +你可以通过以下方式安装 snowland-wave: -2. 源码安装 +1. **使用 pip 安装** + ```bash + pip install snowland-wave + ``` -```bash -git clone https://gitee.com/hoops/snowland-wave.git -``` +2. **源码安装** + ```bash + git clone https://gitee.com/hoops/snowland-wave.git + cd snowland-wave + pip install -e . + ``` + +#### 使用示例 + +以下是一个简单的使用示例,展示如何使用 EMD 和 ITD 进行信号分解: + +```python +import numpy as np +from pywave.emd import EMD +from pywave.itd import IntrinsicTimescaleDecomposition +# 生成一个合成信号 +t = np.linspace(0, 1, 100) +x = np.sin(2 * np.pi * 5 * t) + 0.5 * np.sin(2 * np.pi * 10 * t) + +# 使用 EMD 分解信号 +emd = EMD(wave=x) +imfs_emd = emd.run(x, n=2) +print("EMD 分解结果:", imfs_emd) + +# 使用 ITD 分解信号 +itd = IntrinsicTimescaleDecomposition(wave=x) +imfs_itd = itd.run(x, n=2) +print("ITD 分解结果:", imfs_itd) +``` #### 参与贡献 +欢迎参与贡献,帮助我们改进 snowland-wave: + 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request + +#### 许可证 + +本项目遵循 MIT 许可证。详情请查看 LICENSE 文件。 \ No newline at end of file