Fusion360ではまった&覚えた操作メモ

  1. サーフィスをロフトで広げる際にエラー
    基準のボディを見える状態にしないとエラーになる。理由は不明。
    選択したスケッチがすべて消える。
  2. ツールのアドオン機能で歯車が作れる。
  3. 面を使わないスケッチ。
  4. シェル化したときに選択しない面は抜きにならない。
    管の作成の時に接触面がうまく接合しない。

GPUを支える技術を読んでいる

  •  始めたきっかけ

   画像処理やディープラーニングの盛り上がりもあり以前から興味があって
   積み本として寝かしていたが読むきっかけができたので読み始めた。
   GPUそのものがわかっていないので周辺知識を埋めるために、
   トラ技19/9月号やアーキテクチャの本を回し読みしながら少しずつ進めている。
   ハードウェアも安く手に入れやすくなりjetson-nanoでcudaを使ってみたい。
   身近なものとしてはゲームエンジンとして使われているので詳しくなりたい。
   ゆくゆくは信号処理が重要だと考えているので、画像や動画の処理や
   ファイル形式なども併せて理解していけたらと思っている。

ディスプレイ周りの通信メモ

ディスプレイ通信周りのメモ
  映像信号RGBやYIQを流すために様々なIOポートがある。

  1.  種類
    HDMI
       信号の符号化
       コンプラテストがある。ロイヤリティが発生する。
       TMDSを使っての差動信号(0.4~0.6Vの振幅で伝送)
       後で確認:http://www.hdmi-navi.com/tmds/
       
    ディスプレイポート:
       DVIの後継規格(vesa)
       プリエンファシス
    USB-TypeC:
       デエンファシス
       規格を満たすためにコンプライアンステストがある。
       オルタネートモードで映像信号を流せる。
    DVI:
       デジタル信号とアナログVGA信号を扱える。

  2. 信号品質の確認
    デジタルやアナログにおいても電気信号であるため外部からのノイズや
    基板でのエネルギー損失のため信号波形がひずんだりなまったりする。
    差動信号においてはアイパターンダイアグラムで信号品質に問題ないか
    確認を行う。

    確認項目:
       振幅、周波数、DCレベル
       開口率
       ジッタ成分(TJ、DJ、RJ、TIEなど)  

ジッタについて調べた

ジッタメモ

  • ジッタとは

  信号波形(ここではシリアある)を重ね合わせた時の差動信号のタイミングのずれ。
  時間軸方向での信号波形の揺らぎの事(wiki)。
  オシロスコープコンプライアンステストで測定することができる。
  タイミングのずれはヒストグラムで表される。

  • ジッタの種類

  ランダムジッタ(RJ)
  確定的ジッタ(DJ)
   (1)周期性ジッタ
   (2)データ依存性ジッタ
   (3)デューティーサイクルディスとージョン
  シンボル間干渉
  有限非相関ジッタ
      

  理解できていないので下記の内容を後程学習する。

  https://ednjapan.com/edn/articles/1808/09/news017.html
  https://ednjapan.com/edn/articles/1202/22/news014.html
  https://ednjapan.com/edn/articles/0802/01/news168.html
  https://www.macnica.co.jp/business/semiconductor/articles/intel/133388/

Scilab覚書き

MATLAB/Scilabで理解する数値計算を読んで学んだ点についてメモ。

  • 関数の定義
    --> deff('[y]=f(x)','y=sin(x)+sin(2*x)');
    --> x=linspace(0,10,100);
    --> fplot2d(x,z);
  • スプライン補間
    --> x=[0 0.5 1 1.5 2 2.5 3];
    --> f=sin(x).*exp(-x);
    --> plot2d(x',f',-1);
    --> fi=smooth([x;f],0.1);
    --> plot2d(fi(1,:)',fi(2,:)');
  • 高速フーリエ変換
    --> N=8;
    --> w=exp(2*%pi*%i/N*(0:N-1));
    --> f=exp(w);
    --> F=fft(f,-1);
    --> real(F/N)'
  • 固有値
    --> A=[1 2 ; 2 1];
    --> [V,D]=spec(A);
    --> V
    --> diag(D)
  • 多項式の解
    --> x=poly(0,'x');
    --> f=x^4-5*x^3+5*x^2+5*x-6;
    --> roots(f)

  1. 行列を与える関数
    zeros(2,3):要素がすべて0の行列
    ones(2,3):要素がすべて1の行列
    eye(2,3):単位行列
    diag([1 2;2 3]):対角要素のベクトル
    rand(2,3):要素が乱数の行列
  2. ベクトル要素とスカラー演算
    c=(a1+α,...,an+α):c=a+alpha
    c=(α×a1,...,α×an):c=alpha×α
    c=(α/a1,...,α/an):c=alpha ./ α
    c=(a1/α,...,an/α):c=a/alpha
    c=(α^a1,...,α^an):c=alpha .^ α
    c=(a1^α,...,an^α):c=a .^ alpha
  3. ベクトル/行列の操作
    sum([1 2 3]),sum(A,1),sum(A,2):行列の値の和
    prod(v),prod(A,1),prod(A,2):行列の値の積
    mean(v):平均値
    max(v):最大値
    min(v):最小値
    length(A):Aの全ての要素の数
    [m,n]=size(A):行列の行数と列数
    fliplr(v):左右の反転
    flipud(v):上下の反転
  4. 行列の要素の指定
    A(2,3):Aの(2,3)要素
    A([1 3],1):Aの第1列の第1行と第3行
    A(1:5,1):Aの第1列の第1行から第5行
    A(:,1):Aの第1列
    v($):vの最後の要素

 

制御のとっかかりとしてにScilabを始めた

  • なぜか

   これまでMatlabScilabなどの言語は細かいところが扱えないような気がして
   敬遠していた。実際にマイコンに使うのはCやC++などで、また自分の範囲
   ではシミュレーションをやるにしても一から作る必要はなくアプリをインス
   トールすればマウス操作だけで結果がでてくるので必要性を感じなかった。

   以前はモーターの制御をするにしても、画像の加工をするにしてもネット上の
   サンプルコードを少し変えることで対応していた気がする。

   しかし最近LSI/FPGAの回路アーキテクチャという本を読んで細かい所よりも
   ブロック単位で考え、細かい仕様に落としこみモジュール化し、再利用した
   ほうが手戻りもないしいいのではないかと思い始めた。それに作った後見直
   してみると何のためなのか不明になっていることが多い。趣味でやっている
   から気軽にやりたいのに仕事でやっていることと同じようなことをしていて
   驚いた。最終的にはモーターの制御をするためのモデリングがしたいと
   思っている。

  • 本日作ったもの
    簡単な行列や幾何的なものを出力。簡単にグラフ化できることに感激。
    制御については下記を参考に勉強していこうと思う。
    http://arduinopid.web.fc2.com/index.html

f:id:rhiro:20200103235431p:plain

ゲインと要素



   

 

 

電源についてのメモ

  • 電源についてのメモ

   電源とは負荷に電圧及び電流を供給するもの。

   ACからDCに変更するものとDCからDCに変更するものがある。

 

  • AC-DCコンバータ
    トランス式とスイッチング式がある。

    f:id:rhiro:20200103000943p:plain

    AC/DC ブロックイメージ


  • DC-DCコンバータ
    リニアレギュレータとスイッチングレギュレータがある。
    下記にリニアレギュレータのSPICEの結果を記載。
    安定性について前後の平滑コンデンサを考慮する必要あり通常はデータシートに記載。

    f:id:rhiro:20200102235328p:plain

    リニアレギュレータSPICE 回路図(左) AC特性(右)