Click in the beginning and end of pure tone

6 views (last 30 days)
I am wondering why there is a kind of clicking sound in the beginning
but especially in the end of a pure tone.
What I am doing:
spl_rms = 60;
spl_p0 = 20e-6;
spl_max = spl_p0 * 10^(60/20) * sqrt(2);
fs = 20000;
fsig = 1000;
n = 0:1*fs - 1;
t = n/fs;
sig = spl_max*sin(2*pi*fsig*t);
sound(sig, fs);
What is the reason for this clicking sound in the end?
What can I do against it, so how can I modify `sig` to improve this?
  2 Comments
Rik
Rik on 15 May 2023
I don't see any reason why that would be the case. Are you sure the problem is in Matlab and not your audio device?
You could try to add a low amplitude signal (essentially 0) at the end of sig, to see whether the click is at the end of any sound() call, or whether is is in your signal.
Dominik Deml
Dominik Deml on 18 May 2023
Sorry, my fault. It is not because of Matlab, it is because of my audio device BUT I want to use Matlab to fix this problem.

Sign in to comment.

Accepted Answer

Les Beckham
Les Beckham on 15 May 2023
Edited: Les Beckham on 15 May 2023
Try adding ramps at the beginning and end to avoid the discontinuities of starting and stopping the tone.
spl_rms = 60;
spl_p0 = 20e-6;
spl_max = spl_p0 * 10^(60/20) * sqrt(2);
fs = 20000;
fsig = 1000;
n = 0:1*fs - 1;
t = n/fs;
sig = spl_max*sin(2*pi*fsig*t);
ramp = linspace(0, 1, 200);
sig(1:200) = sig(1:200) .* ramp;
sig(end-199:end) = sig(end-199:end) .* flip(ramp);
tiledlayout('Horizontal', 'TileSpacing', 'compact')
nexttile
plot(sig)
xlim([1 500])
grid on
nexttile
plot(sig)
xlim([19500 20000])
grid on
% sound(sig, fs);
  4 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!