Can a Sinusoid Be Wide-Sense Stationary (WSS)?
A noisy sinusoidal is not itself a Wide-sense stationary (WSS) signal.
Sinusoidal signal + Random phase = WSS
In the code below it demonstrates that how sinusoidal signal can be turned into wide-sense stationary signal where it captures the property like constant mean and same auto-correlation value over time.
MATLAB Code
% Generate Noisy Sinusoid (Single Script)
clc;
clear;
close all;
%% Parameters
N = 1000; % Number of samples
freq = 5; % Frequency in Hz
sampleRate = 100; % Sampling rate in Hz
meanValue = 2; % Desired mean
variance = 0.5; % Desired variance
%% Amplitude from variance
amp = sqrt(2 * variance);
%% Random phase
theta = 2 * pi * rand();
%% Time vector
n = 0:N-1;
t = n / sampleRate;
%% Generate sinusoidal signal
signal = meanValue + amp * cos(2 * pi * freq * t + theta);
%% Plot signal
figure;
plot(t, signal, 'LineWidth', 1.5);
title('Generated Sinusoidal Signal');
xlabel('Time (seconds)');
ylabel('Amplitude');
grid on;
%% Display estimated mean and variance (verification)
fprintf('Estimated Mean: %.4f\n', mean(signal));
fprintf('Estimated Variance: %.4f\n', var(signal));