How to make a random circularly-symmetric gaussian distributed additive noise component with mean 0 and variance (sigma^2)/2?
16 views (last 30 days)
Show older comments
yBob(t) = xAlice(t) hab(t) + nb(t)
where t denotes the time, denotes the convolution operator, hab(t) denotes the circularly-symmetric Gaussian-distributed channel response with mean 0 and variance σ2 h /2 in each dimension, and nb(t) denotes the circularly-symmetric Gaussian-distributed additive noise component with mean 0 and variance σ2 n /2 in each dimension.
hab(t) and nb(t) should be different, but how?
If I write this code then I get same hab(t) and nb(t):
N=16;
t = linspace(0, 2*pi, N);
j = sqrt(-1);
hab = cos(t) + j*sin (t);
plot(x, y, 'bo-', 'LineWidth', 2);
grid on;
title('hab');
xlabel('Real Component');
ylabel('Imaginary Component');
nb = cos(t) + j*sin(t);
plot(x, y, 'bo-', 'LineWidth', 2);
grid on;
title('nab');
xlabel('Real Component');
ylabel('Imaginary Component');
But I want different hab and nb. hab and nb should be circularly symmetric gaussian-distributed with 0 mean.
Using below code I didn't get circular symmetric gaussian but only gaussian with mean 0. But I want both.
hab = (1/sqrt(2))*(randn(N, 1) +1i*randn(N,1));
plot(hab, 'bo-', 'LineWidth', 2);
grid on;
title('hab');
xlabel('Real Component');
ylabel('Imaginary Component');
nb = (1/sqrt(2))*(randn(N, 1) +1i*randn(N,1));
plot(nb, 'bo-', 'LineWidth', 2);
grid on;
title('nb');
xlabel('Real Component');
ylabel('Imaginary Component');
Through this I got the different value of hab and nb, but it is not circularly-symmetric gaussian.
1 Comment
Jon
on 3 Oct 2023
Why do you say that it is not circularly symmetric gaussian? How are you checking this and deciding it is not circularly symmetric gaussian?
Accepted Answer
Jon
on 3 Oct 2023
Edited: Jon
on 3 Oct 2023
Using your code and plotting results, qualitatively it looks like you are getting two circularly symmetric distriuted sets of data, what is it that you think isn't working?
N = 1000;
hab = (1/sqrt(2))*(randn(N, 1) +1i*randn(N,1)); %circularly-symmetric Gaussian-distributed and channel coefficient
nb = (1/sqrt(2))*(randn(N, 1) +1i*randn(N,1));
plot(hab,'o'),
xlim([-3,3])
ylim([-3,3])
axis equal
title('hab')
plot(nb,'o')
xlim([-3,3])
ylim([-3,3])
axis equal
title('nb')
4 Comments
More Answers (1)
Image Analyst
on 3 Oct 2023
Not exactly sure what you want, but how about this:
g = fspecial("gaussian", 201, 40); % Create Gaussian intensity pattern.
imshow(g, []); % Display it as an image.
axis('on', 'image') % Turn on axis tick marks and labels.
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!