Sine sweep in matlab
Show older comments
How do i create a dataset which has a sine wave which is swept a hz to b hz within the time t.
Answers (1)
Image Analyst
on 21 May 2015
If you have the Signal Processing Toolbox look in the help for chirp():
chirp
Swept-frequency cosine
Syntax
y = chirp(t,f0,t1,f1)
y = chirp(t,f0,t1,f1,'method')
y = chirp(t,f0,t1,f1,'method',phi)
y = chirp(t,f0,t1,f1,'quadratic',phi,'shape')
8 Comments
James
on 21 May 2015
James
on 21 May 2015
Image Analyst
on 21 May 2015
Did you try to adapt the example in the help:
a = 1
b = 150;
t = linspace(0, 0.1, 300);
y = chirp(t, a, t(end), b);
plot(t, y, 'b*-');
grid on;

Mahmoud Khadijeh
on 29 Apr 2022
I have question please,
The amplitude is equal to 1 when the time = 0.
Can we modify this code so the amplitude starts with 0 at t=0?
Thanks in advance!
Image Analyst
on 29 Apr 2022
Edited: Image Analyst
on 29 Apr 2022
@Mahmoud Khadijeh did you try just subtracting it from 1?
a = 1
b = 150;
t = linspace(0, 0.1, 300);
y = 1 - chirp(t, a, t(end), b);
plot(t, y, 'b*-');
grid on;
Otherwise you could make up your own with a vector for frequency, and use
y = sin(2 * pi * frequency .* t)
Mahmoud Khadijeh
on 29 Apr 2022
Yes, subtracting it from 1 will change the entire amplitudes.. As you can see in last figures that the amplitudes are equal to 2 not 1 like the first figure.
Mahmoud Khadijeh
on 29 Apr 2022
Can you pleaes help me with this code if you have the experience to do it?
This is the Logarithmic Sweep Rate equation that I am trying to implement:

The starting and ending frequencies are f1 and f2 , respectively.
The sweep rate in octaves per time is R
Thank you in advance!
Image Analyst
on 29 Apr 2022
f1 =
f2 =
R =
t = linspace(0, 5*pi, 2000);
frequency = linspace(f1, f2, length(t));
y = sin(2 * pi * frequency .* (-1 + 2.^(R * t)) / (R*log(2)));
Categories
Find more on Univariate Discrete Distributions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!