apresentação do tio davi
DESCRIPTION
DSP LABTRANSCRIPT
LAB 9 – Representação de números e quantização
de formas de ondaPPGEE – Processamento de Sinais Digitais
Davi Alberto SalaEduardo Spieler
Introdução
• Este laboratório apresenta dois importantes conceitos:• Como números são armazenados na memória• Quantização
• Quantização de imagens• Quantização de áudio• Erros de quantização• Como diferentes níveis de quantização afetam a qualidade do sinal
Tipos de representação: Ponto fixo
• sign-magnitudeO valor +27 pode ser representado como: 0 0 0 1 1 0 1 1
O valor −27 pode ser representado como: 1 0 0 1 1 0 1 1
• complemento de um O valor +27: 0 0 0 1 1 0 1 1O valor -27: 1 1 1 0 0 1 0 0
• complemento de dois
1 0 0 0 0 0 0 0 0− 0 0 0 1 1 0 1 1= 1 1 1 0 0 1 0 1 (-27)
1 0 0 0 0 0 0 0 0 − 1 0 0 0 0 0 0 0= 1 0 0 0 0 0 0 0 (-128)
Tipos de representação: Ponto flutuante
• A notação em ponto flutuante é usada geralmente para representar uma faixa muito larga de números.• Um número em ponto flutuante, F, possui duas partes: a mantissa, M,
e um expoente, E.
• Ex:
𝐹=𝑀∗2𝐸
9∗10−31 2∗1030
Quantização
• Quantização é o ato de aproximar o valor de um sinal ou quantidade para certos níveis discretos.
• Um mapeamento funcional y = f (x) de um valor real de entrada para um valor discreto de saída.
• Compressão:[0 31 63 95 159 191 223 255][000 001 ... 111]
Quantização de imagens
function [ Y ] = Uquant( X,N )
maximo = max(max(X));minimo = min(min(X));delta = (maximo - minimo)/(N-1); Y = (X - minimo)/delta;Y = round(Y);Y = Y * delta;Y = Y + minimo;
end
Quantização de imagens
• Descreva os erros que surgem com a diminuição do número de bits:
• Tente identificar o número de b/px no qual a imagem notoriamente deteriora:
• Compare as imagens em relação a original.
Quantização de imagens
1 bit 2 bits 3 bits 4 bits
5 bits 6 bits 7 bits Original
Quantização de áudio
• Descreva as mudanças de qualidade nos sinais com a redução do número de bits por amostra.• Existe um ponto, no qual a qualidade do sinal é deteriorada
drasticamente?• Qual dos sinais tem sua qualidade deteriorada primeiro com a
diminuição do número de níveis?• Você acredita que 4 bits por amostra é aceitável para sistemas de
telefonia? ... 2 bits por amostra?
Music.au
Original
1 bit
2 bits
4 bits
7 bits
Speech.au
Original
1 bit
2 bits
4 bits
7 bits
Análise de erro
• Para um sinal original X, e o sinal quantizado Y, pode-se definir o erro como E = X-Y
• Um modelo estatístico comum para erro é uma distribuição normal entre –Δ/2 e + Δ/2
• Use o comando hist(E,20) para gerar o histograma com 20 espaçamentos para cada um dos sinais.
Análise de erro
• Explique porque os histogramas de erros obtidos podem não ser uniformes
1 bit
2 bits
4 bits
7 bits
Análise de erro
-correlação do sinal de erro
1 bit
2 bits
4 bits
7 bits
xcorr(E,200,'unbiased'); xcorr(E,Y,200,'unbiased');
Análise de erro
A correlação é influenciada pelo número de níveis de quantização? As amostras no sinal de erro parecem estar correlacionadas umas com as outras?
O número de níveis de quantização influencia a correlação cruzada?
Relação Sinal Ruído
• Uma maneira de medir a qualidade do sinal é pela relação das potências de sinal-ruído (PSNR)
• Calcule o PSNR para os 4 sinais amostrados anteriormente
Relação Sinal Ruído
• Distorção=
• Taxa de bits = Qtd de níveis de quantização x taxa de amostragem
• 7bits/amostra * 8000 amostras/seg = 56kbps
Distorção do sinal versus taxa de bits.
Quantizador Max
• Produz menos ruído para um numero fixo de níveis de quantização. • Ex: a faixa de entrada de [-1; +1], mas a maioria do sinal tem os seus
valores entre [-0,2; +0,2].
Quantizador Max
• O quantizador max determina os níveis de quantização baseado na função densidade de probabilidade do conjunto de dados f(x), e o número de níveis desejados N. Ele minimiza o erro médio quadrado entre o sinal original e o sinal quantizado.
Quantizador Max
0 5 10 15 20 25 30 35 400
2000
4000
6000
8000
10000
12000
Histograma do sinal speech.au
Quantizador Max = 4 Níveis (2bits)
4 Níveis de quantização escolhidos
Min: -0.73Max: 0.79 Valores centrais = [8.5 18.5 21.5 31.5]
initcodebook = [-0.407 -0.027 0.087 0.467]
initcodebook = [-0.407 -0.027 0.087 0.467];
[partition,codebook] = lloyds(X,initcodebook);
partition =
-0.1103 0.0667 0.2446
codebook =
-0.2235 0.0028 0.1306 0.3587
Quantizador Max = 4 Níveis (2bits)
Sinal original
Uquant
QuantMax
Sinais entre as amostras 7001 e 7400
Quantizador Max = 4 Níveis (2bits)
PSNRuQuant =
1.5678
PSNRqtMax =
4.9583
Quantizador Max = 16 Níveis (4bits)
[partition,codebook] = lloyds(X,2^4);
[index,quants,distor] = quantiz(X,partition,codebook);
codebook =
-0.6641 -0.5066 -0.4118 -0.3123 -0.2191 -0.1324 -0.0581 0.0094 0.0638 0.1412 0.2345 0.3306 0.4236 0.5227 0.6345 0.7400
Quantizador Max = 16 Níveis (4bits)
Sinal original
Uquant
QuantMax
Quantizador Max = 16 Níveis (4bits)
PSNRuQuant =
18.4206
PSNRqtMax =
45.5148