Você está na página 1de 26

LAB 9 Representao de

nmeros e quantizao de
formas de onda
PPGEE Processamento de Sinais Digitais
Davi Alberto Sala
Eduardo Spieler

Introduo
Este laboratrio apresenta dois importantes conceitos:
Como nmeros so armazenados na memria
Quantizao

Quantizao de imagens
Quantizao de udio
Erros de quantizao
Como diferentes nveis de quantizao afetam a
qualidade do sinal

Tipos de representao: Ponto


fixo

sign-magnitude

O 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 1
O valor -27: 1 1 1 0 0 1 0 0

complemento de dois

100000000
10000000
100000000
= 10000000
00011011
= 1 1 1 0 0 1 0 1 (-27) (-128)

Tipos de representao: Ponto


flutuante
A notao em ponto flutuante usada geralmente para
representar uma faixa muito larga de nmeros.
Um nmero em ponto flutuante, F, possui duas partes: a
mantissa, M, e um expoente, E.

Ex:

Quantizao
Quantizao o ato de aproximar o valor de um sinal
ou quantidade para certos nveis discretos.
Um mapeamento funcional y = f (x) de um valor real de
entrada para um valor discreto de sada.
Compresso:
[0 31 63 95 159 191 223 255]
[000 001 ... 111]

Quantizao de imagens
function [ Y ] =
Uquant( X,N )
maximo = max(max(X));
minimo = min(min(X));
delta = (maximo - minimo)/
(N-1);
Y
Y
Y
Y

end

=
=
=
=

(X - minimo)/delta;
round(Y);
Y * delta;
Y + minimo;

Quantizao de imagens
Descreva os erros que surgem com a diminuio do
nmero de bits:
Tente identificar o nmero de b/px no qual a imagem
notoriamente deteriora:
Compare as imagens em relao a original.

Quantizao de imagens

1 bit

2 bits

3 bits

4 bits

5 bits

6 bits

7 bits

Original

Quantizao de udio
Descreva as mudanas de qualidade nos sinais com a
reduo do nmero 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 diminuio do nmero de nveis?
Voc acredita que 4 bits por amostra aceitvel para
sistemas de telefonia? ... 2 bits por amostra?

Music.au
Origin
al
1 bit
2 bits
4 bits
7 bits

Speech.au
Origin
al
1 bit
2 bits
4 bits
7 bits

Anlise de erro
Para um sinal original X, e o sinal quantizado Y, pode-se
definir o erro como E = X-Y
Um modelo estatstico comum para erro uma
distribuio normal entre /2 e + /2
Use o comando hist(E,20) para gerar o histograma com
20 espaamentos para cada um dos sinais.

Anlise de erro
Explique porque os histogramas de erros obtidos podem
no ser uniformes
1 bit

2 bits

4 bits

7 bits

Anlise de erro
-correlao do sinal de erro
1 bit

2 bits

4 bits

7 bits
xcorr(E,200,'unbiased');

xcorr(E,Y,200,'unbiased');

Anlise de erro
A correlao influenciada pelo nmero de nveis de
quantizao? As amostras no sinal de erro parecem estar
correlacionadas umas com as outras?
O nmero de nveis de quantizao influencia a
correlao cruzada?

Relao Sinal Rudo


Uma maneira de medir a qualidade do sinal pela
relao das potncias de sinal-rudo (PSNR)

Calcule o PSNR para os 4 sinais amostrados


anteriormente

Relao Sinal Rudo


Distoro do sinal versus taxa
de bits.

Distoro=
Taxa de bits = Qtd de nveis
de quantizao x taxa de
amostragem
7bits/amostra * 8000
amostras/seg = 56kbps

Quantizador Max
Produz menos rudo para um numero fixo de nveis de
quantizao.
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 nveis de
quantizao baseado na funo densidade de
probabilidade do conjunto de dados f(x), e o nmero
de nveis desejados N. Ele minimiza o erro mdio
quadrado entre o sinal original e o sinal quantizado.

Quantizador Max
Histograma do sinal speech.au
12000

10000

8000

6000

4000

2000

10

15

20

25

30

35

40

Quantizador Max = 4 Nveis


(2bits)

4 Nveis de quantizao escolhidos

initcodebook = [-0.407 -0.027 0.087 0.467];


[partition,codebook] = lloyds(X,initcodebook);

partition =
-0.1103

0.0667

0.2446

0.0028

0.1306

codebook =
-0.2235

Min:
-0.73
Max:
0.79

Valores centrais = [8.5 18.5


21.5 31.5]
initcodebook = [-0.407 -0.027
0.087 0.467]

0.3587

Quantizador Max = 4 Nveis


(2bits)
Sinais entre as amostras 7001 e 7400
Sinal
original

Uquant

QuantMax

Quantizador Max = 4 Nveis


(2bits)
PSNRuQuant =
1.5678
PSNRqtMax =
4.9583

Quantizador Max = 16 Nveis


(4bits)
[partition,codebook] = lloyds(X,2^4);
[index,quants,distor] = quantiz(X,partition,codebook);
codebook =
-0.6641
-0.1324
0.2345
0.7400

-0.5066
-0.0581
0.3306

-0.4118
0.0094
0.4236

-0.3123
0.0638
0.5227

-0.2191
0.1412
0.6345

Quantizador Max = 16 Nveis


(4bits)
Sinal
original

Uquant

QuantMax

Quantizador Max = 16 Nveis


(4bits)
PSNRuQuant =
18.4206
PSNRqtMax =
45.5148