Filter löschen
Filter löschen

How to generate a signal with duration and period?

7 Ansichten (letzte 30 Tage)
maruljay
maruljay am 27 Apr. 2020
Kommentiert: Ameer Hamza am 28 Apr. 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:

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 27 Apr. 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 Kommentare
maruljay
maruljay am 28 Apr. 2020
Thank you so much! Worked like a charm.
Ameer Hamza
Ameer Hamza am 28 Apr. 2020
Glad to be of help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by