#信号处理 #时间序列 #向量 #数据 #分析 # #频谱

gw_signal

用于引力波研究工具的信号处理软件包

13 个版本

0.1.10-alpha.22024年4月28日
0.1.10-alpha.12024年4月21日
0.1.6 2024年3月27日

#2 in #波

Download history 78/week @ 2024-04-11 221/week @ 2024-04-18 82/week @ 2024-04-25 11/week @ 2024-05-02 1/week @ 2024-05-16 1/week @ 2024-05-23 1/week @ 2024-06-06 5/week @ 2024-06-27 62/week @ 2024-07-04 12/week @ 2024-07-18 35/week @ 2024-07-25

每月 112 次下载

Apache-2.0

105KB
2K SLoC

我开始这个项目是为了在 Rust 编程语言上自我训练。这个库提供了信号处理和分析的工具。它由四个类组成

TimeSeries

TimeSeries 对象描述时间序列数据,它由时间索引的向量组成。

属性

  • fs: 采样频率
  • t0: 第一个样本的时间
  • data: 数据向量

方法

构造方法

  • white_noise: 生成具有给定振幅的白噪声信号
  • constant: 在给定值上生成恒定信号
  • wave: 在 t0 上生成具有给定频率、振幅和相位的正弦信号
  • from_vector: 将数据向量转换为 TimeSeries 对象

频谱分析方法

这些方法创建一个 FrequencySeries 对象。

  • csd: 交叉谱密度
  • psd: 功率谱密度
  • asd: 幅度谱密度
  • tf: 传递函数
  • cohe: 相干性

获取方法

  • get_fs: 获取采样频率
  • get_t0: 获取起始时间
  • get_size: 获取数据向量大小
  • get_data: 获取数据向量

数学方法

  • abs: 计算数据的模
  • sqrt: 计算数据的平方根
  • inv: 计算数据的倒数

运算符重载

  • (+) 加法
  • (-) 减法
  • (*) 乘法
  • (/) 除法
  • ([]) 索引

其他

  • apply_filter: 将 Filter 对象应用于时间序列
  • print: 打印所选元素(调试函数)
  • write: 将时间和数据向量写入 ASCII 文件

FrequencySeries

FrequencySeries 对象描述频率索引的数据。该向量包含复杂数据类型。

属性

  • f_max: 采样频率
  • data: 数据向量

方法

构造方法

  • from_vector: 将数据向量转换为 FrequencySeries 对象。

获取方法

  • get_f_max: 获取最大频率
  • get_size: 获取数据向量大小
  • get_data: 获取数据向量

数学方法

  • re: 计算数据的实部
  • im: 计算数据的虚部
  • abs: 计算数据的模
  • abs2: 计算数据的平方模
  • conj: 计算数据的复共轭
  • sqrt: 计算数据的平方根
  • inv: 计算数据的倒数

运算符重载

  • (+) 加法
  • (-) 减法
  • (*) 乘法
  • (/) 除法
  • ([]) 索引

其他

  • print: 打印所选元素(调试函数)
  • write: 将时间和数据向量写入 ASCII 文件

Window

属性

  • overlap: 两个连续窗口重叠的样本数
  • vector: 窗口向量

方法

构造函数

  • rectangle
  • hann

其他

  • nb_fft: 计算窗口数
  • get_size: 返回窗口大小
  • get_windowed_data: 计算窗口数据
  • get_norm_factor: 计算平方窗口的积分

Filter

属性

  • gain: 滤波器的增益
  • poles: 极点频率列表
  • zeros: 零点频率列表
  • fs: 采样频率

方法

滤波器应用方法

  • bilinear_transform
  • adapt_frequencies
  • polezero_to_coef

通用滤波器构造函数

  • 巴特沃斯
  • 切比雪夫类型1
  • 切比雪夫类型2

自定义滤波器构造函数

  • 初始化滤波器
  • 增益因子
  • 添加极点1
  • 添加极点2
  • 添加零点1
  • 添加零点2
  • 添加积分器
  • 添加导数器

获取函数

  • 获取极点
  • 获取零点
  • 获取增益
  • 获取采样频率

其他

  • 频率响应

依赖项

约4MB
约79K SLoC