Anda di halaman 1dari 9

UTS

Pengolahan Sinyal Digital

Soal:
1. Dengan menggunakan conv_m function, tentukan autokorelasi dan
kroskorelasi deretan berikut:
n n
x(n) = 0.9 , 0 n 20; y(n) = 0.8 , 20 n 0

2. Linear time-invariant system digambarkan dengan persamaan beda (difference


equation) berikut:
y(n) 0.5y(n 1) + 0.25y(n 2) = x(n) + 2x(n 1) + x(n 3)

a. Dengan memakai filter function tentukan dan plot respon impuls dalam
interval 0 n 100
b. Tentukan stabilitas system dari respon impuls tersebut
c. Jika input sistem adalah x(n) = [5 + 3 cos(0.2n) + 4sin(0.6n)] u(n),
tentukan respon (output) y(n) dalam interval 0 n 200 dengan memakai
filter function.
Jawaban:
1. Dengan menggunakan conv_m function, tentukan autokorelasi dan
kroskorelasi deretan berikut:
n n
x(n) = 0.9 , 0 n 20; y(n) = 0.8 , 20 n 0

Kode 1.1 Pengkodingan pada Matlab untuk autokorelasi

clc; close all;

nx = [0:20];
x = 0.9.^nx;
[xf,nxf] = sigfold(x,nx);
[rxx,nrxx] = conv_m(x,nx,xf,nxf);

stem(nrxx,rxx);
xlabel('n');
ylabel('r_x_x(n)');

Kode 1.2 Fungsi yang digunakan pada Matlab untuk autokorelasi

a. Sigfold

function [y,n] = sigfold(x,n)


% implements y(n) = x(-n)
% -----------------------
% [y,n] = sigfold(x,n)
%
y = fliplr(x); n = -fliplr(n);

b. Conv_m

function [y,ny] = conv_m(x,nx,h,nh)

% Modified convolution routine for signal processing

% --------------------------------------------------

% [y,ny] = conv_m(x,nx,h,nh)

% y = convolution result

% ny = support of y

% x = first signal on support nx


% nx = support of x

% h = second signal on support nh

% nh = support of h

nyb = nx(1)+nh(1); nye = nx(length(x)) + nh(length(h));

ny = [nyb:nye];

y = conv(x,h);

Hasil Pengkodingan pada Matlab untuk autokorelasi:

Gambar 1.1 Hasil Pengkodingan pada Matlab untuk autokorelasi


Kode 1.3 Pengkodingan pada Matlab untuk kroskorelasi

clc;
close all;

nx = [0:20];
x = 0.9 .^ nx;
ny = [-20:0];
y = 0.8 .^ ny;
[yf,nyf] = sigfold(y,ny);
[rxy,nrxy] = conv_m(x,nx,yf,nyf);

stem (nrxy,rxy);
xlabel('n');
ylabel('r_x_y(n)');

Kode 1.4 Fungsi yang digunakan pada Matlab untuk autokorelasi

a. Sigfold

function [y,n] = sigfold(x,n)


% implements y(n) = x(-n)
% -----------------------
% [y,n] = sigfold(x,n)
%
y = fliplr(x); n = -fliplr(n);

b. Conv_m

function [y,ny] = conv_m(x,nx,h,nh)

% Modified convolution routine for signal processing


% -------------------------------------------------
% [y,ny] = conv_m(x,nx,h,nh)
% y = convolution result
% ny = support of y
% x = first signal on support nx
% nx = support of x
% h = second signal on support nh
% nh = support of h

nyb = nx(1)+nh(1); nye = nx(length(x)) + nh(length(h));

ny = [nyb:nye];

y = conv(x,h);
Hasil Pengkodingan pada Matlab untuk kroskorelasi:

Gambar 1.2 Hasil Pengkodingan pada Matlab untuk kroskorelasi


2. Linear time-invariant system digambarkan dengan persamaan beda (difference
equation) berikut:
y(n) 0.5y(n 1) + 0.25y(n 2) = x(n) + 2x(n 1) + x(n 3)

a. Dengan memakai filter function tentukan dan plot respon impuls dalam
interval 0 n 100
b. Tentukan stabilitas system dari respon impuls tersebut
c. Jika input sistem adalah x(n) = [5 + 3 cos(0.2n) + 4sin(0.6n)] u(n),
tentukan respon (output) y(n) dalam interval 0 n 200 dengan memakai
filter function.

a. Jawaban soal nomor 2a.


Kode 2.1 Pengkodingan Pada Matlab untuk soal a dengan memakai filter function
dalam interval 0 n 100 pada Matlab.
clc;
close all;

b = [1 2 0 1];
a = [1 -0.5 0.25];
[delta,n] = impseq(0,0,100);
h = filter(b,a,delta);

stem (n,h);
axis ([min(n)-5,max(n)+5,min(h)-1,max(h)+1]);
xlabel('n');
ylabel('h(n)');

Kode 2.2 Fungsi yang digunakan pada Matlab untuk soal nomor 2 a.

a. Impseq

function [x n] = impseq(n0,n1,n2)
% Generates x(n) = delta(n-n0); n1 <= n <= n2
% ----------------------------------------------
% [x,n] = impseq(n0,n1,n2)
%
n = [n1:n2];
x = [(n-n0) == 0];
Hasil pengkodingan pada Matlab untuk persamaan beda dengan menggunakan
filter function dalam interval 0 n 100:

Gambar 2.1 Hasil Pengkodingan pada Matlab untuk soal 2a.

b. Jawaban nomor 2b.


Sistem stabil
c. Jawaban nomor 2c.

Kode 2.3 Pengkodingan Pada Matlab untuk soal c dengan memakai filter function
dalam interval 0 n 200 jika inputnya adalah x(n) = [5 + 3 cos(0.2n)
+ 4sin(0.6n)] u(n) pada Matlab.

clc; close all;

b = [1 2 0 1];
a = [1 -0.5 0.25];
n = 0:200;
x = 5+3*cos(0.2*pi*n + 4*sin(0.6*pi*n);
y = filter(b,a,x);

stem(n,y);
xlabel('n');
ylabel('y(n)');

Hasil pengkodingan pada Matlab untuk persamaan beda dengan menggunakan


filter function dalam interval 0 n 200 jika inputnya adalah x(n) = [5 + 3
cos(0.2n) + 4sin(0.6n)] u(n):
Gambar 2.2 Hasil Pengkodingan pada Matlab untuk soal 2c.

Anda mungkin juga menyukai