筋電図を取得するプログラムでうまくいかないところがあります.
エラーメッセージは出るもののよくわかりません.
どう改善したらいいのでしょうか.
MATLAB
1% プログラム名 EMG 2% 4チャンネル用 3% 入力パラメータの初期化 4channels=4; % チャネル数 5sampleRate=6000; % サンプリング周波数 6task=6; % ジェスチャーの数 % 測定回数 7duration =0.5; %積分時間[s] 測定時間 8samples=round(sampleRate*duration); 9emgdata=zeros(samples,channels); 10 11file=''; 12 13% A/D変換の初期化 14AI=analoginput('contec','AIO001'); % アナログ入力オブジェクトの作成 15addchannel(ai,[0:channels-1]); % チャネル数の設定 16set(AI,'SampleRate',sampleRate) % サンプリング周波数の設定 17ActualRate = get(AI,'sampleRate'); 18 19set(AI,'SamplesPerTrigger',samples); % サンプル数の設定 20set(AI,'InputType','SingleEnded'); 21set(AI,'TriggerType','immediate'); 22 23%フィルタの設定 24N=20; % フィルタの次数 25Fc0=5; % 低域遮断周波数 26Fc1=1000; % 高域遮断周波数 27Fc2=59.5; % ハムフィルタの設定 28Fc3=60.5; % ハムフィルタの設定 29 30[z,p,k]=butter(N,[Fc0 Fc1]/(sampleRate/2)); 31[sos_var,g]=zp2sos(z,p,k); 32Hd1=dfilt.df2sos(sos_var,g); 33[z,p,k] = butter(N,[Fc2 Fc3]/(sampleRate/2),'stop'); 34[sos_var,g] = zp2sos(z, p, k); 35Hd2= dfilt.df2sos(sos_var, g); 36 37 38%テンプレートの作成 39'測定開始' 40Data=zeros(samples,channels); 41rowdata=zeros(samples,channels,task); 42SUM=zeros(1,channels,task); 43 44for k=1:task % k:タスク 45 'Key in Enter' 46 pause(); 47 'データ取得開始' 48 start(AI); % 信号入力の開始 49 [data,time]=getdata(AI); % 入力信号の取得 50 51 'データ取得中' 52 DATA=filter(Hd1,data); % フィルタ 53 Data=filter(Hd2,DATA); % フィルタ 54 55 rowdata(:,:,k)=Data; %信号を配列に格納 56 %data4=data4+rowdata; 57 figure(k) % 入力信号をプロット 58 59 subplot(4,1,1);plot(time,rowdata(:,1,k)/5000) 60 axis([0 0.5 -2*10^-3 2*10^-3]) 61 xlabel('時間[sec]') 62 ylabel('電圧[V]') 63 grid on 64 subplot(4,1,2);plot(time,rowdata(:,2,k)/5000) % 入力信号をプロット 65 axis([0 0.5 -2*10^-3 2*10^-3]) 66 xlabel('時間[sec]') 67 ylabel('電圧[V]') 68 grid on 69 subplot(4,1,3);plot(time,rowdata(:,3,k)/5000) % 入力信号をプロット 70 axis([0 0.5 -2*10^-3 2*10^-3]) 71 xlabel('時間[sec]') 72 ylabel('電圧[V]') 73 grid on 74 subplot(4,1,4);plot(time,rowdata(:,4,k)/5000) % 入力信号をプロット 75 axis([0 0.5 -2*10^-3 2*10^-3]) 76 xlabel('時間[sec]') 77 ylabel('電圧[V]') 78 grid on 79 '測定終了' 80 81 emgdata(1:samples,1+(k-1)*channels:channels+(k-1)*channels)... 82 =rowdata(1:samples,:,k); 83end 84 85csvwrite(file,emgdata); 86 87'すべて終了' 88 89stop(AI) 90 91delete(AI); % アナログ入力オブジェクトの削除 92clear AI;% アナログ入力オブジェクトの消去 93clear; 94
エラーメッセージがこちらです.
エラー: analoginput (line 45)
The DAQ Legacy Interface is not supported on this platform. For more information on choosing between DAQ Legacy Interface and
Session-Based Interface, see the documentation on choosing the right interface.
To learn about using data acquisition devices on the win64 platform, see the documentation on the session-based interface.
エラー: EMG (line 14)
AI=analoginput('contec','AIO002');
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/04 20:26
2021/06/05 04:42
2021/06/09 22:40
2021/06/10 04:27
2021/06/17 04:35
2021/06/17 04:58 編集