How to generate correct sine wave
44 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
hello, I want to make the sine wave
when I execute below code at frequency 2, It is success.
but when I change the frequency to 10, It is not Sine wave..
What's wrong my code??
== correct ==
fs = 50;
t = 0:1/fs:1-1/fs;
x = sin(2*pi*2*t);
plot(t,x)
== non-correct
fs = 50;
t = 0:1/fs:1-1/fs;
x = sin(2*pi*10*t);
plot(t,x)
0 comentarios
Respuestas (2)
Kevin Holly
el 17 de Mzo. de 2022
Editada: Kevin Holly
el 17 de Mzo. de 2022
== correct ==
fs = 50;
t = 0:1/fs:1-1/fs;
x = sin(2*pi*2*t);
plot(t,x)
== non-correct
fs = 50;
t = 0:1/fs:1-1/fs;
x = sin(2*pi*10*t);
plot(t,x)
Corrected
fs = 500;
t = 0:1/fs:1-1/fs; %Increase the sample rate
x = sin(2*pi*10*t);
plot(t,x)
Your sampling freqency needs to be twice the size of the highest frequency you are detecting. See Nyquist Theorem.
6 comentarios
Kevin Holly
el 18 de Mzo. de 2022
Sorry about that, I missed the 2*pi.
subplot(2,1,1)
fs = 20;
t = 0:1/fs:1-1/fs;
x = sin(2*pi*10*t);
plot(t,x)
subplot(2,1,2)
fs = 2*pi*20;
t = 0:1/fs:1-1/fs;
x = sin(2*pi*10*t);
plot(t,x)
Ver también
Categorías
Más información sobre Analog Filters en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!