increasing amplitude of sine wave

4 次查看(过去 30 天)
hi i want to create i simple sine tone that has increasing amplitude kinda like a fade in 3 seconds
i wrote the following code its just a normal sine tone with Frequency is 3000 hz and amplitude of 1
Fs = 44100;
dt = 1/Fs;
StopTime = 3;
t = (0:dt:StopTime-dt)';
Fc = 3000;
A = 1;
y = A*sin(2*pi*Fc*t);
sound(y,Fs)
how can i make the amplitude start from 0 and inrease linearly to 1 in 3 seconds like a fade?

采纳的回答

Les Beckham
Les Beckham 2022-9-1
Fs = 44100;
dt = 1/Fs;
StopTime = 3;
t = (0:dt:StopTime-dt)';
Fc = 3000;
A = linspace(0, 1, numel(t))';
y = A.*sin(2*pi*Fc*t);
plot(t,y)
grid on

更多回答(1 个)

Torsten
Torsten 2022-9-1
y=t/StopTime.*sin(2*pi*Fc*t);
instead of
y = A*sin(2*pi*Fc*t);

Community Treasure Hunt

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

Start Hunting!

Translated by