How to make a random circularly-symmetric gaussian distributed additive noise component with mean 0 and variance (sigma^2)/2?

17 Ansichten (letzte 30 Tage)
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 Kommentar
Jon
Jon am 3 Okt. 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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jon
Jon am 3 Okt. 2023
Bearbeitet: Jon am 3 Okt. 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 Kommentare

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 3 Okt. 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.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by