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

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

Embed Size (px)

Citation preview

Page 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

1AT 2006

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

Edição 2006/7

António Teixeira

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

2AT 2006

Aula 2• Programar ?

• Matlab– Vectores

– Gráficos

– Som em Matlab

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

3AT 2006

Introdução à Programação

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

4AT 2006

Porquê programar ?• Trabalhar na área da linguagem é quase

impossível actualmente sem computadores– Os dados são tratados, analisados, guardados,

ordenados, e distribuídos por computadores.

• Várias aplicações estão disponíveis, mas para controlar realmente o processo alguns conhecimentos de programação são essenciais.

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

5AT 2006

• Exemplos:– Um fonologista interessado em clusters de consoantes.

Tem um dicionário e quer descobrir o mais cluster em posição final de palavra. Faz manualmente ?

– Um psicolinguista interessado numa experiência acerca da silabificação

– Foneticistas que necessitam de normalizar a amplitude, calcular formantes, etc de centenas de gravações

• Não sabendo programar, tem-se poucas opções– Uma é fazer o trabalho manualmente– Outra contratar alguém – Outra ainda usar uma aplicação existente

• Normalmente limitadas. As necessidades podem não ser contempladas

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

6AT 2006

O computador

Máquina programável que processa informação

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

7AT 2006

Processar informação• Executar sequências de operações elementares

(instruções)

• sobre dados

• provenientes do exterior através dum dispositivo de entrada

• e encaminhar os resultados para o exterior através de dispositivos de saída.

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

8AT 2006

Programabilidade• A sequência de instruções elementares que

habitualmente se designa por programa pode ser alterada sempre que se deseje.

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

9AT 2006

Um pouco de estrutura

• Componentes: CPU, MEMÓRIA, ...

• Subsistemas: Motherboard, Gráficos, Audio, Armazenamento, Comunicações, ...

• Dispositivos de I/O

• Sistema Operativo: MS Windows, LINUX, MacOS, ...

• Aplicações: MS OFFICE, Browsers, CAD, MATLAB, ...

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

10AT 2006

Dispositivos de Entrada/Saída

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

11AT 2006

Memória• Agente de armazenamento de informação

• Suportes físicos

Electrónicos Magnéticos Ópticos

Disponibilidade

Acesso

Organização

Disponibilidade

Acesso

Organização

CapacidadeCapacidade

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

12AT 2006

Arquitectura funcional

Comunicações

POTS,ADSL, EtherNET

Controlo de Interacção

Teclado, rato, monitor ...

CPUMemória Principal

(RAM)

Memória de Massa

(Disco Duro, Diskette, CDROM)

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

13AT 2006

Uma perspectiva dinâmica

CPU RAM

Memória de massa

Programa

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

14AT 2006

Representação de valores num computador

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

15AT 2006

Codificação• Os computadores armazenam toda a informação na

forma mais elementar designada por bits.• Cada bit pode tomar dois valores distintos “1” ou “0”.

Um conjunto de 8 bits designa-se por Byte.• 1024 Bytes = 1kByte.• 1024 x 1024 Bytes = 1MByte.• 1024 x 1MByte = 1GByte.• Para armazenar informação proveniente das mais

diversas fontes é necessário codificá-la.• O conhecimento do código permite interpretar a

informação armazenada na forma binária.

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

16AT 2006

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 17: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

17AT 2006

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 18: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

18AT 2006

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 19: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

19AT 2006

Código ASCII (texto)• ASCII

– American Standard Code for Information Interchange

– A primeira versão 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 20: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

20AT 2006

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 21: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

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 22: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

22AT 2006

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 23: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

23AT 2006

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 24: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

24AT 2006

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 25: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

25AT 2006

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 26: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

26AT 2006

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

números utilizando a notação exponencial:

51022.022000

Mantissa Expoente

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

27AT 2006

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 28: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

28AT 2006

Ferramentas Informáticas

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

29AT 2006

Ferramentas Informáticas• Objectivos

– Auxiliar na resolução de problemas cuja resolução manual seja demorada

• Tipos de Ferramentas– Linguagens de programação– Análise e visualização de dados– Ambientes de cálculo

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

30AT 2006

Linguagens de programação• Utilizadas para realizar todo o tipo de

programas mesmo que não sejam de cálculo• Vantagens

– Grande flexibilidade– O cálculo pode ser mais rápido e eficiente

• Desvantagens– Necessidade de aprender uma linguagem– Tempo de desenvolvimento para chegar à solução

• Exemplos– Fortran, Basic, Pascal, C, Java

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

31AT 2006

Análise e visualização de dados• Realizam o tratamento numérico dos dados e a sua

visualização.

• Utilizadas principalmente para cálculo estatístico

• Vantagens– Fáceis de utilizar

– Obtenção rápida de resultados

– Capacidades de visualização e apresentação dos resultados poderosas

• Desvantagens– Pouco flexíveis na manipulação dos dados

– Difícil automatizar procedimentos

• Exemplos– Excel, SPSS

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

32AT 2006

Análise de dados com o Excel• Dados

– Vamos supor que conseguimos um ficheiro de texto com as temperaturas registadas em Lisboa durante o ano 2000.

• Objectivo– Determinar a temperatura média– A temperatura máxima– A temperatura mínima

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

33AT 2006

Análise de dados com o Excel

Hora Temperatura T. Máx. T. Mín. T. Méd.0 12 22 10 16,01 122 123 114 105 126 157 168 179 18

10 2211 2212 2113 2214 2215 2016 1817 1718 1719 1620 1521 1322 1323 12

0 2 4 6 8

10 12 14 16 18 20 22

0

5

10

15

20

25

Hora

Temperatura

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

34AT 2006

Ambientes de cálculo• Utilização fácil e aprendizagem rápida• Podem realizar cálculo simbólico e numérico• Vantagens

– Possibilidade de automatizar os cálculos

– Muito versáteis possuindo uma linguagem intuitiva

• Desvantagens– São necessários alguns conhecimentos de programação

– Mais lentos nos cálculos que as linguagens de programação

• Exemplos– Mathematica, Maple, MathCad, Matlab

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

35AT 2006

Mathematica• Muito divulgado para

cálculo simbólico• Igualmente poderoso

para calculo numérico• Exemplos de aplicações

– Cálculo de limites– Cálculo de derivadas e

integrais– Simplificação de

expressões algébricas– Gráficos de funções 2D e

3D

Simplificação

de expressões

Cálculo de derivadas

Cálculo de limites

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

36AT 2006

Matlab

•Vocacionado para o cálculo numérico

•MATLAB = MATrix LABoratory

•Os elementos são sempre matrizes numéricas•Um número é uma matriz com apenas um elemento

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

37AT 2006

Introdução ao Matlab

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

38AT 2006

O que é o Matlab ?• Aplicação informática vocacionada para o

cálculo numérico

• Aplicações

– Análise de dados

– Visualização científica

– Simulação de sistemas

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

39AT 2006

Demonstração• O Matlab tem um conjunto de demonstrações

que ilustram as suas possíveis aplicações.

• Para aceder à demonstração basta entrar o comando:

»demo.– Gráficos de funções– Visualização de volumes– Animações– Tutorais sobre o Matlab

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

40AT 2006

O ambiente gráficoJanela da comandos

Histórico dos comandos

Para mudar a pasta de trabalho

Conteúdo da pasta de trabalho

Documentação e demos dos produtos instalados

Espaço de trabalho com as variáveis

Ajuda

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

41AT 2006

O Matlab como calculadora• O Matlab permite o cálculo numérico directo

a partir da janela de comando.

• Operações matemáticas + soma - subtracção * multiplicação / divisão ^ potenciação

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

42AT 2006

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 43: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

43AT 2006

• 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 44: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

44AT 2006

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

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

45AT 2006

Variáveis• No Matlab é possível guardar em variáveis

conjuntos de números, exemplo:»x= 2

• Os nomes das variáveis destinguem as letras maiúsculas das minúsculas. – Exemplo: piPi

• As variáveis são guardadas no espaço de trabalho “workspace”

• As variáveis podem ser utilizadas nas operações da mesma forma que os números.

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

46AT 2006

Variáveis• Apagar variáveis

– clear v1 v2 apaga as variáveis v1 e v2– clear all apaga todas as variáveis

• Ver as variáveis no espaço de trabalho (“workspace”)– whos mostra todas as variáveis do espaço de trabalho

com informação adicional de dimensão e tipo

– who mostra apenas os nomes das variáveis

• Guardar variáveis– save Guarda em disco todas as variáveis do “workspace”– load Carrega do disco as variáveis guardadas– save ficheiro v1 v2 Guarda as variáveis v1 e v2 no

ficheiro– load ficheiro Carrega as variáveis do ficheiro

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

47AT 2006

Vectores

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

48AT 2006

Vectores

Conceito geométrico de vector (duas dimensões)

V

Direcção

Módulo

x

y

b

a

(a,b)

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

49AT 2006

Vectores• Da figura anterior pode-se concluir que bastam

duas grandezas numéricas para representar um vector num espaço de duas dimensões.

(a,b)

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

50AT 2006

VectoresNum espaço com três dimensões são

necessárias três grandezas:

(a,b,c)

Generalizando, um vector com N elementos pertence a um espaço com N dimensões.

Elementos de um espaço com mais de 3 dimensões são difíceis de representar graficamente.

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

51AT 2006

Vectores no Matlab

No Matlab para criar um vector “v” basta fazer por exemplo:

» v= [4, 5, 4, 2, 1, 7]

Os elementos são separados por espaços ou vírgulas

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

52AT 2006

O operador “:”• O mais versátil operador do MATLAB

• Permite definir de forma compacta um conjunto de valores (vector) em progressão aritmética.

» % x = valor inicial : passo : valor final;

» % Nota: argumentos de “:” não podem ser complexos

» x = 1:10;

» x = -pi : 2*pi/359 : pi;

» x = 100:-2:80;

» % O recurso ao “:” não obriga à delimitação por []

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

53AT 2006

linspace» % Quando sabemos os limites numéricos da sequência

» % xi e xf e o número de elementos N então devemos

» % recorrer à função

» x = linspace(xi,xf,N);

» % Espaçamento linear (uniforme) entre os elementos

» de x. Evita-se o cálculo do passo.

» x = linspace(10,-10,5)

x =

10 5 0 -5 -10

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

54AT 2006

logspace% Quando pretendemos criar uma sequência com espaçamento logaritmico entre os valores 10^d1 e 10^d2.

% O parâmetro N especifica o número de pontos

% Exemplo: 5 pontos com espaçamento logarítmico entre os valores 10 e 100

>> logspace(1,2,5)ans = 10.0000 17.7828 31.6228 56.2341 100.0000

% Utiliza-se para a construção de gráficos com escalas logarítmicas.

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

55AT 2006

Gráficos

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

56AT 2006

Gráficos de uma Variável• Sintaxe do comando plot

v= rand(1,10);

plot(v)

Nesta versão mais simples é desenhado um gráfico de linha contínua com a amplitude dos elementos do vector v. Nas abcissas aparecem os índices dos elementos de v.

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

Abcissas

Ordenadas

Edição Manual das propriedades do

Gráfico

Inserção manual de texto

Inserção de setas e linhas

Zoom

Rotação 3D do gráfico

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

58AT 2006

Sintaxe do comando plotplot(x1,y1,x2,y2,....)

Os vectores das ordenadas x1, x2, ... podem ter um número diferente de elementos.

O número de elementos dos pares (x1,y1) e (x2,y2) deve ser o mesmo.

Exemplo:

x1= -5:5; x2= -10:10

y1= 2*x1; y2=3*x2;

plot(x1,y1,x2,y2)

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

59AT 2006

Exemplo

-10 -8 -6 -4 -2 0 2 4 6 8 10-30

-20

-10

0

10

20

30

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

60AT 2006

Alteração do aspecto gráficoPara além dos argumentos vectoriais a função plot permite ainda

alterar o modo como as linhas são desenhadas. Essas indicações são codificadas na forma de uma “string” de texto colocada a seguir aos vectores dos pontos.

plot(x1,y1,’string1’,x2,y2,’string2’,...)

A “string” pode definir os seguintes atributos das linhas desenhadas

- Marcadores dos pontos do gráfico

- Cor das linhas e marcadores

- Tipo de linha a desenhar

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

61AT 2006

Definição dos atributosCor Marcadores Linhas

y amarelo . ponto - linha a cheio

m rosa o círculo : ponteada c azul claro x marca x -. traço

ponto r encarnado + marca mais --

tracejada g verde * estrela b azul s quadrado w branco d diamante k preto v triângulo (cima) ^ triângulo (baixo) < triângulo (esquerda) > triângulo (direita) p pentagrama h “hexagram”

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

62AT 2006

Alteração do aspecto gráfico

0 1 2 3 4 5 6 7-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

w

y

Grafico de "sin(2*x)+cos(x)" e "cos(x).*sin(x)"

sin(2*x)+cos(x)cos(x).*sin(x)

plot(x1,y1, '-ob')

plot(x2,y2, '-+r')

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

63AT 2006

0 1 2 3 4 5 6 7-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

x

y

Grafico de sin(x) e cos(x)

sin(x)cos(x)

Legendas

ylabel('y')

xlabel('x')

title('Grafico de sin(x) e cos(x)')

legend('sin(x)','cos(x)')

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

64AT 2006

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

65AT 2006

Som em Matlab

>> Ver Matlab num Instante

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

66AT 2006

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 67: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

67AT 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!

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

68AT 2006

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 69: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

69AT 2006

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 70: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

70AT 2006

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 71: 1AT 2006 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7 António Teixeira

71AT 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)

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

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

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

73AT 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)

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

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

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

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

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

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

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

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

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

78AT 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)

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

79AT 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)