MATLAB: How to generate a signal with duration and period

signal processing

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:

Best Answer

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);