你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 04:56:51 +08:00
Updated look of plot. Changed power calculation to 10log10 rather than 20log10 as quantity is voltage (or energy) squared.
这个提交包含在:
@@ -51,15 +51,16 @@ while not timeiter.finished:
|
|||||||
timeiter.iternext()
|
timeiter.iternext()
|
||||||
|
|
||||||
if args.fft:
|
if args.fft:
|
||||||
# Calculate frequency spectra of waveform
|
# Calculate magnitude of frequency spectra of waveform
|
||||||
power = 20 * np.log10(np.abs(np.fft.fft(waveform))**2)
|
power = 10 * np.log10(np.abs(np.fft.fft(waveform))**2)
|
||||||
freqs = np.fft.fftfreq(power.size, d=dt)
|
freqs = np.fft.fftfreq(power.size, d=dt)
|
||||||
|
|
||||||
# Shift powers so any spectra with negative DC component will start at zero
|
# Shift powers so that frequency with maximum power is at zero decibels
|
||||||
power -= np.amax(power)
|
power -= np.amax(power)
|
||||||
|
|
||||||
# Set plotting range to 4 * centre frequency
|
# Set plotting range to 4 * centre frequency
|
||||||
pltrange = np.where(freqs > (4 * w.freq))[0][0]
|
pltrange = np.where(freqs > (4 * w.freq))[0][0]
|
||||||
|
pltrange = np.s_[0:pltrange]
|
||||||
|
|
||||||
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, num=w.type, figsize=(20, 10), facecolor='w', edgecolor='w')
|
fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, num=w.type, figsize=(20, 10), facecolor='w', edgecolor='w')
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ if args.fft:
|
|||||||
ax1.set_ylabel('Amplitude')
|
ax1.set_ylabel('Amplitude')
|
||||||
|
|
||||||
# Plot frequency spectra
|
# Plot frequency spectra
|
||||||
markerline, stemlines, baseline = ax2.stem(freqs[0:pltrange]/1e9, power[0:pltrange], '--')
|
markerline, stemlines, baseline = ax2.stem(freqs[pltrange]/1e9, power[pltrange], '--')
|
||||||
plt.setp(stemlines, 'color', 'r')
|
plt.setp(stemlines, 'color', 'r')
|
||||||
plt.setp(markerline, 'markerfacecolor', 'r', 'markeredgecolor', 'r')
|
plt.setp(markerline, 'markerfacecolor', 'r', 'markeredgecolor', 'r')
|
||||||
ax2.set_xlabel('Frequency [GHz]')
|
ax2.set_xlabel('Frequency [GHz]')
|
||||||
|
在新工单中引用
屏蔽一个用户