LoginSignup
1
1

More than 3 years have passed since last update.

SciLabでCSV読み込み

Last updated at Posted at 2017-09-18

背景

vivadoで回路開発をする場合、chipscopeで簡単な信号解析ができます。それでも、固定小数の変換や波形のレンジ指定が煩雑になりますし、トリガー毎の背景色が邪魔で観察がしにくい。
このため、CSVにexportしてexcelで加工して可視化していました。でもデータが増えると処理が遅くなります。あまりの遅さに耐えられなくなったため、CSVファイルをSciLabで分析することにしました。

chipscopeデータのExport

あとから16進数を変換するのは大変なので、予めvivadoで全信号をsigned指定しておく。キャプチャデータをCSV形式でexportする。

CSVデータ読み込み

DATADIR='データファイルのディレクトリ';

//ファイル名の取得 この辺りは適宜
files=listfiles(DATADIR+'ila*.csv');
fn=files(1);

//全部読み取る。但し先頭はNanとなる。型は'double' or 'string'
//16進数のまま読み込むならば'string'を指定すること
raw=csvRead(fn,',',型);

//観察したい信号だけ選ぶ
dat=cat(2,raw(:,カラム番号1),raw(:,カラム番号2),raw(:,カラム番号3));

//(必要に応じて)トリガー後最低2サンプルキャプチャするので1つ捨てる
dat2=dat(2:2:length(dat(:,1)),:);

//作画して確認
clf;plot2d(dat2(2:1000,2:$));

変数エディタから作画することで、観察が簡単になりました。あたりをつけてから、スクリプトで作画すればよさそう。

SciLab関連ドキュメントリンク

install
macOSでSciLabを動かすまで
SciNoteのオートコンプリートをとめたい

実践
SciLabでCSV読み込み
SciLabでGUIを使ってみる

Mac/Windows共用scilabスクリプト未公開
SciLabでフィルタを適用する未公開
プロットメモ未公開
プロットあれこれ未公開

他の言語と比較・書き換え
Scilab (NumPy) - plotの書き方
配列と文字列処理の比較
関数とオブジェクトの書き方メモ
Scilab,NumPy,R行列処理の比較

履歴

2019.11.26 更新
2019.12.05 カラムデータ切り出し部分の諸々誤記を訂正
2020.08.18 関連リンク追加

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1