Sistemas de Processameto Digital Egeharia de Sistemas e Iformática Ficha 4 5/6 4º Ao/ º Semestre DFS Série Discreta de Fourier DFT Trasformada Discreta de Fourier Covolução Circular Para calcular a DFT, Trasformada Discreta de Fourier, faz-se a amostragem da Trasformada de Fourier Discreta o Tempo o domíio da frequêcia O seu desevolvimeto faz-se iicialmete através da aálise de sequêcias periódicas A partir da aálise de Fourier, sabemos que uma fução periódica (ou sequêcia pode ser sempre represetada através duma combiação liear de expoeciais complexas harmoicamete relacioadas (que é uma forma de amostragem Daqui obtém-se a represetação DFS, Série Discreta de Fourier Uma vez que a amostragem se faz o domíio da frequêcia, temos de estudar os efeitos da amostragem o domíio do tempo Por outro lado, estede-se a DFS a sequêcias de duração fiita, que os leva a uma ova trasformada, desigada por DFT, Trasformada Discreta de Fourier A DFT é uma trasformada que pode ser calculada umericamete, sedo portato adequada para uma implemetação um computador Esta ficha ecotra-se dividida em três partes, em que a primeira trata os aspectos associados à utilização da DFS, a seguda dedica-se à implemetação da DFT e a terceira à covolução circular Série Discreta de Fourier (DFS k X k DFSx x W com Equação de Aálise: = = = k k = Equação de Sítese: = = x IDFS X k X k W W = e j Exercício Implemete em MatLab as duas fuções DFS e IDFS a forma mais eficiete através da utilização de uma multiplicação matriz-vector fuctio [Xk] = dfs(x e fuctio [x] = idfs(xk Exercício Determie a DFS da seguite sequêcia periódica: x( = {, 333,,,,,,,,,,,,} a Por cálculo aalítico b Por cálculo computacioal (usado a fução implemetada ateriormete Sistemas de Processameto Digital Mauel Baptista & Eresto Afoso
Exercício 3 Uma sequêcia periódica duma oda quadrada é dada por: ode é o período fudametal e L/ é o duty cycle a Determie a expressão para X ( k em termos de L e b Trace o módulo X ( k para L=5 e =, L=5 e =4, L=5 e =6, L=7 e =6 Comete os resultados Relação da DFS com a DTFT (Discrete Time Fourier Trasform jω = x e jω Cosiderado que a DTFT é dada por: X ( e se Comparado a DFS temos X ( k = X ( e jω = ω = k O itervalo de amostragem é w = Exercício 4 do exercício Seja a sequêcia x( = {, 333,,,,,,,,,,,,} j a Determie a sua DTFT X ( e ω j b Amostre X ( e ω π em kw k, k 3,,, = = e verifique se é igual a X ( k do exercício Trasformada Discreta de Fourier (DFT Trasformada directa: k X k = DFT x = x W com k e = W = e j k x = IDFT X k = X k W com Trasformada iversa: Se x = x = x mod etão a DFS e a DFT são idêticas k = Crie em MatLab as duas fuções DFT e IDFT através da alteração dos omes da DFS e IDFS fuctio [Xk] = dft(x e fuctio [x] = idft(xk Crie em MatLab a fução mod da seguite forma: fuctio m = mod(, m = rem(, ; m = + ; m = rem(, ; Sistemas de Processameto Digital Mauel Baptista & Eresto Afoso
Exercício 5 Cosidere a sequêcia a Determie e trace e x ( x = 8, e a propriedade de simetria circular (foldig: x (( x, = = x, Compare os dois siais b Verifique a propriedade de simetria circular e da respectiva trasformada: X, k = DFT x( ( X (( k = = X k, k ota: o MatLab, a simetria circular obtém-se fazedo x x( mod(, = + Exercício 6 Desevolva uma fução em MatLab que decompoha uma sequêcia de potos as suas compoetes circulares Par e Ímpar, defiidas da seguite forma: + ( e x x ( x ( xpar x x ímpar Exercício 7 Cosidere ovamete a sequêcia x( = ( 8, a Decompoha e trace as compoetes par e ímpar de x( b Verifique as propriedades da simetria circular: par = = ( e X ímpar k = Im X k = Im X k X k Re X k Re X k Exercício 8 Cosidere ovamete a sequêcia a Represete ( 4 b Represete ( 3 x = 8, x + que represeta um deslocameto circular em direcção à esquerda 5 x que represeta um deslocameto circular em direcção à direita, ode se assume que a sequêcia tem um comprimeto de 5 potos (por adição de zeros 5 c Represete ( 6 x que represeta um deslocameto circular em direcção à direita ota: o MatLab, o deslocameto circular obtém-se fazedo x x( mod( m, = + Sistemas de Processameto Digital Mauel Baptista & Eresto Afoso 3
Covolução Circular x x = x m x m, Defiição: m= Propriedades da covolução circular: Covolução o tempo: DFT x ( x ( = X ( k X ( k Multiplicação o tempo: DFT x ( x ( = X ( k X ( k Relação com a covolução liear: x ( x ( = x ( x ( se a x ( e x acrescetados zeros de forma a terem = + - potos forem Exercício 9 Cosidere as sequêcias x ( = {,, } e x ( {,,, } = 34 a Calcule a covolução circular de 4 potos x ( 4 x b Utilize o MatLab para calcular a covolução circular c Estude o efeito de a covolução circular ( 4: i x ( 5 x ( ii x ( 6 x ( Exercício Cosidere as sequêcias x ( = {,,, } e x ( {,,, } a Determie a covolução liear x ( x ( = b Determie a covolução circular de modo a que seja igual ao resultado aterior Exercício Cosidere as mesmas sequêcias x ( e x do exercício a Calcule a covolução circular para = 6, 5, 4 e 3 b Verifique as relações de erro, para cada, relativamete à covolução liear Sistemas de Processameto Digital Mauel Baptista & Eresto Afoso 4
Covolução por Blocos Quado é ecessário processar siais de duração muito loga, a aplicação das técicas de cálculo da Covolução toram-se impraticáveis devido ao elevado úmero de potos a calcular, o que pode implicar um tempo muito elevado de processameto que iviabilizaria a sua utilização a grade maioria dos sistemas de processameto os sistemas em que os siais que estão a ser recolhidos em cotíuo, também ão é viável calcular a Covolução porque a sequêcia de potos ão teria fim A solução para este problema cosiste a subdivisão de um sial de duração ifiita em pequeos blocos, processar cada um desses blocos idividualmete e jutar as sequêcias de saída de cada um deles de modo a se obter a sequêcia fial A este procedimeto é chamado Covolução por Blocos O método de overlap-save é uma forma de calcular uma Covolução por Blocos de um sial de duração muito loga ou mesmo ifiita obtedo-se o mesmo resultado como se fosse calculada a Covolução Liear com todos os potos de uma só vez Procedimeto a executar para calcular a covolução com blocos de potos dos siais x( com P potos e h( com M potos (com P > M: - Criar a sequêcia ˆx ( a partir de x(, acrescetado M- zeros o iício e - zeros o fial: ˆx ( {,,,,,x(,,,,, } ; M - Cosiderado L = -M+, etão o bloco úmero k, xk ( com x ( = ˆx( m, kl m kl+ e k Cada bloco é costituído por potos de ˆx ( k dos quais M- potos são sobrepostos com o bloco aterior P+ M - O úmero total de blocos é dado por K = + L, ode [] sigifica trucar, é dado por - A cada bloco é aplicada a covolução circular yk ( = xk ( h( - Fialmete, elimiam-se os M- primeiros valores de cada yk ( e jutam-se para formar y( Exercício Cosidere as mesmas sequêcias x( = +, 9 e h( = {,, } a Calcule y( = x ( h( pelo método de overlap-save, cosiderado P = 6 b Implemete o MatLab o método de overlap-save Sistemas de Processameto Digital Mauel Baptista & Eresto Afoso 5