*tactile stimulatorの刺激パターンを作る

点字セル(KGS社製:http://www.kgs-jpn.co.jp/b_sc.html)を使ったtactile stimulatorのコントローラで刺激パターンを決めますが、csvファイルから入力することができます。

以下のテキストを「適当な名前.m」で保存してmatlabで実行しましょう。csvファイルを生成することができます。

ワードとか使って保存するときはちゃんとテキスト形式で、拡張子が.mであるのを確認

---- tactile stimulatorのパターンのcsvを作るscript -------

---- ピンが上から下に立ったり下から上に立ったり、-------

---- ランダムに立ったりする -------------------------

---- 最初20数行まで設定項目があるので確認 -------------

%-- マジックナンバーを使わないための設定 ---nMax=100;%繰り返しの回数%duration設定nDurISI=1000;%ISI duration(ms)vecDurPin=[50 50 50 50];%pinが立つduration(ms)%-- trigger設定 ---nTrigOff=0;%トリガーなしvecTrigNor=[1 0 0 0];%トリガーnormal(1)vecTrigRev=[2 0 0 0];%トリガーreverse(2)vecTrigRand=[3 0 0 0];%トリガーrandaom(3)%- ここまで --%-- その他設定(というべきか ---vecStimNormSeq=[11 22 44,88];%ピンのnormalパターン(上から下)vecStimRevSeq=fliplr(vecStimNormSeq);%ピンのreverseパターン(下から上)fname='tactileStimParameter.txt';%ファイルネーム%-- ここまで ---%-- ベクトルの初期化 vecStim=[];%ピンのパターンのシーケンスvecTrig=[];%トリガーのシーケンスvecDur=[];%durationのシーケンス%-- 6個の刺激パターン(normal2回,reverse2回,random2回)をランダムに並べるのを%-- nMax回繰り返す ---for jj=1:nMax vec6idx=randperm(6);%6個の刺激パターンの順番をランダムに振る for ii=1:6 %ISI vecStim=[vecStim 0]; vecTrig=[vecTrig nTrigOff]; vecDur=[vecDur nDurISI]; switch mod(vec6idx(ii),3) case 0 %normalの向き(上から下) vecStim=[vecStim vecStimNormSeq]; vecTrig=[vecTrig vecTrigNor]; vecDur=[vecDur vecDurPin]; case 1 %逆向き(下から上) vecStim=[vecStim vecStimRevSeq]; vecTrig=[vecTrig vecTrigRev]; vecDur=[vecDur vecDurPin]; case 2 %ランダムな動き vecRand1=2.^(randperm(4)-1); vecRand2=2.^(randperm(4)-1); vecRand=vecRand1*10+vecRand2; %エラー処理を入れる vecStim=[vecStim vecRand]; vecTrig=[vecTrig vecTrigRand]; vecDur=[vecDur vecDurPin]; end endend%ファイル書き込みfid=fopen(fname,'w');fprintf(fid,'No.\tTime (mSec)\tLeft Pattern\tRight Pattern\tInterval\tTRG Out\tLock (L)\tLock (R)\n');fprintf(fid,'\t\t\t\t\t\t\t\n');for ii=1:length(vecStim) nTrig=vecTrig(ii); if nTrig==0 nTrig=[]; end fprintf(fid,'%d\t0\t%d\t\t%d\t%d\t\t\n',ii,vecStim(ii),vecDur(ii),nTrig);endfclose(fid);