Pembuktian Teorema Nyquist Dengan MATLAB

Assalamu'alaikum poinreaders,
Pada kesempatan kali ini kita akan kembali belajar tentang MATLAB. Jika pada pembahasan sebelumnya kita telah belajar mengenai Modulasi FSK. Maka pada pembahasan kali ini kita membuktikan Teorema Nyquist mengenai ketentuan dalam proses Sampling Sinyal dengan menggunakan MATLAB. Pembahasan mengenai Sampling sendiri sudah kita bahas pada pembahasan sebelumnya. Untuk pembahasan lengkap mengenai materi yang akan kita bahas sekarang, yuk simak ulasan berikut...
Pembuktian Teorema Nyquist Dengan MATLAB

Konversi sinyal analog menjadi digital secara sederhana dibagi menjadi 3 proses penting yaitu :
1. Sampling
Merupakan proses pencuplikan dari sinyal informasi yang akan diproses. Frekuensi sinyal sampling menurut aturan Nyquist adalah sebesar 2 x fi, dengan fi adalah sinyal informasi yang akan di-sampling.
2. Quantizing
Merupakan proses penghargaan suatu sinyal yang sudah di-sampling dengan membawa sinyal tersebut pada penghargaan bit-bit biner yang dibutuhkan.
3. Encoding
Merupakan proses pengubahan kode-kode biner menjadi kode-kode tertentu sesuai dengan aplikasi dari sinyal digital yang akan digunakan.

Dari ketiga proses diatas, Sampling merupakan salah satu proses yang sangat penting. Untuk melakukan sampling terhadap sinyal informasi, kita harus memperhatikan penggunaan frekuensi sampling yang akan digunakan. Frekuensi sinyal sampling sendiri menurut teorema Nyquist adalah harus dua kali lebih besar dari  frekuensi informasi (fs > 2*fi) dengan fs adalah frekuensi sampling dan fi adalah frekuensi informasi. Kenapa frekuensi sampling harus lebih besar daripada frekuensi informasi? karena agar dihasilkan proses sampling yang baik. Jika frekuensi sampling lebih kecil daripada frekuensi informasi akan mengakibatkan sinyal hasil sampling rusak. Untuk membuat dan melihat proses sampling kita dapat menggunakan software MATLAB. Berikut ini merupakan langkah-langkah membuat program untuk membuktikan kebenaran Teorema Nyquist tentang Sampling Sinyal dengan menggunakan MATLAB :

Langkah pertama yaitu membuat vektor waktu untuk menampilkan grafik sinyal dalam domain waktu dengan menggunakan syntak :
t = 0:0.001:1;
Langkah kedua yaitu membuat input untuk parameter Frekuensi Sinyal dengan menggunakan syntak :
fm = input('Masukan Frekuensi Sinyal yang akan di Sampling = ');
Langkah ketiga yaitu membuat input untuk parameter Frekuensi Sampling yang nilainya lebih kecil dari Frekuensi Sinyal dengan menggunakan syntak :
fs1 = input('Masukan Frekuensi Sampling < Frekuensi Sinyal = ');
Langkah keempat yaitu membuat input untuk parameter Frekuensi Sampling yang nilainya sama dengan Frekuensi Sinyal dengan menggunakan syntak :
fs2 = input('Masukan Frekuensi Sampling = Frekuensi Sinyal = ');
Langkah kelima yaitu membuat input untuk parameter Frekuensi Sampling yang nilainya dua kali lebih besar dari Frekuensi Sinyal dengan menggunakan syntak :
fs3 = input('Masukan Frekuensi Sampling > Frekuensi Sinyal = ');
Langkah keenam yaitu memasukan persamaan untuk membuat sinyal informasi dengan menggunakan syntak :
x = sin(2*pi*fm*t);
Langkah ketujuh yaitu memasukan persamaan untuk sinyal informasi yang nilai Frekuensi Sampling-nya lebih kecil dari Frekuensi Sinyal dengan menggunakan syntak :
n1 = 0:1/fs1:1;
x1 = sin(2*pi*fm*n);
Langkah kedelapan yaitu memasukan persamaan untuk sinyal informasi yang nilai Frekuensi Sampling-nya sama dengan Frekuensi Sinyal dengan menggunakan syntak :
n2 = 0:1/fs2:1;
x2 = sin(2*pi*fm*n);
Langkah kesembilan yaitu memasukan persamaan untuk sinyal informasi yang nilai Frekuensi Sampling-nya lebih besar dari Frekuensi Sinyal dengan menggunakan syntak :
n3 = 0:1/fs3:1;
x3 = sin(2*pi*fm*n);
Langkah kesepuluh yaitu membuat plot untuk setiap parameter yang telah kita masukan dengan menggunakan syntak :
subplot(4,2,1);
plot(t,x);
xlabel('Time ----->');
ylabel('Amplitude ----->');
title('Sinyal Informasi');

subplot(4,2,2);
stem(n1,x1);
xlabel('Time ----->');
ylabel('Amplitude ----->');
title('Proses Sampling Jika Fs < Fi');

subplot(4,2,3);
plot(n1,x1);
xlabel('Time ----->');
ylabel('Amplitude ----->');
title('Hasil Sampling Jika Fs < Fi');

subplot(4,2,4);
stem(n2,x2);
xlabel('Time ----->');
ylabel('Amplitude ----->');
title('Proses Sampling Jika Fs = Fi');

subplot(4,2,5);
plot(n2,x2);
xlabel('Time ----->');
ylabel('Amplitude ----->');
title('Hasil Sampling Jika Fs = Fi');

subplot(4,2,6);
stem(n3,x3);
xlabel('Time ----->');
ylabel('Amplitude ----->');
title('Proses Sampling Jika Fs > Fi');

subplot(4,2,7);
plot(n3,x3);
xlabel('Time ----->');
ylabel('Amplitude ----->');
title('Hasil Sampling Jika Fs > Fi');
Setelah semua syntak dimasukan kedalam MATLAB Code, langkah selanjutnya adalah menjalankan program yang kita buat dengan menekan Run. Karena kita membuat input melalui keyboard, maka untuk melihat output dari program yang kita buat kita harus memasukan nilai dari setiap parameter yang dimasukan. Pada tutorial ini saya memasukan nilai parameter sebagai berikut :
  • Masukan Frekuensi Sinyal yang akan di Sampling : 10
  • Masukan Frekuensi Sampling < Frekuensi Sinyal : 5
  • Masukan Frekuensi Sampling = Frekuensi Sinyal : 10
  • Masukan Frekuensi Sampling > Frekuensi Sinyal : 30

Berikut ini output dari program yang dihasilkan :

Teorema Nyquist
Gambar 1. Output Pembuktian Teorema Nyquist

Dari gambar output diatas dapat dilihat bahwa Sinyal Informasi yang di-sampling mengikuti Teorema Nyquist ( fs > 2x fi ) terkirim dengan sempurna. Sedangkan Sinyal Informasi yang di-sampling dengan tidak mengikuti Teorema Nyquist tidak terkirim dengan sempurna, yang artinya Sinyal Informasi tersebut rusak. Jadi sekarang penggunaan Teorema Nyquist sudah terbukti!. Sobat poinreaders juga bisa mengunduh syntak tersebut pada link di bawah ini :


Semoga materi yang saya sampaikan tentang MATLAB dapat dipahami poinreaders. Silakan tulis pertanyaan seputar materi yang telah dibahas pada kolom komentar. Jangan lupa follow akun sosial kami agar poinreaders bisa mendapatkan materi terbaru tentang pemrograman.

Share this

Related Posts

Previous
Next Post »

2 comments

comments
17 June 2019 at 14:32 delete

terima kasih sangat bermanfaat dan membanggakan...

Reply
avatar
2 July 2019 at 19:15 delete

Saya ingin bertanya bagaimana jika diterapkan di GUI matlab

Reply
avatar