%RZ-AMIx=[1 0 1 1 0 0 0 1 1 0];p1=ones(8,1);p2=zeros(4,1);n=length(x);t=0:1/16:n-1/16;x(1)=1;xx=x;for k=2:n;if x(k-1)==0 & x(k)==1;xx(k)=-1;endendp=[p2;p1;p2];a=p*xx;d=reshape(a,1,[]);z=d;figure(3)subplot(211)plot (t,d);title('RZ-AMI')axis([0 10 -2 2])grid on
subplot(212)s=fft(d,1024);f=0:1024-1;plot(f,20*log10(abs(s)))axis([0 1024 -60 40])grid on
Selasa, 14 Februari 2012
Program Matlab RZ-AMI
Berikut Listing program untuk RZ-AMI :
Berikut keluarannya :
Senin, 16 Januari 2012
Melihat Sinyal Voice dan Unvoiced
Nah, bgini nih caranya melihat bentuk sinyal voice dan unvoiced dari suara kita. Pertama yang harus kamu lakuin yaitu rekam suara kamu dalam bentuk .wav, lalu ketik deh lisitng program berikut lewat Matlab :
Setelah itu, anda running program diatas. Berikut tampilan sinyalnya :
Nah,, sekarang untuk melihat sinyal voice adalah dengan cara sebagai berikut :
1. Pada saat perekaman, panjangkan suara anda pada huruf vokal yaitu : a,i,u,e, atau o.
2. Misal nama saya "yanuar rohman". maka di lafadskan seperti ini : "yaaaaaaaaanuar rohman"
3. Cara diatas digunakan utk menandai huruf vokal yg akan kita lihat.
4. Lalu coba anda zoom dari siyal sebelumnya, yaitu zoom tepat pada huruf vokal saja. Pada sinyal pertama yaitu pada waktu t=1,5s sampai t=2,75s. Zoom sampai mendapatkan sinyal seperti dibawah ini : "Ingat : diusahakan zoom sedekat mungkin atau dengan selisih waktu yang kecil". Maka, didapat sinyal seperti di bawah ini :
Listing Program :clear all;clc;[y1,f1,bits]=wavread('yan1_converted.wav');sound(y1,f1)l=length(y1);t=[0:(l-1)]/f1;figure(1), plot(t,y1);title('sinyal "yanuar rohman"');xlabel('Waktu (secons)');ylabel('Amplitudo');grid on;
Setelah itu, anda running program diatas. Berikut tampilan sinyalnya :
1. Pada saat perekaman, panjangkan suara anda pada huruf vokal yaitu : a,i,u,e, atau o.
2. Misal nama saya "yanuar rohman". maka di lafadskan seperti ini : "yaaaaaaaaanuar rohman"
3. Cara diatas digunakan utk menandai huruf vokal yg akan kita lihat.
4. Lalu coba anda zoom dari siyal sebelumnya, yaitu zoom tepat pada huruf vokal saja. Pada sinyal pertama yaitu pada waktu t=1,5s sampai t=2,75s. Zoom sampai mendapatkan sinyal seperti dibawah ini : "Ingat : diusahakan zoom sedekat mungkin atau dengan selisih waktu yang kecil". Maka, didapat sinyal seperti di bawah ini :
Pada unvoiced juga anda lakukan seperti diatas, namun pada huruf2 selain huruf vokal. Bisa dilakukan pada huruf seperti r,s, atau yg lain. Dan berikut sinyal dihasilkannya : "Ini pada huruf "r".
"Selamat Mencoba"... thanx.
Sabtu, 03 Desember 2011
Program Matlab untuk NRZ-M PCM Waveforms
Berikut merupakan program untuk membuat program Matlab NRZ-M :
Dan berikut hasil keluarannya :
%NRZ-Mclear all;clc;x=[1 0 1 1 0 0 0 1 1 0]; %matriks inputan xn=length(x); %mendapat jumlah isi var xt=0:1/16:n-1/16; %mengatur samplingx(1)=1;xx=x;for k=2:n;if x(k-1)==0 & x(k)==1;xx(k)=-1;endendm=xx;for k=1:n;if xx(k)==0;m(k)=1;endendp=ones(16,1); %matriks 16x1 yg berisi nilai 1a=p*m;d=reshape(a,1,[]);z=d;figure(1)subplot(211)plot (t,d);title('NRZ-M')axis([0 10 -2 2])grid on
subplot(212)s=fft(d,1024);f=0:1024-1;plot(f,20*log10(abs(s)))axis([0 1024 -60 40])grid on
Dan berikut hasil keluarannya :
Program Matlab untuk mencari BER pada QASK
Berikut ini merupakan suatu program untuk mencari BER pada Modulasi QASK. Berikut program Matlabnya :
Dan berikut hasil keluarannya :
%program QASKclear all;clc;
%Transmitterjmlbit=100000;bitdata=randint(1,jmlbit,[0 1],1);map=reshape(bitdata,2,[]);x=map';for n=1:(jmlbit/2)if sum(x(n,:))==0;bit(:,n)=1;elseif x(n,1)<x(n,2);bit(:,n)=3;elseif x(n,1)>x(n,2);bit(:,n)=7;else sum(x(n,:))==1;bit(:,n)=5;endend
t=0:1/64:(1-1/64);b1=sqrt(2)*cos(2*pi*t);ask=b1'*bit;Qask=reshape(ask,1,[]);
%Receiverfor SNR=0:15;rqask=awgn(Qask,SNR,10*log10(64));tt=0:length(rqask)-1;tt=tt/64;r=reshape(rqask,64,[]);z=(b1*r/64);z1=round(z); %membulatkan nilai keatasfor n=1:(jmlbit/2);if z1(1,n)<2;bitrec(n,:)=[0 0];elseif z1(1,n)>2&&z1(1,n)<4;bitrec(n,:)=[0 1];elseif z1(1,n)>4&&z1(1,n)<6;bitrec(n,:)=[1 1];else z1(1,n)>6;bitrec(n,:)=[1 0];endenddataest=reshape(bitrec',1,[]);[N(1,SNR+1),BER(1,SNR+1)]=biterr(dataest,bitdata);end
SNR=0:15;figure(1)semilogy(SNR,BER);grid on;
Dan berikut hasil keluarannya :
Langganan:
Postingan (Atom)