BandPass filter simulation using Matlab for 3 differences frequency
-
Upload
jans-hendry -
Category
Documents
-
view
67 -
download
2
Transcript of BandPass filter simulation using Matlab for 3 differences frequency
Jans Hendry / TE UGM
1
BANDPASS FILTER UNTUK ISYARAT SEBANYAK 3 JENIS
FREKUENSI BERBEDA
Program ini untuk menyelesaikan masalah bandpass terhadap 3 jenis isyarat dengan frekuensi yang
berbeda-beda.
Isyarat-isyarat yang dijadikan sebagai masukan:
- Isyarat dengan frekuensi 300 Hz
- Isyarat dengan frekuensi 3000 Hz
- Isyarat dengan frekuensi 30000 Hz
Lalu ketiga isyarat tersebut di jumlahkan menghasilkan:
Lalu hasil filter untuk masing-masing frekuensi adalah:
Jans Hendry / TE UGM
2
Jans Hendry / TE UGM
3
Hasil FFT untuk membuktikan keberadaan ketiga isyarat hasil filter adalah:
Program nya adalah:
% program untuk menyelesaikan tugas ke-2 antena dan % perambatan gelombang tentang memisahkan 3 buah % isyarat dengan frekuensi yang berbeda.
clear all; clc; close all;
%% inisialisasi variable dan masukan A=1/3;
Jans Hendry / TE UGM
4
fs=80000; n=0:1/fs:1; fi=300;
y1=A*sin(2*pi*(fi)*n); y2=A*sin(2*pi*10*(fi)*n); y3=A*sin(2*pi*100*(fi)*n); y=y1+y2+y3; % penjumlahan ketiga isyarat
%% menampilkan isyarat masukan figure, plot(y); axis([0 length(y) 0 2*A]); xlabel('n'); ylabel('y'); title('Isyarat Hasil Penjumlahan 3 Isyarat Sinus');
%% bandpass filter untuk ketiga frekuensi for ii=1:3 if ii==1 fp1=295; fp2=305; tt='Hasil Filter Terhadap Masukan 300 Hz'; elseif ii==2 fp1=2995; fp2=3005; tt='Hasil Filter Terhadap Masukan 3000 Hz'; else fp1=29995; fp2=30005; tt='Hasil Filter Terhadap Masukan 30000 Hz'; end w1=2*(fp1/fs); % normalisasi frekuensi pass 1 w2=2*(fp2/fs); % normalisasi frekuensi pass 2 [b, a] = butter(4, w1, 'low'); % lowpass filter y1 = filtfilt(b, a, y); [b, a] = butter(4, w2, 'high'); % highpass filter y1 = filtfilt(b, a, y1); figure(ii+1), plot(y1); title(tt); xlabel('waktu (t)'); ylabel('amplitudo'); end
%%
%% menampilkan frekuensi hasil tapis dengan transformasi fourier y=fft(y); y=y/max(y); % normalisasi keluaran dari fft ff2 = fs/2*linspace(0,1,length(y)/2+1); figure, plot(ff2,abs(y(1:length(y)/2+1))); axis([-.2e+004 4e+004 0 1.2]); title('FFT dari Hasil BandPass Filter Untuk 300,3000,30000 Hz'); xlabel('frekuensi (f)'); ylabel('magnitude');