Multi sine waves function

20 visualizzazioni (ultimi 30 giorni)
Kanard
Kanard il 5 Mag 2018
Commentato: Star Strider il 5 Mag 2018
Hello, right now I don't know how to create a multi sinus function with frequency from 1kHz to 2 kHz, with Amplitude varies from 0.25 to 1, in time from -2.5 to 2.5 second. I have tried with a loop 'for' but the problem is matrice t and f can't multiply with each other because of size.
for f = 1000:200:2000
A(n) = 1:-0.75/(length(f)-1):0.25;
V(n) = A(n)*sin(2*pi*f.*t + phi);
end
can someone help me with this?
  1 Commento
Kanard
Kanard il 5 Mag 2018
can anyone check if what I wrote here is correct or not.
ts = 1/100;
t = -0.25:ts:0.25;
f = 400:200:3000;
A = 1:-0.75/(length(f)-1):0.25;
V = 0;
phi = rand(1,14);
for i = 1:14
V = V + A(1,i)*sin(2*pi*f(1,i)*t + phi(1,i));
plot(t,V(1,:));
hold on
end

Accedi per commentare.

Risposta accettata

Star Strider
Star Strider il 5 Mag 2018
I’m not certain what result you want.
Your posted code doesn’t show any oscillations when I run it. I would change the argument of the sin function to divide by the number of elements of ‘t’ in order to show the oscillations:
V = V + A(1,i)*sin(2*pi*f(1,i)*t/numel(t) + phi(1,i));
Beyond that, I have no suggestions.
  2 Commenti
Kanard
Kanard il 5 Mag 2018
Hello, thanks for your reply, what I want is a function, which is a sum of many other sinusoidal signals, which frequencies and Amplitudes are in the range above. I tried to assign F and A to matrices and calculate each signal then plot all of them into a single figure. However i'm not sure if this is correct or not.
Star Strider
Star Strider il 5 Mag 2018
My pleasure.
Your code calculates and plots the evolving sum of all the waveforms, so if that’s what you want to do, it’s working.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by