Posts tagged ‘signal processing’

Membangkitkan Dan Menampilkan Gelombang Multi Frekuensi Pada Matlab


Contoh berikut adalah bagaimana membuat sebuah gelombang dengan nilai frekuensi yang berbeda-beda kemudian digabungkan menjadi sebuah sinyal multifrekuensi.

close all;
clear;
a=1; %amplitudo
%—-(<7Hz), 8-12 Hz, 12-44Hz dan tinggi (>44Hz).
f1=3; % frekuensi
f2=9;
f3=25;
f4=60;
f5=150;
Fs = 80; % Sampling frequency
Fs = f5*20;
Fs=1000;
T = 1/Fs; % Sample time
L1 = 5000; % Panjang gelombang
t = (0:L1-1)*T; % Time vector
t=0:0.001:1;
t=(1:1000)*T;
x1 = a*sin(2*pi*f1*t);
x2 = a*sin(2*pi*f2*t);
x3 = a*sin(2*pi*f3*t);
x4 = a*sin(2*pi*f4*t);
x5 = a*sin(2*pi*f5*t);
x_all=x1+x2+x3+x4+x5;

figure;
subplot(3,2,1);
plot(x1);
title([‘Gelombang Sine x1 (freq=’ num2str(f1) ‘)’] )
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

subplot(3,2,2);
plot(x2);
title([‘Gelombang Sine x2 (freq=’ num2str(f2) ‘)’])
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

subplot(3,2,3);
plot(x3);
title([‘Gelombang Sine x3(freq=’ num2str(f3) ‘)’])
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

subplot(3,2,4);
plot(x4);
title([‘Gelombang Sine x4 (freq=’ num2str(f4) ‘)’])
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

subplot(3,2,5);
plot(x5);
title([‘Gelombang Sine x5 (freq=’ num2str(f5) ‘)’])
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

subplot(3,2,6);
plot(x_all);
title(‘Gelombang Sine x1+x2+x3+x4+x5’)
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

Pertama dibuat sebuah gelombang dengan frekuensi 3Hz. Dengan fungsi:

a=1; %amplitudo

f1=3; % frekuensi

Fs = 80; % Sampling frequency
Fs = f5*20;
Fs=1000;
T = 1/Fs; % Sample time
L1 = 5000; % Panjang gelombang
t = (0:L1-1)*T; % Time vector
t=(1:1000)*T;
x1 = a*sin(2*pi*f1*t);

figure;
subplot(3,2,1);
plot(x1);
title([‘Gelombang Sine x1 (freq=’ num2str(f1) ‘)’] )
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

Selanjutnya untuk gelombang frekuensi 9Hz:

x2 = a*sin(2*pi*f2*t);

subplot(3,2,2);
plot(x2);
title([‘Gelombang Sine x2 (freq=’ num2str(f2) ‘)’])
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

Gelombang dengan frekuensi 25Hz dibuat dengan script:

x3 = a*sin(2*pi*f3*t);

subplot(3,2,3);
plot(x3);
title([‘Gelombang Sine x3(freq=’ num2str(f3) ‘)’])
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

Gelombang dengan frekuensi 60Hz:

f4=60;

x4 = a*sin(2*pi*f4*t);

subplot(3,2,4);
plot(x4);
title([‘Gelombang Sine x4 (freq=’ num2str(f4) ‘)’])
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

Gelobang frekuensi 150Hz:

f5=150;

x5 = a*sin(2*pi*f5*t);

subplot(3,2,5);
plot(x5);
title([‘Gelombang Sine x5 (freq=’ num2str(f5) ‘)’])
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

Dan untuk membuat gelombang dengan komposisi dari frekuensi 3Hz, 9Hz, 25Hz, 60Hz dan 150Hz adalah dengan cara menambahkan masing-masing gelombang menjadi satu gelombang:

x_all=x1+x2+x3+x4+x5;

subplot(3,2,6);
plot(x_all);
title(‘Gelombang Sine x1+x2+x3+x4+x5’)
xlabel(‘time (seconds)’)
ylabel(‘Amplitudo (Volt)’)

Demikian semoga bermanfaat.

 

 

Membuat Dan Menampilkan Gelombang Pada Matlab


Tulisan ini mencoba untuk memberikan contoh bagaimana membuat sebuah gelombang menggunakan script Matlab. Gelombang dapat digunakan untuk melakukan simulasi analisis sinyal pada proses selanjutnya.

Gelombang yang dibuat dapat dipilih antara gelombang periodik atau gelombang aperiodik.

Gelombang Periodik

Gelombang periodik dapat berupa gelombang sinus, cosinus, gigi gergaji ataupun gelombang kotak. Periode gelombang juga dapat diatur sesuai kebutuhan sehingga dapat dibuat gelombang dengan banyak variasi gelombang .

Berikut adalah sebuah contoh script untuk membangkitkan gelombang gigi gergaji dan gelombang kotak.

fs = 10000;
t = 0:1/fs:1.5;
x1 = sawtooth(2*pi*50*t);
x2 = square(2*pi*50*t);
subplot(2,1,1)
plot(t,x1)
axis([0 0.2 -1.2 1.2])
xlabel('Time (sec)')
ylabel('Amplitude') 
title('Sawtooth Periodic Wave')
subplot(2,1,2)
plot(t,x2)
axis([0 0.2 -1.2 1.2])
xlabel('Time (sec)')
ylabel('Amplitude')
title('Square Periodic Wave')

Gelombang Gigi Gergaji dan Kotak

Gelombang Aperiodik

Sedangkan untuk membuat sebuah gelombang Aperiodik bisa menggunakan contoh berikut:

fs = 10000;
t = -1:1/fs:1;
x1 = tripuls(t,20e-3);
x2 = rectpuls(t,20e-3);
subplot(2,1,1)
plot(t,x1)
axis([-0.1 0.1 -0.2 1.2])
xlabel('Time (sec)')
ylabel('Amplitude')
title('Triangular Aperiodic Pulse')
subplot(2,1,2)
plot(t,x2)
axis([-0.1 0.1 -0.2 1.2])
xlabel('Time (sec)')
ylabel('Amplitude')
title('Rectangular Aperiodic Pulse')

Sinyal Aperiodik

Untuk membuat gelombang pulsa misalnya pulsa Gauss atau  gelombang fungsi sinus adalah sebagai berikut:

tc = gauspuls(‘cutoff’,50e3,0.6,[],-40);
t1 = -tc : 1e-6 : tc;
y1 = gauspuls(t1,50e3,0.6);
t2 = linspace(-5,5);
y2 = sinc(t2);
subplot(2,1,1)
plot(t1*1e3,y1)
xlabel(‘Time (ms)’)
ylabel(‘Amplitude’)
title(‘Gaussian Pulse’)
subplot(2,1,2)
plot(t2,y2)
xlabel(‘Time (sec)’)
ylabel(‘Amplitude’)
title(‘Sinc Function’)

 

Referensi:

Signal Generation and Visualization

%d blogger menyukai ini: