필터 지우기
필터 지우기

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

조회 수: 26 (최근 30일)
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
Jon
Jon 2023년 10월 3일
Why do you say that it is not circularly symmetric gaussian? How are you checking this and deciding it is not circularly symmetric gaussian?

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

채택된 답변

Jon
Jon 2023년 10월 3일
편집: Jon 2023년 10월 3일
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

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

추가 답변 (1개)

Image Analyst
Image Analyst 2023년 10월 3일
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.

제품

Community Treasure Hunt

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

Start Hunting!

Translated by