A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira.

Apresentações semelhantes


Apresentação em tema: "1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira."— Transcrição da apresentação:

1 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

2 2AT 2006 Aula 3 Conversão A/D Aliasing Quantização Conversão D/A Operações com sinais Som em Matlab

3 3AT 2006 Passagem de contínuo a discreto

4 4AT 2006 Conversão A/D O processo pelo qual um sinal é convertido numa representação digital é conhecido por conversão analógica-digital –A/D conversion O processo inverso D/A

5 5AT 2006 Passagem de contínuo a discreto - Amostragem

6 6AT 2006 Amostragem Período de amostragem

7 7AT 2006 Amostragem Tira-se amostras do sinal espaçadas de um intervalo de tempo fixo, o período de amostragem, representado por Ta O período de amostragem depende da frequência de amostragem (fa) [em Inglês fs] –Número de amostras por segundo –Ex: fa=1000 Hz dá T=1/fa=1/1000=1 ms O número total de pontos de um sinal digital depende da sua duração e da frequência de amostragem –5 segundos amostrados a 10 000 Hz dão 50 000 amostras

8 8AT 2006 Sinal Discreto S= [0, 1.95, 7.4, 9.08, 8.16, 6.03, 2.8, 0.15, -0.68, 2.53, 6.46, 8.09, 6.52] O sinal anterior pode ser representado de forma aproximada apenas pela amplitude das suas amostras e pelo período de amostragem. Ou seja, pode ser representado por um vector

9 9AT 2006 Uma sinusóide de 2.5 Hz amostrada

10 10AT 2006 Teorema de Nyquist Apenas ficar com algumas amostras do sinal não leva a perder informação contida no sinal analógico ? –Nyquist mostrou que sinais com largura de banda limitada – que contêm apenas uma certa gama de frequências – podem ser reconstruídos EXACTAMENTE do sinal amostrado desde que a FREQUÊNCIA DE AMOSTRAGEM SEJA O DOBRO da maior frequência contida no sinal

11 11AT 2006 Exemplo Seja 100 Hz a frequência mais elevada contida num sinal analógico –Qual deve ser a frequência de amostragem a utilizar ? –Estes 100 Hz podem corresponder a algum sinal que conhece da área da voz ? E no caso do sinal de voz ?

12 12AT 2006 Aliasing O que acontece se não se respeitar o Teorema ?

13 13AT 2006 “Aliasing” Se usarmos uma frequência inferior a 2x a maior frequência contida no sinal ocorre o chamado “aliasing” Exemplo: –Sinusóide de 14 Hz –Sinusóide de 4 Hz –Ambas amostradas a 10 Hz –Amostras são as mesmas

14 14AT 2006 O que acontece se não se amostra suficientemente rápido? x(t)=A cos (2  f 0 t+  ) se amostramos com um período Ts obtemos x[n]=x(nTs)=A cos (2  f 0 nTs+  ) Consideremos outra sinusóide com frequência f 0 +k fs, com k inteiro e fs=1/Ts y(t)=A cos (2  (f 0 +k fs)t +  ) Amostrando y(t) com o mesmo Ts, obtemos y[n]=y(nTs)=A cos (2  (f 0 +k fs) nTs+  ) = A cos (2  f 0 nTs+ 2  k fs Ts+  ) = A cos (2  f 0 nTs+ 2  k +  ) = A cos (2  f 0 nTs +  ) = x[n] y[n] tem as mesmas amostras que x[n] sendo impossível distingui-la de x[n]. Como k é um inteiro, positivo ou negativo, existem um número infinito de sinusóides que resultam nas mesmas amostras x[n] quando amostradas com a frequência fs !

15 15AT 2006 O que acontece se não se amostra suficientemente rápido? Considermos uma sinusóide de frequência f: x(t)=A cos (2  f 0 t+  ) se amostramos com um período Ts obtemos x[n]=x(nTs)=A cos (2  f 0 nTs+  ) Consideremos outra sinusóide com frequência f 0 +k fs, com k inteiro e fs=1/Ts y(t)=A cos (2  (f 0 +k fs)t +  ) Amostrando y(t) com o mesmo Ts, obtemos y[n]=y(nTs)=A cos (2  (f 0 +k fs) nTs+  ) = A cos (2  f 0 nTs+ 2  k fs Ts+  ) = A cos (2  f 0 nTs+ 2  k +  ) = A cos (2  f 0 nTs +  ) = x[n] y[n] tem as mesmas amostras que x[n] sendo impossível distingui-la de x[n]. Como k é um inteiro, positivo ou negativo, existem um número infinito de sinusóides que resultam nas mesmas amostras x[n] quando amostradas com a frequência fs !

16 16AT 2006 alias As frequências f 0 +k fs são chamadas “alias” da frequência f 0 porque todas elas parecem ser a mesma quando amostradas com frequência de amostragem fs No dicionário Inglês-Português da Porto Editora: –alias [´eiliaes], 1 adv. aliás 2 s. pseudónimo, nome falso, nome suposto

17 17AT 2006 Uma segunda fonte de “aliasing” - “folding” Considerando sinusóide de freq. f: x(t)=A cos (2  f 0 t+  ) se amostramos com um período Ts obtemos x[n]=x(nTs)=A cos (2  f 0 nTs+  ) Consideremos outra sinusóide com frequência -f 0 +k fs, com k inteiro e fs=1/Ts w(t)=A cos (2  (-f 0 +k fs)t +  ) Amostrando y(t) com o mesmo Ts, obtemos w[n]=y(nTs)=A cos (2  (-f 0 +k fs) nTs+  ) = A cos (-2  f 0 nTs+ 2  k fs Ts+  ) = A cos (-2  f 0 nTs+ 2  k +  ) = A cos (2  f 0 nTs +  ) % porque cos(-  )=cos(  ) = x[n] w[n] tem as mesmas amostras que x[n] sendo impossível distingui-la de x[n].

18 18AT 2006 Porquê “folding” Frequência real freq. aparente 1000 2000

19 19AT 2006 Aliasing Sendo f a frequência de um sinal e a frequência de amostragem f s, as seguintes regras permitem calcular a frequência f < ½f s Como a frequência do sinal se encontra abaixo do limite imposto pelo teorema da amostragem, não ocorre “aliasing”; o sinal amostrado possui a frequência correcta. ½f s < f < f s Existe “aliasing” sendo a frequência do sinal amostrado f a = f s - f f > f s Ocorre “aliasing”. Para obter a frequência do sinal amostrado obter o resto da divisão de f por f. No final se ½f s < f < f s o sinal amostrado f a = f s - f ; caso contrário f a = f

20 20AT 2006 Aliasing 5k 10k15k freq real freq digital

21 21AT 2006 Quantização

22 22AT 2006 Quantização Os valores contínuos da amplitude também têm de ser convertidos em valores tratáveis pelo computador –Os computadores guardam os números usando 0s e 1s, os chamados bits –3 bits dá para representar 8 números diferentes 000 001 010 011 100 101 110 111 Este processo designa-se por quantização

23 23AT 2006 Precisão, número de bits O número de bits usados para representação determina a precisão (ou resolução) em amplitude do processo de amostragem referido atrás. Quanto mais bits forem usados, maior será essa resolução. Para obtermos uma resolução equivalente à de um sistema CD de áudio, são necessários 16 bits, 65536 combinações –o que significa que temos 65536 combinações numéricas possíveis. –Os valores de amplitude amostrados são sempre arredondados para o código binário mais próximo.

24 24AT 2006 Exemplo de quantização 8 bits 7 bits 3 bits 2 bits

25 25AT 2006 Em Matlab t=0:1e-3:4 x= sin (2*pi*10*t)+1 % para ser entre 0 e 1 bits=1 N=2^bits xquant=round(x*(N-1)/2)*2/(N-1) stem(t,xquant,'ro'); hold on; diferenca=x-xquant plot(t,diferenca, 'g+') % experimente com bits=1,2...

26 26AT 2006 Resultados 2 bits erro 4 bits 8 bits

27 27AT 2006 Exemplo 3 bits

28 28AT 2006 Número de bits 8 bits –256 níveis –Se tivermos sinal entre – 1 e + 1 V Erro máximo 3.4 mV (mili=0.001) 16 bits –65536 níveis –Se tivermos sinal igual ao anterior Erro máximo 15 microV (micro=0.000001)

29 29AT 2006 Erro de arredondamento e bits N=níveis  = distância entre níveis N=2/  N  =2  =2/N Erro máximo de arredondamento é  =  /2=1/N logo N=1/  número de bits (b)  b  log 2 N 1

30 30AT 2006 SNR devido a quantização SNR= 20 log10 (App/  ) como A=2 e N=2 b temos  = 2 -b App/  = 2 x 2 b = 2 b+1 logo 20 log10 (2 b+1 ) = 20 (b+1) log10 (2)  6 (b+1) dB aumento de 6 dB/bit

31 31AT 2006 Em Matlab % RETOMANDO O EXEMPLO ANTERIOR t=0:1e-3:4; x= sin (2*pi*10*t); bits=9; N=2^bits; xquant=round(x*(N-1)/2)*2/(N-1); plot(t,xquant,'ro'); hold on; diferenca=x-xquant; plot(t,diferenca, 'g+'); % valor do erro máximo de arredondamento neste caso concreto max(diferenca) % valor teórico para o erro máximo de arredondamento 1/N % SNR snr=10*log10(dot(x,x)/dot(diferenca,diferenca)) % EXPERIMENTE com 1,2... até 8 bits. Qual o aumento de snr com o aumento de 1 bit ?

32 32AT 2006 Exercício Estimar o número de bits necessários para representar amostras de um sinal com valores entre –1 e 1 com um erro de arredondamento inferior a 10 -3

33 33AT 2006 Quantos Hz ? Quantos bits ? Para sinal de voz ? Para música (CD) ? –Quais os valores utilizados pelos leitores de CD ? –E pelos DATs ? Para sinal medindo a abertura e fecho das cordas vocais ? Para sinal gravado via telefone ?

34 34AT 2006 Representação de sinais digitais Depois da amostragem e quantização ficamos com uma lista de números que facilmente se podem tratar em programas como o SFS e o Matlab –As sinusóides que temos vindo a ver são de facto listas de números como a seguinte: 0 0.0251 0.0502 0.0753 0.1004 0.1253 0.1502 0.1750 0.1997 0.2243....

35 35AT 2006 Conversão D/A

36 36AT 2006 Reconstrução com impulsos quadrados – “hold”

37 37AT 2006 Operações com sinais

38 38AT 2006 Operações com sinais I Operações na variável dependente –Mudança de escala (da amplitude) y(t)=c x(t) ou y[n]=c x[n] Exemplo: Amplificador electrónico –Adição y(t)= x 1 (t) + x 2 (t) Exemplo: mixer áudio –Multiplicação y(t)= x 1 (t) x 2 (t) Exemplo: sinal de rádio AM (modulação de Amplitude) –Diferenciação, Integração Ex: bobine e condensador

39 39AT 2006 Operações na variável independente Mudança da escala temporal –y(t)= x (a t) t x(t) t x(2t) t x(t/2) a>1 => compressão 0 expansão Alguma ideia de aplicação na área da fala?

40 40AT 2006 Operações na variável independente inversão temporal y(t)= x (- t) t x(t) -t1 t2 t y(t)=x(-t) -t2t1

41 41AT 2006 Som em Matlab >> Ver Matlab num Instante

42 42AT 2006 Sumário Geração de som com o Matlab –Funções do Matlab para manipular sons sound/ soundsc wavread wavwrite –Geração de sons artificais ruído sinusóides soma de duas sinusóides sinusóides de frequência variável

43 43AT 2006 Som no Matlab É possível utilizar o Matlab na manipulação e geração de som. Existem funções para ler ficheiros de som para um vector, gravar um vector para um ficheiro e para reproduzir sons a partir de ficheiros. Podem-se ouvir os vectores!

44 44AT 2006 Função sound A função sound permite reproduzir um som armazenado num vector. Sintaxe sound(x,fa) em que x é um vector linha ou coluna e fa é a frequência de amostragem que se pretende utilizar. A função soundsc normaliza o vector para ter máximo igual a 1.0

45 45AT 2006 Função wavread A função wavread lê um ficheiro de som em formato “wav” do Windows. Sintaxe [x,fa,bits]= wavread(’ficheiro’) em que x é um vector, fa é a frequência de amostragem utilizada bits o número de bits e ‘ficheiro’ é o ficheiro de som que se pretende ler.

46 46AT 2006 Função wavwrite A função wavwrite escreve um ficheiro de som em formato “wav” do Windows. Sintaxe wavwrite(x,fa,’ficheiro’) em que x é um vector, fa é a frequência de amostragem utilizada e ‘ficheiro’ é o ficheiro de som onde se pretende guardar o som armazenado em x.

47 47AT 2006 Exemplo: ficheiro de som Neste exemplo pretende-se ler para um vector um som armazenado num ficheiro e reproduzi- lo no Matlab [x,fa]= wavread('som.wav'); sound(x,fa) % ou soundsc(x,fa)

48 48AT 2006 Exemplo: Gravar um som Neste exemplo lê-se para um vector armazenado num ficheiro, manipula-se e grava-se num ficheiro diferente. [x,fa]= wavread('som.wav'); sound(x,fa) y= x(end:-1:1); % Inverte no tempo wavwrite(y,fa,'som2.wav');

49 49AT 2006 Alteração da freq. de amostragem Ao reproduzir um som é possível alterar a frequência de amostragem com que é reproduzido. –Exemplo: utilizando o dobro da frequência de amostragem do original. sound(x,fa*2) –Exemplo: utilizando metade da frequência de amostragem do original sound(x,fa/2)

50 50AT 2006 Geração de sons artificiais O Matlab possui formas expeditas de gerar sons artificais. Vamos ver como é que se geram diferentes tipos de sons. A função rand gera uma sequência pseudo aleatória. Qual será o som produzido por um vector gerado com este função? x= rand(1,10000)-0.5; % Ruído de média nula sound(x,8000);

51 51AT 2006 Geração de sons artificiais A função seno desempenha um papel central na geração de sons articiais. Vejamos qual o som que obtemos. fa= 8000; Ta= 1/fa; t= 0:Ta:1; %Gera o sinal de tempo x= sin(2*pi*1000*t); % sinusóide de 400Hz sound(x,fa);  =2  f

52 52AT 2006 Geração de sons artificiais Soma de duas sinusóides Podemos gerar dois vectores com sinusóides com frequências diferentes e somá-los para ouvir o resultado fa= 8000; Ta= 1/fa; t= 0:Ta:1; %Gera o sinal de tempo x= sin(2*pi* 400 *t); % sinusóide de 400Hz y= sin(2*pi* 410 *t); % sinusóide de 410Hz soundsc(x+y,fa);

53 53AT 2006 Geração de sons artificiais Multiplicação de sinusóides Podemos gerar dois vectores com sinusóides de frequências diferentes e realizar um produto ponto-a-ponto entre eles. fa= 8000; Ta= 1/fa; t= 0:Ta:1; %Gera o sinal de tempo x= sin(2*pi*400*t); % sinusóide de 400Hz y= sin(2*pi*80*t); % sinusóide de 80Hz soundsc(x.*y,fa);

54 54AT 2006 Geração de sons artificiais Sinusóides de frequência variável Com o Matlab não é muito díficil gerar uma sinusóide cuja frequência varia linearmente ao longo do tempo. fa= 8000; Ta= 1/fa; t= [0:Ta:2 2:-Ta:0]; %Gera o tempo x= sin(2*pi* 400*t.*t); sound(x,fa)

55 55AT 2006 Geração de sons artificiais Sinusóides de frequência variável Neste exemplo temos uma sinusóide cuja frequência varia ao longo do tempo de forma sinusóidal. fa= 8000; Ta= 1/fa; t= 0:Ta:2; %Gera o sinal de tempo s= 80*sin(2*pi*5*t); x= sin(2*pi*400*t + s); sound(x,fa)

56 56AT 2006 TPC Leitura dos 2 capítulos relativos a sinais do livro Rosen & Howell –disponíveis em forma digital


Carregar ppt "1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira."

Apresentações semelhantes


Anúncios Google