Sinyal White Noise
-
Upload
wahyu-sutrisno -
Category
Documents
-
view
40 -
download
2
description
Transcript of Sinyal White Noise
Tugas Pengolah Sinyal Digital
Dibuat oleh :
Ari Teguh Sugiarto 1109100053
Dosen Pengampu :
Dwa Desa Warnana S.Si , M.Si
Jurusan Fisika
Bidang Minat Geofisika
Fakultas Matematika Dan Ilmu Pengetahuan Alam
Intitut Teknologi Sepuluh Nopember
Surabaya
Tugas pengolah sinyal digital
Soal:
1. Buat f(t) = fungsi sinus + noise (white noise/fungsi random)
2. Buatlah filter + windowingnya dari fungsi di atas
3. Tentukan Autokorelasi dari fungsi f(t)
4. Tentukan cross korelasi dengan g(t) = fungsi cosinus frekuensi sama dengan fungsi
f(t)
Jawab:
1. Buat f(t) = fungsi sinus + noise (white noise/fungsi random) n = 0:100; x = sin(pi/8*n)+sin(pi/2*n)+sin(3*pi/4*n); %original signal freq = 0:(2*pi)/length(x):pi; %frequensi lamda=1.0; whiteNoise = lamda*randn(1,length(x)); %WhiteNoise q=x+whiteNoise qdft = fft(q); % q di fft= plot(freq,abs(qdft(1:length(q)/2+1))); % mengambar sumbu x frequensi y
sinyal original yg di dft kan legend('Original Signal+white noise');
Gambar 1. Sinyal Original+WhiteNoise
2. Buatlah filter + windowingnya dari fungsi di atas
Bandpass Filter
n = 0:100; x = sin(pi/8*n)+sin(pi/2*n)+sin(3*pi/4*n); %original signal freq = 0:(2*pi)/length(x):pi; %frequensi d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,',1/4,3/8,5/8,6/8); %band pass
filter
Hd = design(d,'equiripple'); %disaign bandpass filter lamda=1.0; whiteNoise = lamda*randn(1,length(x)); q=x+whiteNoise y = filter(Hd,q); freq = 0:(2*pi)/length(x):pi; %frequensi ydft = fft(y); % y di fft plot(freq,abs(ydft(1:length(q)/2+1))); % mengambar sumbu x frequensi sinyal
original yang di filter yg di dft kan
legend('Bandpass Signal');
Gambar 2. Sinyal original+WhiteNoise yang difilter dengan Bandpass filter
Untuk Filter yang lain dapat menggunakan design filter seprti dibawah ini :
Lowpass
Design filter :
fp = 5/8
fst = 6/8
Highpass
Design Fiter :
fst = 1/4
fp = 3/8
Bandreject
Design filter :
fst = 3/8
fst = 5/8
Window
Response: 'Bandpass'
Specification: 'Fst1,Fp1,Fp2,Fst2'
Description: {4x1 cell}
NormalizedFrequency: true
Fstop1: 0.25
Fpass1: 0.375
Fpass2: 0.625
Fstop2: 0.75
Setelah kita filter singal original dengan bandpass filter kita dapat melihat window
(signal yang menerobos filter) dengan menggunakan hamming window.
Hamming window
n = 0:100; x = cos(pi/8*n)+cos(pi/2*n)+cos(3*pi/4*n); %original signal d = fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,',1/4,3/8,5/8,6/8); %disign band
pass filter ws1 = 0.5*pi; % lower stopband edge wp1 = 0.75*pi; % lower passband edge wp2 = 1.25*pi; % upper passband edge ws2 = 1.5*pi; % upper stopband edge wc1 = (ws1+wp1)/2; wc2 = (ws2+wp2)/2; a=(M-1)/2 e=(sin(M-a)*wc2)/((M-a)*pi); d=(sin(M-a)*wc1)/((M-a)*pi); hd =e-d; lamda=1.0; whiteNoise = lamda*randn(1,length(x)); q=x+whiteNoise y = filter(Hd,q); freq = 0:(2*pi)/length(q):pi; %frequensi ydft = fft(y); % y di fft tr_width = min((wp1-ws1),(ws2-wp2)); M = ceil(6.6*pi/tr_width); M = 2*floor(M/2)+1, % choose odd M M =100 n = 0:M-1; w_ham = .54 - .46*cos(2*pi*(0:M-1)'/(M-1)); h=hd*w_ham subplot(1,1,1); stem(n,w_ham); title('Hamming Window'); axis([-1,M,-0.1,1.1]); xlabel('n'); ylabel('w_ham(n)') set(gca,'XTickMode','manual','XTick',[0;M-1],'fontsize',10)
Gambar 3. Hamming window
3. Tentukan Autokorelasi dari fungsi f(t)
n = 0:100; x = sin(pi/8*n)+sin(pi/2*n)+sin(3*pi/4*n); %original signal freq = 0:(2*pi)/length(x):pi; %frequensi lamda=1.0; whiteNoise = lamda*randn(1,length(x)); %WhiteNoise q=x+whiteNoise c=xcorr(q) % c autokorelasi dari sinyal q cdft = fft(c); % q di fft= plot(freq,abs(cdft(1:length(x)/2+1))); % mengambar sumbu x frequensi y
sinyal original yg di dft kan legend('Auto-Korelasi');
Gambar 4. Auto-korelasi dari fungsi f(t)
4. Tentukan cross korelasi dengan g(t) = fungsi cosinus frekuensi sama dengan
fungsi f(t)
n = 0:100; x = sin(pi/8*n)+sin(pi/2*n)+sin(3*pi/4*n); %original signal sinus y = cos(pi/8*n)+cos(pi/2*n)+cos(3*pi/4*n); %original signal cosinus freqx = 0:(2*pi)/length(x):pi; %frequensi x freqy = 0:(2*pi)/length(y):pi; %frequensi y
lamda=1.0; whiteNoisex = lamda*randn(1,length(x)); %WhiteNoise X whiteNoisey = lamda*randn(1,length(y)); %WhiteNoise Y q=x+whiteNoisex z=y+whiteNoisey c=xcorr(q,z) cdft = fft(c); % q di fft= plot(freq,abs(cdft(1:length(x)/2+1))); % mengambar sumbu x frequensi y
sinyal original yg di dft kan legend('Cross-Korelasi’);
Gambar 5. Cross-Korelasi