Sie sind auf Seite 1von 9

Pemrosesan Sinyal

Infinite Impuls Response (IIR) Filter


Sofyan Ahmadi (181920201004)

Electrical
Engineering
A. Pendahuluan

Infinite Impulse Response (IIR) filter adalah suatu bentuk filter digital yang bergantung secara linier
pada jumlah sampel input serta memiliki nilai output yang terbatas, atau dapat dikatakan filter infinite
impulse response (IIR) membandingkan nilai umpan balik dari output filter sebelumnya.

Gambar 1. Blok Diagram IRR Filter

1
B. Infinite Impulse Respose (IIR) Filter AM Signal
1. Konsep Dasar Modulation AM
Konsep dasar Amplitude Modulation Signal adalah menambahkan atau menitipkansinyal
pembawa (carrier signal) pada sinyal informasi (message signal). Kemudian hasil dari modulasi AM
akan ditambahkan lagi sinyal carrier (carrier signal) agar mendapatkan response sinyal.

Gambar 2. Amplitudo Modulation Signal

2. Simulasi Infinite Impulse Response (IIR) Filter dengan Python

Code Python :

from scipy import signal


import numpy as np
import matplotlib.pyplot as plt

# Fs = 1000; # Sampling
# T = 1/Fs; # Sampling period
# L = 1500; # Length of signal
# t = 0:T/999:6*T; # Time vector

t = np.linspace(-1, 1, 201)

# Rumus Sinyal AM
# y=Ac+(1+m*sin(2*pi*fa*t)).*sin(2*pi*fc*t);
am = 10+(1+10*np.cos(2*np.pi*10*t))*(np.cos(2*np.pi*1000*t))
amc = am * (np.cos(2*np.pi*1000*t))
amc2 = amc * (np.cos(2*np.pi*1000*t))
xn = amc2 + np.random.randn(len(t)) * 0.08

b, a = signal.butter(3, 0.05)

zi = signal.lfilter_zi(b, a)
z, _ = signal.lfilter(b, a, xn, zi=zi*xn[0])

2
z2, _ = signal.lfilter(b, a, z, zi=zi*z[0])

y = signal.filtfilt(b, a, xn)

plt.figure
plt.plot(t, xn, 'b', alpha=0.75)
plt.plot(t, z, 'r--', t, z2, 'r', t, y, 'k')
plt.legend(('noisy signal', 'lfilter, once', 'lfilter, twice','filtfilt'), loc='best')
plt.grid(True)
plt.show()

Gambar 3. Simulasi dengan Jupyter

3
Gambar 4. Simulasi dengan Jupyter

Gambar 5. Hasil Filter IIR dengan Jupyter

4
C. Infinite Impulse Respose (IIR) Filter Data Grafik

Gambar 6. Data Input Kecepatan Mobil

Code Matlab :
close all
a1=-1.911;
a2=0.949;
b1=2;
b2=1;
gain=0.0094;

data=length(unnamed);

% Input
y_1=0;y_2=0;u_1=0;u_2=0;

for i=1:data
u=unnamed(i);
% Persamaan Filter
y=(-a1*y_1 - a2*y_2 + + u + b1*u_1 + b2*u_2);

5
u_1=u;
u_2=u_1;
y_1=y;
y_2=y_1;
out(i,1)=gain*y; % nilai output dari filter dikalikan gain.
end

plot(unnamed,'r')
hold
plot(out,'b')

Gambar 7. Percobaan Filter IIR pada Matlab

6
Gambar 8. Hasil dari Filter IIR pada Grafik Data Kecepatan Mobil

Grafik Merah : Sinyal Input


Grafik Biru : Sinyal Hasil IIR Filter

7
Referensi

https://en.wikipedia.org/wiki/Infinite_impulse_response
https://www.sciencedirect.com/topics/computer-science/infinite-impulse-response
https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.iirfilter.html

Das könnte Ihnen auch gefallen