Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira AT 2004 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 2004 analógicos digitais specgram 2 Análise em frequência de sinais reais sinais analógicos AT 2004 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 2004 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 2004 5 Exemplo: análise da onda triangular • O sinal – período = 5 ms AT 2004 6 filtro para frequência central=200 • filtro e saída •Max=0.3748 AT 2004 7 filtro para frequência central=300 • filtro e saída •Max aprox 0 AT 2004 8 usando vários filtros... AT 2004 9 o caso digital • aplica-se a DFT/FFT •tantos pontos como os do sinal AT 2004 10 em termos de frequências AT 2004 11 Análise espectral de sinais variáveis no tempo AT 2004 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 2004 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 2004 14 Exemplo: “chirp” AT 2004 15 combinando numa forma 3D •3D tempo, frequência e amplitude AT 2004 16 vista 2D AT 2004 17 Espectrograma (digital) representação do conteúdo espectral de um sinal no tempo AT 2004 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 2004 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 2004 20 Segmentos (Frames) • A análise pela DFT assume que o sinal mantém as suas características a seguir ao bloco analisado – O que não se verifica no sinal de voz • A análise é efectuada em pequenos segmentos em que o sinal tem características estáveis – Cerca de 10 a 20 ms • Cada segmento é designado em Inglês de frame AT 2004 21 Janelas • Ao obter-se um segmento está implícito que se colocam a zero todos os valores fora do segmento – Isto corresponde à aplicação do que se chama janela rectangular • Problema: o que se vê na FFT não são apenas as componentes devidas ao sinal mas também componentes devidas à janela • Para evitar parcialmente este problema utilizam-se outras janelas, como as de Hamming e Hann AT 2004 22 Janelas • Hamming 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 50 100 150 200 250 300 sinal aplicando janela rectangular de 256 pontos 0.1 0.05 0 -0.05 -0.1 • Aplicada ao sinal 0 50 100 150 200 250 300 sinal aplicando janela de hamming de 256 pontos 0.1 0.05 0 -0.05 -0.1 0 AT 2004 50 100 150 200 250 300 23 Efeito na FFT 10 0 -10 -20 -30 -40 -50 0 AT 2004 20 40 60 80 100 vermelho= rectangular preto=hamming 120 140 24 Tamanho das janelas • Para se usar DFT deve ser potência de 2 – 32, 64, 128, 256, 512, 1024 • Resolução na frequência pretendida – N amostras resultam em N pontos na frequência entre 0 e a freq. Amostragem • Intervalo entre frequências= fa/N – N=fa/intervalo – Intervalo = 45 Hz => 10000/45=222 => 256 amostras – Intervalo = 300 Hz => 10000/300=34 => 32 amostras AT 2004 25 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 2004 100 20 40 60 80 100 120 200 0.5 200 400 0 26 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 2004 27 Example: specgramdemo AT 2004 28 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 2004 29 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 2004 30 Exemplos Matlab “chirp” narrow AT 2004 wide NFFT=256 NFFT=32 bw aprox 45 bw aprox 300 pior 31 Diferenciar componentes de frequências próximas (1000 e 1150 Hz) narrow distingue wide AT 2004 32 Espectrograma de um impulso •narrow •wide melhor AT 2004 33 Espectrograma de dois impulsos próximos no tempo melhor AT 2004 34 Espectrograma de sinais “random” AT 2004 35 Exemplo usando SFS Qual é o Wide e o Narrow ? wide narrow AT 2004 36