tugas pembangkitan sinyal dsp

Post on 28-Nov-2015

109 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PEMBANGKITAN SINYAL

Tujuan

o Peserta mengerti cara membangkitkan sinyal menggunakan Matlab

o Peserta dapat membangkitkan nada dasar menggunakan Matlab

Tugas

3.1 Pembangkitan Sinyal Waktu Kontinyu

a. Pembangkitan sinyal sinus (sinyal periodic)

fs=1000;t=0:1/fs:1;A=1;f=1;phase=0;x=A*sin(2*pi*f*t + phase);plot (t,x)xlabel('t')ylabel('sin (t)')title('Sinyal Sinus')

Pengubahan nilai pada parameter Amplitudo

fs=1000;t=0:1/fs:1;A=3;f=1;phase=0;x=A*sin(2*pi*f*t + phase);plot (t,x)xlabel('t')ylabel('sin (t)')title('Sinyal Sinus')

Pengubahan nilai pada parameter Frekuensi

fs=1000;t=0:1/fs:1;A=1;f=4;phase=0;x=A*sin(2*pi*f*t + phase);plot (t,x)xlabel('t')ylabel('sin (t)')title('Sinyal Sinus')

Pengubahan nilai pada parameter Phase

fs=1000;t=0:1/fs:1;A=1;f=1;phase=1;x=A*sin(2*pi*f*t + phase);plot (t,x)xlabel('t')ylabel('sin (t)')title('Sinyal Sinus')

Penjelasan : Pengubahan nilai pada parameter amplitudo mengakibatkan tinggi dari sinyal bisa

bertambah atau berkurang tergantung pemberian yang kita masukkan tersebut. Pengubahan nilai pada parameter frekuensi mengakibatkan berkurang atau

bertambahnya siklus yang terjadi. Pengubahan pada parameter phase mengakibatkan batas sinyal yang terbentuk

mendekati atau menjauhi nilai amplitudo.Untuk lebih jelasnya pengubahan-pengubahan setiap parameter dapat dilihat pada gambar diatas.

3.2 Pembangkitan Sinyal Waktu Diskrita) Pembangkitan sinyal/barisan cuplik satuan atau sample unit

k=0;n1=-5;n2=5;n=[n1:n2];x=[(n-k) == 0];stem(n,x);title('Sinyal Cuplik Satuan')xlabel('n')ylabel('x[n]')

Pengubahan nilai k dengan batas n1=-7 dan n2=3

k=1;n1=-7;n2=3;n=[n1:n2];

x=[(n-k) == 0];stem(n,x);title('Sinyal Cuplik Satuan')xlabel('n')ylabel('x[n]')

Pengubahan nilai k dengan batas n1=-5 dan n2=4

k=-1;n1=-5;n2=4;n=[n1:n2];x=[(n-k) == 0];stem(n,x);title('Sinyal Cuplik Satuan')xlabel('n')ylabel('x[n]')

Pengubahan nilai k dengan batas n1=-7 dan n2=3

k=3;n1=-4;n2=6;n=[n1:n2];x=[(n-k) == 0];stem(n,x);title('Sinyal Cuplik Satuan')xlabel('n')

ylabel('x[n]')

Penjelasan : Untuk pengubahan nilai k, sampling bergeser ke nilai yang telah diberikan dan

nilai tersebut menempati batas nilai n1 dan n2 yang sudah ditentukan.

b) Pembangkitan sinyal langkah satuan (unit step)

k=0;n1=-5;n2=5;n=[n1:n2];x=[(n-k) >= 0];stem(n,x);title('Sinyal langkah satuan')xlabel('n')ylabel('x[n]')

Pengubahan nilai k dengan batas n1=-4 dan n2=6

k=2;n1=-4;n2=6;n=[n1:n2];x=[(n-k) >= 0];stem(n,x);title('Sinyal langkah satuan')xlabel('n')

ylabel('x[n]')

Pengubahan nilai k dengan batas n1=-2 dan n2=4

k=3;n1=-2;n2=4;n=[n1:n2];x=[(n-k) >= 0];stem(n,x);title('Sinyal langkah satuan')xlabel('n')ylabel('x[n]')

Pengubahan nilai k dengan batas n1=-6 dan n2=6

k=1;n1=-6;n2=6;n=[n1:n2];x=[(n-k) >= 0];stem(n,x);title('Sinyal langkah satuan')xlabel('n')ylabel('x[n]')

Penjelasan : Pengubahan nilai k disini berpengaruh pada banyak sampling dan sampling

tersebut terhitung mulai nilai k yang dimasukkan sampai batas n2 yang ditentukan.

c) Pembangkitan sinyal eksponensial

a=0.5n1=-5;n2=5;n=[n1:n2]x=a.^nstem(n,x);title(‘Sinyal eksponensial’)xlabel(‘n’)ylabel(‘x[n]’)

Memasukkan nilai a>1 dengan n1=-4 dan n2=6

a=3n1=-4;n2=6;n=[n1:n2]x=a.^nstem(n,x);title('Sinyal eksponensial')

xlabel('n')ylabel('x[n]')

Memasukkan nilai a<1 dengan n1=-6 dan n2=4

a=0.25n1=-6;n2=4;n=[n1:n2]x=a.^nstem(n,x);title('Sinyal eksponensial')xlabel('n')ylabel('x[n]')

Memasukkan nilai diantara a>1 dan a<1 dengan n1=-4 dan n2=6

a=0.75n1=-3;n2=3;n=[n1:n2]x=a.^nstem(n,x);title('Sinyal eksponensial')xlabel('n')ylabel('x[n]')

Penjelasan : Pengubahan nilai a menentukan sampling terhitung dari batas negative atau batas

positif. Dimana batas negative dan batas positif diperoleh dari n1 dan n2 yang dideklarasikan.

d) Pembangkitan sinyal acak

n1=-10;n2=10;n=[n1:n2];p=length(n);x=rand(1,p);stem(n,x);title('Sinyal random')xlabel('n')ylabel('x[n]')

Perubahan nilai Fs=15

Fx=15;n1=-10;n2=10;n=[n1:n2];p=length(n);x=rand(1,p);stem(n,x);title('Sinyal random')

xlabel('n')ylabel('x[n]')

Perubahan nilai Fs=12

Fx=12;n1=-10;n2=10;n=[n1:n2];p=length(n);x=rand(1,p);stem(n,x);title('Sinyal random')xlabel('n')ylabel('x[n]')

Perubahan nilai Fs=10

Fx=10;n1=-10;n2=10;n=[n1:n2];p=length(n);x=rand(1,p);stem(n,x);title('Sinyal random')xlabel('n')ylabel('x[n]')

Perubahan nilai Fs=60

Fx=60;n1=-10;n2=10;n=[n1:n2];p=length(n);x=rand(1,p);stem(n,x);title('Sinyal random')xlabel('n')ylabel('x[n]')

Perubahan nilai Fs=70

Fx=70;n1=-10;n2=10;n=[n1:n2];p=length(n);x=rand(1,p);stem(n,x);title('Sinyal random')xlabel('n')ylabel('x[n]')

Perubahan nilai Fs=80

Fx=80;n1=-10;n2=10;n=[n1:n2];p=length(n);x=rand(1,p);stem(n,x);title('Sinyal random')xlabel('n')ylabel('x[n]')

e) Pembangkitan sinyal sinus watu diskrit

Fs=20;t=0:1/Fs:1;f=1;A=1;x=A*sin(2*pi*f*t);stem(t,x)title('Sinyal sinus waktu diskrit')xlabel('n')ylabel('x[n]')

Mengganti nilai Fs=50

Fs=50;t=0:1/Fs:1;f=1;A=1;x=A*sin(2*pi*f*t);stem(t,x)title('Sinyal sinus waktu diskrit')xlabel('n')ylabel('x[n]')

Mengganti nilai f=3

Fs=20;t=0:1/Fs:1;f=3;A=1;x=A*sin(2*pi*f*t);stem(t,x)title('Sinyal sinus waktu diskrit')xlabel('n')ylabel('x[n]')

Mengganti nilai A=5

Fs=20;t=0:1/Fs:1;f=1;A=5;x=A*sin(2*pi*f*t);stem(t,x)title('Sinyal sinus waktu diskrit')xlabel('n')ylabel('x[n]')

Penjelasan : Pengubahan nilai Fs mengakibatkan banyak sedikitnya sampling yang dihasilkan. Pengubahan nilai f mengakibatkan banyak siklus yang terjadi. Pengubahan nilai A mengakibatkan tinggi atau rendahnya siklus.

3.3 Pembangkitan sinyal suara Membuat nada A pada frekuensi 440 Hz

fs=8000;t=0:1/fs:1;v=.5*cos(2*pi*440*t);subplot(2,1,1);plot(t,v);axis([0 .01 -1 1])sound(v,fs);title('.5cos ((2pi)440*t)')

xlabel('Time (sec)')ylabel('v(t)')

Menambahkan offset DC pada nada A sebelumnya

fs=8000;t=0:1/fs:1;pausev1=.5+v;subplot(2,1,2);plot(t,v1);axis([0 .01 -1 1])sound (v1,fs);title('0.5 + .5cos((2pi)440*t)')xlabel('Time (sec)')ylabel('v1(t)')v=.5*cos(2*pi*440*t);subplot(2,1,1);plot(t,v);axis([0 .01 -1 1])sound(v,fs);title('.5cos((2pi)440*t)')xlabel('Time(sec)')ylabel('v(t)')

Penggabungan 2 nada

fs=8000;t=0:1/fs:1;v=.5*cos(2*pi*440*t);v2=v+.5*cos(2*pi*880*t);

sound(v2,fs);plot(t,v2);title('2 nada')axis([0 .01 -1 1])xlabel('Time (sec)')ylabel('v2 (t)')

Membuat suara dengan frekuensi naik

fs=8000;t=0:1/fs:2;f=500*t;x=cos(2*pi*(f.*t));plot(t,x)title('Chirp Signal')xlabel('Time (sec)')ylabel('x(t)')axis([0 .3 -1 1])sound(x,fs)

Membuat tangga nada dasar

fs=8000;t=0:1/fs:0.25;c=sin(2*pi*262*t);

d=sin(2*pi*294*t);e=sin(2*pi*330*t);f=sin(2*pi*349*t);g=sin(2*pi*392*t);a=sin(2*pi*440*t);b=sin(2*pi*494*t);c1=sin(2*pi*523*t);nol=zeros(size(t));unyil=[b,nol,a,nol,g,nol,a,nol,b,nol,a,nol,a,nol,... nol,b,nol,a,nol,g,nol,e,nol,g,nol,e,nol,e];sound(unyil,fs);wavwrite(unyil,'d:\unyil.wav');

Membuat ringtone sederhana

fs=8000;t=0:1/fs:1;c=sin(2*pi*262*t);d=sin(2*pi*294*t);e=sin(2*pi*330*t);f=sin(2*pi*349*t);g=sin(2*pi*392*t);a=sin(2*pi*440*t);b=sin(2*pi*494*t);c1=sin(2*pi*523*t);nol=zeros(size(t));suara1=[e,f,g,g,e,f,g,e,f,f,g,e,f];suara2=[g,b,c1,c1,b,b,a,f,f,e,e,c1,nol];suara3=[suara1,suara2,suara1,suara2];sound(suara3,fs);wavwrite(suara3,'d:\suara3.wav');

Penjelasan : Pada pembuatan ringtone ini kita mengatur tempo melalui perintah t. Pengaturan

tinggi rendahnya nada dapat diketahui dari frekuensi cord-cord yang kita deklarasikan untuk dipanggil melalui fungsi sound. File ringtone yang telah kita buat akan tersimpan dalam direktori “d” dengan nama “rtn.wav”.

top related