提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文介绍了信号上的一些处理也就是对波的一些处理如地震波,电磁波,地磁波、声波等一系列问题的处理及信号提取加分解。
一、前期准备工作之数据自动读取
- 以下代码是实现波形数据也就是一维数据的自动读取
- 以下是批次读取文件数据的代码
import os
import glob
import numpy as np
import matplotlib.pyplot as plt
import pywt
from scipy.signal import spectrogram
from scipy.io import wavfile
a = list(np.linspace(0,86401,10000))
def read_txt_files(folder_path):
txt_files = glob.glob(os.path.join(folder_path, "*.dat")) # 获取文件夹中所有的txt文件路径
for file_path in txt_files:
with open(file_path, 'r') as file:
lines = file.readlines()
waveform_data = []
# 遍历每一行数据
for line in lines:
# 去除行末尾的换行符
line = line.strip()
line = line.split(' ')
# 将字符串类型的数据转换为浮点数,并添加到列表中
waveform_data.append(line)
# 调用函数并传入文件夹路径
folder_path = r"F:\wave\data"
read_txt_files(folder_path)
二、前期准备工作之信号分解(小波分解)
- 小波分解能将特定频率范围内的波数据分解出来存储到小波系数当中
- 小波重构能将小波系数在转回到波数据
# 设置小波类型和分解层数
wavelet = 'db4'
level = 16
signal