Generate acoustic signal with difference rise time and fall time

2 vues (au cours des 30 derniers jours)
BoWen Han
BoWen Han le 11 Mar 2022
Commenté : Scott MacKenzie le 15 Mar 2022
Hi
Can someone help me for this one? I would like to plot a signal that can be similair with acoustic emission signal with difference rise time and fall time. There is not specific parameters but I just want to know if there's a way to generate?
Thanks
  2 commentaires
Scott MacKenzie
Scott MacKenzie le 11 Mar 2022
Just to clarify, by "rise time and fall time", do you mean adding an envelope to an existing signal so the amplitude rises from 0 to max over some period time at the beginning of the signal and falls from max to 0 over some period of time at the end of the signal?
BoWen Han
BoWen Han le 14 Mar 2022
Hi sorry for late reply. Yes that is exactly what I mean and thanks for your advise for envelope !

Connectez-vous pour commenter.

Réponse acceptée

Scott MacKenzie
Scott MacKenzie le 14 Mar 2022
Modifié(e) : Scott MacKenzie le 14 Mar 2022
Here's a simple approach that provides separate control for the rise or attack time (n1), the sustain time (n2), and the decay or fall time (n3):
f = 440; % Hz (cycles per second)
duration = 2; % seconds
sRate = 8192; % default
sInterval = 1/sRate;
% vector for values of t at each sample point
t = 0:sInterval:duration;
n = length(t);
% build the waveform vector
y = sin(2*pi * f * t);
% build envelope (tweak as desired)
n1 = 100; % attack
n2 = 200; % sustain
n3 = 500; % decay
n4 = n - (n1 + n2 + n3); % off
attack = linspace(0,1,n1);
sustain = ones(1,n2);
decay = linspace(1,0,n3);
off = zeros(1,n4);
envelope = [attack sustain decay off];
% apply envelope to signal
y = y .* envelope;
% play it
soundsc(y, sRate); % NOTE: sRate not needed if 8192 (default)
% plot the first few cycles of the waveform
plot(y(1:1000));
set(gca, 'ylim', [-1.5 1.5]);
title('Envelope Demonstration');
xlabel('Time'); ylabel('Amplitude');
  2 commentaires
BoWen Han
BoWen Han le 15 Mar 2022
Thank you ! That is really helpful. This inspire me a lot and thanks for your help.
Scott MacKenzie
Scott MacKenzie le 15 Mar 2022
@BoWen Han you're welcome. Good luck.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Signal Generation and Preprocessing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by