How to generate a sine curve?

3 次查看(过去 30 天)
I want to generate a sine curve with a frequency of 1 Hz, amplitude of 0.2, and for a time of 15 seconds. I want the sampling rate to be 30 samples per second. This is something that I have so far:
Amp = 0.20;
Freq = 1;
Time.Val = [0:482-1];
Sig = Amp*...
sin(Freq*2*pi*Time.Val);
However, I keep getting an error. Can anyone help?
  4 个评论
Sarah
Sarah 2013-2-26
Sorry everyone, AMP.Mod.Time should just be Time.Val. I am not actually getting an error, but my plot is weird, I am not getting 1 cycle per second, where each cycle has 30 samples.
Youssef  Khmou
Youssef Khmou 2013-2-26
hi Sarah; you get one period because the time axis is not sampling with F=30Hz; beside you code does nt respect Nyquist condition

请先登录,再进行评论。

采纳的回答

Youssef  Khmou
Youssef Khmou 2013-2-26
hi, try :
Fs=30;
t=0:1/Fs:15-1/Fs;
Amp=0.5;
F=1;
x=Amp*sin(2*pi*t*F);
figure, plot(t,x)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by