地震子波模拟及其频谱分析实验
生活随笔
收集整理的這篇文章主要介紹了
地震子波模拟及其频谱分析实验
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目的:
通過編寫和運行相關程序,加深對地震子波類型和特征的理解。
內容及要求:
1、編寫程序模擬及顯示雷克子波,在同一張圖上繪制主頻為20Hz、35Hz、50Hz的零相位雷克子波波形。
2、分別繪制上述不同頻率子波的振幅譜,對比振幅譜最大值對應頻率與子波主頻關系。
實驗原理
時間域雷克子波函數為: ,其中為主頻。對雷克子波頻譜分析:對不同頻率的雷克子波進行傅里葉變換得,所以不同頻率的雷克子波振幅譜極大值對應頻率即為主頻。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
代碼如下
.
.
.
.
.
.
.
1.模擬及顯示雷克子波Python代碼
2.上述不同頻率子波的振幅譜Python代碼
/**僅供學習,如有紕漏,望請指正 --by wxw */ 1.import numpy as np 2.import matplotlib.pyplot as plt 3.import scipy 4.import math 5. 6.f1 = 20 7.f2 = 35 8.f3 = 50 9. 10.f = np.linspace(0, 400, 500) 11. 12.R1 =(2*f**2)/(f1**2*f1*np.sqrt(math.pi))*math.e**(-1*(f/f1)**2) 13.R2 =(2*f**2)/(f2**2*f2*np.sqrt(math.pi))*math.e**(-1*(f/f2)**2) 14.R3 =(2*f**2)/(f3**2*f3*np.sqrt(math.pi))*math.e**(-1*(f/f3)**2) 15. 16.plt.figure(figsize=(10,6)) 17.fig,ax = plt.subplots() 18.ax.plot(f, R1, '--', label="20Hz") 19.ax.plot(f, R2, label="35Hz") 20.ax.plot(f, R3, ':', label="50Hz") 21.ax.set_xlabel("Frequency") 22.ax.set_ylabel("Amp") 23.ax.set_title('Amplitude spectrum') 24.ax.legend() 25.plt.show()總結
以上是生活随笔為你收集整理的地震子波模拟及其频谱分析实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第一届天池 PolarDB 数据库性能大
- 下一篇: win10定时关机