赞
踩
在地震波形分析时,时频图可以辅助识别信号,频谱图可以观察地震信号的频率分布范围,发现波形的优势频率,是地震类型判断和科学研究的重要工具。
下面这段基于python开发的小程序只需要给定地震数据的SAC格式文件,自动进行傅丽叶变换,画出原始波形、时频图、频谱图,非常方便地实现了地震信号分析。
import struct
import pylab
import numpy as np
from scipy.fftpack import fft,ifft
class sacfile_wave:
def read(self, sFile):
# sFile='e:\\10.sac'
f = open(sFile, 'rb')
hdrBin = f.read(632)
sfmt = 'f' * 70 + 'I ' * 40 + '8s ' * 22 + '16s';
hdrFmt = struct.Struct(sfmt)
self.m_header = hdrFmt.unpack(hdrBin)
self.dt = self.m_header[0]
npts = int(self.m_header[79])
fmt_data = 'f' * npts
dataFmt = struct.Struct(fmt_data)
dataBin = f.read(4 * npts)
f.close()
self.m_data = dataF
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。