Clear Filters
Clear Filters

How can i plot this signal?

72 views (last 30 days)
mskumarsajeesh mskumar
mskumarsajeesh mskumar on 11 Aug 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.

Answers (3)

Matt Fig
Matt Fig on 11 Aug 2012
Edited: Matt Fig on 11 Aug 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 on 11 Aug 2012
Edited: Image Analyst on 11 Aug 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 Comments
Matt Fig
Matt Fig on 11 Aug 2012
That picture is misleading. Try with
linspace(1,4*pi,8000);
Then again with 80000!
Image Analyst
Image Analyst on 11 Aug 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.

Sign in to comment.


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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!