How can i plot this signal?

52 Ansichten (letzte 30 Tage)
mskumarsajeesh mskumar
mskumarsajeesh mskumar am 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.

Antworten (3)

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

Melden Sie sich an, um zu kommentieren.


Azzi Abdelmalek
Azzi Abdelmalek am 11 Aug. 2012
Bearbeitet: Azzi Abdelmalek am 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 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 11 Aug. 2012
his sampling frequency is 7500Hz that means a sample time is 1/7500 s
Matt Fig
Matt Fig am 11 Aug. 2012
Much nicer!

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by