Azzera filtri
Azzera filtri

How can i plot this signal?

70 visualizzazioni (ultimi 30 giorni)
mskumarsajeesh mskumar
mskumarsajeesh mskumar il 11 Ago 2012
I have a signal like this v=240*sin(2*pi*f(t)*t) where f(t)=50+sin(t). My sampling frequency is 7500 Hz.How can i plot the above mentioned signal?I am getting an error while plotting.Expecting reply.

Risposte (3)

Matt Fig
Matt Fig il 11 Ago 2012
Modificato: Matt Fig il 11 Ago 2012
f = @(t) 50+sin(t);
v = @(t) 240*sin(2*pi*t.*f(t));
t = 0:.001:1;
plot(t,v(t))

Image Analyst
Image Analyst il 11 Ago 2012
Modificato: Image Analyst il 11 Ago 2012
Did you try the straightforward, obvious approach that just uses your equations to get f and then v?
% Get the times between 1 andnumberOfSeconds, inclusive:
% (Adjust parameters as needed.)
numberOfSeconds = 9
samplingRate = 7500 % Samples per second.
numberOfSamples = samplingRate * numberOfSeconds
t = linspace(0, numberOfSeconds, numberOfSamples);
% Get f:
f =50 + sin(t);
% Get v:
v = 240 * sin(2*pi*f .* t);
% Plot:
plot(t, v);
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
  2 Commenti
Matt Fig
Matt Fig il 11 Ago 2012
That picture is misleading. Try with
linspace(1,4*pi,8000);
Then again with 80000!
Image Analyst
Image Analyst il 11 Ago 2012
Yeah, I know there's aliasing going on, but when I did it with just a few hundred samples, it looked like just a normal sine wave.

Accedi per commentare.


Azzi Abdelmalek
Azzi Abdelmalek il 11 Ago 2012
Modificato: Azzi Abdelmalek il 11 Ago 2012
te=1/7500;
t=0:te:500*te;
f=50+sin(t);
v=240*sin(2*pi*f.*t);
plot(t,v)
  3 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 11 Ago 2012
his sampling frequency is 7500Hz that means a sample time is 1/7500 s
Matt Fig
Matt Fig il 11 Ago 2012
Much nicer!

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by