Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

58
1 AT 2004 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira

description

Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição. António Teixeira. Som em Matlab Aliasing Quantização SNR Conversão D/A Operações com sinais. Aula 4. Som em Matlab. Ver Matlab num Instante. Sumário. Geração de som com o Matlab - PowerPoint PPT Presentation

Transcript of Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

Page 1: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

1AT 2004

Conceitos de Sinais e SistemasMestrado em Ciências da Fala e da Audição

António Teixeira

Page 2: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

2AT 2004

Aula 4• Som em Matlab

• Aliasing

• Quantização– SNR

• Conversão D/A

• Operações com sinais

Page 3: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

3AT 2004

Som em Matlab

Ver Matlab num Instante

Page 4: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

4AT 2004

Sumário• Geração de som com o Matlab

– Funções do Matlab para manipular sons• sound

• wavread

• wavwrite

– Geração de sons artificais• ruído

• sinusóides

• soma de duas sinusóides

• sinusóides de frequência variável

Page 5: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

5AT 2004

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!

Page 6: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

6AT 2004

Função soundA 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.

Page 7: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

7AT 2004

Função wavreadA função wavread lê um ficheiro de som em

formato “wav” do Windows.

Sintaxe

[x,fa]= wavread(’ficheiro’)

em que x é um vector ,

fa é a frequência de amostragem utilizada

e ‘ficheiro’ é o ficheiro de som que se pretende ler.

Page 8: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

8AT 2004

Função wavwriteA 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.

Page 9: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

9AT 2004

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)

Page 10: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

10AT 2004

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');

Page 11: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

11AT 2004

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)

Page 12: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

12AT 2004

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);

Page 13: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

13AT 2004

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*400*t); % sinusóide de 400Hz

sound(x,fa);

Page 14: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

14AT 2004

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);

Page 15: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

15AT 2004

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);

Page 16: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

16AT 2004

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)

Page 17: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

17AT 2004

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)

Page 19: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

19AT 2004

Aliasing

Page 20: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

20AT 2004

O que acontece se não se amostra suficientemente rápido?

x(t)=A cos (2f0t+)se amostramos com um período Ts obtemos

x[n]=x(nTs)=A cos (2f0nTs+)

Consideremos outra sinusóide com frequência f0+k fs, com k inteiro e fs=1/Ts

y(t)=A cos (2(f0+k fs)t + )Amostrando y(t) com o mesmo Ts, obtemos

y[n]=y(nTs)=A cos (2 (f0+k fs) nTs+)

= A cos (2f0 nTs+ 2 k fs Ts+)

= A cos (2f0 nTs+ 2 k +)

= A cos (2f0 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 !

Page 21: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

21AT 2004

alias• As frequências f0+k fs são chamadas “alias” da frequência f0

• 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

Page 22: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

22AT 2004

Uma segunda fonte de “aliasing” - “folding”

x(t)=A cos (2f0t+)

se amostramos com um período Ts obtemos

x[n]=x(nTs)=A cos (2f0nTs+)

Consideremos outra sinusóide com frequência -f0+k fs, com k inteiro e fs=1/Ts

w(t)=A cos (2(-f0+k fs)t + )

Amostrando y(t) com o mesmo Ts, obtemos

w[n]=y(nTs) =A cos (2 (-f0+k fs) nTs+)

= A cos (-2f0 nTs+ 2 k fs Ts+)

= A cos (-2f0 nTs+ 2 k +)

= A cos (2f0 nTs +) % porque cos(- )=cos()

= x[n]

w[n] tem as mesmas amostras que x[n] sendo impossível distingui-la de x[n].

Page 23: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

23AT 2004

Porquê “folding”

Frequência real

freq. aparente

1000

1000 2000

Page 24: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

24AT 2004

Aliasing• Sendo f a frequência de um sinal e a frequência de

amostragem fs, as seguintes regras permitem calcular a frequência

• f < ½fs • 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.

• ½fs < f < fs • Existe “aliasing” sendo a frequência do sinal amostrado fa = fs - f

• f > fs • Ocorre “aliasing”. Para obter a frequência do sinal amostrado obter

o resto da divisão de f por f. No final se ½fs < f < fs o sinal amostrado fa = fs - f ; caso contrário fa =  f

Page 25: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

25AT 2004

Quantização

Page 26: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

26AT 2004

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

• Este processo designa-se por quantização

Page 27: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

27AT 2004

Capacidade de representação• 1 Bit = 2 estados

• 2 Bits = 4 estados

• 3 Bits = 8 estados

• ...

• N Bits = 2N estados

:

:

:

:

8 Bits

256 palavras

8 Bits

256 palavras

Memória

Page 28: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

28AT 2004

Capacidade de representação• Exemplo do número de estados possíveis

possíveis para 3 bits

b2 b1 b0

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Page 29: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

29AT 2004

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, – 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.

Page 30: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

30AT 2004

Exemplo de quantização• 8 bits

• 7 bits

• 3 bits

• 2 bits

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1

0

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1

0

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1

0

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1

0

1

Page 31: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

31AT 2004

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)

Page 32: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

32AT 2004

Exemplo

•3 bits

Page 33: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

33AT 2004

Em Matlabt=0:1e-3:4

x= sin (2*pi*10*t)+1 % para ser entre 0 e 1

bits=8

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 ...

Page 34: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

34AT 2004

Resultados

2 bits

erro

4 bits

8 bits

Page 35: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

35AT 2004

Erro de arredondamento e bits

•N=níveis

= distância entre níveis

N=2/ N =2 =N/2

Erro máximo de arredondamento é = /2=1/N

logo N=1/

número de bits (b) b log2 N

1

-1

Page 36: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

36AT 2004

SNR devido a quantização

SNR= 20 log10 (App/)

como A=2 e N=2b temos = 2-b

App/= 2 x 2b = 2b+1

20 log10 (2b+1) = 20 (b+1) log10 (2)

6 (b+1) dB

aumento de 6 dB/bit

Page 37: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

37AT 2004

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

Page 38: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

38AT 2004

Em Matlab % RETOMANDO O EXEMPLO ANTERIOR t=0:1e-3:4;x= sin (2*pi*10*t);bits=8;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 concretomax(diferenca)% valor teórico para o erro máximo de arredondamento1/N% SNRsnr=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 ?

Page 39: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

39AT 2004

Conversão D/A

Page 40: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

40AT 2004

• Demo1 – reconstrução com impulsos quadrados – “hold”

• Demo2 – com impulsos triangulares

• Demo2 – com impulsos ideais truncados

Page 41: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

41AT 2004

Operações com sinais

Page 42: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

42AT 2004

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)= x1(t) + x2(t)

• Exemplo: mixer áudio

– Multiplicação• y(t)= x1(t) x2(t)

• Exemplo: sinal de rádio AM (modulação de Amplitude)

– Diferenciação, Integração• Ex: bobine e condensador

Page 43: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

43AT 2004

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<a<1 => expansão

•Alguma ideia de aplicação na área da fala?

Page 44: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

44AT 2004

Operações na variável independente

• inversão temporal y(t)= x (- t)

t

x(t)

-t1 t2

t

y(t)=x(-t)

-t2 t1

Page 45: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

45AT 2004

TPC • Leitura dos 2 capítulos relativos a sinais do

livro Rosen & Howell

Page 46: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

46AT 2004

Codificação/Representação

Os vários tipos de informação são codificados de forma diferente. Para interpretar cada um dos formatos é necessário um descodificador.

CodificadorDescodifica

dor

Dadosem

Binário

ImagensVideoTextoSom

Desenhosetc

ImagensVideoTextoSom

Desenhosetc

Page 47: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

47AT 2004

Código ASCII (texto)• A primeira versão do código ASCII (American

Standard Code for Information Interchange) foi criada em 1963 para normalizar a transmissão e armazenamento de texto. Em 1967 foram incluídas as letras minúsculas no código que no essencial permaneceu inalterado até aos nossos dias.

Page 48: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

48AT 2004

Código ASCII

Exemplo de codificação para a letra “A”

4x16+1=64+1=65=100 0001

Letra “W”: 5x16+7=87=101 0111

Page 49: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

32 48 0 64 @ 80 P 96 ` 112 p

33 ! 49 1 65 A 81 Q 97 a 113 q

34 “ 50 2 66 B 82 R 98 b 114 r

35 # 51 3 67 C 83 S 99 c 115 s

36 $ 52 4 68 D 84 T 100 d 116 t

37 % 53 5 69 E 85 U 101 e 117 u

38 & 54 6 70 F 86 V 102 f 118 v

39 ‘ 55 7 71 G 87 W 103 g 119 w

40 ( 56 8 72 H 88 X 104 h 120 x

41 ) 57 9 73 I 89 Y 105 i 121 y

42 * 58 : 74 J 90 Z 106 j 122 z

43 + 59 ; 75 K 91 [ 107 k 123 {

44 , 60 < 76 L 92 \ 108 l 124 |

45 - 61 = 77 M 93 ] 109 m 125 }

46 . 62 > 78 N 94 ^ 110 n 126 ~

47 / 63 ? 79 O 95 _ 111 o 127 DEL

Código ASCII

Page 50: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

50AT 2004

Exemplo código ASCII• Código ASCII

• 7 Bits = 128 Caracteres :

:

:

:

Memória

1 0 0 1 1 0 10

1 0 0 0 0 0 10

1 0 1 0 1 0 00

1 0 1 1 1 0 00

1 0 0 0 0 1 00

MATLAB

1 0 0 0 0 0 10

77

65

84

76

65

66

Page 51: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

51AT 2004

UNICODE• O código ASCII possui a grande desvantagem

de apenas permitir a representação de 28=256 símbolos diferentes.

• O código UNICODE pretende normalizar a codificação dos caracteres utilizados por todas as escritas existentes no mundo. Utiliza 16 bits para codificar cada caracter e encontra-se disponível nos sistemas informáticos mais recentes.

• Mais informações em http://www.unicode.org

Page 52: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

52AT 2004

Códigos binários• Para representar números com bits é possível

encontrar uma forma mais compacta do que a codificação ASCII.

• No sistema decimal utilizado para realizar cálculo, os números são representados fazendo uso da sua posição relativa:

012310 1051091091011995

Base 10

Page 53: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

53AT 2004

Códigos binários• Se modificarmos a base de decimal para

binária podemos utilizar o mesmo tipo de representação:

• Note-se que o número anterior tem o valor em decimal de 8+0+0+1=9, sendo por isso uma das possíveis representações de números decimais em binário

01232 212020211001

Page 54: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

54AT 2004

Formato exponencial decimal• Em formato decimal é útil representar os

números utilizando a notação exponencial:

51022.022000

Mantissa Expoente

Page 55: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

55AT 2004

Formato exponencial binário• No formato exponencial binário a mantissa e a

base são representados em formato binário na base 2.

5211.011000 bb

Mantissa Expoente

Page 56: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

56AT 2004

Formato numérico no Matlab• O Matlab utiliza 64 bits para representar os

números: 52bits para a mantissa e 12 para o expoente. A representação dos números é feita utilizando um formato exponencial que permite uma gama dinâmica muito grande.

Page 57: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

57AT 2004

• Precisão simples (32 bits, Bias = 127)

• Precisão dupla (64 bits, Bias = 1023)

• Precisão extendida (80, Bias = 32767)

Norma IEEE754

)(2)0.1()1( BiasEs Mx

S Expoente Mantissa

31 23 22 0

S Expoente Mantissa

63 52 51 0

S Expoente Mantissa

79 64 63 0

Page 58: Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição

58AT 2004

Consequências...

• É finito o universo de representação numérica

• Problemas de resolução

• Erros de arredondamento

• Propagação durantecomputação.

Recta real

Números representáveis