我想使用互相关计算两个地震轨迹之间的关系。首先,我使用 有关如何计算互相关的详细信息,请访问我之前的帖子: 计算并绘制每条迹线的频谱图我有一个 类似帖子from obspy import readfrom obspy import read, Trace, UTCDateTimeimport numpy as npimport pandas as pdimport noise将 matplotlib.pyplot 导入为 pltplt.rcParams['figure.figsize'] = [10,6]plt.rcParams.update({'font.size': 18})plt.style.use('seaborn')filenameZ = ' all_stream_HLZ_20071215_080316.mseed'fignameTrace = 'spectrogram_layout1.png'figxcorr = 'spectrogram_layout2.png'figxcorr2 = 'spectrogram_layout3.png'st = read(filenameZ)tr1 = st[0]tr2 = st[1]sta1 = tr1.stats[' station']fig, axx = plt.subplots(2,2, sharex=True, sharey='row')axx[0, 0].plot(tr1.times(), tr1.data, 'k-', 线宽=0.2, label=tr1.stats['station'])axx[0, 1].plot(tr2.times(), tr2.data, 'k-', linewidth=0.2, label=tr2.stats['station '])axx[0, 0].set_title(f'Trace 1')axx[0, 1].set_title(f'Trace 2')axx[0, 0].set_ylabel('Amplitude')tr1.spectrogram(日志=真,wlen=50,显示=假,轴=axx[1, 0],c映射='jet', samp_rate=tr1.stats.sampling_rate)tr2.spectrogram(log=True, wlen=50,show=False, axes=axx[1, 1], c map ='jet', samp_rate=tr2.stats .sampling_rate)axx[1, 0].set_title('Spectrogram 1')axx[1, 1].set_title('Spectrogram 2')axx[1, 0].set_xlabel('time (s)')axx[1 , 1].set_xlabel('time (s)')axx[1, 0].set_ylabel('Amplitude')plt.tight_layout()## put legendfor col in axx[0,:]:ll = col.legend( loc=1)plt.setp(ll.get_texts(), color='red') #color legendplt.savefig(fignameTrace, bbox_inches='tight', dpi=300)plt.close('all') 使用 Pandas 库计算互相关为了计算互相关,我使用该 但是,我使用 ### Cross Correlation using Pandasseries1, series2 = pd.Series(tr1.data), pd.Series(tr2.data)window = 1maxlag = 500lags = np.arange(-(maxlag), (maxlag), window) # contrainedrs = np.nan_to_num([crosscorr(series1, series2, lag) for lag in lags])traceCCF2 = Trace()traceCCF2.data = rstraceCCF2.times(reftime=tr1.stats.starttime)fig, axx = plt.subplots(2 ,1)axx[0].plot(lags, rs, 'k', linewidth=0.5)axx[0].set_title('Cross Correlation')traceCCF2.spectrogram(log=True, wlen=50,show=False, axes=axx[1], c map ='jet')axx[1].set_title('Spectrogram')plt.tight_layout()plt.savefig(figxcorr2, bbox_inches='tight', dpi=300)plt.close( '全部') 我Earth Inversion 提供的信息仅用于教育目的。 在我们努力使信息保持最新和正确的同时。Earth Inversion对网站或网站上的信息、产品、服务或相关图形内容的完整性、准确性、可靠性、适用性或可用性不作任何形式的明示或暗示的陈述或保证。 在任何情况下,对于因使用本网站或依赖本网站提供的任何信息而导致的任何损失或损害,我们均不对您承担任何责任。因此,您对此类材料的任何依赖均由您自行承担风险。 免责声明您还可以享受
|
|
来自: LibraryPKU > 《EEW》