Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira AT 2004 1 • Informações sobre a cadeira • Sinais • Introdução à Programação • Matlab Aula AT 2004 – Ambiente – Vectores – Gráficos 2 Informações sobre a cadeira AT 2004 3 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. AT 2004 4 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 AT 2004 5 Organização das Aulas • Parte mais “teórica” – 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 AT 2004 6 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 AT 2004 7 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 AT 2004 8 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 AT 2004 9 Recursos Online Por agora: http://www.ieeta.pt/~ajst/css Brevemente: “site da disciplina” AT 2004 10 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 AT 2004 11 Sinais Fontes principais: Cap. 2 e 3 de Rosen & Howell Cap. 1 de Haykin & van Veen AT 2004 12 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 AT 2004 13 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 AT 2004 14 Sinal • Um sinal representa a medida de uma grandeza mensurável. • Exemplos: – – – – – AT 2004 Temperatura do ar PSI20 Gravação de voz Nível da água do mar (marés) ECG (Electrocardiograma) 15 Definição • Um sinal é formalmente definido como: – “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 AT 2004 16 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 AT 2004 17 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 AT 2004 18 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 AT 2004 19 Dimensionalidade • Unidimensional – 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 ? AT 2004 20 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 AT 2004 21 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 AT 2004 22 Passagem de contínuo a discreto - Amostragem 10 9.08 8.16 8 8.08 7.40 6.46 6.02 6 6.52 4 2.80 2.52 1.95 2 0.14 0 0.00 -0.6 -2 AT 2004 0 20 40 60 80 100 120 140 23 Amostragem 10 9.08 8.16 8 8.08 7.40 6.46 6.02 6 6.52 4 2.80 2.52 1.95 2 0.14 0 0.00 -0.6 Período de amostragem -2 AT 2004 0 20 40 60 80 100 120 140 24 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 AT 2004 25 Introdução à Programação AT 2004 26 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. AT 2004 27 • 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 AT 2004 28 O computador • Máquina programável que processa informação AT 2004 29 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. AT 2004 30 Programabilidade • A sequência de instruções elementares que habitualmente se designa por programa pode ser alterada sempre que se deseje. AT 2004 31 Do chip ao Sistema • Do chip ao Sistema (Hardware + Software) AT 2004 32 Um pouco de estrutura • Aplicações: MS OFFICE, Browsers, CAD, MATLAB, ... • Sistema Operativo: MS Windows, LINUX, MacOS, ... • Dispositivos de I/O • Subsistemas: Motherboard, Gráficos, Audio, Armazenamento, Comunicações, ... • Componentes: CPU, MEMÓRIA, ... AT 2004 33 Interacção: Dispositivos I/O AT 2004 34 Uma visão mais alargada... • Rede Local (LAN) • INTERNET AT 2004 35 Memória • Agente de armazenamento de informação Disponibilidad e Acesso Organização Capacidade • Suportes físicos Electrónicos AT 2004 Magnéticos Ópticos 36 Arquitectura funcional CPU Memória Principal (RAM) Controlo de Interacção Teclado, rato, monitor ... AT 2004 Memória de Massa (Disco Duro, Diskette, CDROM) Comunicações POTS,ADSL, EtherNET 37 Uma perspectiva dinâmica Memória de massa Programa CPU AT 2004 RAM 38 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 AT 2004 39 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 AT 2004 40 Exemplo: Cálculo do Factorial Definição n! n (n 1) (n 2) 3 2 1 Exemplo 4! 4 3 2 1 24 AT 2004 41 Cálculo do factorial em Pascal AT 2004 42 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 AT 2004 43 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 AT 2004 44 Análise de dados com o Excel AT 2004 T. Máx. 22 T. Mín. 10 T. Méd. 16,0 25 20 15 10 Temperatura 22 20 18 14 16 Hora 12 10 8 6 4 0 2 5 0 Hora Temperatura 0 12 1 12 2 12 3 11 4 10 5 12 6 15 7 16 8 17 9 18 10 22 11 22 12 21 13 22 14 22 15 20 16 18 17 17 18 17 19 16 20 15 21 13 22 13 23 12 45 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 utilizouse a seguinte propriedade do factorial n! n (n 1)! AT 2004 N 1 2 3 4 5 6 7 Factorial 1 2 6 24 120 720 5040 46 Ambientes de cálculo • Características – 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 AT 2004 47 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 – – – – AT 2004 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 48 Mathematica • Cálculo do factorial no Mathematica AT 2004 49 Mathematica – exemplos de utilização Cálculo de limites Cálculo de derivadas Simplificação de expressões AT 2004 50 Ambientes de Cálculo Numérico Matlab AT 2004 51 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 AT 2004 52 Introdução ao Matlab •Prática AT 2004 53 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 AT 2004 54 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. – – – – AT 2004 Gráficos de funções Visualização de volumes Animações Tutorais sobre o Matlab 55 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 AT 2004 56 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 AT 2004 57 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. AT 2004 58 Variáveis • Apagar variáveis – clear v1 v2 – clear all apaga as variáveis v1 e v2 apaga todas as variáveis • Ver as variáveis no espaço de trabalho (“workspace”) – whos – who mostra todas as variáveis do espaço de trabalho com informação adicional de dimensão e tipo mostra apenas os nomes das variáveis • Guardar variáveis – – – – AT 2004 save Guarda em disco todas as variáveis do “workspace” load Carrega do disco as variáveis guardadas save ficheiro v1 v2Guarda as variáveis v1 e v2 no ficheiro load ficheiro Carrega as variáveis do ficheiro 59 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 AT 2004 60 TPC • Lêr “Matlab num Instante” AT 2004 61