- Apply log transformation: Convert the multiplicative noise model Y=X⋅N into an additive model by taking the natural logarithm:
How to convert multiplicative noise into additive white guassian noise ?
7 次查看(过去 30 天)
显示 更早的评论
How to convert multiplicative noise into additive white guassian noise ? using the log transformation. plz give matlab code of it.
0 个评论
回答(1 个)
Parag
2025-3-7
Hi, to convert multiplicative noise into additive white Gaussian noise (AWGN) using log transformation, you can follow these steps:
log(Y)=log(X)+log(N)
Since log(N) can be approximated as Gaussian for small variations, it becomes an additive noise model.
2. Apply inverse transformation: To retrieve the original data, use the exponential function.
You can refer the following MATLAB code for the same.
% Generate a clean image (Example: grayscale image with values in [0,1])
X = im2double(imread('cameraman.tif')); % Read and normalize image
% Define multiplicative noise parameters
sigma = 0.2; % Noise standard deviation
N = exp(sigma * randn(size(X))); % Multiplicative noise (log-normal distribution)
% Apply multiplicative noise
Y = X .* N;
% Convert to additive noise model using log transformation
log_Y = log(Y + eps); % eps avoids log(0)
log_X = log(X + eps);
AWGN = log_Y - log_X; % Extract additive Gaussian noise
% Display results
figure;
subplot(1,3,1); imshow(X, []); title('Original Image');
subplot(1,3,2); imshow(Y, []); title('Image with Multiplicative Noise');
subplot(1,3,3); imshow(AWGN, []); title('Extracted Additive Noise');
% If needed, reconstruct the image
reconstructed_X = exp(log_Y - AWGN);
figure; imshow(reconstructed_X, []); title('Reconstructed Image');
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Propagation and Channel Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!