tugas pembangkitan sinyal dsp
Post on 28-Nov-2015
109 Views
Preview:
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