你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 23:14:03 +08:00
Updated dispersion check for better handling of 'sine' and 'contsine' waveforms.
这个提交包含在:
@@ -125,16 +125,20 @@ def dispersion_check(G):
|
|||||||
waveformvalues[timeiter.index] = waveform.calculate_value(timeiter[0], G.dt)
|
waveformvalues[timeiter.index] = waveform.calculate_value(timeiter[0], G.dt)
|
||||||
timeiter.iternext()
|
timeiter.iternext()
|
||||||
|
|
||||||
# Calculate magnitude of frequency spectra of waveform
|
if waveform.type == 'sine' or waveform.type == 'contsine':
|
||||||
power = 20 * np.log10(np.abs(np.fft.fft(waveformvalues))**2)
|
maxfreqs.append(4 * waveform.freq)
|
||||||
freqs = np.fft.fftfreq(power.size, d=G.dt)
|
|
||||||
|
|
||||||
# Shift powers so that frequency with maximum power is at zero decibels
|
|
||||||
power -= np.amax(power)
|
|
||||||
|
|
||||||
# Set maximum frequency to -60dB from maximum power
|
else:
|
||||||
freq = np.where((np.amax(power[1::]) - power[1::]) > 60)[0][0] + 1
|
# Calculate magnitude of frequency spectra of waveform
|
||||||
maxfreqs.append(freqs[freq])
|
power = 20 * np.log10(np.abs(np.fft.fft(waveformvalues))**2)
|
||||||
|
freqs = np.fft.fftfreq(power.size, d=G.dt)
|
||||||
|
|
||||||
|
# Shift powers so that frequency with maximum power is at zero decibels
|
||||||
|
power -= np.amax(power)
|
||||||
|
|
||||||
|
# Set maximum frequency to -60dB from maximum power
|
||||||
|
freq = np.where((np.amax(power[1::]) - power[1::]) > 60)[0][0] + 1
|
||||||
|
maxfreqs.append(freqs[freq])
|
||||||
|
|
||||||
if maxfreqs:
|
if maxfreqs:
|
||||||
maxfreq = max(maxfreqs)
|
maxfreq = max(maxfreqs)
|
||||||
|
在新工单中引用
屏蔽一个用户