如何将AWGN添加到信号的I和Q表示中?


16

我有一个要在Matlab中仿真的无线通信系统。我通过稍微调整传输信号的相位来执行一些水印处理。我的仿真采用原始I(同相)和Q(正交)值,并添加水印。然后,在传输之后,我必须模拟最终的误码率。现在,我只需要向信号中添加不同数量的热噪声即可。

由于我将信号表示为其I和Q通道,因此将AWGN(加性高斯白噪声)直接添加到I和Q是最容易的。一种想法是分别向两个通道添加噪声,但是我的直觉告诉我,这与将其整体添加到信号中并不相同。

那么,当它处于这种形式时,如何添加噪音呢?


如果您可以提供所仿真的通信系统的一些详细信息,则可能会有所帮助。
Rajesh Dachiraju

1
我假设您只是为I和Q生成噪声,然后将它们相加。我不明白为什么两者之间会产生噪音。
endlith 2011年

1
@endolith,噪声差异只会出现在混频器中,除了它们应该共享其噪声信号。
2011年

您是说要将其添加到正交多路复用信号中吗?
声子

@phonon,您所说的多路复用是什么意思?
2011年

Answers:


14

是的,你可以添加AWGN方差分别到两个方面,因为2个高斯的总和也是高斯及其方差加起来。这将有同样的效果如添加方差的AWGN 2 σ 2σ22σ2到原始信号。如果您有兴趣,这里还有更多说明。

解析信号可以在它的同相和正交分量被写为x(t)=a(t)sin(2πft+φ(t))

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

其中Q t = a t sin φ t 。如果希望AWGN添加到原始信号为X + Ü ,其中ù Ñμ σ 2I(t)=a(t)cos(φ(t))Q(t)=a(t)sin(φ(t))x(t)+u(t)u(t)N(μ,σ2),然后您可以将AWGN添加到每个条款中,如下所示:

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

其中v(t),w(t)N(μ/2,σ2/2)

Also note that because the in-phase and quadrature terms are additive, the AWGN can also be simply added to either of the two terms in the IQ representation of x(t) above. In otherwords,

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)

are statistically equivalent to y1, although I prefer using y1 because I don't have to keep track of which component has noise added to it.


Since the signal has the noise it seems the noise would show up on both channels with the original magnitude but affected by the mixing process. I would think that the mixing process would affect the noise much more then addition of subtraction by splitting the signal.
Kortuk

1
Of course, if you had noise in the signal to begin with and then split it into its I-Q components, each will have noise associated with it. However, OP is talking about simulating it in MATLAB and he has the I and Q parts separately and wants to know how to add noise to these so as to simulate adding noise to the original signal.
Lorem Ipsum

good answer with lots of details, but fails to concisely answer the basic question -- OP: Ignore your intuition; adding WGN on the real axis with WGN on the imaginary axis results in complex WGN. Remember to scale by 3dB since variance of sum is double that of parts (stdv2 = 1.413 stdv1 )
Mark Borgerding

2
@Yoda, you've got all the data, but you make the reader read through many equations before getting to the answer. I merely suggest putting your bolded part first, then provide the supporting details.
Mark Borgerding

1
@yoda,我读这篇文章时很累。你的回答很机敏。感谢您抽出宝贵的时间!
Kortuk

5

Kellenjb尚未答复Rajesh D和endolith的询问,要弄清楚他到底需要什么并不容易。但是由于我不同意yoda和Mohammad给出的“答案”的某些细节,因此我发布了一个单独的答案,在对Mark Borgerding道歉的情况下,所有有用的东西都出现在所有无聊的方程式之后。

2B at center frequency fcB Hz and can be expressed as

r(t)=I(t)cos(2πfct)Q(t)sin(2πfct)
where I(t) and Q(t) are low-pass signals of bandwidth B Hz and are referred to as the in-phase and quadrature components. Note the difference in signs and terminology from yoda'a writing: this way we can write
r(t)=Re{[I(t)+jQ(t)]ej2πfct}
where I(t)+jQ(t) is the complex baseband signal.

A local oscillator in the receiver generates signals 2cos(2πfct+θ) and 2sin(2πfct+θ) but we assume perfect synchronization for simplicity so that the phase error θ=0. I(t) and Q(t) are recovered through two mixers (multipliers) and low-pass filters:

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.

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! :)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.