01-06-2015 08:49 PM
Salam
Saya mempunyai hasil data di LabVIEW, setelah itu saya ingin mengirimkan data tersebut ke Matlab, saya sudah mencoba menggunakan matlab script dan mathscript tapi terdapat beberapa bagian yang tidak di mengerti (error) padahal kalau dijalankan di matlab, program tersebut bisa di jalankan..
Saya membaca beberapa artikel dan banyak yang mengatakan untuk mencoba menggunakan TCP/IP, tapi saya kurang mengerti ttg TCP/IP ini, saya sudah coba lihat example yang di LabVIEW dan masih kurang mengerti bagaimana menggunakan TCP/IP untuk mengirimkan data dari LabVIEW ke Matlab dan menampilkan kembali ke LabVIEW..
Mohon bantuan dan penjelasannyaa...
terima kasih banyak..
01-06-2015 09:16 PM
waalaikumsalam ulan,
kalau di sudut pandang saya, jangan dua software lempar2an data. Ada kekurangannya:
1. Lambat. Running LV dan MATLAB sama-sama itu menyiksa PC
2. Delay/Jitter. Data yang mengalir antara dua software tidak akan real-time, karena banyak delay.
memang Mathscript tidak sempurna seperti MATLAB, beda waktu development. Tapi setahu saya 95% lebih fungsi standar MATLAB disupport kok. Bisa di share m-filenya? dan LabVIEW yang dipakai versi berapa?
LabVIEW TCP/IP itu mudah. MATLAB TCP/IP itu saya tidak tahu. Prinsipnya kan gampang untuk TCP/IP, ada yang mengirim, ada yang menerima. Jadi kalau mengirim pakai TCP Write. Kalau menerima pakai TCP Read. Tapi saya belum pernah dengan ada yang pakai TCP/IP untuk transfer data antara software. Agak aneh sih. Karena TCP/IP tujuannya untuk networking atau share data dalam network, bukan dalam 1-pc, walaupun secara teori bisa.
01-06-2015 09:41 PM
function [Kin_Input_Features] = Compute_Kin_Features(Leg,knee_angle, knee_rot, knee_aad)
% knee_angle - A vector representing the Flexion/Extension of knee for one gait cycle computed using LABVIEW
% knee_rot - - A vector representing the Internal/External Rotation of knee for one gait cycle computed using LABVIEW
% knee_aad - A vector representing the Abdcution/Adduction of knee for one gait cycle computed using LABVIEW
if (Leg==0) % Left Leg
ushifted_knee = -knee_angle;
ushifted_kneer = -knee_rot;
ushifted_kneea = knee_aad;
elseif (Leg==1) % Right Leg
ushifted_knee = knee_angle;
ushifted_kneer = knee_rot;
ushifted_kneea = -knee_aad;
end
% Percentages of the Gait Cycle (GC) Phases
start_1=0;
end_1=length(knee_angle)-1;
diff=end_1-start_1;
s(1) = start_1;
e(1) = round(start_1+diff*10/100);
s(2) = e(1)+1;
e(2) = round(start_1+diff*30/100);
s(3) = e(2)+1;
e(3) = round(start_1+diff*50/100);
s(4) = e(3)+1;
e(4) = round(start_1+diff*60/100);
s(5) = e(4)+1;
e(5) = round(start_1+diff*73/100);
s(6) = e(5)+1;
e(6) = round(start_1+diff*87/100);
s(7) = e(6)+1;
e(7) = round(start_1+diff*100/100);
% Compute RMS, MAX and STD parameters for each phase of the GC
knee_rms=0;
knee_max=0;
knee_std=0;
kneer_rms=0;
kneer_max=0;
kneer_std=0;
kneea_rms=0;
kneea_max=0;
kneea_std=0;
for jj=1:7
knee_rms(jj) = sqrt(mean((ushifted_knee(s(jj):e(jj))).^2));
knee_std(jj) = std(ushifted_knee(s(jj):e(jj)));
knee_max(jj) = max(ushifted_knee(s(jj):e(jj)));
kneer_rms(jj) = sqrt(mean((ushifted_kneer(s(jj):e(jj))).^2));
kneer_std(jj) = std(ushifted_kneer(s(jj):e(jj)));
kneer_max(jj) = max(ushifted_kneer(s(jj):e(jj)));
kneea_rms(jj) = sqrt(mean((ushifted_kneea(s(jj):e(jj))).^2));
kneea_std(jj) = std(ushifted_kneea(s(jj):e(jj)));
kneea_max(jj) = max(ushifted_kneea(s(jj):e(jj)));
end
KGC_data = [knee_rms,knee_std, knee_max, kneer_rms,kneer_std, kneer_max,kneea_rms,kneea_std, kneea_max];
Kin_Input_Features = KGC_data;
Bagian yang saya blod gak bisa di LabVIEW-nya mas.. error gitu..
Saya pakai LabVIEW 2013..
saya liat di sini mas >> https://www.youtube.com/watch?v=LLeazR5nNUs
tapi dia ngirim data aja ke matlab tapi enggak dibalikin lagi ke LabVIEW, tp setelah saya coba-coba masih tidak bisa..
01-07-2015 06:06 PM
yang tcp/ip nanti dulu. saya tidak punya matlab terinstall untuk mencoba.
untuk mathscriptnya dulu, ulan bisa kasih contoh input yang digunakan di fungsi di atas? maksudnya contoh input, input seperti apa yang diharapkan atau yang valid untuk variable dibawah ini?
Leg
knee_angle
knee_rot
knee_aad
biar saya coba trace function-nya.
01-07-2015 09:22 PM
kalau untuk Leg inputnya hanya angka 0 atau 1..
Sedangkan untuk knee_angle, knee_rot, knee_aad inputnya berupa bilangan real..
contohnya untuk knee_add
0.749
0.434
0.176
-0.023
-0.165
-0.252
-0.285
-0.265
-0.194
-0.075
0.091
0.301
0.552
0.842
1.169
1.530
1.920
2.339
2.782
3.248
3.731
4.230
4.742
5.264
5.792
6.325
6.859
7.392
7.921
8.443
8.957
9.461
9.952
10.429
10.889
11.333
11.758
12.162
12.547
12.910
13.251
13.570
13.867
14.142, dst
01-08-2015 01:14 AM
sepertinya tipe data, knee_angle, knee_rot, knee_aad berbentuk bilangan real dalam array
bisa beri contoh input dan output yang valid seperti apa ? copas saja dari matlab
misal:
Leg = 1
knee_angle = [ 0.749 0.434 0.176 -0.023 -0.165]
......
Kin_Input_Features = [0 1 2 3 4]
01-08-2015 08:42 AM
tadi setelah saya coba sudah bisa untuk yg program matlab ini.. saya hapus bagian function dan di bagian
for jj=1:7
knee_rms(jj) = sqrt(mean((ushifted_knee(s(jj):e(jj))).^2));
knee_std(jj) = std(ushifted_knee(s(jj):e(jj)));
dst.....
sudah bisa di LabVIEW..
Tapi, saya mencoba satu program lagi tapi sampai sekarang belum bisa..
......
svl=VL(s(j):e(j));
[cvl,lvl] = wavedec(svl,5,'db4');
ca5_vl = appcoef(cvl,lvl,'db4',5);
cd1_vl = detcoef(cvl,lvl,1);
cd2_vl = detcoef(cvl,lvl,2);
cd3_vl = detcoef(cvl,lvl,3);
cd4_vl = detcoef(cvl,lvl,4);
cd5_vl = detcoef(cvl,lvl,5);
MAV_ca5_vl=mean(abs(ca5_vl));
MAV_cd1_vl=mean(abs(cd1_vl));
MAV_cd2_vl=mean(abs(cd2_vl));
MAV_cd3_vl=mean(abs(cd3_vl));
MAV_cd4_vl=mean(abs(cd4_vl));
MAV_cd5_vl=mean(abs(cd5_vl));
STD_ca5_vl=std(ca5_vl);
STD_cd1_vl=std(cd1_vl);
STD_cd2_vl=std(cd2_vl);
STD_cd3_vl=std(cd3_vl);
STD_cd4_vl=std(cd4_vl);
STD_cd5_vl=std(cd5_vl);
lt=(e(j)-s(j)+1)*(1/SR);
[Eavl,Edvl] = wenergy(cvl,lvl);
POW_ca5_vl=Eavl/lt;
POW_cd1_vl=Edvl(1)/lt;
POW_cd2_vl=Edvl(2)/lt;
POW_cd3_vl=Edvl(3)/lt;
POW_cd4_vl=Edvl(4)/lt;
POW_cd5_vl=Edvl(5)/lt; .....................
yang saya bold itu gak bisa baik di mathscript ataupun matlabscript.. padahal bisa di Matlab..
apa ini artinya syntax-nya gak bisa di LabVIEW?
terima kasih
01-08-2015 07:44 PM
dear Ulan,
perlu diketahui, yang di cover oleh Mathscript itu adalah fungsi dasar dari MATLAB. Kalau fungsi "wavedec" itu kan dari wavelet toolbox, jadi ini addon terhadap MATLAB. Fungsi seperti ini tidak semua disupport oleh Mathscript. Jadi kalau tidak di support ya error seperti itu.
alternatifnya menggunakan fungsi Wavelet dalam LabVIEW.
01-10-2015 09:56 AM
Oo begitu mas..
Iya ini saya mencoba menggunakan fungsi wavelet yg di LabVIEW..
Tapi ada satu bagian yang saya cari kok gak ada di fungsi wavelet ya mas?
di matlab saya pake wenergy untuk mengecek enrgi untuk wavelet,
kalau di wavelet LabVIEW saya kok gak nemu ya, atau memang tidak ada?
terima kasih
01-21-2015 11:23 AM
wavergy tidak ada di LabVIEW. Yang ada cuma fungsi Wavelet Decomposition.