v1 · padrão canônico
Transformada Z e Sistemas Discretos
Transformada Z bilateral e unilateral, região de convergência, inversão por frações parciais e resíduos, equações de diferenças, estabilidade no plano-z e projeto de filtros digitais.
Used in: engenharia
Choose your door
Real scenarios with market data and step-by-step calculations
Implementação de Filtros Digitais
Filtro de Média Móvel (FIR Simples)
Função de transferência: .
Zeros: em para (raízes da unidade diferentes de 1).
Código Python — Análise de Filtros
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
# Filtro Butterworth IIR de 4ª ordem, passa-baixas, corte em 0.3π
N = 4
Wn = 0.3 # freq. normalizada (0 a 1, onde 1 = π rad/amostra)
b, a = signal.butter(N, Wn, btype='low')
# Zeros e polos
z, p, k = signal.tf2zpk(b, a)
print("Zeros:", np.round(z, 4))
print("Polos:", np.round(p, 4))
print("Todos polos dentro do círculo unit.?", all(np.abs(p) < 1))
# Resposta em frequência
w, H = signal.freqz(b, a, worN=1024)
freq = w / np.pi # normalizada [0, 1]
# Verificar Parseval
h = signal.impulse2(signal.dlti(b, a))[1]
energia_tempo = np.sum(np.abs(h)**2)
energia_freq = np.trapz(np.abs(H)**2, w) / (2*np.pi)
print(f"Parseval check — tempo: {energia_tempo:.4f}, freq: {energia_freq:.4f}")
Equação de Diferença — Implementação Recursiva
def iir_filter(b, a, x):
"""Implementar filtro IIR diretamente pela equação de diferenças."""
M, N = len(b), len(a)
y = np.zeros(len(x))
for n in range(len(x)):
y[n] = sum(b[k]*x[n-k] for k in range(min(M, n+1)))
y[n] -= sum(a[k]*y[n-k] for k in range(1, min(N, n+1)))
y[n] /= a[0]
return y
# Testar vs scipy.signal.lfilter
x = np.random.randn(100)
y_manual = iir_filter(b, a, x)
y_scipy = signal.lfilter(b, a, x)
print(f"Erro máximo: {np.max(np.abs(y_manual - y_scipy)):.2e}")
Referência: Oppenheim & Schafer, Discrete-Time Signal Processing, 3ª ed., §§5–7; Oppenheim & Willsky, §§10–11.
To continue
Referências Bibliográficas
- Oppenheim, A.V.; Willsky, A.S. Signals and Systems, 2ª ed. Prentice Hall, 1997. Caps. 10–11 (transformada Z, sistemas discretos). Referência principal.
- Oppenheim, A.V.; Schafer, R.W. Discrete-Time Signal Processing, 3ª ed. Prentice Hall, 2009. Caps. 2–7 (DTFT, Z, filtros FIR/IIR). Referência completa de DSP.
- Ogata, K. Discrete-Time Control Systems, 2ª ed. Prentice Hall, 1995. Caps. 2–5 (transformada Z, projeto de controladores discretos, critério de Jury).
- Proakis, J.G.; Manolakis, D.G. Digital Signal Processing, 4ª ed. Prentice Hall, 2007. Caps. 3–5 (Z, filtros digitais, estruturas).
- Kreyszig, E. Advanced Engineering Mathematics, 10ª ed. Wiley, 2011. §21 (transformada Z e sistemas discretos).