1 / 79

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

Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição Edição 2006/7. António Teixeira. Programar ? Matlab Vectores Gráficos Som em Matlab. Aula 2. Introdução à Programação. Porquê programar ?.

templeton
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conceitos de Sinais e SistemasMestrado em Ciências da Fala e da AudiçãoEdição 2006/7 António Teixeira

  2. Programar ? Matlab Vectores Gráficos Som em Matlab Aula 2

  3. Introdução à Programação

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

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

  6. O computador Máquina programável que processa informação

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

  8. Programabilidade • A sequência de instruções elementares que habitualmente se designa por programa pode ser alterada sempre que se deseje.

  9. Um pouco de estrutura • Componentes: CPU, MEMÓRIA, ... Aplicações: MS OFFICE, Browsers, CAD, MATLAB, ... Software Sistema Operativo: MS Windows, LINUX, MacOS, ... Dispositivos de I/O Hardware Subsistemas: Motherboard, Gráficos, Audio, Armazenamento, Comunicações, ...

  10. Dispositivos de Entrada/Saída

  11. Memória • Agente de armazenamento de informação Capacidade Disponibilidade Acesso Organização Suportes físicos Electrónicos Magnéticos Ópticos

  12. Arquitectura funcional CPU Memória Principal (RAM) Memória de Massa (Disco Duro, Diskette, CDROM) Controlo de Interacção Teclado, rato, monitor ... Comunicações POTS,ADSL, EtherNET

  13. Uma perspectiva dinâmica Memória de massa Programa CPU RAM

  14. Representação de valores num computador

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

  16. Capacidade de representação • 1 Bit = 2 estados • 2 Bits = 4 estados • 3 Bits = 8 estados • ... • N Bits = 2N estados Memória : : 8 Bits 256 palavras : :

  17. Capacidade de representação • Exemplo do número de estados possíveis possíveis para 3 bits

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

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

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

  21. Código ASCII

  22. 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 Exemplo código ASCII • Código ASCII • 7 Bits = 128 Caracteres Memória : : 0 77 65 84 MATLAB 76 65 66 : :

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

  24. 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: Base 10

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

  26. Formato exponencial decimal • Em formato decimal é útil representar os números utilizando a notação exponencial: Mantissa Expoente

  27. Formato exponencial binário • No formato exponencial binário a mantissa e a base são representados em formato binário na base 2. Mantissa Expoente

  28. Ferramentas Informáticas

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

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

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

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

  33. Análise de dados com o Excel

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

  35. Cálculo de limites Cálculo de derivadas Simplificação de expressões 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

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

  37. Introdução ao Matlab

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

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

  40. O ambiente gráfico Janela da comandos Ajuda Para mudar a pasta de trabalho Documentação e demos dos produtos instalados Espaço de trabalho com as variáveis Histórico dos comandos Conteúdo da pasta de trabalho

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

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

  43. 79 31 63 23 22 64 63 52 51 0 0 0 S S S Expoente Expoente Expoente Mantissa Mantissa Mantissa Norma IEEE754 • Precisão simples (32 bits, Bias = 127) • Precisão dupla (64 bits, Bias = 1023) • Precisão extendida (80, Bias = 32767)

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

  45. 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: piPi • 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.

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

  47. Vectores

  48. Direcção Vectores Conceito geométrico de vector (duas dimensões) V

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

  50. Vectores Num 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.

More Related