필터 지우기
필터 지우기

How to add Gaussian distributed noise with zero mean and standard deviation of 2% ? How to find out SNRdB by using computed noise signal and actual signal?

조회 수: 57 (최근 30일)
With reference to the above question, I computed noise signal and SNR based on the actual and noise contaminated signal. Hence, I request you to is this the correct way to compute noise signal and SNR in dB?.
Actual_signal=Ias; % Instantaneous sinusoidal current signal of size (6001*1)
std=0.02; % standard deviation of 2%
meanValue=0; % mean=0
Noise_signal = signal + std*randn(size(signal)) + meanValue;
Amean = mean(Actual_signal);
Bmean = mean(Noise_signal);
SNR = (Amean / Bmean);
SNRdB=10*log10(SNR)
  댓글 수: 1
dpb
dpb 2019년 4월 6일
2% of what?
Actual_signal=Ias; % Instantaneous sinusoidal current signal of size (6001*1)
std=0.02; % standard deviation of 2%
meanValue=0; % mean=0
Noise_signal = signal + std*randn(size(signal)) + meanValue;
...
The above adds a random component whose standard deviation is 0.02; a percentage needs to refer to some value that would be the percentage of. Perhaps you want 2% of some measure of the actual signal? That could be rms(), pk-pk, ..., but need to know what.
If it were rms(), then something like
noise_pct=0.02;
signal_rms=rms(Actual_signal);
Noise_signal = noise_pct*signal_rms*randn(size(Actual_signal)) + meanValue;
noisy_signal=signal+Noise_signal;
but you'll have to decide what the actual reference to compare to is...

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Descriptive Statistics에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by