Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira AT 2007 1 • Aula Análise em frequência de sinais reais – – • Análise espectral de sinais variáveis no tempo – – – • o Espectrograma resolução no tempo e na frequência narrow band e wide band MATLAB – AT 2007 analógicos digitais specgram 2 Análise em frequência de sinais reais sinais analógicos AT 2007 3 O problema base • Até agora os espectros (análise espectral) referia-se a sinais com uma representação matemática “simples” • Mas o que acontece quando pretendemos o espectro de sinais do mundo real, não definidos por uma fórmula matemática? – a transformada/série de Fourier apenas funciona com sinais abstractos “no papel” AT 2007 4 Uma solução • Até recentemente, apenas existia uma forma prática de determinar o espectro nestes casos, utilizando filtros passabanda – este tipo de filtro possui a propriedade de selectivamente atenuar as frequências abaixo e acima da região a que são mais sensíveis • para saber a energia que existe numa gama de frequência apenas temos de fazer passar o sinal por um filtro passa-banda ajustado para essa gama • Para ter o espectro numa gama de frequências teremos de ter vários filtros com a frequência central cobrindo o intervalo – o conjunto de filtros chama-se BANCO DE FILTROS – Por vezes a utilização de vários filtros não é viável (por exemplo pelo seu custo) utilizando-se um filtros com frequência central ajustável AT 2007 5 Exemplo: análise da onda triangular • O sinal – período = 5 ms AT 2007 6 filtro para frequência central=200 • filtro e saída •Max=0.3748 AT 2007 7 filtro para frequência central=300 • filtro e saída •Max aprox 0 AT 2007 8 usando vários filtros... AT 2007 9 o caso digital • aplica-se a DFT/FFT •tantos pontos como os do sinal AT 2007 10 em termos de frequências AT 2007 11 Análise espectral de sinais variáveis no tempo AT 2007 12 O problema • Até agora os sinais que tratamos têm sempre as mesmas características ao longo do tempo • Como tratar de sinais que variam com o tempo? – como a música – e o sinal de voz !! AT 2007 13 Solução • Extensão das ideias anteriores • No caso analógico, representando a saída ao longo do tempo das saídas do banco de filtros – retirando o detalhe por um processo de rectificação e “smoothing” • tudo o que precisamos é uma medida do nível do sinal na saída sem qualquer interesse pelo detalhe • existem muitas forma de o fazer • No caso digital aplicar a FFT a “segmentos” (frames) do sinal – a designada Short Time Fourier Analysis AT 2007 14 Exemplo: “chirp” AT 2007 15 combinando numa forma 3D •3D tempo, frequência e amplitude AT 2007 16 vista 2D •f •t AT 2007 17 Espectrograma (digital) representação do conteúdo espectral de um sinal no tempo AT 2007 18 O que é ? • Se analisarmos vários segmentos ao longo do sinal e visualizarmos a forma como as componentes na frequência variam temos um gráfico em função do tempo e da frequência • O espectrograma representa esta informação a 2 dimensões – Usando cores (ou níveis de cinzento) para representar a amplitude das várias sinusóides AT 2007 19 Como se constrói • Para os vários segmentos do sinal – Calcula-se a FFT • depois de aplicar janela ao sinal – Converte-se para cores ou tons de cinzento – Com esta informação cria-se uma coluna de uma imagem AT 2007 20 0.1 50 0 1 1.5 100 20 40 60 80 100 120 200 0.5 1 1.5 100 20 40 60 80 100 120 200 0.5 1 1.5 0 -0.1 -50 0 200 400 0.1 0 50 0 0 -0.1 -50 0 200 400 0.1 0 50 0 0 -0.1 -50 0 AT 2007 100 20 40 60 80 100 120 200 0.5 200 400 0 21 MATLAB: specgram • SPECGRAM Calculate spectrogram from signal. B=SPECGRAM(A,NFFT,Fs,WINDOW,NOVERLAP) calculates the spectrogram for the signal in vector A. • SPECGRAM splits the signal into overlapping segments, windows each with the WINDOW vector and forms the columns of B with their zero-padded, length NFFT discrete Fourier transforms. • Each column of B contains an estimate of the short-term, time-localized frequency content of the signal A. • Time increases linearly across the columns of B, from left to right. • Frequency increases linearly down the rows, starting at 0. AT 2007 22 Example: specgramdemo AT 2007 23 Narrow band • Resolução na frequência aprox. 45 Hz – Tons de 50 Hz e 150 Hz diferenciam-se • Podem distinguir-se os harmónicos – Já vimos que janelas (para 10 kHz) são de 256 amostras – Mau para ver onde ocorrem mudanças bruscas no sinal AT 2007 24 Wide band • Resolução na frequência aprox. 300 Hz – Tons de 50 Hz e 150 Hz não se diferenciam – Não se podem seguir os harmónicos individualmente de adultos do sexo masculino • Frequência fundamental por volta dos 100 Hz – Já vimos que janelas (para 10 kHz) são de 32 amostras – Boa resolução no tempo AT 2007 25 Exemplos Matlab “chirp” narrow AT 2007 wide NFFT=256 NFFT=32 bw aprox 45 bw aprox 300 pior 26 Diferenciar componentes de frequências próximas (1000 e 1150 Hz) narrow distingue wide AT 2007 27 Espectrograma de um impulso •narrow •wide melhor AT 2007 28 Espectrograma de dois impulsos próximos no tempo melhor AT 2007 29 Espectrograma de sinais “random” AT 2007 30 Exemplo usando SFS Qual é o Wide e o Narrow ? wide narrow AT 2007 31