FFT Result; amplitude-phase dependence

I want to amplify audio input at certain frequencies, and I use numpy.fft.

So my question is: when the signal amplitudes change, what happens to the phase?

For example, if I multiply the amplitudes in a certain frequency range, then, say, 2, I need to change the phases, and if so, what should I do with them?

I did the amplification without changing the phases, and the result was not what I wanted. This is almost the same signal, with some unwanted noise.

+4
source share
1 answer

- . , , . , - , . . = 1 = 2, , , :

x, t = get_waveform()
f0, df = get_parameters()     # Center frequency and bandwidth of gain region
f = np.fft.rfft(x)
freqs = np.fft.fftfreq(len(x), t[1]-t[0])
freqs = freqs[0:len(f)]       # rfft has only non-negative frequency components
gain_window = 1 + np.exp(-(freqs-f0)**2/(df)**2)
f = f * gain_window
x = np.fft.irfft(f)
return x

, , .

, . / . , . . , FIR IIR.

, , FFT, , , . , . , , , .

, FFT - . ( ) FFT . , , .

, , , , , - .

+7

All Articles