modified: .gitignore
modified: README.md new file: requirement.txt new file: scripts_2/README.md new file: scripts_2/__init__.py new file: scripts_2/__pycache__/__init__.cpython-310.pyc new file: scripts_2/__pycache__/signal_utils.cpython-310.pyc new file: scripts_2/__pycache__/task3_identify.cpython-310.pyc new file: scripts_2/signal_utils.py new file: scripts_2/task3_identify.py new file: scripts_3/README.md new file: scripts_3/__init__.py new file: scripts_3/__pycache__/__init__.cpython-310.pyc new file: scripts_3/__pycache__/task4_predict_freq.cpython-310.pyc new file: scripts_3/task4_predict_freq.py
This commit is contained in:
43
scripts_2/README.md
Normal file
43
scripts_2/README.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# 结构动力特性识别脚本 (Free-Vibration Identification)
|
||||
|
||||
## 项目简介
|
||||
本目录用于完成建筑结构动力特性识别任务。脚本基于专门的自由衰减数据文件,提取顶部响应传感器 `WSMS00007` 的 Z 向信号,识别结构一阶自振频率与阻尼比,并输出可视化诊断结果。
|
||||
|
||||
## 技术路线
|
||||
本目录的分析流程围绕自由衰减信号展开,包含信号读取、主频识别、滤波降噪与阻尼估计四个步骤:
|
||||
|
||||
1. **顶部响应读取**
|
||||
从 `free_vib` 目录下的 CSV 文件中读取 `WSMS00007` 的 `value3` 列,作为结构顶部响应信号。
|
||||
2. **频域主频识别**
|
||||
对原始自由衰减信号执行 FFT,在 `0.1Hz ~ 5.0Hz` 范围内寻找主峰,识别一阶自振频率。
|
||||
3. **带通滤波**
|
||||
以识别出的主频为中心,构造巴特沃斯带通滤波器,对原始信号进行滤波,得到平滑的衰减振动波形。
|
||||
4. **阻尼比计算**
|
||||
从滤波信号中提取波峰,自动选择包络线质量较高的一段,通过对数衰减率计算平均衰减量与阻尼比。
|
||||
|
||||
## 核心模块说明
|
||||
|
||||
- **`signal_utils.py`**
|
||||
共享信号处理工具。负责传感器常量定义、采样率估计、稳态段截取、FFT 主频识别、抛物线插值、带通滤波与波峰筛选。
|
||||
- **`task3_identify.py`**
|
||||
任务主入口。负责校验自由衰减数据来源、执行一阶频率与阻尼比识别,并生成包含原始波形、滤波波形和包络线的诊断图。
|
||||
|
||||
## 使用指南
|
||||
|
||||
**1. 运行任务脚本**
|
||||
对单个自由衰减 CSV 文件执行结构动力特性识别:
|
||||
```bash
|
||||
python scripts_2\task3_identify.py --file downloads\Non_TMD\free_vib\free_decay.csv
|
||||
```
|
||||
|
||||
**2. 指定输出目录**
|
||||
将图像与诊断结果输出到自定义目录:
|
||||
```bash
|
||||
python scripts_2\task3_identify.py --file downloads\Non_TMD\free_vib\free_decay.csv --output-dir evaluation_outputs\task3_custom
|
||||
```
|
||||
|
||||
**3. 调整滤波带宽**
|
||||
通过命令行参数修改主频两侧的带宽范围:
|
||||
```bash
|
||||
python scripts_2\task3_identify.py --file downloads\Non_TMD\free_vib\free_decay.csv --bandwidth 0.25
|
||||
```
|
||||
Reference in New Issue
Block a user