Часть-3
В продолжение нашего обсуждения удаления шума с помощью преобразования Фурье в Части-2 попробуем понять, всегда ли можно отфильтровать шум и получить чистый сигнал.
Амплитудный спектр, на который мы смотрели,

Проблема с этим спектром в том, что две частоты со значениями 25 и 75 полностью исчезают за шумом. Теперь в таких случаях мы, возможно, не сможем полностью отфильтровать шум, но, безусловно, уменьшим его, выбрав правильный порог для обнуления частот, отражающих шум.
Для порога 1000 имеем
abs_fft_sig = np.abs(fft_sig) indices = abs_fft_sig>1000 # filter out those value under 1800 sig_clean = indices * fft_sig # noise frequency will be set to 0 plt.plot(f,np.abs(sig_clean))

Выбор правильного порога может помочь нам еще больше уменьшить шумовые частоты. Тяжелый шум — один из серьезных противников нашей серии рассказов о преобразовании Фурье. Нам доступно множество литературы, в которой предлагаются алгоритмы удаления шума. Я постараюсь скрыть их как можно больше.
Сейчас я пойду в обход и покажу вам другой вид сигнала, простой и отличный от наших предыдущих. Это поможет раскрыть один интересный аспект преобразования Фурье.
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [7,4]
plt.rcParams.update({'font.size':10})
sig_step = 0.001
t1 = np.arange(start=0,stop=1,step=data_step)
t2 = np.arange(start=1,stop=2,step=data_step)
t=np.concatenate((t1, t2), axis=None)
sig1 = np.sin(2*np.pi*25*t1)
sig2 = np.sin(2*np.pi*75*t2)
sig=np.concatenate((sig1, sig2), axis=None)
plt.plot(t,sig)

Найдите его преобразование Фурье и проверьте амплитудный спектр.

Спектр по-прежнему показывает два пика, один на 25, а другой на 75. Теперь сравните его с другим сигналом, состоящим из тех же частот.
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [7,4]
plt.rcParams.update({'font.size':10})
sig_step = 0.001
t = np.arange(start=0,stop=1,step=data_step)
sig = np.sin(2*np.pi*25*t)+np.sin(2*np.pi*75*t)
plt.plot(t,sig)

Амплитудный спектр

Можете ли вы определить, в чем разница в амплитудных спектрах 1 и 2?
Сделайте паузу. Я продолжу нашу дискуссию в следующем рассказе!