Jak dodać AWGN do reprezentacji I i Q sygnału?

16

Mam system komunikacji bezprzewodowej, który symuluję w Matlabie. Wykonuję znak wodny poprzez nieznaczne dostosowanie fazy transmitowanego sygnału. Moja symulacja przyjmuje oryginalne wartości I (fazy) i Q (kwadratury) i dodaje znak wodny. Następnie muszę symulować wynikowy bitowy poziom błędu po przesłaniu. Na razie muszę tylko dodać do sygnału różne ilości szumu termicznego.

Ponieważ mam sygnał reprezentowany jako kanał I i Q, najłatwiej byłoby bezpośrednio dodać AWGN (addytywny biały szum Gaussa) do I i Q. Jedną z myśli było dodanie szumu do obu kanałów niezależnie, ale moja intuicja mówi mi, że to nie to samo, co dodanie go do sygnału jako całości.

Jak mogę dodać do niego hałas, gdy jest w tej formie?

Kellenjb
źródło
być może przydałby się więcej informacji na temat symulowanego systemu komunikacji.
Rajesh Dachiraju,
1
Zakładam, że generujesz szum zarówno dla I, jak i Q, a następnie dodajesz je. Nie rozumiem, dlaczego hałas byłby skorelowany między nimi.
endolith,
1
@endolith, Różnica szumów pojawiłaby się tylko w mikserze, poza tym powinny one dzielić swoje sygnały szumowe.
Kortuk
Czy mówisz, że chciałbyś dodać go do kwadraturowego multipleksowanego sygnału?
Phonon
@ phonon, co masz na myśli przez multipleksowanie?
Kortuk

Odpowiedzi:

14

Tak, możesz dodać AWGN wariancji osobno do każdego z dwóch warunków, ponieważ suma dwóch Gaussów jest również Gaussowcem, a ich wariancje sumują się . Będzie to miało taki sam efekt, jak dodanie AWGN wariancji 2 σ 2 do oryginalnego sygnału. Oto kilka wyjaśnień, jeśli jesteś zainteresowany.σ22σ2

Sygnał analityczny można zapisać w jego składowych fazowych i kwadraturowych jakox(t)=a(t)sin(2πft+φ(t))

x(t)=I(t)sin(2πft)+Q(t)cos(2πft)

gdzie i Q ( t ) = a ( t ) sin ( φ ( t ) ) . Jeśli chcesz dodać AWGN do oryginalnego sygnału jako x ( t ) + u ( t ) , gdzie u ( t ) N ( μ , σ 2I(t)=a(t)cos(φ(t))Q(t)=a(t)sin(φ(t))x(t)+u(t) , możesz dodać AWGN do każdego z warunków jakou(t)N(μ,σ2)

y1(t)=[I(t)sin(2πft)+v(t)]+[Q(t)cos(2πft)+w(t)]

gdzie v(t),w(t)N(μ/2,σ2/2)

Należy również zauważyć, że ponieważ składniki w fazie i kwadratura są addytywne, AWGN można również po prostu dodać do jednego z dwóch składników w reprezentacji dla x ( t ) powyżej. Innymi słowy,IQx(t)

y 3 = [ I ( t ) sin ( 2 π f t ) + u ( t ) ] + Q ( t ) cos

y2=I(t)sin(2πft)+[Q(t)cos(2πft)+u(t)]
y3=[I(t)sin(2πft)+u(t)]+Q(t)cos(2πft)

są statystycznie równoważne z , chociaż wolę używać y 1, ponieważ nie muszę śledzić, który element ma dodane szumy.y1y1

Lorem Ipsum
źródło
Ponieważ sygnał ma szum, wydaje się, że szum pojawiłby się na obu kanałach o pierwotnej wielkości, ale miałby wpływ proces miksowania. Sądzę, że proces miksowania wpłynie na hałas bardziej niż dodanie odejmowania przez podział sygnału.
Kortuk
1
Oczywiście, jeśli na początku miałeś szum w sygnale, a następnie podzieliłeś go na komponenty IQ, każdy z nich będzie miał związany z nim szum. Jednak OP mówi o symulacji w MATLAB-ie, ma osobno części I i Q i chce wiedzieć, jak dodać do nich szum, aby symulować dodanie szumu do oryginalnego sygnału.
Lorem Ipsum
dobra odpowiedź z dużą ilością szczegółów, ale nie zwięźle odpowiada na podstawowe pytanie - OP: Zignoruj ​​swoją intuicję; dodanie WGN na osi rzeczywistej z WGN na osi urojonej powoduje powstanie złożonej WGN. Pamiętaj, aby skali przez 3dB od wariancja sumy jest dwukrotnie większa od części (stdv2 = 1,413 stdv1)
Mark Borgerding
2
@Yoda, masz wszystkie dane, ale zmuszasz czytelnika do przeczytania wielu równań przed uzyskaniem odpowiedzi. Sugeruję jedynie umieszczenie pogrubionej części na pierwszym miejscu, a następnie podać szczegóły pomocnicze.
Mark Borgerding,
1
@yoda, byłem zmęczony, kiedy to przeczytałem. Twoja odpowiedź jest bardzo mądra. Dziękuję Ci za poświęcenie czasu!
Kortuk
5

Kellenjb nie odpowiedział na pytania Rajesha D i endolitu i nie jest łatwo ustalić, czego dokładnie potrzebuje. Ponieważ jednak nie zgadzam się z niektórymi szczegółami Odpowiedzi udzielonymi przez yodę i Mohammada, zamieszczam osobną odpowiedź, w której, z należnymi przeprosinami Marka Borgerdinga, wszystkie przydatne rzeczy pojawiają się na samym końcu po wszystkich nudnych równaniach.

W typowym systemie komunikacyjnym sygnał przychodzący jest sygnałem pasmowoprzepustowym o szerokości pasma przy częstotliwości środkowej f cB Hz i może być wyrażony jako r ( t ) = I ( t ) cos ( 2 π f c t ) - Q ( t ) sin ( 2 π f c t ) gdzie I ( t ) i Q ( t )2BfcB

r(t)=I(t)cos(2πfct)Q(t)sin(2πfct)
I(t)Q(t) dolnoprzepustowe sygnały o szerokości pasma B
r(t)=Re{[I(t)+jQ(t)]ej2πfct}
I(t)+jQ(t)

2cos(2πfct+θ)2sin(2πfct+θ)θ=0I(t) iQ(t) są odzyskiwane przez dwa miksery (multiplikatory) i filtry dolnoprzepustowe:

r(t)[2cos(2πfct)]=I(t)[2cos2(2πfct)]Q(t)[2sin(2πfct)cos(2πfct)]=I(t)+[I(t)cos(2π(2fc)t)Q(t)sin(2π(2fc)t)]r(t)[2sin(2πfct)]=I(t)[2sin(2πfct)cos(2πfct)]+Q(t)[2sin2(2πfct)]=Q(t)+[I(t)sin(2π(2fc)t)Q(t)cos(2π(2fc)t)]
where the double frequency terms (in square brackets) are eliminated by the low-pass filters which we assume to have sufficient bandwidth to pass I(t) and Q(t) without distortion.

Broadband noise is present in the front end of the receiver and the key questions that need to be answered are what happens in an actual receiver, and what must be done to simulate the reality.

  • In an actual system, the net result is that the outputs of the low-pass filters are
    x(t)=I(t)+NI(t)y(t)=Q(t)+NQ(t)
    where NI(t) and NQ(t) are independent zero-mean Gaussian random processes with common variance
    σ2=N02|H(f)|2df
    where H(f) is the common transfer function of the low pass filters. In particular, for each t0, NI(t0) and NQ(t0) are independent zero-mean Gaussian random variables with variance σ2. However, NI(t0) and NI(t1) need not be independent. The SNR can be taken to be the ratio of the signal power in I(t) and Q(t) to the noise variance.
  • In a quadrature down-sampling system or in a MATLAB simulation wishing to capture every nuance, "r(t)+  noise" is sampled M times each cycle of the RF carrier at fc Hz, and so the m-th sample is
    r[m]=r(m/Mfc)+N[m]=I(m/Mfc)cos(2π(m/M))Q(m/Mfc)sin(2π(m/M))+N[m]
    where the N[m]'s zero-mean Gaussian random variables with common variance whose value depends on the SNR. These can be tracked through the mixers and the low-pass filters during the detailed simulation.
  • I do not recommend adding noise between the mixer outputs and the low-pass filter units. While there is noise introduced at that stage, this is typically overwhelmed by the noise from the front end that is coming through the mixers.
  • In some systems, A/D conversion is done at the output of the low pass filters. If more filtering is to be done (e.g. matched filtering), the sampling will typically be at a higher rate than B1 or the inverse of the filter bandwidth. If noise is introduced at this stage, then for each m, NI[m] and NQ[m] should be taken to be independent zero-mean Gaussian random variables, but whether NI[m] and NI[m+i] are independent or not requires a lot of thought and analysis, and details that are known to Kellenjb but not to us.
Dilip Sarwate
źródło
Thanks, Dilip. Nice detailed, practically-focused answer.
Jason R
-2

Kellenjb,

The noise in both the I and Q are not in fact going to be gaussian. In fact they are going to originate from the same original noise vector. This is because there was only one noise vector to begin with at the receiver. So what is happening, is your signal comes into the receiver, where AWGN is added of course. Soon afterwards though, the receiver is going to project that (signal + noise) onto a sin basis, and onto a cosine basis, thereby giving you your I and Q components.

So now the noise in either branch is no longer gaussian, but are in fact, the product of a sin basis times orignal noise vector, and product of cosine basis times original noise vector.

The way I would recommend to simulate this, (are you doing all of this in baseband?), is to simply construct a sin and cosine basis, and simply multiply against (signal+noise), where 'signal' is your original signal of course, and then of course take it down to baseband after that. In fact once you filter for taking it down to baseband, your noise vectors are going to be non-white, and non-gaussian.

Hope this helps! :)

Spacey
źródło