Skip to content

Noise

__init__(snr=15)

Implementação de canal para aplicação de ruido \(AWGN\), com base em \(SNR\).

Parameters:

Name Type Description Default
snr float

Relação sinal-ruído em decibéis (dB).

15
Exemplo

pageplot

add_noise(signal)

Adiciona ruído AWGN \(n(t)\) ao sinal de entrada \(s(t)\), com base na \(\mathrm{SNR}_{dB}\) definida na inicialização.

\[ r(t) = s(t) + n(t), \qquad n(t) \sim \mathcal{N}(0, \sigma^2) \]
Sendo
  • \(r(t)\): Sinal retornado com ruído AWGN adicionado.
  • \(s(t)\): Sinal de entrada sem ruído.
  • \(n(t)\): Ruído adicionado, com distribuição normal \(\mathcal{N}(0, \sigma^2)\).

A variância do ruído \(\sigma^2\) é dada por:

\[ \sigma^2 = \frac{\mathbb{E}\!\left[ |s(t)|^2 \right]}{10^{\frac{\mathrm{SNR}_{dB}}{10}}} \]
Sendo
  • \(\sigma^2\): A variância do ruído.
  • \(\mathbb{E}\!\left[ |s(t)|^2 \right]\): Potência média do sinal de entrada.
  • \(\mathrm{SNR}_{dB}\): Relação sinal-ruído em decibéis (dB).

Parameters:

Name Type Description Default
signal ndarray

Sinal transmitido \(s(t)\).

required

Returns:

Name Type Description
signal ndarray

Sinal \(r(t)\), com ruído AWGN adicionado.

Exemplo

pageplot

__init__(ebn0_db=10, fs=128000, Rb=400)

Implementação de canal para aplicação de ruido \(AWGN\), com base em \(Eb/N_{0}\).

Parameters:

Name Type Description Default
ebn0_db float

Valor alvo de \(Eb/N_{0}\) em \(dB\)

10
fs int

Taxa de amostragem do sinal em \(Hz\).

128000
Rb int

Taxa de bits em bits/s.

400

add_noise(signal)

Adiciona ruído AWGN $n(t) ao sinal de entrada $s(t), com base na \(Eb/N0_{dB}\) definida na inicialização.

\[ r(t) = s(t) + n(t), \qquad n(t) \sim \mathcal{N}(0, \sigma^2) \]
Sendo
  • \(r(t)\): Sinal retornado com ruído AWGN adicionado.
  • \(s(t)\): Sinal de entrada sem ruído.
  • \(n(t)\): Ruído adicionado, com distribuição normal \(\mathcal{N}(0, \sigma^2)\).

A variância do ruído \(\sigma^2\) é dada por:

\[ \sigma^2 = \frac{N_0 \cdot f_s}{2} \]
Sendo
  • \(\sigma^2\): A variância do ruído.
  • \(N_0\): Densidade espectral de ruído.
  • \(f_s\): Taxa de amostragem do sinal em \(Hz\).

A densidade espectral de ruído \(N_0\) é dada por:

\[ N_0 = \frac{\mathbb{E}\!\left[ |s(t)|^2 \right]}{R_b \cdot 10^{\frac{Eb/N_0}{10}}} \]
Sendo
  • \(N_0\): Densidade espectral de ruído.
  • \(\mathbb{E}\!\left[ |s(t)|^2 \right]\): Potência média do sinal amostrado.
  • \(R_b\): Taxa de bits em bits/s.
  • \(Eb/N_0\): Relação \(dB\) da energia por bit \(E_b\) por densidade espectral de ruído \(N_0\) dada na inicialização.

Parameters:

Name Type Description Default
signal ndarray

Sinal transmitido \(s(t)\).

required

Returns:

Name Type Description
signal ndarray

Sinal recebido \(r(t)\), com ruído AWGN adicionado.

Exemplo

pageplot

Referência:

Digital communications / John G. Proakis, Masoud Salehi.—5th ed. (pg. 283)

https://rwnobrega.page/posts/snr/