Effacer les filtres
Effacer les filtres

How to generate a signal with duration and period?

7 vues (au cours des 30 derniers jours)
maruljay
maruljay le 27 Avr 2020
Commenté : Ameer Hamza le 28 Avr 2020
I want to generate a signal using the function: (sin(2π/u)T +1), taken at t = 0, 1, 2, . . . 32sec with u = 32 sec and repeated every 128 seconds.
A noise with the variance of 0.01 also needs to be added to the signal.
The signal should look like this:

Réponse acceptée

Ameer Hamza
Ameer Hamza le 27 Avr 2020
I guess you made a mistake will writing the equation of periodic function. (sin(2π/u)T +1) canot create such a signal. Try the following code
duration = 32;
period = 128;
u = 32;
T = 0:32;
one_cycle = [sin(pi/u*T) zeros(1, period-numel(T))]+1;
num_cycles = 5;
signal = repmat(one_cycle, 1, num_cycles);
noisy_signal = signal + randn(1, numel(signal))*0.1; % noise with variance 0.1
T = 0:numel(noisy_signal)-1;
subplot(2,1,1);
plot(T, signal);
subplot(2,1,2);
plot(T, noisy_signal);
  2 commentaires
maruljay
maruljay le 28 Avr 2020
Thank you so much! Worked like a charm.
Ameer Hamza
Ameer Hamza le 28 Avr 2020
Glad to be of help.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by