Как добавить AWGN к I и Q представлению сигнала?

16

У меня есть система беспроводной связи, которую я моделирую в Matlab. Я делаю некоторые водяные знаки, немного настраивая фазу передаваемого сигнала. Мое моделирование берет исходные значения I (синфазные) и Q (квадратурные) и добавляет водяной знак. Затем мне нужно смоделировать результирующую частоту ошибок по битам после передачи. На данный момент мне просто нужно добавить различные значения теплового шума в сигнал.

Поскольку у меня есть сигнал, представленный как его I и Q канал, было бы проще всего добавить AWGN (аддитивный белый гауссов шум) непосредственно к I и Q. Одна мысль состояла в том, чтобы добавить шум к обоим каналам независимо, но моя интуиция подсказывает мне, что это не то же самое, что добавить его к сигналу в целом.

Так как я могу добавить к нему шум, когда он находится в этой форме?

Kellenjb
источник
возможно, это могло бы быть более полезным, если бы вы могли дать некоторые детали системы связи, которую вы моделируете.
Раджеш Дачираю
1
Я предполагаю, что вы просто генерируете шум для I и Q, а затем добавляете их. Я не понимаю, почему шум будет коррелировать между ними.
эндолит
1
@endolith, Разница шумов будет появляться только в микшере, кроме того, что они должны делиться своими шумовыми сигналами.
Кортук
Вы говорите, что хотите добавить его в квадратурный мультиплексированный сигнал?
Фонон
@phonon, что ты имеешь в виду под мультиплексированием?
Кортук

Ответы:

14

Да, вы можете добавить AWGN дисперсии отдельно к каждому из двух слагаемых, потому что сумма двух гауссианов также является гауссовой, и их дисперсии складываются . Это будет иметь тот же эффект, что и добавление 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 ( t ) + u ( t ) , где u ( t ) N ( μ , σ 2I(t)=a(t)cos(φ(t))Q(t)=a(t)sin(φ(t))x(t)+u(t) , то вы можете добавить AWGN к каждому изu(t)N(μ,σ2)

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

где v(t),w(t)N(μ/2,σ2/2)

Также отметим, что, поскольку синфазные и квадратурные члены являются аддитивными, СРГС также может быть просто добавлен к любому из двух членов в представлении для x ( t ) выше. Другими словами,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)

статистически эквивалентны , хотя я предпочитаю использовать y 1, потому что мне не нужно отслеживать, к какому компоненту добавлен шум.y1y1

Лорем Ипсум
источник
Поскольку сигнал имеет шум, кажется, что шум будет отображаться в обоих каналах с первоначальной величиной, но на него влияет процесс микширования. Я думаю, что процесс микширования будет влиять на шум гораздо больше, чем сложение вычитания путем разделения сигнала.
Кортук
1
Конечно, если у вас был шум в сигнале с самого начала, а затем разбили его на составляющие IQ, с каждым из них будет связан шум. Тем не менее, OP говорит об имитации его в MATLAB, и у него есть части I и Q по отдельности, и он хочет знать, как добавить к ним шум, чтобы имитировать добавление шума к исходному сигналу.
Lorem Ipsum
хороший ответ с большим количеством деталей, но не в состоянии кратко ответить на основной вопрос - OP: игнорировать вашу интуицию; добавление WGN на действительной оси с WGN на мнимой оси приводит к сложному WGN. Не забывайте масштабировать на 3 дБ, так как дисперсия суммы в два раза больше, чем дисперсия частей (stdv2 = 1.413 stdv1)
Марк Боргердинг
2
@Yoda, у вас есть все данные, но вы заставляете читателя прочитать многие уравнения, прежде чем получить ответ. Я просто предлагаю сначала поставить свою жирную часть, а затем предоставить подтверждающие детали.
Марк Боргердинг
1
@yoda, я устал, когда читал это. Ваш ответ очень проницательный. Спасибо, что нашли время!
Кортук
5

Келленджб не ответил на запросы Раджеша Д и Эндолита, и нелегко понять, что именно ему нужно. Но так как я не согласен с некоторыми деталями Ответов, данных Йодой и Мухаммедом, я публикую отдельный ответ, в котором с должными извинениями перед Марком Боргердингом все полезные вещи появляются в самом конце после всех скучных уравнений.

2BfcB

r(t)=I(t)cos(2πfct)Q(t)sin(2πfct)
I(t)Q(t)B
r(t)=Re{[I(t)+jQ(t)]ej2πfct}
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.
Dilip Sarwate
источник
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
источник