Skip to content

Commit 2da7641

Browse files
authored
Merge pull request #44 from fronzbot/fix-harmonic-labels
Fix wrong power being used for harmonic calculation.
2 parents e9defdb + c5a7398 commit 2da7641

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

adc_eval/spectrum.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,21 +94,22 @@ def find_harmonics(spectrum, freq, nfft, bin_sig, psig, harms=5, leak=20):
9494
if bin_harm == nfft / 2:
9595
bin_harm = 0
9696
pwr_max = spectrum[bin_harm]
97+
bin_harm_max = bin_harm
9798
for i in range(bin_harm - leak, bin_harm + leak + 1):
9899
try:
99100
pwr = spectrum[i]
100101
if pwr > pwr_max:
101-
bin_harm = i
102+
bin_harm_max = i
102103
pwr_max = pwr
103104
except IndexError:
104105
# bin + leakage out of bounds, so stop looking
105106
break
106107

107-
harm_stats["harm"][harm_index]["bin"] = bin_harm
108-
harm_stats["harm"][harm_index]["power"] = pwr
108+
harm_stats["harm"][harm_index]["bin"] = bin_harm_max
109+
harm_stats["harm"][harm_index]["power"] = pwr_max
109110
harm_stats["harm"][harm_index]["freq"] = round(freq[bin_harm] / 1e6, 1)
110-
harm_stats["harm"][harm_index]["dBc"] = dBW(pwr / psig)
111-
harm_stats["harm"][harm_index]["dB"] = dBW(pwr)
111+
harm_stats["harm"][harm_index]["dBc"] = dBW(pwr_max / psig)
112+
harm_stats["harm"][harm_index]["dB"] = dBW(pwr_max)
112113

113114
harm_index = harm_index + 1
114115

0 commit comments

Comments
 (0)