Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira
Aula 1 Informações sobre a cadeira Sinais Introdução à Programação Matlab Ambiente Vectores Gráficos Aula 1
Informações sobre a cadeira
Motivações Esta disciplina surge para tentar dar resposta à falta de formação da grande maioria do público alvo deste mestrado em conceitos relacionados com a área de processamento de sinal, apesar de muitos deles usarem aplicações, mais ou menos sofisticadas, baseadas nesses mesmos conceitos. Por exemplo, é habitual profissionais na área utilizarem gravação de sinal de voz, análises espectrais, determinação da frequência fundamental, sem, muitas vezes, possuirem os conhecimentos necessários para uma escolha informada entre várias possibilidades que se lhes oferecem.
Programa Resumido Sinais Sistemas Análise de Fourier Sinais através de sistemas LPC Cepstra Aplicação à obtenção de F0 e das formantes MatLab
Organização das Aulas Parte mais “teórica” Parte prática Pode não ser necessária todas as aulas Tentarei que inclua exemplos e demonstrações relacionadas com a área Parte prática Usando computadores Matlab Guiões Algumas para avaliação
Avaliação Resultante da avaliação de 3 ou mais trabalhos O final será maior Podem ser o trabalho de uma aula Exame para quem precisar 30 % da nota final Fazendo média com os trabalhos
Bibliografia “Signals and Systems for Speech and Hearing”, Rosen & Howell, Academic Press “DSP First – A Multimedia Approach”, McClellan, Schafed & Yoder, Prentice Hall “Techniques in Speech Acoustics”, Harrington & Cassidy, Kluwer “Signals and Systems” Simon Haykin, Barry Van Veen. John Wiley, 1999. Documento parcialmente digitalizado (acesso só em ua.pt). “Sinais e Sistemas”, Isabel Lourtie, Escolar Editora
Bibliografia MATLAB “Matlab 6, Curso Completo”, Duane Hanselman, Prentice Hall "Notas sobre o Matlab", António Batel, Amaral Carvalho e Ricardo Fernandes Matlab num Instante Os acetatos das apresentações das aulas estarão disponíveis na página da disciplina
Por agora: http://www.ieeta.pt/~ajst/css Brevemente: Recursos Online Por agora: http://www.ieeta.pt/~ajst/css Brevemente: “site da disciplina” Fazer aqui um demo de utilização da Webct. Mostrar que os acetatos das aulas teóricas estão online
Informação adicional Pouco à vontade com o computador Consultar os acetatos de ITIC disponíveis no Elearning e praticar Falta de bases matemáticas Fazer “revisões” de: polinómios, números complexos, etc. Interesse em saber mais acerca de Matlab Material de uma cadeira (Aplicacionais ... http://webct.ua.pt/public/aplicacionais alunoitic itic2002
Sinais Fontes principais: Cap. 2 e 3 de Rosen & Howell Cap. 1 de Haykin & van Veen
Exemplos Os sinais são um componente básico das nossas vidas Exemplos: Uma forma comum de comunicação usa o sinal de voz Outra forma de comunicar, visual, baseia-se em imagens Temperatura e pressão arterial que transmitem ao médico informação acerca do estado do paciente Flutuação diária das cotações em bolsa A lista é (quase) infinita
Exemplos Como estamos interessados essencialmente na fala poderiamos pensar que apenas nos interessaria o sinal conhecido como som No entanto, A produção de som por um diapasão dá-nos um exemplo de sinal mecânico, relativo ao movimento Infelizmente o armazenamento e manipulação das variações de pressão que ouvimos não é fácil Conversão para sinal eléctrico através de microfones Os sinais eléctricos não são adequados à audição Conversão de volta para sinal acústico Para ter acesso ao processo de produção podemos socorrer-nos de técnicas como MRI obtendo imagens
Sinal Um sinal representa a medida de uma grandeza mensurável. Exemplos: Temperatura do ar PSI20 Gravação de voz Nível da água do mar (marés) ECG (Electrocardiograma)
Definição Um sinal é formalmente definido como: Ou “Uma função de uma ou mais variáveis, que contêm informação acerca da natureza de um fenómeno físico” Ou Sinais são funções de uma ou mais variáveis independentes que contêm informação acerca do comportamento e características de determinados fenómenos físicos. São representados matematicamente como funções de uma ou mais variáveis independentes Pg 4 de “Sinais e Sistemas” de Isabel Lourtie, Escolar Editora
Contínuo vs Discreto Contínuo Se se puder medir o seu valor em qualquer instante de tempo Variável independente é contínua O domínio é um subconjunto dos números reais Representa-se como x(t) Ex: a temperatura ambiente é um sinal contínuo Discreto Apenas se conhecem medidas do sinal tiradas em alguns instantes de tempo Variável independente é discreta O domínio é um subconjunto dos números naturais Representação: x[n] Ex: a temperatura ambiente medida todas as horas Em ambos os casos os valores de x() podem ser contínuos ou discretos
Digital e analógico Se juntarmos ao carácter discreto da variável independente o facto de serem discretos os valores que x(n) pode assumir Temos um sinal DIGITAL O sinal x(t) assumindo valores de um subconjunto dos reais É um sinal ANALÓGICO
Vantagens do Digital A abordagem digital tem vantagens importantes sobre o analógico Flexibilidade A mesma máquina digital (hardware) pode ser usada para implementar diferentes versões de processamento. No caso analógico teria de redesenhar-se a máquina Repetição Uma operação pode ser repetida exactamente as vezes necessárias O caso analógico sofre de variações dos parâmetros pela influência de factores externos como a temperatura
Dimensionalidade Unidimensional Multidimensional Quando a função depende apenas de uma variável (independente) Exemplo: sinal de voz, que varia com om tempo Multidimensional Quando de depende de mais do que uma variável Exemplo: uma imagem é um sinal bidimensional Com as coordenadas horizontais e verticais representando as duas dimensões Pergunta: Quantas dimensões possuem as imagens de televisão ?
Periódico vs não periódico Um sinal periódico x(t) satisfaz a condição x(t) = x(t+T) para todo o t Onde T é uma constante positiva Sendo satisfeita a condição para T=To também será para T=2 To, 3 To, 4 To … O menor valor que satisfaz a condição, To, é designado por período fundamental de x(t) O recíproco do período fundamental é a frequência fundamental, f=1/T A frequência angular, em radianos por segundo, define-se como =2 f Quando não existe um valor de T que satisfaça a condição, o sinal é aperiódico ou não periódico Página 18 livro digitalizado
Sinais determinísticos e aleatórios Um sinal determinístico é um sinal acerca do qual não existe incerteza acerca do seu valor em qualquer instante Nos outros (random signals) existe incerteza antes da sua ocorrência Exemplo: O ruído gerado por um amplificador
Passagem de contínuo a discreto - Amostragem
Amostragem Período de amostragem
Sinal Discreto O sinal anterior pode ser representado de forma aproximada apenas pela amplitude das suas amostras e pelo período de amostragem. S= [0, 1.96, 7.4, 9.08, 8.16, 6.03, 2.8, 0.15, -0.68, 2.53, 6.46, 8.09, 6.52] Ou seja, pode ser representado por um vector
Introdução à Programação
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.
Não sabendo programar, tem-se poucas opções 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
O computador Máquina programável que processa informação
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.
Programabilidade A sequência de instruções elementares que habitualmente se designa por programa pode ser alterada sempre que se deseje.
Do chip ao Sistema Do chip ao Sistema (Hardware + Software)
Um pouco de estrutura Software Hardware 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, ... Componentes: CPU, MEMÓRIA, ...
Interacção: Dispositivos I/O
Uma visão mais alargada... Rede Local (LAN) INTERNET
Memória Agente de armazenamento de informação Suportes físicos Capacidade Disponibilidade Acesso Organização Suportes físicos Electrónicos Magnéticos Ópticos
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
Uma perspectiva dinâmica Memória de massa Programa CPU RAM
Ferramentas Informáticas Objectivos Auxiliar na resolução de problemas matemáticos cuja resolução manual seja demorada Tipos de Ferramentas Linguagens de programação Análise e visualização de dados Ambientes de cálculo
Linguagens de programação Características 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
Exemplo: Cálculo do Factorial Definição Exemplo
Cálculo do factorial em Pascal
Análise e visualização de dados Características 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
Análise de dados com o Excel 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
Análise de dados com o Excel Parar a apresentação e mostrar com se criaram as células da temperatura máxima, mínima e média
Cálculo do factorial com o Excel É possível com o Excel gerar sequências de inteiros e calcular somatórios e produtórios Na tabela ao lado utilizou-se a seguinte propriedade do factorial
Ambientes de cálculo Características Vantagens Desvantagens Exemplos 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
Mathematica Muito divulgado para cálculo simbólico Igualmente poderoso para calculo numérico Permite trabalhar com qualquer precisão numérica Grande colecção de “Packages” 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
Mathematica Cálculo do factorial no Mathematica
Mathematica – exemplos de utilização Cálculo de limites Cálculo de derivadas Simplificação de expressões Muito poderoso para cálculo simbólico mas possui uma notação um pouco obscura
Ambientes de Cálculo Numérico Matlab
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
Introdução ao Matlab Prática
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
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 Correr os seguintes demos do Matlab 1º Demo, Graphics, 2-D Plots 2º Demo, Graphics, Volume Visualization 3º Demo, Graphics, Vibrating Logo 4º Demo, Desktop Environment
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 Depois de mostrar o acetato mostrar os seguintes pontos com o Matlab Como mudar de directoria corrente Como manipular as janelas dentro do Matlab Como aceder aos últimos comandos com as setas (incluindo digitando antes uma letra) Histórico dos comandos Conteúdo da pasta de trabalho
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 No final deste acetato demonstrar como fazer as operações apenas com números
Variáveis 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. Mostrar como criar variáveis e como fazer operações com variáveis
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 Mostrar no Matlab exemplos de todos os comandos deste acetato, mostrando em simultâneo as alterações nas janelas do Matlab.
Ajuda “Online” Encontram-se disponíveis diversos tipos de ajuda para ACE que é possível consultar utilizando a Internet. Para mais informação ver a página de ACE na opção do menu Documentos. Manuais do Matlab Getting Started with Matlab Using Matlab Using Matlab Graphics Outros documentos sobre o Matlab Matlab Num Instante Matlab Primer
TPC Lêr “Matlab num Instante”