Tar*_*rma 2 matlab trigonometry amplitude
我试图理解fft函数,因为我有一个非常简单的代码来生成500Hz的正弦波.
%Time specifications:
Fs = 1000; % samples per second
dt = 1/Fs; % seconds per sample
StopTime = 0.6; % seconds
t = (0:dt:StopTime-dt)'; % seconds
% Sine wave:
Fc = 500; % hertz
x = sin(2*pi*Fc*t);
% Plot the signal versus time:
figure;
plot(t,x);
xlabel('time (in seconds)');
title('Signal versus Time');
zoom xon;
Run Code Online (Sandbox Code Playgroud)
现在,它的输出给我一个振幅随时间增加的正弦波.
这是为什么?当我没有添加振幅的任何因素.我知道这与Fs值有关.究竟是什么?
谢谢
您正在使用0.001时间步.你正在建立正弦(2*pi*500*t).这导致:
2*pi*500/1000=pi,
2*pi*500*2/1000=2pi,
2*pi*500*3/1000 =3pi,
...
Run Code Online (Sandbox Code Playgroud)
作为前3个数据点的值.这将持续到最后.正如Luis Mendo在他的评论中所说,在数值精度范围内,这些值为0.这没有用.将你的频率(Fc)改为某事.较小的例如50或使用较小的时间步长,从而改变Fs=5000或仅定义dt=1/5*Fs.