-
O primeiro conversor que parte
do sinal analógico para o digital
-
possui três etapas: amostragem,
quantização e codificação.
-
Vamos começar falando
da amostragem.
-
Aqui no gráfico, você
tem um sinal contínuo,
-
esse sinal é chamado
de senoidal,
-
porque ele sobe e desce
continuamente
-
entre dois picos de amplitude,
de valores iguais, inclusive,
-
+10 e -10.
-
Esse sinal também é
considerado contínuo
-
porque qualquer intervalo de tempo
que você considerar aqui no eixo X,
-
seja ele na base
milésima ou milionésima,
-
você vai ter o respectivo valor
da amplitude aqui no eixo Y.
-
Isso significa que esse sinal
analógico possui infinitos valores
-
entre dois pontos quaisquer
que você considerar.
-
A questão aqui é que para eu
passar esse sinal para dentro
-
do microcontrolador, eu preciso
fazer algumas escolhas.
-
A primeira delas é de quanto
em quanto tempo
-
nós vamos tirar uma foto
dos picos desse sinal
-
em amarelo, laranja,
que você está vendo aqui.
-
Esse processo de tirar as fotos
de intervalos iguais, ou seja,
-
eu tenho uma cadência definida
-
que eu posso começar aqui
do primeiro pontinho, 0,
-
do 0, 0, valendo 0,
-
ou qualquer outro momento
inicial que eu queira,
-
mas a partir daí eu vou respeitar
um intervalo subsequente,
-
e essa quantidade de intervalos,
essa distância entre os intervalos,
-
vai definir a qualidade
da amostragem.
-
Então, como o próprio nome fala,
amostrar significa pegar amostras
-
e, nesse caso, nós vamos pegar
os picos que a amostra tirar.
-
Então, vamos
para um exemplo aqui.
-
Entre 10 e 20 segundos,
no 15, eu tenho o valor máximo,
-
que é de 10,
amplitude de 10.
-
Então, nesse instante
de 15 segundos,
-
se a amostra coincidir
de ser pega nesse momento,
-
eu vou guardar
o número 10.
-
Vamos imaginar o número 5,
onde é que ele está aqui?
-
Ele está um pouco para a metade
da direita, entre o 0 e o 10,
-
então, provavelmente, ele
está aqui nos 6 segundos,
-
então eu vou guardar o 5.
-
E vamos supor que, entre
o intervalo de 6 até o 15,
-
eu não queira amostrar
mais o meu sinal,
-
o que acontece com todos
esses valores entre o 5 e o 10?
-
Eles são descartados,
portanto, essa primeira decisão
-
de decidir de quanto em quanto
tempo você vai tirar amostras
-
é o primeiro passo importante
para reconstituir esse sinal
-
ao longo da conversão
de digital para analógico,
-
que vai ser a segunda etapa que nós
vamos explicar, daqui a pouco.
-
Ou seja, se você fizer
as escolhas erradas agora,
-
você nunca mais vai conseguir
reconstituir esse sinal bonitinho
-
como ele está aqui na tela,
ele vai ficar meio triangulado,
-
com baixa definição e, às vezes,
até perderá o seu formato senoidal
-
como está aqui, mais
arredondado nos picos.
-
Essa etapa importante
-
da conversão de analógico
para digital, chamada amostragem,
-
segue uma regra
chama teorema de Nyquist.
-
Shannon.
-
Esse teorema define que
-
a quantidade de fotos necessárias
-
para que eu possa
reconstituir o sinal
-
quando eu for convertê lo de digital
para analógica
-
deve ser pelo menos
a metade do período.
-
Ou seja, se o sinal tem um segundo
de duração de período,
-
cada foto
tem que acontecer em meio segundo,
-
ou seja, menos
da metade ou da metade pra trás.
-
Se você quiser tirar mais fotos
-
no mesmo intervalo,
ou seja, um no mesmo período,
-
você vai ter que ter menos de meio
segundo.
-
Por exemplo, quero tirar três fotos
em um segundo, então
-
0,3 eu tiro uma foto, outro 0,3.
-
Eu tiro outra foto
e a terceira foto no 0,3 ou zero
-
três três três,
que é uma dízima periódica.
-
Se você pegar então um
e dividir por três
-
a cada 0,33 segundos,
eu devo tirar uma foto.
-
A questão é
se isso é suficiente para você
-
que está fazendo o projeto
ou fazendo uma solução.
-
Quanto menos fotos você tirar,
porém está dentro
-
do teorema de Naked, menos qualidade
você tem.
-
Mas ainda assim vai ser possível
recuperar o sinal analógico.
-
E quanto mais fotos você tira,
mais memória você vai gastar.
-
Então, esse balanço entre qualidade
-
e capacidade de recuperação
do sinal analógico lá na frente
-
é a decisão
-
mais importante que o desenvolvedor
precisa tirar nesse processo.
-
Os chips mais modernos
-
permitem que o desenvolvedor defina
a quantidade de fotos por segundo.
-
Outros chips não permitem.
-
É o caso do SP 32.
-
Ele não vai deixar você
mexer na taxa de amostragem.
-
Ele vai tirar uma quantidade
-
fixa das fotos
-
e que vai atender tranquilamente
as suas necessidades lá na frente.
-
Quando for desfazer esse
sinal de digital para analógico.
-
Mas quando você trabalha
com a parte de áudio,
-
os gravadores possuem
taxa de amostragem.
-
Você pode reparar aí
no gravador de microfone
-
ou gravador de vídeo
a taxa de amostragem
-
e sobre isso
é a quantidade de fotos que eu tiro
-
por segundo para eu poder recuperar
essa qualidade lá na frente.
-
Vejamos a próxima etapa,
que é a parte de quantização,
-
ou seja, como que ficam esses picos?
-
Depois que eu mostrei
-
esse gráfico
que você está vendo na tela,
-
o resultado da amostragem
a gente chama isso aqui de raias.
-
As raias foram retiradas
do sinal analógico.
-
Percebe aqui que eu tenho zero.
-
Depois eu fui para o dez,
-
voltei para o zero, depois para -10
e assim sucessivamente.
-
Você é capaz de reconstituir esse
sinal aqui como sendo uma senóide?
-
Ou seja, se você ligar os pontos
-
em Cruz Vermelha,
eu vou ter uma senóide?
-
Lógico que não,
-
porque se você ligar de uma forma
bem rudimentar os pontos,
-
você vai acabar tendo triângulos
subindo e descendo mais que
-
de uma certa forma
lembram o sinal senoidal.
-
Então essa amostragem
ela está dentro dos requisitos,
-
porém
eu perdi a qualidade da informação.
-
Eu vou ter uma senóide,
porém não na mesma qualidade
-
do que era na tela anterior.
-
Essa amostragem
ela foi inclusive arredondada
-
para os degraus conhecidos, ou seja,
nesse caso aqui
-
eu tenho o degrau 05h10
positivos e -5 e -10 negativos.
-
Todos os outros itens ou amostras
-
que tinham ao longo entre 0 e 10
foram descartados.
-
Por isso que a qualidade dessa
senóide é considerada baixa.
-
Porém, ainda assim é uma informação
que dá para trabalhar.
-
Vejamos um próximo gráfico.
-
Nesse
-
gráfico eu tenho mais amostras
retiradas.
-
Agora perceba que eu continuo
arredondando os picos entre 5 e 10,
-
porém surgiu uma componente
nova aqui, em torno de sete
-
sete positiva.
-
Se você imaginar uma linha reta aqui
cruzando esses CIS.
-
Em segundo lugar, ele vai estar aqui
passando em torno dos sete.
-
A mesma coisa aqui em baixo,
em torno do -7.
-
Esses pontos
aqui ao serem interligados,
-
você concorda
que eles estão mais fidedignos
-
em relação ao sinal analógico
original?
-
Sim, pode ter certeza que sim.
-
Então essa amostragem está melhor.
-
É a quantização Ainda está ruim
-
porque o cinco eu tenho o valor.
-
Percebe que eu tenho uma linha cinco
e tem uma linha no dez
-
e essa imaginária que eu pedi para
você pensar é, mas ela não existe.
-
Então esses pontos que estão aqui
no meio, entre 5 e 10
-
serão arredondados para o dez,
forçando
-
então uma amplitude que não existe.
-
Ou seja, originalmente ela estava
no sete, teve que ir para o dez.
-
A diferença do sete para o dez
chama se erro de quantização
-
e esse erro de quantização
é possível ser ouvido
-
dependendo da maneira
-
ou da quantidade de amplitude
que foi arredondada.
-
Você consegue ouvir
-
em forma de ruído
junto com o áudio que você gravou.
-
Vejamos agora uma maneira de você
entender mais ainda a quantização.
-
Eu vou trazer para você
um gráfico que possui mais elementos
-
entre o cinco e o dez.
-
Nessa tela, entre o 05h10
-
eu não vou ter aquele valor no meio
-
que está em torno de sete, meio oito
está com cara de ser mais um oito.
-
Esse oito quando ele for quantizado
-
ele vai ter que ser arredondado
para o dez por por que esse X
-
está mais próximo do dez
do que do cinco?
-
Todas as vezes que um X
ou uma amostra de pico
-
cair bem
no meio do caminho, ou seja,
-
bem no meio do limiar de decisão,
ele sempre arredondado para cima,
-
é que nem uma nota de sete meio,
uma nota de sete meio.
-
Ela é arredondada.
-
Se eu tiver
que trabalhar com uma casa só,
-
ela vai ser arredondada para oito.
-
Isso é uma convenção internacional.
-
O que você está vendo nesse gráfico?
-
Então, aqui
é uma perda de amplitude.
-
Eu vou ter que arredondar esse 7008
-
aqui que a gente
ainda não tem certeza
-
exatamente em que ponto ele caiu,
-
mas ele vai ter que ser arredondado
para dez.
-
E essa diferença entre
a amplitude real para a amplitude
-
que eu vou ter que forçar
ele ir chama se erro de quantização,
-
dependendo desse tamanho de erro
aqui, se ele for alguns milivolts
-
é possível ouvi lo. Numa gravação.
-
Você vai ouvir uma música
e um chiado
-
parecendo um chiado de microfone
com mau contato.
-
Isso graças
-
ao erro de quantização
que foi inserido aqui
-
no processo de quantização,
-
já que nós
não temos outra alternativa
-
a não ser o zero e O510 para
representar os picos das amostras.
-
Num próximo gráfico
você vai verificar
-
uma quantização
um pouco mais refinada,
-
onde eu vou colocar novos elementos
entre o zero e o dez.
-
Observando esse
gráfico, agora que eu estou com três
-
bytes, eu já vou explicar
o que significa esses três bits.
-
Eu agora acrescentei esse elemento
aqui, então antes ele não existia
-
e ele está aqui no sete meio,
portanto, aquele oito
-
que nós tínhamos como amostra,
ao invés de ir para o dez,
-
ele teria que andar dois degraus
ou duas unidades.
-
O oito tinha que pular para nove
e chegar no dez.
-
Ele vai ser arredondado para baixo
para o sete meio porque está mais
-
perto, oito está mais perto de sete
meio do que do dez.
-
Então o computador dele
decide fazer esses arredondamento.
-
Agora o que eu tenho todos os
os x verdes são as amplitudes
-
arredondadas
pelo processo de quantização.
-
Note que agora
eu vou ter um erro de quantização
-
um pouquinho melhor para as amostras
aqui do meio. Ok?
-
Note que a amostra do meio
foi arredondada para baixo.
-
Ela perdeu o valor de
dez que antes eu tinha.
-
E por que isso aconteceu?
-
Porque eu estou trabalhando com três
bits.
-
Três bits tem oito degraus.
-
Vamos contar.
-
Eu tenho aqui o primeiro azul
e um degrau,
-
depois o segundo azul,
o segundo degrau, o terceiro quarto.
-
O quinto conta no zero, ou sexto,
ou sétimo e o oitavo.
-
Então é só você
fazer dois, que é a base binária
-
elevado a três dá oito,
então mais dez
-
não tem representação
na nossa quantização.
-
Moral da história
todos os valores para cima de 7000
-
serão arredondados para esse teto,
-
criando assim um erro de quantização
-
até mais considerável
para essa amostra do meio.
-
Até que as amostras das laterais
não sofreram tanto
-
como sofreram no caso anterior.
-
Nesse caso,
eu resolvi as amostras laterais,
-
mas eu estraguei ainda mais
a amostra do meio.
-
Mas não tem jeito, pessoal,
ainda mais quando você tem
-
chips com limitação de recursos.
-
Mas não se
-
desanime, três bits é muito pouco.
-
Mal tem chip no mercado
que trabalha com só três bits.
-
A ideia aqui
é para você entender o conceito
-
e se aprofundar
cada vez mais nessa questão,
-
pois as bases de dados
das inteligências artificiais
-
nascem desse processo
de quantificar,
-
ou melhor, de converter o analógico
para digital.
-
Decisões erradas
tomadas nesse momento poluem a base,
-
deixa a base
um pouco mais pobre de informação
-
e consequentemente,
o seu modelo de não vai
-
se comportar
como a realidade do seu projeto.
-
Agora vamos evoluir um pouco mais
o nosso contador.
-
Vamos colocar mais degraus
aí nessa escada.
-
Vamos trabalhar com seis bits.
-
Olhando para a tela,
nós temos agora seis bits.
-
Se você fizer na calculadora dois
elevado a seis, vão dar 64 degraus
-
que estão aqui organizados
em cada pontinho azul e cinza.
-
Aqui na sua tela.
-
Perceba agora que, embora
-
eu ainda não tenha o dez, lá,
cheguei muito mais próximo
-
que o resultado
do quantizado de três bits anterior
-
e por isso meu erro de quantização
está bem mais comportado.
-
Mas ainda existe.
-
Então o vermelho é o ponto amostrado
-
lá do meu sinal analógico original.
-
E o ponto verde
é o resultado da quantização.
-
Tudo isso aqui que você está vendo,
pessoal, é o que está acontecendo
-
dentro de um elemento chamado
conversor, lá no SP 32
-
ou qualquer outro dispositivo
que converte esse sinal
-
analógico para digital.
-
O legal é
que as amostras aqui perto do cinco
-
não sofreram arredondamento
porque ainda bem,
-
coincidentemente
caiu um degrau no cinco.
-
Então as amostras que nós escolhemos
trabalhar
-
só estão sendo arredondadas
de forma considerável
-
aqui nos pontos mais altos.
-
Outra curiosidade que eu queria
-
chamar a atenção de vocês
é o seguinte que
-
a parte de baixo do gráfico sempre
-
vai ter um número par de degraus.
-
O que significa isso?
-
Se dois elevado a seis dá 64,
então 32 degraus estarão aqui
-
na parte de baixo
e 31 estarão na parte de cima.
-
E como o zero conta como um degrau,
-
ele rouba um degrau
da parte superior da parte positiva.
-
Por isso que não encostou no dez
ainda A quantidade de degraus
-
que eu tenho nesse sistema,
que é de 64,
-
ainda não contemplou dez, mas
contempla sempre a parte negativa.
-
Então ele sempre começa do valor
menos negativo e tenta se aproximar
-
do valor mais positivo se sobrar
degrau, fazendo essa seguinte.
-
Repetindo, fazendo a seguinte
conta metade é para baixo
-
e a metade -1 para cima, ou -1
por causa do zero.
-
Você viu então que quanto mais bits
eu tenho no quantificador,
-
mais próximo dos sinais analógicos
dos picos dos sinais analógicos
-
eu chego.
-
Mas eu estou também
aumentando a quantidade
-
de memória necessária
para guardar esses dados.
-
E essa é a decisão
que eu estou falando para vocês.
-
Quanto você tem de memória
e o quanto de qualidade você precisa
-
para que o seu sistema funcione
de uma forma bem redondinha.
-
Vamos para
mais um exemplo de gráfico.
-
Nesse
-
gráfico nós temos o topo das opções,
-
que é 12 bytes
e eu estou falando do SP 32.
-
São tantos degraus que parece que
o fundo está colorido de forma azul.
-
Dois Elevada 12 dá 4096 degraus,
-
onde nós teríamos 2048
na parte de baixo
-
e 2048 -1
-
na parte superior,
que é a parte mais dez.
-
Lembrando lá que o -1
é por conta do zero
-
que eu conto
como um degrau da parte superior.
-
Graças a essas 4096
possibilidades de arredondamento,
-
não houve arredondamento
dos picos da amostra original.
-
Ou seja, se você reparar aqui a
onde tinha o ponto vermelho
-
ou x vermelho, agora tem um verde
e eles estão sobrepostos.
-
É que não dá pra ver o vermelho
porque o verde fica em cima
-
do vermelho.
-
O computador vai lá e é colorido
com a última opção de cor.
-
Portanto, nesse caso não houve erro
de quantização.
-
Eu estou mantendo fidedigno
os picos da amostra
-
e quando eu
for reconstituía esse sinal
-
do digital para analógico,
-
eu não vou ter problemas com o erro
de quantização.
-
Posso ter problemas
com a quantidade de amostras
-
que foram tiradas ao longo do tempo,
mas de quantização não vou ter.
-
Portanto, pessoal, toda vez que
você estiver trabalhando com SP 32,
-
não se preocupe com a quantização,
porque ele vai tirar 4096
-
níveis diferentes
entre o valor menor
-
para um valor maior, ou seja,
-
do valor negativo mais negativo
até o valor mais positivo.
-
Esses 4096 são
são suficientes para você trabalhar
-
com qualquer sinal analógico
que se preze aí no ramo de eu.
-
Lembrando que o SP 32 trabalha
com três matrizes
-
voltes de amplitude máximo,
então você vai ter
-
3,3 volts dividido por 4096.
-
Essa vai ser
a resolução do dos degraus
-
Quando você estiver lendo as
informações do seu sinal analógico,
-
vamos para a última etapa
do conversor analógico para digital.
-
Você viu a amostragem?
Viu quantização?
-
Agora vamos falar da codificação
-
e para isso
eu vou te mostrar uma tela
-
para exemplificar
didaticamente o resultado.
-
Essa tabela
-
ela mostra para você
-
como que a memória do dispositivo
vai decodificar, ou melhor,
-
codificar as amostras
que estão vindo do quantizado.
-
Aqui na parte superior
eu tenho os pesos dos bytes.
-
Lembre se que o SP 32 tem 12 bits,
então eles estão organizados
-
aqui de zero
até chegar em 11 e de 0 a 11 dá 12
-
e coloquei o peso de cada byte
-
aqui em cima para facilitar
a conversão para você,
-
já que isso aqui já é um assunto
conhecido de vocês.
-
E aqui no primeiro byte
-
eu tenho um, no segundo byte
eu tenho o dobro de um, que é dois.
-
O terceiro byte é o dobro de dois,
que é quatro e assim
-
sucessivamente até chegar em 2048.
-
Esses 12 bytes
-
que nós temos aqui que representa
-
o quantificador,
ou seja, 4096 degraus.
-
Ele tem 2048
-
na parte de baixo que a parte
-
desculpa estava em ter invertido
meu quadro aqui
-
2048 na parte de cima e 2047
-
na parte de baixo
que a parte negativa é o zero.
-
Considera como a parte positiva.
-
Então 2048
mais 2048 vão dar os 4096.
-
Pois bem,
o meu decodificador vai fazer o quê?
-
Ele vai então organizar a memória de
12 bytes num gaveta zero
-
que que tenha 4096 gavetinhas.
-
Essa primeira linha aqui todo zero
indica a primeira gavetinha
-
e eu vou salvar o valor que está lá,
porque esse sinal -10, -7, -5,
-
está representando
aquele primeiro sinal analógico.
-
Para facilitar o entendimento
dessa tabela,
-
ao invés de eu colocar aqui
-
vários valores de degraus
do valor original,
-
eu estou colocando esse aqui
mais simples
-
para não deixar a tabela
tão poluída.
-
É fácil e de fácil entendimento.
-
Então vamos lá.
-
Se eu tenho -10 na minha amostra
original,
-
eu tenho condição
de aguardar esse valor,
-
porque o quantificador começa
na parte negativa.
-
Ele considera o sinal mais negativo
sempre
-
e só o mais positivo
é que nem sempre eu consigo pegar,
-
porque se ele tiver poucos degraus
ele vai descartar mesmo,
-
Mas se eu tiver muitos degraus, ele
consegue pegar o mais dez ou -10.
-
Vai ser salvo, porque ele é
o menor dos menores valores.
-
Então ele vai salvar aonde?
-
No zero zero zero zero zero?
-
Porque a primeira gaveta,
a próxima gaveta e a gaveta um.
-
Porém, eu não tenho amostra
-
para além do -10 ou antes do -10,
então eu não salvei.
-
A mesma coisa acontece
na segunda posição de memória.
-
Eu não salvei na terceira,
nós só veio na quarta
-
e assim sucessivamente
até colocar reticências aqui.
-
Não salvei, então eu não
preenchi aqui justamente por isso,
-
porque aqui tem uma reticências
são N valores
-
até chegar no 512.
-
O que é esse 512 aqui?
-
E é o 512 degrau.
-
Então comecei lá do zero degrau zero
e subi até o 512.
-
Só que a hora que eu cheguei no 512
eu encontrei uma amostra conhecida
-
minha do sinal analógico,
que é -7,5.
-
Pois bem, ou -7,5
está sendo salvo na posição 512.
-
Então por isso que eu coloquei um
aqui em 512 e zero nas demais.
-
Portanto toma esses valores
que vocês estão vendo aqui.
-
Esses zeros e uns organizados
aqui na tabela
-
não representa o valor da amplitude,
mas sim
-
a posição da memória
que eu vou guardar.
-
E aí esse é o papel do Codificador,
o codificador de Organi.
-
Fiz as amostras originais
lá que foram arredondadas
-
na posição de memória
e isso é codificar
-
depois o que eu vou fazer na saída
-
eu vou ler as posições de memórias
que foram organizadas
-
e assim
eu vou ter a respectiva amostra
-
no respectivo
ponto que ela foi criada.
-
E assim
eu consigo desfazer a amostragem
-
e a codificação,
desfazer, ou melhor,
-
refazendo a
-
a leitura das memórias ou da posição
-
das memórias no exato momento
que ela foi guardada.
-
Então, nesse caso aqui,
como ela é crescente, ou
-
então se a sai do -10 vai para -7,
então ela está numa ordem.
-
Mas vamos supor que ela tivesse
voltado para -10 aqui, logo depois
-
o sete meio.
-
Então no lugar do -5,
eu colocaria -10 aqui,
-
porque ela voltou para -10.
-
Então note,
-
eu não voltei a posição de memória
porque ela foi sendo crescente,
-
mas as amplitudes,
as amplitudes podem
-
porque elas representam o valor que
eu vou colocar dentro dessa gaveta.
-
Então a gaveta tem dois dados
a posição dela e o conteúdo dela.
-
Os conteúdos salvos são
-
esses marcados por salvo
e os conteúdos não salvos.
-
É porque, de fato nós
-
não temos nenhum sinal analógico,
então eu simplesmente não tenho.
-
Então eu descarto.
-
E quando eu for,
quando eu chegar lá no mais dez,
-
que é a última amostra
do meu sinal analógico,
-
eu vou estar marcando a posição todo
um, porque eu acabei
-
completando as posições das memórias
quando eu fiz um ciclo
-
ou um período do meu sinal original.
-
Depois eu volto a repetir.
-
Então aí a hora
que eu começar a cair de mais
-
dez, eu cai para mais 7,5
que essa noite vai voltar.
-
Então eu faço o que eu coloco
lá nas posições subsequentes.
-
Então
-
um e menos e mais dez.
-
Quando eu for colocar o mais sete
meio, eu ponho lá um zero zero zero
-
e assim sucessivamente.
-
Quando eu leio o mais cinco
vai estar um zero zero
-
porque a posição do byte 3072
-
que é a soma de 2048
-
lá em cima com esse um aqui 1024.
-
Então pega esse número aqui
que é o nível do quantificador.
-
Transforma ele aqui em binário
que você vai ter.
-
As amostras guardadas.
-
Essa forma de
-
codificar indica que o SP é 32.
-
Está organizando as amostras
-
de cada amplitude da senoide
dentro da memória.
-
Quando eu for ler essas amostras
-
do digital para o analógico,
eu leio ela nas ordens
-
e vou conseguir
reconstituir o respectivo pico.
-
E assim se torna analógico
novamente,
-
podendo comunicar com os humanos,
já que nós todos somos analógicos.