Maneira correta de adicionar ruído ao sinal

Em muitas áreas, descobri que, ao adicionar ruído, mencionamos algumas especificações, como média e variância zero. Preciso adicionar AWGN, ruído colorido, ruído uniforme de SNR variável em Db. O código a seguir mostra como geramos e adicionamos ruído. Estou ciente da funçãoawgn() mas é uma espécie de coisa de caixa preta sem saber como o ruído está sendo adicionado. Então, alguém pode explicar a maneira correta de gerar e adicionar ruído. Obrigado

SNR = [-10:5:30]; %in Db
snr = 10 .^ (0.1 .* SNR);

for I = 1:length(snr)
    noise = 1 / sqrt(2) * (randn(1, N) + 1i * randn(1, N));
    u = y + noise .* snr(I);
end

questionAnswers(4)

yourAnswerToTheQuestion