Anda di halaman 1dari 5

TUGAS UTS

DASAR PENGOLAHAN SINYAL DIGITAL:


REPRESENTASI SINYAL DAN SINYAL WAKTU DISKRIT
Soal 1

Diketahui sinyal analog xa(t) = 3 cos 2000πt + 5 sin 6000πt + 10 cos 12000πt
buatlah Matlab Script untuk Plot xa(t)dan spektrumnya ?

Soal 2

Membuat x(n) = exp [(2 + j3) n] , 0 = n = 10, menggunakan script


MATLAB:

Soal 3

Membuat x(n) = 3 cos(0.lpn+p/3) +2 sin(0.5pn), 0 = n = 10, menggunakan


script MATLAB berikut ini :

Soal 4

Misalkan x(n) = u(n) - u(n - 10). Komposisi ulang x(n) menjadi komponen
genap dan ganjil? Sekuen x(n) yang tidak mempunyai nilai nol sepanjang 0 ≤
n≤ 9, ini disebut pulsa kotak. Kita akan menggunakan MATLAB mencari dan
memplot bagian genap dan ganjil. (Fungsi-fungsi dapat dilihat pada Lampiran)

Soal 5

Misalkan x (n) = { 1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1 }. Jelaskan dan plot


sekuen berikut:
a. x1 (n) = 2x(n - 5) – 3x (n + 4)
b. x2(n) = x(3-n) + x(n)x(n-2)
Lampiran-lampiran Fungsi

SEKUEN SAMPEL
% Fungsi impseq.m
%
function [x,n] = impseq(n0,n1,n2)
%Menghasilkan x(n)= delta(n-n0); n1 <= n <= n2
% --------------------------------------------
%[x,n] = impseq(n0,n1,n2)
%
n = [n1:n2]; x = [(n-n0) == 0];

SEKUEN STEP
% Fungsi stepseq.m
%
function [x,n] = stepseq(n0,n1,n2)
% Menghasilkan x(n) = u(n-n0); n1 <= n <= n2
%--------------------------------------------
% [x,n] = stepseq(n0,n1,n2)
%
n = [n1:n2]; x = [(n-n0) >= 0];

PENJUMLAHAN SAMPEL

Penjumlahan sampel demi sampel diberikan oleh ungkapan berikut:

% Fungsi sigadd.m
%
function [y,n] = sigadd(x1,n1,x2,n2)
% membuat y(n) = x1(n)+x2(n)
%---------------------------------------
% [y,n] = sigadd(x1,n1,x2,n2)
% y = jumlah sekuen sebanyak n, yang meliputi n1 dan n2
% x1 = sekuen pertama sebanyak n1
% x2 = sekuen ke dua sebanyak n2 (n2 dapat berbeda dengan n1)
%
n = min(min(n1),min(n2)):max(max(n1),max(n2)); % durasi dari y(n)
y1=zeros(1,length(n)); y2=y1; % inisialisasi
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % x1 dengan durasi y
y2(find((n>= min(n2))&(n<=max(n2))==1))=x2; % x2 dengan durasi y
y = y1+y2; % penjumlahan sekuen

PERKALIAN SINYAL:
Operasi ini adalah sampel demi sampel ( atau perkalian titik ) yang diberikan
oleh:

Ini dilakukan dalam MATLAB dengan menggunakan operator sekuen ". *".
Lagi-lagi kita harus memberikan batasan yang sama untuk operator .*
sebagaimana operator +. Oleh karena itu kita harus membuat fungsi sigmult,
yang mempunyai fungsi yang sama dengan sigadd.

%Fungsi sigmult.m
%
function [y,n] = sigmult(x1,n1,x2,n2)
% membuat y(n) = x1(n)*x2(n)
% [y,n] = sigmult(x1,n1,x2,n2)
% y = perkalian sekuen sepanjang n, yang meliputi n1 dan n2
% x1 = sekuen pertama sepanjang n1
% x2 = sekuen ke dua sepanjang n2 (n2 boleh berbeda dengan n1)
n = min(min(n1),min(n2)):max(max(n1),max(n2));% durasi y(n)
y1 = zeros(1,length(n)); y2 = y1; % inisialisasi
y1(find((n>=min(nl))&(n<=max(n1))==1))=x1; % x1 dengan durasi y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % x2 dengan durasi y
y = y1 .* y2; % perkalian sekuen

PENGGESERAN :
Pada operasi ini setiap sampel x(n) digeser sejauh k untuk mendapatkan
sekuen yang tergeser y(n).

y(n) = {x(n - k)}

Jika kita memisalkan m = n - k, maka n = m + k dan operasi di atas diberikan


oleh

y (m + k) = {x(m)}

Oleh karena itu operasi ini tidak mempunyai akibat pada vektor x, tetapi
vektor n akan berubah dengan bertambahnya sejumlah k pada tiap elemen.
Operasi ini menggunakan fungsi sigshift.

% Fungsi sigshift.m

%
function [y,n] = sigshift(x,m,n0)
% membuat y(n) = x(n-n0)
%--------------------------
%[y,n] = sigshift(x,m,n0)
%
n = m+n0; y = x:

FOLDING:
Pada operasi ini setiap sampel dari (n) ditukar pada sekitar n = o untuk
mendapatkan sekuen yang terlipat y(n).

y(n) = {x(-n)}

Pada MATLAB operasi ini diimplementasikan dengan fungsi fliplr(x) untuk


sampel nilai dan - fliplr(n) untuk sampel posisi seperti pada fungsi sigfold.

% Fungsi sigfold.m
%
function [y,n] = sigfold(x,n)
% Membuat y(n) = x(-n)
% ---------------------
% [y,n] = sigfold(x,n)
%
y = fliplr(x); n = -fliplr(n);

SUMASI SAMPEL:
Operasi ini berbeda dari penjumlahan sinyal. Ini menambahkan semua nilai
sampel dari antara n1 dan n2.

Ini dapat dijalankan dengan fungsi sum(x(n1:n2)).

SAMPEL PRODUCTS:
Operasi ini juga berbeda dari operasi perkalian. Operasi ini mengalikan
seluruh nilai sampel x(n) antara n1 dan n2.

Ini dapat dilakukan dengan fungsi


prod(x(n1:n2)).

ENERGI SINYAL
Energi dari sekuen x(n) diberikan oleh

dengan indek atas * menandakan operasi konjugat komplek. Energi pada


sekuen x(n) dengan
waktu terbatas dapat dihitung pada MATLAB menggunakan

» Ex = sum(x .* conj(x));
» Ex = sum(abs(x) .^ 2); % alternatif

POWER(DAYA) SINYAL:
Rata-rata daya suatu sekuen periodic dengan perioda dasar N diberikan oleh
Menggunakan operasi MATLAB yang telah didiskusikan selama ini kita bisa
membuat fungsi gnapgnjil sebagai berikut.

% Fungsi gnapgnjil.m
%
function [xe, xo, m] = gnapgnjil(x,n)
%Sinyal riil dikomposisi ulang menjadi bagian genap dan ganjil
%-------------------------------------------------------------
% [xe, xo, m] = gnapgnjil(x,n)
%
if any(imag(x) ~= 0)
erroz('x tidak merupakan sekuen riil')
end
m = -fliplr(n);
m1 = min([m,n]); m2 = max([m,n]); m = m1:m2;
nm = n(1)-m(1); n1 = 1:length(n);
x1 = zeros(1,length(m));
x1(n1+nm) = x; x =x1;
xe = 0.5*(x + fliplr(x));
xo = 0.5*(x - fliplr(x));

Anda mungkin juga menyukai