Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO DO LESTE DE MINAS GERAIS CURSO DE ENGENHARIA ELÉTRICA IGOR OLIVEIRA SOUZA MATHEUS HENRIQUE MACIEIRA IMPLEMENTAÇÃO DE UM FILTRO DIGITAL UTILIZANDO O MATLAB PARA FILTRAGEM DE SINAIS SONOROS Coronel Fabriciano – MG 2016 IGOR OLIVEIRA SOUZA MATHEUS HENRIQUE MACIEIRA IMPLEMENTAÇÃO DE UM FILTRO DIGITAL UTILIZANDO O MATLAB PARA FILTRAGEM DE SINAIS SONOROS Trabalho de Conclusão de Curso apresentado ao Curso de Engenharia Elétrica do Centro Universitário do Leste de Minas Gerais como requisito parcial para obtenção do título de Bacharel em Engenharia Elétrica. Orientador: Silvano Fonseca Paganoto Coronel Fabriciano – MG 2016 Agradeço primeiramente a Deus por mais esse sonho concretizado, ao ensinamento de todos os professores, em especial ao professor Luciano Bittencourt pela grandiosa ajuda, ao apoio da minha família e amigos e a mim que mantive o meu foco para não desistir dos meus ideais. “Que os vossos esforços desafiem as impossibilidades, lembrai-vos de que as grandes coisas do homem foram conquistadas do que parecia impossível”. (Charles Chaplin) RESUMO Sinais são fundamentais para transmissão de informações, sendo que a presença de ruídos nesses sinais pode comprometer o conteúdo desta informação transmitida. Sabendo da necessidade na precisão da transmissão de informações, foi desenvolvido um Filtro Digital do tipo FIR utilizando comandos lógicos do software MATLAB para realizar a filtragem de sinais sonoros proveniente de uma placa de som e disponibilizar um sinal de saída sem à presença indesejada de ruídos, garantindo uma maior precisão e entendimento da informação transmitida. Palavras-chave: Frequências. Filtros Digitais. Filtros FIR. MATLAB. Sinais. ABSTRACT Signals are essential for transmission of information, and the presence of noise in these signals may compromise the content of the information transmitted. Knowing the need on the accuracy of information transmission, it developed a Digital Filter FIR type using logic commands of MATLAB software to perform filtering sound signals from a sound card and provide an output signal without the unwanted presence of noise, ensuring greater accuracy and understanding of the information transmitted. KeyWords: Frequencies. Digital Filters. Filters FIR. MATLAB. Signals. LISTA DE FIGURAS Figura 1 - Representação Gráfica de Sinais de Tempo Discreto .............................................. 17 Figura 2 - Representação Gráfica de Sinais de Tempo Contínuo............................................. 18 Figura 3 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Contínuo - Sinal de Tempo Contínuo ....................................................................................................................... 21 Figura 4 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Contínuo - Versão Comprimida .............................................................................................................................. 21 Figura 5 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Contínuo - Versão Expandida ................................................................................................................................. 22 Figura 6 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Discreto - Sinal de Tempo Discreto ........................................................................................................................ 22 Figura 7 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Discreto - Versão Comprimida .............................................................................................................................. 22 Figura 8 - Filtragem de Sinal no Tempo Contínuo através de um Filtro Digital ..................... 25 Figura 9 - Amostragem por trem de impulsos .......................................................................... 27 Figura 10 - Sinal Original no Tempo Discreto ......................................................................... 28 Figura 11 - Sinal com Interpolação no Tempo Discreto .......................................................... 28 Figura 12 - Resposta em frequência da atenuação do filtro passa-alta ..................................... 30 Figura 13 - Circuito Básico RC Filtro Passa-Alta .................................................................... 31 Figura 14 - Resposta em frequência da atenuação do filtro passa-baixa .................................. 31 Figura 15 - Circuito Básico RC Filtro Passa-Baixa .................................................................. 31 Figura 16 - Resposta em frequência da atenuação do filtro passa-faixa .................................. 32 Figura 17 - Circuito Básico RLC Filtro Passa-Faixa ................................................................ 33 Figura 18 - Resposta em frequência da atenuação do filtro rejeita-faixa ................................. 33 Figura 19 - Circuito Básico RLC Filtro Rejeita-Faixa ............................................................. 34 Figura 20 - Elemento somador ................................................................................................. 35 Figura 21 - Elemento multiplicador.......................................................................................... 36 Figura 22 – Elemento de atraso ................................................................................................ 36 Figura 23 - Estrutura direta do filtro FIR ................................................................................. 36 Figura 24 - Estrutura em cascata do filtro FIR ......................................................................... 37 Figura 25 – Valores supostos para uma resposta ideal ao impulso h(n) truncada .................... 38 Figura 26 - Resposta em amplitude para a função h(n) suposta ............................................... 39 Figura 27 - Resposta em frequência de uma função-janela ...................................................... 40 Figura 28 - Janela de Hamming ................................................................................................ 41 Figura 29 - Janela de Blackman ............................................................................................... 41 Figura 30 - Estrutura Geral do Filtro IIR .................................................................................. 42 Figura 31 - Espectro de frequências do sinal capturado da sirene............................................ 44 Figura 32 - Espectro de frequências do sinal capturado da voz ............................................... 44 Figura 33 - Espectro de frequências do sinal capturado da voz com a sirene ligada ............... 45 Figura 34 - Módulo de 𝐻𝑑(𝑒𝑗𝜔) em função da frequência ω para um filtro passa-baixas ...... 46 Figura 35 - Gráfico da função sinc ........................................................................................... 48 Figura 36 - Espectrograma com o resultado da janela de Hamming ........................................ 49 Figura 37 - Espectrograma com o resultado da janela de Blackman........................................50 Figura 38 - Resposta em frequência da função h usando a janela de Blackman ...................... 53 Figura 39 - Amplitude do sinal de áudio .................................................................................. 54 Figura 40 - Comparação dos espectros de frequências do áudio original e após filtragem ..... 55 Figura 41 - Comparação dos espectros de frequências do áudio original e após filtragem (com zoom) ........................................................................................................................................ 55 Figura 42 - Propriedades do filtro FIR com janela de Blackman ............................................. 56 Figura 43 - Resposta em magnitude do filtro FIR com janela de Blackman............................ 57 NOMENCLATURA 𝜃(𝑤) - Fase da Senóide Complexa 𝛿[𝑛] – Impulso Deslocado no Tempo 𝛾 – Coeficiente do Filtro FIR na estrutura cascata 𝐴 – Fator de Multiplicação para Mudança de Escala de Tempo no Tempo Contínuo 𝑎 – Constante Complexa 𝑏𝑛 – Coeficientes do Filtro FIR 𝑐 – Fator de Multiplicação para Mudança Escalar 𝐶 – Capacitância 𝑒𝑗𝑤 – Módulo da Senóide Completa 𝑓𝑐 – Frequência de Corte ℎ[𝑛], ℎ(𝑛) – Resposta ao Impulso no Domínio do Tempo Discreto 𝐻[𝑒𝑗𝑤], 𝐻(𝑒𝑗𝑤) – Resposta ao Impulso no Domínio da Frequência 𝐻(𝑧) – Resposta ao Impulso no Domínio Z 𝑘 - Instante de Tempo 𝐾 - Fator de Multiplicação para Mudança de Escala de Tempo no Tempo Contínuo 𝐿 – Indutância 𝑀 – Comprimento do Filtro 𝑛 – Número de Amostras no Tempo Discreto 𝑝(𝑡) – Função de Impulsos Unitários Periódicos R – Resistência 𝑡 – Número de Amostras no Tempo Contínuo 𝑇 – Período de Amostragem 𝑉(𝑡) – Tensão 𝑥𝑝(𝑡) – Função do Trem de Impulsos 𝑥[𝑛], 𝑥(𝑛) – Sinal de Entrada no Tempo Discreto 𝑥(𝑡) – Sinal de Entrada no Tempo Contínuo 𝑥[−𝑛] – Sinal de Entrada Refletida no Tempo Discreto 𝑥(−𝑡) – Sinal de Entrada Refletida no Tempo Contínuo 𝑦[𝑛], 𝑦(𝑛) – Sinal de Saída no Tempo Discreto 𝑦(𝑡) – Sinal de Saída no Tempo Contínuo 𝑧𝑛 – Função Exponencial 𝜔𝑐 – Frequência de Corte 𝜔𝑠 – Frequência Fundamental |𝜔| – Frequência LISTA DE ABREVIATURAS E SIGLAS FIR – Filtros Digitais com Resposta Finita ao Impulso FPA – Filtros Passa-Alta FPB – Filtros Passa-Baixa FPF – Filtros Passa-Faixa FRF – Filtros Rejeita-Faixa IIR – Filtros Digitais com Resposta Infinita ao Impulso LIT – Linear Invariante no Tempo RC – Circuito Composto por Resistores e Capacitores RLC – Circuito Composto Por Resistores, Indutores e Capacitores SUMÁRIO 1 INTRODUÇÃO ........................................................................................................ 14 1.1 Definição do problema ............................................................................................. 15 1.2 Objetivos ................................................................................................................... 15 1.2.1 Objetivo Geral .................................................................................................... 15 1.2.2 Objetivo Específico ............................................................................................ 15 1.3 Justificativa ............................................................................................................... 15 1.4 Procedimentos Metodológicos ................................................................................ 16 2 REVISÃO DE LITERATURA ............................................................................... 17 2.1 Processamento de Sinais .......................................................................................... 18 2.2 Sistema Linear Invariante no Tempo .................................................................... 23 2.2.1 Convolução ........................................................................................................ 23 2.3 Amostragem de sinais contínuos ............................................................................ 24 2.3.1 Teorema da amostragem ................................................................................... 25 2.3.2 Amostragem com trem de impulsos .................................................................. 26 2.3.3 Interpolação ....................................................................................................... 27 2.4 Transformada de Fourier Discreta e Transformada Z ........................................ 28 2.5 Filtros ........................................................................................................................ 29 2.5.1 Filtros analógicos .............................................................................................. 29 2.5.2 Filtros digitais .................................................................................................... 34 2.5.2.1 Filtros FIR ......................................................................................................... 34 2.5.2.2 Filtros IIR .......................................................................................................... 42 3 RESULTADOS E DISCUSSÕES ........................................................................... 43 3.1 Coleta do sinal ruidoso ............................................................................................ 43 3.2 Determinação e modelagem do filtro ideal ............................................................ 45 3.3 Implementação do filtro FIR .................................................................................. 48 3.3.1 Parâmetros do filtro FIR ................................................................................... 50 3.3.2 Desempenho do filtro usando a janela de Blackman ....................................... 53 4 CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS .................. 58 REFERÊNCIAS ..................................................................................................................... 59 APÊNDICE A – FUNÇÃO PARA GRAVAR ÁUDIO ....................................................... 61 APÊNDICE B – FUNÇÃO DA TRANSFORMADA RÁPIDA DE FOURIER ................ 62 APÊNDICE C – FUNÇÃO PARA GERAR OS COEFICIENTES DO FILTRO IDEAL .. .................................................................................................................................... 63 APÊNDICE D – ALGORITMO DO FILTRO FIR ............................................................ 64 ANEXO A – FUNÇÃO FREQZ_M ...................................................................................... 67 14 1 INTRODUÇÃO Todo sinal é uma função de alguma variável, ele pode representar tempo, temperatura, sons, etc., ele sempre carrega algum tipo de informação (HAYKIN; VEEN, 2001, p. 22). Embora esse sinal tenha em sua essência a informação que se deseja, ele pode sofrer interferências de ruídos que são sobrepostos ao sinal principal, resultando em um sinal com informação distorcida e dependendo da importância da clareza dessa informação e da intensidade dos ruídos que foram incorporados ao sinal original, o funcionamento do sistema que faz uso do sinal pode ser comprometido. Pensando na purificação do sinal é que entra a importância dos filtros corretamente ajustados. Os filtros são sistemas lineares capazes de processar o sinal e eliminar interferências, permitindo a passagem apenas de sinais em determinada faixa de frequência especificada, bloqueando a passagem em frequências indesejadas, eliminando qualquer ruído presente. Esses filtros podem possuir processamento analógicoou digital (INSTITUTO NEWTON C. BRAGA, 2016). O processamento de sinal utiliza de diferentes formas, variáveis e métodos para realizar o controle de seu processo, como por exemplo, modelos matemáticos, estatísticas, computação, modelagem, etc. O processamento analógico de sinais é feito utilizando resistores, capacitores e indutores. Esses componentes, sob influência de temperatura, variação de tensão e variações mecânicas, podem ter sua eficiência afetada. Os filtros com processamento analógicos ou filtros analógicos são mais baratos que os filtros com processamento digitais ou filtros digitais em contrapartida os filtros digitais conseguem desempenhos muito melhores que os analógicos. O processamento digital de sinal ocorre utilizando comandos lógicos em componentes eletrônicos de processamento, como por exemplo, microcontroladores e FPGA (Field Programmable Gate Array – Matriz de Portas Programáveis), esses componentes fazem a leitura do sinal de entrada e através de sua lógica já programada convertem esse sinal gerando um novo sinal com as características desejadas. 15 O filtro digital pode ser representado com resposta ao impulso, resposta do sistema quando aplicado um impulso na entrada, resposta ao degrau, resposta do sistema quando aplicado um degrau na entrada ou resposta a frequência, utilizando a transformada de Fourier da resposta do impulso. 1.1 Definição do problema Como utilizar o software MATLAB de modo que ele seja capaz de realizar a filtragem de sinais sonoros? 1.2 Objetivos 1.2.1 Objetivo Geral Desenvolver um algoritmo para o MATLAB realizar a filtragem do sinal sonoro a uma frequência previamente selecionada, para garantir um sinal de saída com menos ruídos e otimizado. 1.2.2 Objetivo Específico Elaborar um Filtro Digital FIR utilizando a estrutura direta no software MATLAB; Eliminar a presença de sinais em frequências indesejadas (ruídos) presente no sinal sonoro. 1.3 Justificativa Alguns sistemas necessitam operar com sinais com pouca presença de ruídos para não sofrer nenhuma alteração indesejada em seu processo, necessitando muitas vezes da utilização de filtros. Entre os filtros existentes, algumas características dos Filtros Digitais o fazem ser mais recomendável que o Analógico, como por exemplo, possuírem um menor custo de manutenção, controle mais preciso, operar em frequências elevadas com facilidade e seus componentes possuírem vida útil mais elevada que Filtros Analógicos. 16 1.4 Procedimentos Metodológicos Os comandos lógicos do MATLAB foram desenvolvidos utilizando uma pesquisa experimental, utilizando conhecimentos pré-existentes para o desenvolvimento da lógica, sendo eles o objeto de estudo, o sinal sonoro antes e depois da filtragem foi a variável influenciada, sendo a lógica do MATLAB a forma de controle. A lógica do MATLAB foi testada minunciosamente com o objetivo de encontrar e corrigir erros que poderiam comprometer o resultado da simulação, logo após, um sinal sonoro com a presença de ruídos foi submetido à filtragem digital do MATLAB e observado o sinal de saída. Primeiramente, após serem desenvolvidos os comandos lógicos do software MATLAB foram realizados diversos testes com o objetivo de detectar possíveis erros e corrigi-los. Posteriormente, essa lógica foi submetida a um sinal sonoro com presença de ruídos para ser analisado o sinal presente na saída. Através das análises entre as formas de onda presente no sinal sonoro de entrada e saída foi possível comprovar o funcionamento do software MATLAB operando como filtro digital. 17 2 REVISÃO DE LITERATURA De acordo com Haykin e Veen (2001, p. 22) "Um sinal é formalmente definido como uma função de uma ou mais variáveis, a qual veicula informações sobre a natureza de um fenômeno físico". Os sinais são, frequentemente, encontrados com alguma alteração em sua informação original, causadas por interferências externas, ruídos aleatórios, havendo a necessidade de extrair o sinal original, sinal de interesse, misturado com os outros sinais vindos das interferências, utilizando filtros capazes de realizar essa separação (MICROCHIP, 2002, p.24). Os sinais podem ser classificados com sinal de tempo discreto, representado pela Figura 1, e sinais de tempo contínuo, representado pela Figura 2. Um sinal é considerado de tempo contínuo caso esse sinal varie sua amplitude ou valor continuamente com o tempo. Enquanto no sinal de tempo discreto sua variação ocorre em determinados instantes isolados de tempo (HAYKIN; VEEN, 2001, p. 34). Figura 1 - Representação Gráfica de Sinais de Tempo Discreto Fonte: Oppenheim; Willsky, 2010 18 Figura 2 - Representação Gráfica de Sinais de Tempo Contínuo Fonte: Oppenheim; Willsky, 2010 A análise ou modificações desses sinais utilizando modelos matemáticos, lógicas ou aplicações são conhecidas como Processamento de Sinal. Esse processamento pode ocorrer tanto de forma analógica como de forma digital. Os filtros analógicos/digitais são os componentes capazes de realizar esse processamento. 2.1 Processamento de Sinais O processamento analógico de sinal consiste em um sistema composto por um hardware analógico que modifica um sinal de variação continua, conhecido como sinal de tempo continuo, com um determinado objetivo, normalmente essas modificações podem ser descritas por equações diferenciais. Enquanto no processamento digital de sinal um hardware digital é responsável por processar sinais contendo sequências de números, conhecido como sinais de tempo discreto, esse hardware realiza a leitura do sinal de entrada e faz o processamento através da sua lógica programada (DINIZ; SILVA; NETTO, 2014, p. 1). Hardwares analógicos são compostos normalmente de resistores, capacitores e indutores, sistemas que podem tem sua eficiência afetada devido a diversas variáveis como, por exemplo, variação de temperatura. Já os hardwares digitais utilizam componentes eletrônicos de processamento, utilizando sua lógica programa para realizar o processamento de sinal. Devido a maior facilidade de configuração e implementação, os hardwares digitais possuem um processamento de sinal mais poderoso e preciso que os analógicos. Mas para ser possível processar um sinal analógico, sinal com variação contínua, utilizando processamento digital é 19 preciso converter o sinal no tempo contínuo em sinal no tempo discreto e logo após o processamento recuperar esse sinal contínuo. (DINIZ; SILVA; NETTO, 2014, p. 2). Os sinais de tempo discreto, também conhecido como sinais digitas, possui sua variável independente assumindo um conjunto discreto de valores, pois essa variável varia apenas em instantes discretos do tempo. Exemplos desse tipo de sinal são: número de filhos, índice da bolsa de valores, etc. (OPPENHEIM; WILLSKY, 2010, p. 2). Os sinais digitais são processados em sistemas de tempo discreto, processamento digital, esses sistemas trata os sinais de entrada de tempo discreto resultando uma saída com os sinais também em tempo discreto (OPPENHEIM; WILLSKY, 2010, p. 25). Nos sinais de tempo contínuo, ou sinais analógicos, segundo Oppenheim e Willsky (2010, p. 2), “a variável independente é contínua e, portanto, esses sinais são definidos em um conjunto contínuo de valores independentes”. Exemplos de sinais de tempo contínuo são: Tensão e corrente elétrica, movimento de um corpo, voz humana, etc. Esses sinais são processados em sistemas de tempo contínuo, processamento analógico, nesses sistemas os sinais de entrada de tempo contínuo são tratados tendo como resultados saídas com sinais de tempo contínuo (OPPENHEIM; WILLSKY,2010, p. 25). Tanto os sistemas de processamento analógico como o de processamento digital operam com um conjunto de operações básicas, essas operações básicas são: mudança de escala de amplitude, adição, multiplicação, diferenciação, integração, mudanças na escala de tempo e reflexão. Na operação mudança de escala de amplitude o sinal de saída é obtido quando um determinado fator 𝑐 é multiplicado pelo sinal de entrada, resultando na mudança de escala de aplicada da entrada. Um amplificador eletrônico é um dispositivo físico que serve como exemplo dessa operação. A Equação 1 representa essa operação no tempo contínuo, enquanto a Equação 2 representa no tempo discreto. (HAYKIN; VEEN, 2001, p. 40). 𝑦(𝑡) = 𝑐 × 𝑥(𝑡) (1) 𝑦[𝑛] = 𝑐 × 𝑥[𝑛] (2) 20 A adição, representada pela Equação 3 no tempo contínuo e Equação 4 no tempo discreto, consiste em realizar a soma entre dois sinais, combinando os seus valores. Já na multiplicação, representada na Equação 5 no tempo contínuo e Equação 6 no tempo discreto, em cada instante de tempo o valor do sinal de saída é o resultado da multiplicação das entradas (HAYKIN; VEEN, 2001, p. 40). 𝑦(𝑡) = 𝑥1(𝑡) + 𝑥2(𝑡) (3) 𝑦[𝑛] = 𝑥1[𝑛] + 𝑥2[𝑛] (4) 𝑦(𝑡) = 𝑥1(𝑡) × 𝑥2(𝑡) (5) 𝑦[𝑛] = 𝑥1[𝑛] × 𝑥2[𝑛] (6) A diferenciação, Equação 7, consiste que o sinal de saída seja o resultado da derivada do sinal de entrada, um exemplo é o cálculo da tensão do indutor através de sua corrente, represento pela Equação 8. Enquanto a integração, Equação 9, o sinal de saída é o resultado da integral do sinal de entrada, um exemplo é o cálculo da tensão do capacitor através da corrente, representado pela Equação 10 (HAYKIN; VEEN, 2001, p. 41). 𝑦(𝑡) = 𝑑 𝑑𝑡 𝑥(𝑡) (7) 𝑉(𝑡) = 𝐿 𝑑 𝑑𝑡 𝑖(𝑡) (8) 𝑦(𝑡) = ∫ 𝑥(𝑡)𝑑𝑡 1 −∞ (9) 𝑉(𝑡) = 1 𝐶 ∫ 𝑖(𝑡)𝑑𝑡 1 −∞ (10) Na mudança de escala de tempo em sinais de tempo contínuo, Equação 11, o sinal de entrada, Figura 3, é multiplicado por um fator 𝐴 causando uma mudança de escala resultando que o sinal de saída seja uma versão comprimida (caso 𝐴 > 1, Figura 4) ou expandida (caso 0 < 𝐴 < 1, Figura 5) da entrada. Caso o sinal for de tempo discreto, Equação 12 e Figura 6, o 21 fator 𝐾 a ser multiplicado deve ser definido apenas com valores inteiros, se 𝐾 > 1 alguns valores do sinal serão perdidos, Figura 7 (HAYKIN; VEEN, 2001, p. 42). 𝑦(𝑡) = 𝑥(𝐴 × 𝑡) (11) 𝑦[𝑛] = 𝑥[𝐾 × 𝑛] (12) Figura 3 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Contínuo - Sinal de Tempo Contínuo Fonte: Haykin; Veen, 2001 Figura 4 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Contínuo - Versão Comprimida Fonte: Haykin; Veen, 2001 22 Figura 5 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Contínuo - Versão Expandida Fonte: Haykin; Veen, 2001 Figura 6 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Discreto - Sinal de Tempo Discreto Fonte: Haykin; Veen, 2001 Figura 7 - Efeito da Mudança de Escala de Tempo em um Sinal de Tempo Discreto - Versão Comprimida Fonte: Haykin; Veen, 2001 23 E na reflexão o sinal resultante da saída será uma versão refletida no sinal de entrada, Equação 13 no tempo contínuo e Equação 14 no tempo discreto (HAYKIN; VEEN, 2001, p. 42). 𝑦(𝑡) = 𝑥(−𝑡) (13) 𝑦[𝑛] = 𝑥[−𝑛] (14) 2.2 Sistema Linear Invariante no Tempo Sistemas lineares invariantes no tempo (LIT) são sistemas onde as operações realizadas dependem exclusivamente do sinal de entrada, não dependendo do tempo, portanto essas operações operam de maneira linear, não sofrem alterações nenhuma no decorrer do tempo no processo. As operações básicas (soma, multiplicação, diferenciação, integração, mudança de escala e mudanças de amplitude) são operações lineares de um sistema LIT. Os sistemas LIT podem ser do tipo SISO, MISO, SIMO ou MIMO. Sistemas LIT SISO apresentam apenas uma única entrada e uma única saída. Os sistemas LIT MISO possuem múltiplas entradas e uma única saída. Os sistemas LIT SIMO possuem uma única entrada e múltiplas saídas. E o sistema LIT MIMO possuem múltiplas entradas e múltiplas saídas. Um detalhe importante é que mesmo com os sistemas possuindo mais de uma entrada e/ou saída ele deve ser decomposto em um meio que permite que o sistema seja lido de forma linear. 2.2.1 Convolução Uma propriedade básica de sistemas LIT é apresentar como saída uma resposta ao impulso quando uma entrada de impulso é aplicada no instante 0, esse comportamento caracteriza o funcionamento dos sistemas LIT. Cada tipo diferente de sistema possui uma resposta característica quando excitada por um impulso na entrada (HAYKIN; VEEN, 2001, p. 86). Quando um sistema LIT tem como sinal de entrada uma superposição ponderada de impulsos deslocados no tempo, representados pela Equação 15, ele apresenta como saída uma superposição ponderada de respostas ao impulso deslocadas no tempo, onde 𝛿[𝑛 − 𝑘] representa o impulso deslocado no tempo e 𝑘 é um determinado instante de tempo. Essa saída 24 é conhecida como soma de convolução ou integral de convolução (HAYKIN; VEEN, 2001, p. 86). 𝑥[𝑛] = ∑ 𝑥[𝑘] × 𝛿[𝑛 − 𝑘] ∞ 𝑘=−∞ (15) Uma superposição ponderada é uma saída resultante da soma ponderada de diversos sinais em um sistema linear, conhecida como linearidade. A linearidade possui duas propriedades que são as aditividade e homogeneidade. Essas duas propriedades sendo combinadas em uma única equação resulta nas Equações 16 e 17, onde 𝑎 é apenas uma constante complexa qualquer (OPPENHEIM; WILLSKY, 2010, p. 34). 𝑥[𝑛] = ∑ 𝑎𝑘 × 𝑥𝑘[𝑛] 𝑘 = 𝑎1𝑥1[𝑛] + 𝑎2𝑥2[𝑛] + ⋯ (16) 𝑦[𝑛] = ∑ 𝑎𝑘 × 𝑦𝑘[𝑛] 𝑘 = 𝑎1𝑦1[𝑛] + 𝑎2𝑦2[𝑛] + ⋯ (17) A Equação 18 representa a soma de convolução, que é a resposta apresentada a um impulso deslocado no tempo no sistema de tempo continuo, sendo ℎ[𝑛 − 𝑘] representa a resposta do sistema linear ao impulso deslocado no tempo 𝛿[𝑛 − 𝑘] . Essa também é representada simbolicamente pela Equação 19, sendo ℎ[𝑛] a saída quando 𝛿[𝑛] é a entrada (OPPENHEIM; WILLSKY, 2010, p.49). 𝑦[𝑛] = ∑ 𝑥[𝑘] × 𝛿[𝑛 − 𝑘] ∞ 𝑘=−∞ (18) 𝑦[𝑛] = 𝑥[𝑛] ∗ ℎ[𝑛] (19) 2.3 Amostragem de sinais contínuos O sinal de tempo contínuo pode ser representado através de amostras de sinal em tempo discreto, sendo possível com essa conversão processar esse sinal contínuo em um sistema de tempo discreto (DINIZ; SILVA; NETTO, 2014, p. 33). Para processar um sinal de tempo 25 contínuo em um processador digital, é necessário realizar sua amostragem através de um conversor analógico-digital (A/D) em um número discreto de amostras (OLIVEIRA, 2012, p. 390). Para que o processamento desse sinal ocorra de forma efetiva no sistema de tempo discreto é necessário que ocorra a restauração desse sinal, através de um conversor digital- analógico (D/A), reconstruindo o mesmo no domínio do tempo contínuo, ver Figura 8 (DINIZ; SILVA; NETTO, 2014, p. 33). Figura 8 - Filtragem de Sinal no Tempo Contínuo através de um Filtro Digital Fonte: Adaptado de Haykin; Veen, 2001 Para garantir fidelidade do sinal amostrado, deve-se respeitar o Teorema de Shannon-Nyquist. Segundo Oliveira (2012, p. 391), “O teorema estabelece que, sob certas condições, as amostras colhidas de um sinal podem conter precisamente toda a informação a ele associada”. Ou seja, é possível reconstruir perfeitamente o sinal colhido a partir das amostras (OLIVEIRA, 2012, p. 391). 2.3.1 Teorema da amostragemDe acordo com Oppenheim e Willsky (2010, p. 306), “para desenvolver o teorema da amostragem, precisa se representar de forma conveniente a amostragem de um sinal de tempo contínuo em intervalos regulares”. O mecanismo trem de impulsos periódico é um dos modos considerados mais útil para ser feita essa representação (OPPENHEIM; WILLSKY, 2010, p. 306). Nyquist determina que o teorema é aplicado apenas para sinais com banda de frequência limitada, ou seja, que não possuem componentes de frequências acima de determinada frequência máxima (OLIVEIRA, 2012, p. 391). De acordo com o teorema de Shannon, para garantir fidelidade na amostragem do sinal, deve- se amostrar a uma frequência de oito a dez vezes maior que a maior frequência componente 26 do sinal. No entanto, é possível realizar a amostragem a taxas ainda maiores, prevenindo ainda mais a perda de informação durante esta conversão. Essa frequência de amostragem deve ser no mínimo 2 vezes maior que a maior componente de frequência do sinal, caso esse princípio não seja respeitado ocorre um batimento entre as frequências e consequentemente causando distorção do sinal, ocasionando o fenômeno conhecido com aliasing ou sub-amostragem (CONTROLLER, 2016). 2.3.2 Amostragem com trem de impulsos Um dos métodos possíveis de realizar a amostragem de sinais contínuos na prática é através do trem de impulsos, no qual uma função de impulsos unitários periódicos 𝑝(𝑡), com período T, é multiplicada pelo sinal de tempo contínuo 𝑥(𝑡), como demonstrado na Equação 20 para o domínio de tempo (OPPENHEIM; WILLSKY, 2010, p. 306): 𝑥𝑝(𝑡) = 𝑥(𝑡) × 𝑝(𝑡) (20) sendo 𝑝(𝑡) igual a Equação 21: 𝑝(𝑡) = ∑ 𝛿(𝑡 − 𝑛𝑇) +∞ 𝑛=−∞ (21) sendo 𝑛 o número da amostra e 𝑇 é o período de amostragem, cuja frequência fundamental pode ser calculada pela Equação 22: 𝜔𝑠 = 2𝜋 𝑇 (22) Na prática, multiplicar um sinal contínuo 𝑥(𝑡) por um impulso unitário resulta no valor instantâneo daquele sinal no momento em que o impulso está presente, como mostra a Figura 9. 27 Figura 9 - Amostragem por trem de impulsos Fonte: Oppenheim; Willsky 2.3.3 Interpolação Interpolação é o processo pelo qual o sinal tratado em tempo discreto é convertido novamente em sinal de tempo contínuo. Ela consiste em aumentar a taxa de amostragem de um sinal em um determinado valor, incluindo essas novas amostras em cada duas amostras já existentes (DINIZ; SILVA; NETTO, 2014, p. 509). Normalmente, essas amostras de sinais têm seus valores definidos através de uma média entre os valores anterior e posterior dessa amostra. Quanto maior o número de amostras inseridas no sinal mais preciso será o resultado do sinal de tempo continuo na saída. A Figura 10 representa o gráfico resultante do sinal original, 𝑥[𝑛], enquanto a Figura 11 representa esse mesmo sinal com uma interpolação na razão de 𝑥𝑖 = 𝑥[𝑛/2 ] (VALEIRA, 2007, p. 24). 28 Figura 10 - Sinal Original no Tempo Discreto Fonte: Valeira, 2007 Figura 11 - Sinal com Interpolação no Tempo Discreto Fonte: Valeira, 2007 2.4 Transformada de Fourier Discreta e Transformada Z Quando um sistema LTI é excitado por um sinal de entrada sendo uma senóide complexa ele irá apresentar como sinal se saída essa mesma senóide complexa, porém, sendo multiplicada pela resposta do sistema causando uma mudança de amplitude (HAYKIN; VEEN, 2001, p. 163). Os sistemas de tempo discreto podem ser caracterizados através da sua resposta a uma entrada de um sistema linear invariante no tempo sendo aplicada a uma função exponencial. Essa resposta apresenta características similares à função exponencial aplicada na entrada, porém com mudança de amplitude. Na Equação 23 o sinal de saída 𝑦[𝑛] representa a resposta a um impulso ℎ[𝑛] de um sistema LIT tendo uma função exponencial 𝑥[𝑛] = 𝑧𝑛 como entrada, o resultado na Equação 24 consiste em um sinal de saída exponencial multiplicada por um determinado valor complexo, também conhecida como transformada Z. Se essa função 29 exponencial 𝑧𝑛 for uma senóide completa com frequência 𝑤, 𝑧 = 𝑒𝑗𝑤, a Equação 23 passa a ser representada pela Equação 25 (DINIZ; SILVA; NETTO, 2014, p. 79). 𝑦[𝑛] = ∑ 𝑥[𝑛 − 𝑘]ℎ[𝑘] ∞ 𝑘=−∞ = ∑ 𝑧𝑛−𝑘ℎ[𝑘] = ∑ ℎ[𝑘]𝑧−𝑘 ∞ 𝑘=−∞ ∞ 𝑘=−∞ (23) 𝐻[𝑧] = ∑ ℎ[𝑘]𝑧−𝑘 ∞ 𝑘=−∞ (24) 𝐻[𝑒𝑗𝑤] = ∑ ℎ[𝑘]𝑒−𝑗𝑤𝑘 ∞ 𝑘=−∞ (25) A Equação 23 também pode ser representada utilizando a forma polar, 𝐻[𝑒𝑗𝑤] = |𝐻[𝑒𝑗𝑤]|𝑒𝑗𝜃(𝑤) , resultando na Equação 26, essa função 𝐻[𝑒𝑗𝑤] é conhecida como a transformada de Fourier no domínio do tempo discreto. A transformada de Fourier Discreta consiste em multiplicar a amplitude de uma senóide complexa no sinal de entrada por 𝐻[𝑒𝑗𝑤] e somar 𝜃(𝑤) à sua fase, apresentando resposta em módulo e fase (DINIZ; SILVA; NETTO, 2014, p. 80). 𝑦[𝑛] = 𝐻[𝑒𝑗𝑤]𝑒𝑗𝑤𝑛 = |𝐻[𝑒𝑗𝑤]|𝑒𝑗𝜃(𝑤)𝑒𝑗𝑤𝑛 = |𝐻[𝑒𝑗𝑤]|𝑒𝑗𝑤𝑛+𝑗𝜃(𝑤) (26) 2.5 Filtros Filtros são circuitos eletrônicos utilizados para processamento de sinal. Eles funcionam como seletores de frequência, pois através de sua configuração são capazes de eliminar a frequência indesejada presente no sinal. Os filtros podem ser analógicos ou digitais, dependendo de sua composição. Filtros Analógicos são compostos basicamente de resistores, indutores, capacitores, etc. Enquanto os Filtros Digitais são compostos de multiplexadores, somadores e também podem ser configurados através de lógicas de componentes eletrônicos, como microcontroladores, FPGAs, etc. 2.5.1 Filtros analógicos 30 Filtros Analógico são utilizados para realizar o processamento de sinais no tempo contínuo, esse tipo de filtro pode ser dividido em 4 tipos diferentes de funcionamento (Filtros Passa- Alta, Filtros Passa-Baixa, Filtros Passa-Faixa e Filtros Rejeita-Faixa) e 2 duas formas distintas de composição (Filtros Ativos e Filtros Passivos). Os Filtros Ativos possuem elementos ativos, com ampliação, em sua composição, como amplificadores operacionais, transistores, podendo modificar a amplitude do sinal de entrada fornecendo um ganho. Os Filtros Passivos são compostos apenas de elementos passivos, sem amplificação, que não são sabem capazes de realizar nenhuma ampliação no sinal proveniente da entrada, como por exemplo, resistores, capacitores e indutores. Os Filtros Passa-Alta (FPA) permitem a passagem somente de sinais acima de uma determinada frequência estabelecida, conhecida como frequência de corte, como está demonstrado na Figura 12. Esses filtros são representados pela Figura 13, para esse tipo de modelo a frequência pode ser calculada utilizando a Equação 27, (ONUKI, 2005, p. 5). 𝑓𝑐 = 1 2𝜋𝑅𝐶 (27) Figura 12 - Resposta em frequência da atenuação do filtro passa-alta Fonte: FACCAMP, 2016 31 Figura 13 - Circuito Básico RC Filtro Passa-Alta Fonte: Onuki, 2005 Filtros Passa-Baixa (FPB) permite a passagem somente de frequências abaixo da frequência de corte, conforme mostra o gráfico na Figura 14, e seu circuito é representado pela Figura 15. A frequência de corte, para esse modelo, também pode ser calculada utilizando a Equação 27 (ONUKI, 2005 p. 4). Figura 14 - Resposta em frequência da atenuação do filtro passa-baixa Fonte: FACCAMP, 2016 Figura 15 - Circuito Básico RC Filtro Passa-Baixa Fonte: Onuki, 2005 32 A característica dos Filtros Passa-Faixa (FPF) é permitir a passagem em apenas uma determinada faixa de frequência estabelecida por 2 frequências de corte, como mostra o gráfico da Figura 16 (ONUKI, 2005, p. 6).Em circuitos RLC o capacitor tem a função de bloquear as baixas frequências enquanto o indutor bloqueia as frequências altas, criando assim uma determinada banda de passagem (SABER ELETRICA, 2016). Essas frequências, para circuitos RLC, são determinadas utilizando a Equação 28 e a Equação 29, seu circuito é representado pela Figura 17. . 𝑓𝑐1 = − 𝑅 4𝜋𝐿 + √ 1 𝐿𝐶 + 𝑅2 4𝐿2 (28) 𝑓𝑐2 = + 𝑅 4𝜋𝐿 + √ 1 𝐿𝐶 + 𝑅2 4𝐿2 (29) Figura 16 - Resposta em frequência da atenuação do filtro passa-faixa Fonte: FACCAMP, 2016 33 Figura 17 - Circuito Básico RLC Filtro Passa-Faixa Fonte: Saber Elétrica, 2016 Os Filtros Rejeita-Faixa (FRF) tem como característica rejeitar frequências que estejam presente em determinada faixa de frequências definidas por duas frequências de corte, como demonstrado na Figura 18, funcionando exatamente de forma inversa ao FPF (ONUKI, 2005, p. 7). Essas frequências de corte, em circuitos RLC, são determinadas também utilizando a Equação 28 e a Equação 29. Seu circuito é representado pela Figura 19. Figura 18 - Resposta em frequência da atenuação do filtro rejeita-faixa Fonte: FACCAMP, 2016 34 Figura 19 - Circuito Básico RLC Filtro Rejeita-Faixa Fonte: Saber Elétrica, 2016 2.5.2 Filtros digitais O Filtro Digital é responsável por realizar a filtragem de sinais de tempo discreto. Ele utiliza de computação para realizar essa filtragem, esse processo trata o sinal digital analisando amostra por amostra desse sinal (BARBOSA, 2006, p. 3). Os Filtros Digitais podem ser divididos entre dois grupos: Filtro FIR e Filtro IIR. 2.5.2.1 Filtros FIR O Filtro FIR, filtro de resposta finita ao impulso, é utilizado quando é necessário realizar a filtragem de um sinal a uma determinada frequência especificada. A resposta finita ao impulso significa que a saída do filtro depende apenas do sinal atual e passado proveniente da entrada. Esse filtro possui uma fácil implementação e uma boa estabilidade tendo como característica a capacidade de realizar a filtragem em tempo real (RUCH, 2006, p. 16). As principais propriedades desse tipo de são: a presença de memória finita que faz com que os transitórios tenham sua duração limitada, possuem estabilidade constante e podem apresentar resposta sem nenhuma distorção de fase, significando que a resposta apresenta frequência em fase linear (HAYKIN; VEEN, 2001, p. 514). Um filtro que possui resposta finita ao impulso, como é o caso dos filtros FIR, tem a Equação 30 como equação característica e pode-se concluir que a sua resposta ao impulso ℎ(𝑛) é descrita pela Equação 31. 35 𝐻(𝑧) = 𝑏0 + 𝑏1𝑧 −1 + ⋯ + 𝑏𝑀−1𝑧 1−𝑀 = ∑ 𝑏𝑛𝑧 −𝑛 𝑀−1 𝑛=0 (30) ℎ(𝑛) = { 𝑏𝑛, 0 ≤ 𝑛 ≤ 𝑀 − 1 0, 𝑛𝑜𝑠 𝑑𝑒𝑚𝑎𝑖𝑠 𝑐𝑎𝑠𝑜𝑠 (31) Uma outra forma comum de expressar a equação característica de um filtro FIR é substituindo os coeficientes 𝑏𝑛 da Equação 30 pela função ℎ(𝑛), resultando na Equação 32: 𝐻(𝑧) = ∑ ℎ(𝑛)𝑧−𝑛 𝑀−1 𝑛=0 (32) A partir de então, é possível representar a equação de diferenças do filtro através da Equação 32, na qual é resultado de uma soma de convolução, como: 𝑦(𝑛) = 𝑏0𝑥(𝑛) + 𝑏1𝑥(𝑛 − 1) + ⋯ + 𝑏𝑀−1𝑥(𝑛 − 𝑀 + 1) (33) Uma vez que os filtros são sistemas lineares e invariantes no tempo (LIT), se faz necessário o uso de três elementos para fazer a sua descrição, sendo o primeiro deles o Somador (Figura 20), no qual possui duas ou mais entradas e apenas uma saída. Outro elemento importante na descrição dos filtros é o Multiplicador (Figura 21), ou Ganho, que possui uma entrada e uma saída. Por último, o elemento de Atraso (Figura 22), também conhecido como deslocador ou memória, provoca o atraso no tempo do sinal em uma amostra, na prática, é implementado utilizando um registrador de deslocamento (INGLE; PROAKIS, 2007, p. 187). Figura 20 - Elemento somador Fonte: Diniz; Silva; Netto, 2014, p. 243 36 Figura 21 - Elemento multiplicador Fonte: Diniz; Silva; Netto, 2014, p. 243 Figura 22 – Elemento de atraso Fonte: Diniz; Silva; Netto, 2014, p. 243 Através dos elementos apresentados acima, a função de transferência do filtro FIR (Equação 30) pode assumir diversas implementações, sendo que a implementação que realiza com êxito as operações matemáticas do filtro com o mínimo de operações possíveis está representada na Figura 23 e é conhecida como estrutura direta, também chamada de forma direta canônica. O termo canônico se justifica pelo uso da menor quantidade possível de elementos somadores, multiplicadores e de atraso (DINIZ; SILVA; NETTO, 2014, p. 243). Figura 23 - Estrutura direta do filtro FIR Fonte: Adaptado de Diniz; Silva; Netto, 2014, p. 245 Existem estruturas equivalentes para a implementação dos filtros, no entanto, as outras estruturas podem não ter a função de transferência do sistema representada de forma direta, além do mais, os coeficientes do filtro podem não apresentar de forma clara a resposta ao impulso do sistema, como é o caso da estrutura em cascata, que possui a função de transferência 𝐻(𝑧) convertida em produtos de segunda ordem e implementa várias estruturas 37 diretas em cascata, como pode ser visto na Figura 24 (DINIZ; SILVA; NETTO, 2014, p. 245; INGLE; PROAKIS, 2007, p. 202). Sendo assim, a estrutura direta é mais indicada para fins didáticos pela facilidade de identificar os coeficientes e pela direta aplicação da função de transferência 𝐻(𝑧) do sistema. Figura 24 - Estrutura em cascata do filtro FIR Fonte: Diniz; Silva; Netto, 2014, p. 245 Para modelar o filtro desejado com maior facilidade, a Equação 33 tem o termo 𝑧 substituído pelo termo equivalente 𝑒𝑗𝜔 , de modo que a resposta ao impulso do filtro passe a ser discriminada em função de 𝜔 e resultando na Equação 34, que nada mais é que a transformada de Fourier para o sinal no tempo discreto ℎ(𝑛) (DINIZ; SILVA; NETTO, 2014, p. 125). 𝐻(𝑒𝑗𝜔) = ∑ ℎ(𝑛)𝑒−𝑗𝜔𝑛 ∞ 𝑛=−∞ (34) A transformada inversa de Fourier para a equação anterior resulta na Equação 35: ℎ(𝑛) = 1 2𝜋 ∫ 𝐻(𝑒𝑗𝜔) 𝑒𝑗𝜔𝑛 𝑑𝜔 𝜋 −𝜋 (35) A resposta ideal ao impulso 𝐻(𝑒𝑗𝜔) do filtro FIR deve ser transparente para todas as frequências na faixa de passagem e deve reduzir a zero todas as outras frequências, ou seja, 𝐻(𝑒𝑗𝜔) deve valer 1 na faixa de passagem e deve valer 0 na faixa de rejeição. Ao determinar 38 os valores que 𝐻(𝑒𝑗𝜔) deve assumir e seus intervalos, basta tomar a transformada inversa de Fourier para obter a resposta ao impulso ℎ(𝑛) no domínio do tempo discreto. No entanto, a resposta ideal ao impulso vista acima é uma função infinita no tempo e por isso possui infinitas amostras, o que torna a implementação do filtro FIR impraticável. Outro problema é que a função existe para valores negativos de 𝑛, o que caracteriza o sistema como não-causal (DINIZ; SILVA; NETTO, 2014, p. 319; ROBERTS, 2003, p. 72). Uma primeira solução seria limitar a resposta ideal ao impulso ℎ(𝑛) a um valor máximo de 𝑛 em uma prática conhecida como truncamento, e deslocar a função para a direita no mesmo valor (ROBERTS, 2003, p. 73). O truncamento, na prática, simplesmente elimina todos os coeficientes que estiverem além do comprimento determinado do filtro. É como se a função ℎ(𝑛) fosse multiplicada por um pulso retangular unitário de comprimento previamente determinado. Entretanto, a eliminação brusca de componentes da função ℎ(𝑛) causa uma descontinuidade na função (Figura 25) e, como resultado, provoca sobressinal e oscilaçõesna resposta do sistema em um fenômeno conhecido por fenômeno de Gibbs, como mostra a Figura 26 (ROBERTS, 2003, p. 74). Figura 25 – Valores supostos para uma resposta ideal ao impulso h(n) truncada Fonte: Roberts, 2003, p. 74 39 Figura 26 - Resposta em amplitude para a função h(n) suposta Fonte: Roberts, 2003, p. 74 Legenda: Em pontilhado, a função ℎ(𝑛) assumiu 11 coeficientes, enquanto a curva sólida assumiu 21 coeficientes. O gráfico retangular representa a resposta idealizada para 𝐻(𝑒𝑗𝜔) Como o sobressinal e as oscilações não se reduzem à medida que o comprimento do filtro aumenta, a solução mais adequada é fazer uso de uma função finita 𝑤(𝑛) que atenue os coeficientes da função ℎ(𝑛) à medida que estes se aproximam dos extremos (DINIZ; SILVA; NETTO, 2014, p. 320; ROBERTS, 2003, p. 74). Esta função é conhecida como função-janela e “tem que ser projetada de forma a introduzir um mínimo de desvio em relação à resposta na frequência ideal” (DINIZ; SILVA; NETTO, 2014, p. 320). De acordo com Diniz et al. (2014, p. 321), a função-janela alcançaria a menor interferência na resposta em frequência da função ideal 𝐻(𝑒𝑗𝜔) se a sua resposta em frequência 𝑊(𝑒𝑗𝜔) fosse próxima à de um impulso centralizado em 𝜔 = 0, como mostra a Figura 27. 40 Figura 27 - Resposta em frequência de uma função-janela Fonte: Diniz; Silva; Netto, 2014, p. 322 Entretanto, por se tratar de um sinal limitado no tempo, a faixa de frequência não pode ser limitada da maneira que a Figura 27 mostra. Sabendo disso, a função-janela deve, então, focar a maior parte de sua energia em 𝜔 = 0. Para isso, já existem diversas funções-janela já desenvolvidas, como a janela de Hamming e a janela de Blackman. A janela de Hamming é caracterizada pela Equação 36 e está representada na Figura 28, possuindo 99,96% de sua energia concentrada no lobo principal (DINIZ; SILVA; NETTO, 2014, p. 325; INGLE; PROAKIS, 2007, p. 256). 𝑤(𝑛) = { 0,54 − 0,46 cos ( 2𝜋𝑛 𝑀 − 1 ) , 𝑝𝑎𝑟𝑎 0 ≤ 𝑛 ≤ 𝑀 − 1 0, 𝑝𝑎𝑟𝑎 𝑜𝑠 𝑑𝑒𝑚𝑎𝑖𝑠 𝑐𝑎𝑠𝑜𝑠 (36) 41 Figura 28 - Janela de Hamming -25 -20 -15 -10 -5 0 5 10 15 20 25 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Fonte: Elaborada pelos autores (2016) Já a janela de Blackman é caracterizada pela Equação 37 (representada pela Figura 29), possuindo maior atenuação na faixa de rejeição que a janela de Hamming e menores oscilações na faixa de passagem (DINIZ; SILVA; NETTO, 2014, p. 326; INGLE; PROAKIS, 2007, p. 257). 𝑤(𝑛) = { 0,42 − 0,5 cos ( 2𝜋𝑛 𝑀 − 1 ) + 0,08 cos ( 4𝜋𝑛 𝑀 − 1 ) , 𝑝𝑎𝑟𝑎 0 ≤ 𝑛 ≤ 𝑀 − 1 0, 𝑝𝑎𝑟𝑎 𝑜𝑠 𝑑𝑒𝑚𝑎𝑖𝑠 𝑐𝑎𝑠𝑜𝑠 (37) Figura 29 - Janela de Blackman -25 -20 -15 -10 -5 0 5 10 15 20 25 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Fonte: Elaborada pelos autores (2016) Outras janelas são bastante comuns, como a janela triangular, a de Hann, Hanning, etc., mas não possuem atenuação tão alta quanto as janelas de Blackman e Hamming na faixa de rejeição. 42 2.5.2.2 Filtros IIR No filtro de resposta infinita ao impulso, Filtro IIR, a resposta apresentada ao sinal de entrada presente é influenciada pelos sinais de entrada e saída passados, a influência dos sinais de saídas passado faz que a resposta do sistema se torne infinita, conforme representado pela Figura 30 (TELECO, 2016). Figura 30 - Estrutura Geral do Filtro IIR Fonte: Wiki IFSC Os Filtros Digitais IIR são mais adequados para aplicações onde o processamento é realizado em tempo real, pois uma das principais características desse filtro é possuir uma resposta mais rápida que o filtro FIR, pois realiza menos multiplicações para encontrar a frequência especificada (DINIZ; SILVA; NETTO, 2014, p. 406). No entanto, os filtros FIR não possuem realimentação, por isso são sempre estáveis, além do mais, os erros de arredondamento dos coeficientes não se acumulam e, por causa disso, os filtros FIR serão o foco deste documento. 43 3 RESULTADOS E DISCUSSÕES Esta seção apresenta os resultados que foram obtidos aplicando os conhecimentos do estudo de caso para alcançar os objetivos geral e específicos propostos através do MATLAB. 3.1 Coleta do sinal ruidoso Foi desenvolvida uma pequena função no MATLAB, que pode ser vista na íntegra no Apêndice A, com o objetivo de capturar o áudio proveniente da placa de som do computador e armazená-lo em arquivo no disco rígido do computador no formato WAVE (padrão de arquivo de áudio da Microsoft e IBM). A função deve ser chamada no formato gravarAudio(fs, bits, tempo, arquivo) e seus parâmetros são: fs: Frequência de amostragem; bits: Quantidade de bits por amostra; tempo: Tempo em segundos de coleta de dados; arquivo: Nome do arquivo a ser armazenado no disco rígido. De acordo com o Viagem ao Mundo da Audição (2013), a maior frequência capaz de sensibilizar o ouvido humano está na faixa de 20 kHz. Como a frequência de amostragem deve ser pelo menos duas vezes maior que a maior componente de frequência de sinal, foi escolhida a frequência de amostragem de 44100 Hz, de modo que o filtro anti-aliasing da placa de som tenha certa folga na banda de transição (NATIONAL INSTRUMENTS, 2012). Para a quantidade de bits por amostra, foi escolhido 16 bits, por ser suficiente para “reproduzir com alta qualidade sonora os sons que somos capazes de ouvir” (ALECRIM, 2007). Após a escolha dos parâmetros de áudio, gravou-se o som ambiente por 3 segundos, tempo suficiente para analisar o espectro de frequências e decidir quais frequências fundamentais proviam dos ruídos. O ambiente escolhido foi o laboratório G-105 do Centro Universitário do Leste de Minas Gerais, no qual foi acionada a sirene da Planta Didática 3 durante esta gravação. 44 Com o intuito de fazer a análise do espectro de frequências do sinal amostrado, foi criada uma função no MATLAB, que pode ser visualizada no Apêndice B, capaz de gerar os gráficos provenientes da transformada rápida de Fourier. Desta forma, obteve-se o gráfico representado na Figura 31 ao aplicar a função nas amostras capturadas da sirene e determinou-se que as frequências fundamentais da sirene estão compreendidas entre 2250 e 2750 Hz. Figura 31 - Espectro de frequências do sinal capturado da sirene 0 250 500 750 1000 1250 1500 1750 2000 2250 2500 2750 3000 3250 3500 0 0.02 0.04 0.06 0.08 0.1 0.12 Transformada de Fourier Frequência (Hz) Am plitu de Fonte: Elaborada pelos autores (2016) Em seguida, obteve-se o gráfico representado na Figura 32 utilizando os mesmos critérios para obter o gráfico anterior, mas desta vez apenas a voz humana foi capturada. Ficou evidente que as frequências predominantes da voz estão abaixo de 1 kHz, bem distante das frequências fundamentais da sirene. Figura 32 - Espectro de frequências do sinal capturado da voz 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 0.002 0.004 0.006 0.008 0.01 Transformada de Fourier Frequência (Hz) Am plitu de Fonte: Elaborada pelos autores (2016) 45 Por último, como o objetivo é realizar a filtragem do sinal de áudio de modo que os ruídos do ambiente fossem removidos e sobrasse apenas o som da voz, foi feita a gravação da voz em conjunto com o toque da sirene da Planta Didática 3 por um tempo de 10 segundos. A gravação teve forte presença da sirene, dificultando a compreensão da voz, como era desejado. Observa-se no gráfico do espectrode frequências desta gravação (que pode ser visualizado na Figura 33), a presença simultânea das frequências comuns na voz e na sirene. Figura 33 - Espectro de frequências do sinal capturado da voz com a sirene ligada 0 500 1000 1500 2000 2500 3000 0 0.01 0.02 0.03 0.04 0.05 0.06 Transformada de Fourier Frequência (Hz) Am plitu d e Fonte: Elaborada pelos autores (2016) 3.2 Determinação e modelagem do filtro ideal Como as frequências da voz estão abaixo das frequências que devem ser removidas (as frequências da sirene), o filtro ideal deve permitir a passagem de todas as frequências abaixo de 2250 Hz e remover todas as outras frequências. Por isso, será modelado nesta seção um filtro passa-baixas ideal, capaz de atenuar todas as frequências acima da frequência de corte 𝜔𝑐. Deste modo, para um filtro passa-baixas, o módulo da resposta ideal ao impulso 𝐻𝑑(𝑒𝑗𝜔) deve ser 1 para todas as frequências 𝜔 que estiverem abaixo da frequência de corte 𝜔𝑐 e zero para todas as frequências restantes, como mostra a Figura 34 e é caracterizado pela Equação 38. 46 Figura 34 - Módulo de 𝐻𝑑(𝑒𝑗𝜔) em função da frequência ω para um filtro passa-baixas Fonte: Elaborada pelos autores (2016) |𝐻𝑑(𝑒𝑗𝜔)| = { 1, 𝑝𝑎𝑟𝑎 |𝜔| ≤ 𝜔𝑐 0, 𝑝𝑎𝑟𝑎 𝜔𝑐 < |𝜔| ≤ 𝜋 (38) Logo, a transformada inversa de Fourier para o plano complexo de −𝜋 a +𝜋 fica demonstrado na Equação 39: ℎ𝑑(𝑛) = 1 2𝜋 [∫ 1 × 𝑒𝑗𝜔𝑛𝑑𝜔 𝜔𝑐 −𝜔𝑐 + ∫ 0 × 𝑒𝑗𝜔𝑛𝑑𝜔 −𝜔𝑐 𝜔𝑐 ] (39) Resolvendo as integrais, chegou-se a: ℎ𝑑(𝑛) = 1 2𝜋 [ 𝑒𝑗𝑛𝜔 𝑗𝑛 ] +𝜔𝑐 −𝜔𝑐 (40) Após resolver o intervalo de integração, obteve-se a Equação 41: ℎ𝑑(𝑛) = 1 2𝜋 × (𝑒𝑗𝜔𝑐𝑛 − 𝑒−𝑗𝜔𝑐𝑛) 𝑗𝑛 (41) Sabendo que, por definição, 𝑠𝑒𝑛(𝜔𝑛) = 1 2𝑗 × (𝑒𝑗𝜔𝑛 − 𝑒−𝑗𝜔𝑛) → 2𝑗𝑠𝑒𝑛(𝜔𝑛) = (𝑒𝑗𝜔𝑛 − 𝑒−𝑗𝜔𝑛), (42) obteve-se a Equação 43 por substituição da equação anterior na Equação 41: 0 𝜔 𝜔𝑐 −𝜔𝑐 |𝐻𝑑(𝑒𝑗𝜔)| 1 𝜋 −𝜋 47 ℎ𝑑(𝑛) = 𝑠𝑒𝑛(𝜔𝑐𝑛) 𝜋𝑛 (43) A Equação 43 foi multiplicada por 𝜔𝑐 𝜔𝑐⁄ e foi obtida a Equação 44: ℎ𝑑(𝑛) = 𝜔𝑐 𝜔𝑐 × 𝑠𝑒𝑛(𝜔𝑐𝑛) 𝜋𝑛 = 𝜔𝑐 𝜋 × 𝑠𝑒𝑛(𝜔𝑐𝑛) 𝜔𝑐𝑛 (44) Como 𝑠𝑒𝑛(𝜋𝑥) 𝜋𝑥 = 𝑠𝑖𝑛𝑐(𝑥) (45) a Equação 45 foi adaptada ao contexto e substituída na Equação 44, de modo que foi obtida a Equação 46, que é a equação final para o filtro passa-baixas ideal. ℎ𝑑(𝑛) = 𝜔𝑐 𝜋 × 𝑠𝑖𝑛𝑐 ( 𝜔𝑐𝑛 𝜋 ) (46) Para este filtro, foi desenvolvida uma função que implementa a Equação 46 (ver Apêndice C), bastando invoca-la através do seu nome: pb_ideal(wc, M), em que wc é a frequência angular normalizada e M é o comprimento do filtro. A função 𝑠𝑖𝑛𝑐, que significa seno cardinal, trata-se da transformada inversa de Fourier para um pulso retangular centralizado no zero com largura de 2𝜋 e amplitude unitária, possuindo a Figura 35 como gráfico característico no domínio do tempo (MATHWORKS, 2016). 48 Figura 35 - Gráfico da função sinc Fonte: MathWorks, 2016 3.3 Implementação do filtro FIR Após a modelagem do filtro ideal, é possível desenvolver o filtro FIR utilizando uma função- janela. Para isso, foi feito em um primeiro momento o uso da janela de Hamming, em que os resultados do áudio filtrado são demonstrados na Figura 36, o primeiro gráfico corresponde ao espectrograma do áudio original e o segundo corresponde ao áudio filtrado. 49 Figura 36 - Espectrograma com o resultado da janela de Hamming Tempo (s) Fr eq uê nc ia Áudio sem filtro Tempo (s) Fr eq uê nc ia Áudio filtrado Fonte: Elaborada pelos autores (2016) Legenda: As cores representam o ganho em dB do áudio em todo o tempo amostrado e na faixa de frequência de 0 a 22000 Hz. Pode-se observar que no gráfico do áudio filtrado o sinal é fortemente atenuado acima de 2000 Hz, no entanto, nota-se vestígios da sirene em amarelo, evidenciado principalmente entre 4000 Hz e 6000 Hz, que são frequências harmônicas da sirene Como pode ser visto na Figura 36, houve vestígios do sinal da sirene, mesmo após a filtragem. Para resolver o problema, o algoritmo foi alterado para fazer uso da janela de Blackman, os resultados são demonstrados na Figura 37. 50 Figura 37 - Espectrograma com o resultado da janela de Blackman Tempo (s) Fr eq uê nc ia Áudio sem filtro Tempo (s) Fr eq uê nc ia Áudio filtrado Fonte: Elaborada pelos autores (2016) Legenda: Diferente do espectrograma da Figura 36, houve uma atenuação ainda maior do sinal entre 2000 Hz e 4000 Hz, e os vestígios da sirene que foram observados principalmente entre 4000 Hz e 6000 Hz não apareceram ao usar a janela de Blackman Como pode ser percebido ao comparar os resultados, a janela de Blackman foi mais efetiva na filtragem. Isso se deve pelo fato desta janela ter maior atenuação na faixa de rejeição do que a janela de Hamming. Por causa do bom desempenho apresentado, os gráficos deste estudo de caso, a partir daqui, estarão voltados ao uso da janela de Blackman. 3.3.1 Parâmetros do filtro FIR Apesar da janela de Blackman possuir, para determinada faixa de transição, um comprimento do filtro M maior do que a janela de Hamming e por consequência acarretar em maior processamento, a janela de Blackman possui maior atenuação na faixa de rejeição. Por essa razão, ela consegue reduzir consideravelmente mesmo os sinais de alta amplitude, como é o caso da sirene, bastando que os parâmetros do filtro sejam corretamente configurados. Os parâmetros de frequência de passagem fp, no qual marca o início da banda de transição e o parâmetro fs, que marca o fim da banda de transição e o início da faixa de rejeição, foram definidos em 2000 Hz e 2250 Hz, respectivamente. O valor de fs foi definido puramente pela frequência do sinal da sirene iniciar neste ponto, já fp foi definido ao observar a Figura 32 e notar-se que em 2000 Hz as frequências ressonantes da voz já estão bem atenuadas. 51 Para os parâmetros que foram definidos de fp e fs, o filtro possui frequência de corte em 2125 Hz e uma banda de transição de 250 Hz. Usando a janela de Blackman, o cálculo do comprimento M deste filtro chegou ao valor de 972 para uma atenuação de 74dB no início da faixa de rejeição, contra um comprimento de 584 para obter uma atenuação de 53dB usando a janela de Hamming. Como a frequência de amostragem do áudio foi de 44100 Hz, o filtro anti-aliasing da placa de som limita a maior componente de frequência do sinal em 22050 Hz, de acordo com o teorema de amostragem de Nyquist. Assim sendo, o importantíssimo parâmetro fmax foi definido em 22050 Hz. Como o espectro de frequências é simétrico, de modo que a mesma componente de frequência aparece tanto no lado positivo (0 a 𝜋) quanto no lado negativo (−𝜋 a 0) (DINIZ; SILVA; NETTO, 2014, p. 38), os 22050 Hz devem ser expressos em apenas 180° do plano complexo Z. Isso se torna muito simples fazendo uma regra de três: 𝑓𝑚𝑎𝑥 𝑓 → → 𝜋 𝑤 (47) resolvendo e isolando 𝑤, chegou-se à Equação 48: 𝑤 = 𝑓 𝑓𝑚𝑎𝑥 × 𝜋 (48) sendo 𝜋 o resultado da conversão de 180° para radiano, 𝑓𝑚𝑎𝑥 a maior componente de frequência do sinal amostrado, 𝑓 a frequência que se deseja representar no plano complexo Z e 𝑤 a frequência angular normalizada em unidades de 𝜋. O termo 𝑓 𝑓𝑚𝑎𝑥 (49) 52 representa uma fração da frequência de referência 𝑓𝑚𝑎𝑥, em que 𝑓 ≤ 𝑓𝑚𝑎𝑥 e, por isso, arazão nunca será maior que 1. A razão de uma frequência por uma outra frequência de referência é conhecida como frequência normalizada. Todo os cálculos efetuados pelo filtro que envolvam a frequência fazem uso da frequência angular em unidades de pi, então, as frequências fp e fs foram convertidas adequando-se ao requisito e dando origem a wp e ws, representando, respectivamente, a frequência angular normalizada da faixa de passagem e a frequência angular normalizada da faixa de rejeição, ambas em unidades de pi. Após fazer a adequação das frequências, foi calculada a faixa de transição, simplesmente subtraindo ws por wp. A faixa de transição é usada para calcular o valor ideal do comprimento M do filtro, quanto maior for a faixa de transição, menor será o comprimento do filtro. Em seguida, foi calculado a frequência de corte wc para enfim gerar os coeficientes da resposta ideal ao impulso, através da linha wc = (ws+wp)/2 e hd = pb_ideal(wc, M), respectivamente. Tendo os coeficientes da resposta ideal ao impulso do filtro em mãos, foi necessário gerar os coeficientes da função-janela escolhida através da linha w_black = (blackman(M))' e em seguida fazer o janelamento da resposta ideal com a função-janela, através da multiplicação dos dois no tempo discreto, produzindo, agora, a função de transferência do sistema representada por h. Como é desejado e pode ser visto na Figura 38, a função de transferência do sistema obtida através do janelamento não deve ter nenhuma ou quase nenhuma componente de frequência na faixa de rejeição. Isso caracteriza a atenuação das frequências do áudio que estiverem na faixa de rejeição. 53 Figura 38 - Resposta em frequência da função h usando a janela de Blackman 0 500 1000 1500 2000 2500 3000 0 2 4 6 8 10 x 10 -4 Transformada de Fourier Frequência (Hz) Am pli tud e Fonte: Elaborada pelos autores (2016) Enfim, a função de transferência do sistema está pronta e bastou efetuar a convolução no tempo discreto do áudio ruidoso com a função h para filtrar o áudio. O resultado da convolução entre os dois sinais no domínio do tempo discreto produziria o mesmo efeito que a multiplicação deles no domínio da frequência. 3.3.2 Desempenho do filtro usando a janela de Blackman Ao final do código do filtro, disposto no Apêndice D, foram gerados diversos gráficos com o intuito de estudar o comportamento do filtro. A Figura 39 mostra a amplitude do sinal de áudio antes e depois da filtragem, foi observado que entre 6 e 8 segundos – período no qual apenas a sirene foi capturada na gravação – o sinal foi consideravelmente atenuado. 54 Figura 39 - Amplitude do sinal de áudio Fonte: Elaborada pelos autores (2016) Já na Figura 40 foi observado que as frequências da sirene, que possuem maior amplitude que todas as outras, não foi sequer notada após passar pelo filtro. Na Figura 41 foi aplicado um zoom na amplitude dos dois sinais com objetivo de visualizar melhor a amplitude das frequências da voz, no entanto, foi observado que mesmo após o zoom, as frequências da sirene não puderam ser notadas, porque possuem amplitude muito inferior à amplitude das frequências da voz. 55 Figura 40 - Comparação dos espectros de frequências do áudio original e após filtragem Fonte: Elaborada pelos autores (2016) Figura 41 - Comparação dos espectros de frequências do áudio original e após filtragem (com zoom) Fonte: Elaborada pelos autores (2016) 56 Na Figura 42 foram gerados alguns gráficos demonstrando algumas propriedades do filtro. Foi observado que os coeficientes da resposta do sistema ao impulso que estão próximos dos extremos convergiram para zero, graças à multiplicação da resposta ideal ao impulso pela janela de Blackman. Para a resposta em magnitude (dB), foi utilizada a função freqz_m(h, [1]) que recebe h como os coeficientes do numerador da função de transferência do filtro e 1 como coeficiente do denominador; a função está disponível na íntegra através do Anexo A (INGLE; PROAKIS, 2007, p. 261). Figura 42 - Propriedades do filtro FIR com janela de Blackman Fonte: Elaborada pelos autores (2016) A resposta em magnitude foi melhor apresentada na Figura 43, pois ficou mais visível os limites da faixa de passagem e da faixa de rejeição, bem como as suas magnitudes. 57 Figura 43 - Resposta em magnitude do filtro FIR com janela de Blackman Fonte: Elaborada pelos autores (2016) 58 4 CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS Todos os objetivos esperados com esse trabalho foram alcançados e através dos resultados obtidos foi possível comprovar que o software MATLAB é uma ferramenta eficaz para a realização de filtragem digitais de sinais. Também foi possível identificar o modo de operação e funcionamento de um Filtro Digital FIR e o uso de suas funções janelas e como seu comportamento interfere na filtragem em determinadas faixas de frequência. O projeto também serviu para demonstrar, através da filtragem de um sinal sonoro (sinal analógico), a maior simplicidade de se trabalhar com hardwares e softwares operando como Filtros Digitais, como a facilidade de programação e ajustes no processamento, ao invés de hardwares dedicados para a composição de Filtros Analógicos. Esse trabalho desenvolvido teve uma grande importância acadêmica pois através dele foi possível adquirir um maior conhecimento sobre o processamento de sinais que é de grande valia para sistemas elétricos devido a necessidade da fidelidade de informações transmitidas, outro benefício desse trabalho foi o conhecimento adquirido sobre a importância das transformas Z e de Fourier, além de poder aprofundar um pouco mais no software MATLAB. Uma sugestão para trabalhos futuros é a utilização de microcontroladores para operarem como filtros digitais, substituindo o processamento digital do sinal realizado por softwares de computadores para que o próprio componente realize esse processamento. 59 REFERÊNCIAS ALECRIM, Emerson. Placa de som: principais características. 8 Fev. 2007. Disponível em: <http://www.infowester.com/placadesom.php>. Acessado em: 26 Maio 2016. BARBOSA, Eli Renato. Filtros Digitais Reconfiguráveis. 2006. 65 p. Dissertação (Programa de Graduação em Engenharia de Computação) - Centro Universitário Positivo, Curitiba. 2006. CONTROLLER. Sub-Amostragem do sinal (Aliasing). Disponível em: <http://www.controllerbrasil.com.br/oscilosc%C3%B3pio-digital/sub-amostragem-do-sinal- aliasing-dp1>. Acessado em: 14 Maio 2016. DINIZ, P.; SILVA, E.; NETTO, S. Processamento Digital de Sinais: Projeto e Análise de Sistemas. Tradução de Luiz Wagner Pereira Biscainho. 2. ed. Porto Alegre: Bookman, 2014. 585 p. FACCAMP. Filtros de Sinais. Disponível em: <http://www.faccamp.br/apoio/JoseCarlosVotorino/princ_com/AulassobreFiltrosdesinais.pdf >. Acessado em: 03 Jun. 2016. HAYKIN, S. S.; VEEN, B. V. Sinais e Sistemas. Tradução de José Carlos Barbosa dos Santos. 2. ed. Porto Alegre: Bookman, 2001. 668 p. INGLE, Vinay K.; PROAKIS, John G. Digital Signal Processing Using MATLAB. 2.ed. Pacific Grove: Brooks/Cole, 2007. 605 p. INSTITUTO NEWTON C. BRAGA. Indutores, Capacitores e Filtros (EL001). Disponível em: <http://www.newtoncbraga.com.br/index.php/144-eletrotecnica-e- eletricidade/eletricidade-industrial-eletrotecnica/1814-indutores-capacitores-e-filtros-el001>. Acessado em: 02 Fev. 2016. MATHWORKS. The Sinc Function. Disponível em: <http://www.mathworks.com/help/signal/gs/the-sinc-function.html>. Acessado em: 21 Jun. 2016. MICROCHIP. Implementing FIR and IIR Digital Filters Using PIC18 Microcontrollers.Disponível em: <http://ww1.microchip.com/downloads/en/AppNotes/00852a.pdf>. Acessado em: 02 Fev. 2016. NATIONAL INSTRUMENTS. Porque Eu Deveria Usar Filtros Anti-Aliasing?. 2012. Disponível em: <http://digital.ni.com/public.nsf/allkb/CA53ABE9845FFFA986257A250050A6E0>. Acessado em: 26 Maio 2016. OLIVEIRA, Hélio Magalhães de. Engenharia de Telecomunicações. 1. ed. Recife: HM, 2012. 673 p. ONUKI, Délio Miyoshi. Sistema de Análise em Frequência de Filtros Analógicos. 2005. 72 p. Dissertação (Programa de Graduação em Engenharia de Computação) - Centro Universitário Positivo, Curitiba. 2005. 60 OPPENHEIM, A. V.; WILLSKY, A. S. Sinais e Sistemas. Tradução de Daniel Vieira e Rogério Bettoni. 2. ed. São Paulo: Pearson Prentice Hall, 2010. 560 p. ROBERTS, Stephen. Signal Processing & Filter Design. 2003. Disponível em: <http://www.robots.ox.ac.uk/~sjrob/Teaching/SP/l6.pdf>. Acessado em: 21 Maio 2016. RUCH, Conrado Jr. Implementação de Filtros Adaptativos em FPGA. 2006. 64 p. Dissertação (Programa de Pós-Graduação em Informática) - Universidade Católica de Pelotas, Pelotas. 2006. SABER ELETRICA. Uma Análise Filtros Passivos. Disponível em: <http://www.sabereletrica.com.br/resposta-em-frequencia-filtros-passivos>. Acessado em: 20 Abr. 2016. TELECO. Filtro Digital: Conceitos e Projeto. Disponível em: <http://www.teleco.com.br/tutoriais/tutorialfiltrodig/pagina_3.asp>. Acessado em: 20 Abr. 2016. VALEIRA, Gustavo de Melo. Modelagem e Simulação de Instrumentos Musicais Utilizando Filtros Digitais. 2007. 88 p. Dissertação (Programa de Graduação em Engenharia Elétrica) - Universidade Presbiteriana Mackenzie, São Paulo. 2007. VIAGEM AO MUNDO DA AUDIÇÃO. O que é um som?. 2013. Disponível em: <http://www.cochlea.org/po/som>. Acessado em: 26 Maio 2016. Wiki IFSC. PSD29007-Engtelecom(2015-1) - Prof. Marcos Moecke. Disponível em: <http://wiki.sj.ifsc.edu.br/wiki/index.php/PSD29007-Engtelecom(2015-1)_- _Prof._Marcos_Moecke>. Acessado em: 15 Maio 2016. 61 APÊNDICE A – Função para gravar áudio function gravarAudio(fs, bits, tempo, arquivo) % Função para gravar audio em arquivo WAVE e salvar no HD % ------------------------------------ % gravarAudio(fs, bits, tempo, arquivo) % fs = Frequência de amostragem (recomendado 44100) % bits = Conversão A/D da placa de áudio (recomendado 16) % tempo = Tempo em segundos de gravação % arquivo = Nome do arquivo para salvar o audio gravado % gravador = audiorecorder(fs, bits, 1); % Realiza a gravação do áudio pelo tempo especificado disp('A gravação começou.') recordblocking(gravador, tempo); disp('Fim de gravação.'); % Reproduz a gravação play(gravador); % Obtém as amostras da gravação em um vetor Y Y = getaudiodata(gravador); % Plota a forma de onda do áudio plot(Y); % Salva no disco rígido o áudio gravado wavwrite(Y, fs, bits, arquivo); end 62 APÊNDICE B – Função da Transformada Rápida de Fourier function [Y, freq] = fftf(y, Fs); % Função da transformada de Fourier de um sinal % ------------------------------------ % [Y, freq] = fftf(y, Fs) % Y = Módulo do sinal no domínio da frequência % freq = Vetor de frequências % y = sinal de entrada % Fs = Frequência de amostragem do sinal de entrada % N = length(y); % Tamanho do vetor y k = [0:N-1]; T = N/Fs; freq = k/T; Y = fftn(y)/N; % Transformada de Fourier normalizada cutOff = ceil(N/2); % Frequência de corte para a transformada de Fourier Y = Y(1:cutOff); freq = freq(1:cutOff); end 63 APÊNDICE C – Função para gerar os coeficientes do filtro ideal function hd = pb_ideal(wc, M); % Cálculos filtro passa-baixa ideal %---------------------------------- % [hd] = pb_ideal(wc, M) % hd = resposta ideal ao impulso entre 0 a M-1 % wc = frequência de corte normalizada em unidades de pi radianos % M = comprimento do filtro ideal % alpha = (M-1)/2; n = [0:1:(M-1)]; m = n - alpha; fc = wc/pi; hd = fc*sinc(fc*m); end 64 APÊNDICE D – Algoritmo do Filtro FIR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % FILTRO PARA FILTRAGEM DE SINAL DE ÁUDIO, ELIMINANDO RUÍDOS DE ALTA % % FREQUÊNCIA. % % Autor: Igor Oliveira Souza % % Autor: Matheus Henrique Macieira % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clc; close all; clear all; % Especificações do filtro FIR % % ================ % % Os parâmetros abaixo devem ser ajustados conforme a necessidade do % usuário % ================ % % Maior componente de frequência do sinal a ser filtrado [para sinais % capturados pela placa de som, será a frequência de amostragem dividida % por 2 (Fs/2)] fmax = 22050; % Frequência da faixa de passagem em Hertz fp = 2000; % Frequência da faixa de rejeição em Hertz fs = 2250; % ================ % % Os códigos abaixo devem ser executados pelo processador e não devem ser % configurados pelo usuário % ================ % % Frequência de passagem normalizada em unidades de pi % wp = pi*(fp/fmax); % Frequência de rejeição normalizada em unidades de pi % ws = pi*(fs/fmax); % Faixa de transição % tr = ws - wp; % Comprimento do filtro % M = ceil(11*pi/tr) + 1; % Comprimento para janela de Blackman com atenuação de 74dB % Frequência de corte % wc = (ws+wp)/2; % Resposta do filtro ideal ao impulso % hd = pb_ideal(wc, M); % Janela de Blackman % w_black = (blackman(M))'; % "Janelamento" % h = hd .* w_black; % Importação do arquivo de áudio gravado em disco % [Audio, Fs] = audioread('audioRuidoso.wav'); % Convolução entre o sinal de Audio e a Resposta ao Impulso do Sistema % Audio_filtrado = conv(Audio, h); % Cria um objeto para reproduzir o áudio % player_ruido = audioplayer(Audio, Fs); % Para o áudio ruidoso player_filtrado = audioplayer(Audio_filtrado, Fs); % Para o áudio filtrado % ============= % Gráficos % ============= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 65 %% GERA O GRÁFICO COM O ESPECTRO DE FREQUÊNCIAS DO ÁUDIO FILTRADO E RUIDOSO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fig = figure('Name','Espectro de frequências'); subplot(2,1,1,'Parent',fig,'Layer','top','FontSize',14,... 'FontName','Arial'); [FFTy, FFTx] = fftf(Audio, Fs); FFTy = abs(FFTy); plot(FFTx(1:30000), FFTy(1:30000)); title('Espectro de frequências do audio sem filtragem','FontSize',14,'FontName','Arial'); xlabel('Frequência (Hz)','FontSize',14,'FontName','Arial'); ylabel('Amplitude','FontSize',14,'FontName','Arial'); subplot(2,1,2,'Parent',fig,'Layer','top','FontSize',14,... 'FontName','Arial'); [FFTy, FFTx] = fftf(Audio_filtrado, Fs); FFTy = abs(FFTy); plot(FFTx(1:30000), FFTy(1:30000)); title('Espectro de frequências do audio filtrado','FontSize',14,'FontName','Arial'); xlabel('Frequência (Hz)','FontSize',14,'FontName','Arial'); ylabel('Amplitude','FontSize',14,'FontName','Arial'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% GERA O GRÁFICO COM A AMPLITUDE DO ÁUDIO FILTRADO E RUIDOSO NO TEMPO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fig = figure('Name','Audio no tempo'); N = length(Audio); t = linspace(0, N/Fs, N); subplot(2,1,1,'Parent',fig,'Layer','top','FontSize',14,... 'FontName','Arial'); plot(t, Audio); title('Audio sem filtragem','FontSize',14,'FontName','Arial'); ylim([-1.2 1.2]); xlabel('Tempo (s)','FontSize',14,'FontName','Arial'); ylabel('Amplitude','FontSize',14,'FontName','Arial') subplot(2,1,2,'Parent',fig,'Layer','top','FontSize',14,...
Compartilhar