#采样间隔
dt = 0.001
#采样时间t1 0到100s 采样时间t2 1到100s
t1 = np.linspace(0,100,int(100/dt)) #因为100/dt是一个浮点数 需要int转化一下
t2 = np.linspace(1,100,int(100/dt))
=================================================
# 构造函数F1与F2 基频为10Hz 区别为采样时间不同
f1=10
w1 = 2*np.pi*f1
w2 = 2*w1
w3 = 3*w1
F1 = np.sin(w1*t1)+np.sin(w2*t1)+np.sin(w3*t1)
F2 = np.sin(w1*t2)+np.sin(w2*t2)+np.sin(w3*t2)
对两个函数都进行FT,得到的幅频图是一样的:
可以看出能量并未缺失,可以知道三种频率的幅值都是1 (只显示0到40Hz下的幅频图)
分析:采样时间分别为100s与99s,函数基频的周期为1/f1=0.1s,即采样时间只要是0.1的整数倍即可,这样变换出来的幅频图是准确的。
=================================================
# 构造函数F1与F2 基频为20/3Hz
f1=20/3
w1 = 2*np.pi*f2
w2 = 2*w1
w3 = 3*w1
F1 = np.sin(w1*t1)+np.sin(w2*t1)+np.sin(w3*t1)
F2 = np.sin(w1*t2)+np.sin(w2*t2)+np.sin(w3*t2)
对两个函数都进行FT,得到的幅频图是不同的:(依次为F1与F2的幅频图)
可以看出用第一个函数进行FT,变换出来的能量缺失了,虽然也能区分出频率。而第二个函数得到的幅频图是准确的。
分析:采样时间分别为100s与99s,函数基频的周期为1/f1=0.15s,即采样时间只要是0.15的整数倍即可,这样变换出来的幅频图是准确的。而100整除不了0.15,F1不是整周期的信号,所以出现能量丢失。