importnumpyasnpfromscipyimportsignalimportmatplotlib.pyplotaspltNsub=100# number of subsequencesw_1=20# frequency of the 1st component of the signal (Hz)w_2=40# frequency of the 2nd component of the signal (Hz)a=1.1# magnitude of the 1st component of the signalb=0.6# magnitude of the 2nd component of the signalt=np.array([iforiinrange(1,301)])/1000# time samples (s)fs=1/(t[1]-t[0])# sampling frequency (Hz)x=a*np.cos(2*np.pi*w_1*t)+b*np.sin(2*np.pi*w_2*t)# considered signalN=[len(x)-10,len(x),len(x)+10]fig,ax=plt.subplots(len(N),1,constrained_layout=True,\
figsize=(6,7),dpi=250)foridx,iteminenumerate(N):FFT=np.fft.fft(x,n=item)amps=np.abs(FFT)/(len(FFT)/2)ax[idx].stem(f[:20],amps[:20])ax[idx].grid(True)ax[idx].set_ylabel('Magnitude of the FFT')plt.xlabel('Frequencies (Hz)')plt.show()
Лицензирование
Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующей лицензии:
делиться произведением – копировать, распространять и передавать данное произведение
создавать производные – переделывать данное произведение
При соблюдении следующих условий:
атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
Файл содержит дополнительные данные, обычно добавляемые цифровыми камерами или сканерами. Если файл после создания редактировался, то некоторые параметры могут не соответствовать текущему изображению.