quinta-feira, 19 de março de 2020
Relação sinal ruído de quantização
Conceitos importantes
* Relação sinal-ruído ou razão sinal-ruído (frequentemente abreviada por S/N ou SNR, do inglês, signal-to-noise ratio e RSR em português) é um conceito de telecomunicações, usado em diversos campos como ciência e engenharia que envolvem medidas de um sinal em meio ruidoso, definido como a razão da potência de um sinal e a potência do ruído sobreposto ao sinal, geralmente expressa em Decibel.
\[ SNR = \frac{P_s}{P_n}\] \[ SNR_{dB} = 10 log_{10}(P_s/P_n) \]
* Amostragem. Para ser digitalizado, um sinal analógico deve ser primeiro amostrado. A taxa de amostragem mínima deve ser maior que duas vezes a maior frequência do sinal.
* Aliasing. Se a taxa de amostragem for baixa, ocorre o fenômeno de aliasing.
* Quantização. A diferença entre o sinal analógico original e sua versão quantizada é chamada de erro ou ruído de quantização. Quanto menos bits usamos na quantização, mais grosseira ela fica, e portanto mais ruído de quantização é adicionado.
Exemplo. O exemplo abaixo mostra principalmente o efeito do número de bits na relação sinal-ruído de quantização. Neste exemplo é usada uma taxa de amostragem superior a taxa de Nyquist.
Código Scilab:
/// Conversor AD: amostragem, número de bits
/// e relação sinal-ruído de quantização
/// Prof. Francisco Aquino.
/// 19/03/2020
/// Constantes de inícialização do código
xdel(winsid());
clear; clc;
p2 = 2*%pi; // 2 "pi"
Nb = 4; // Número de bits
N2 = 2^(Nb-1); // 1 bit sinal
/// Sinal "contínuo" no tempo:
t = 0:0.01:4; /// "tempo"
s = sin(p2*t) + 0.5*cos(2.5*p2*t);
s = s/max(abs(s)); // s normalizado
figure; plot(t,s);
title('Sinal no tempo');
/// Amostragem
sa = s(1:5:$); // amostragem do sinal
figure; bar(sa,0.15); plot(s(1:5:$),'--');
title('Amostras do sinal');
/// Quantização:
saq = round(sa*N2)/N2; // sinal quantizado
/// Erro de quantização:
eq = sa - saq;
figure; bar(eq,0.15);
title('Erros de quantização');
veq = variance(eq);
vveq = [veq];
for k=5:10
Nb = k; // Número de bits
N2 = 2^(Nb-1); // 1 bit sinal
saq = round(sa*N2)/N2; // sinal quantizado
eq = sa - saq;
veq = variance(eq);
vveq = [vveq, veq]
end
vs = variance(s);
veqdb = 10*log10(vs./vveq);
vb = 4:10; // bits
figure; plot(vb,veqdb,'-*');
title('SNRQ dB');
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário