Análise de Sinais - filtros
Por: Tatiana Lopes • 14/5/2016 • Trabalho acadêmico • 938 Palavras (4 Páginas) • 308 Visualizações
[pic 1]
Universidade Federal de Pernambuco
Departamento de Engenharia Eletrônica e Sistemas
Processamento Digital de Sinais
Exercício Prático 1
Aluna: Tatiana Lopes
Professor: Ricardo Campello
Experimento 1.1
O objetivo deste primeiro experimento consiste em determinar uma solução numérica para o problema de determinar uma expressão em forma fechada para a resposta ao impulso da equação
[pic 2]. (1.0.1)
Para isso, escolheu-se α = 1,15 e 0 6 n 6 30, e executou-se os comandos mostrados na Figura 1 no Matlab.
[pic 3]
Figura 1: Código no Matlab do experimento 1.1.
Como, em geral, o comando y = filter([b0b1...bM],[1a1...aN],x); determina a solução da equação de diferenças
y(n) + a1y(n − 1) + ... + aNy(n − N) = b0x(n) + b1x(n − 1) + ... + bMx(n − M), (1.0.2)
sendo x o vetor contendo o sinal de entrada; o código da figura acima, indica que a
equação investigada é exatamente a Equação 1.0.1.
Para observar graficamente a solução encontrada, fez-se uso do comando stem(), que plota sequências discretas. O gráfico obtido é mostrado na Figura 2.
[pic 4]
Figura 2: Solução da Equação 1.0.1.
Como pode-se observar, o resultado obtido é coerente com o obtido no exemplo 1.7 do livro Digital Signal Processing - System analysis and design (Equação 1.0.3), cujo objetivo é exatamente determinar uma expressão fechada para a resposta ao impulso da equação
1.0.1.
[pic 5] (1.0.3)
Experimento 1.2
O objetivo deste experimento é mostrar como é possível determinar qual função de tempo contínuo representa um dado conjunto de amostras no tempo discreto. Isto é importante, pois funções de tempo contínuo diferentes, quando amostradas, podem gerar a mesma sequência de amostras. Sabendo-se a frequência de amostragem usada, consegue-se reduzir bastante as possibilidades para a função procurada, mas não determiná-la definitivamente. Para ilustrar isto, neste experimento vamos amostrar duas funções diferentes, com a mesma taxa de amostragem, e observar o resultado. As funções utilizadas serão:
f1(t) = cos(2π3t), | (2.0.4) |
f2(t) = cos(2π7t). | (2.0.5) |
Essas duas funções serão amostradas com uma taxa de amostragem Fs = 10 amostras por segundo, em um intervalo de 1s. Esta amostragem será feita por meio do comando stem() no Matlab, como mostrado na Figura 3. Este comando plota a função desejada (f1(t) ou f2(t)) nos valores especificados pela variável time, que representa a taxa de amostragem.
[pic 6]
Figura 3: Código no Matlab do experimento 1.2.
Nas Figuras 4 e 5 é mostrado em azul as sequências de amostras das funções f1(t) e f2(t), respectivamente, assim como as próprias funções, em vermelho. Como pode-se observar a amostragem das duas funções, usando-se a mesma taxa de amostragem, uma sequência de amostras idêntica, de forma que tendo essa sequência e sua taxa de amostragem não seria possível determinar de qual função de tempo contínuo ela se originou.
[pic 7]
Figura 4: Amostragem de f1(t). Figura 5: Amostragem de f2(t).
Para determinar a função geradora de uma dada sequência de amostras deve-se, então, levar em consideração o teorema de Nyquist, que diz que a frequência de amostragem do sinal deve ser no mínimo duas vezes maior do que a frequência do sinal. Desta forma, considerando as funções usadas, podemos observar que f2(t) não deveria ser amostrada com Fs = 10Hz, uma vez que sua frequência é de 7Hz. Sendo assim, a sequência de amostras obtidas neste experimento deve estar associada a f1(t), uma vez que sua frequência é de 3Hz e Fs > 2 · 3.
...