Generating a 6 second sine wave?

I'm supposed to generate a 6 seconds long sine wave that has amplitude of 1.0, frequency of 400Hz at a 8KHz sampling frequency, but I'm not sure how to control how long the wave lasts for.

 Risposta accettata

f=400
Amp=1
ts=1/8000;
T=6
t=0:ts:T;
y=sin(2*pi*f*t);
plot(t,y)

3 Commenti

Kay Wonderley
Kay Wonderley il 26 Mar 2018
Modificato: Image Analyst il 26 Mar 2018
Hi I have done this (below).
How do I turn it into a function?
f=100;
Amp=10;
fs = 44100;
ts=1/44100;
T=10;
t=0:ts:T;
y=sin(2*pi*f*t);
sound(y,fs)
Add a function line:
function [t, y] = PlaySound()
f=100;
Amp=10;
fs = 44100;
ts=1/44100;
T=10;
t=0:ts:T;
y=sin(2*pi*f*t);
sound(y,fs)
Mohamad
Mohamad il 4 Apr 2019
f=400
Amp=1
ts=1/8000;
T=6
t=0:ts:T-ts; % I modified this line to make signal duration 6 seconds
y=sin(2*pi*f*t);
plot(t,y)

Accedi per commentare.

Più risposte (1)

Hint: 6 seconds at 8000 times per second means that the vector (row array) will be 48000 elements long.
sineWave = sin(2*pi*freq*timeVector);
See if that's enough hints.

3 Commenti

Well it looks like Azzi did it all for you. Though if you ever want to change the amplitude you should use
y = Amp * sin(2*pi*f*t);
Is there a way to zoom outt? Because I get a blue box when I plot it from the frequency.
Yes, just use the icons on the top of the plot

Accedi per commentare.

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by