here's what i have now. my plan is to pdb through it and see how the two reconstructed things compare. i feel like they won't compare well. part of this feeling is backed by a personal experience regarding frequency domain mutations and sample-to-sample comparisons. another part is my personal experience of how densely and thoroughly i make mistakes. to really ensure this passes, i should simplify the data so much that it is obvious that it will, verify that it does, make it pass if it doesn't, and then make it more complex and see what stimulates inaccuracy. import pdb; pdb.set_trace() period_fft_idx = recording_bufsize / period_length fft_subregion = np.concatenate(([0],recording_fft[int(period_fft_idx):])) # then reconstruct using irfft [curious: is this complex output? what do the angles look like?] # then downsample original_signal to the bandwidth using averaging # then compare real values # NOTE: failure is expected AT FIRST. then, identify the mistake, and improve it. reconstructed_fft = fft_subregion original_fft = np.ftt.rfft(original_signal) reconstructed_rfftsize = min(len(reconstructed_fft), len(original_fft)) // 2 reconstructed_from_reconstructed = np.fft.irfft(reconstructed_fft[:reconstructed_rfftsize].abs()) reconstructed_from_original = np.fft.irfft(original_fft[:original_fft].abs())