Fusion360ではまった&覚えた操作メモ
- サーフィスをロフトで広げる際にエラー
基準のボディを見える状態にしないとエラーになる。理由は不明。
選択したスケッチがすべて消える。 - ツールのアドオン機能で歯車が作れる。
- 面を使わないスケッチ。
- シェル化したときに選択しない面は抜きにならない。
管の作成の時に接触面がうまく接合しない。
ディスプレイ周りの通信メモ
ディスプレイ通信周りのメモ
映像信号RGBやYIQを流すために様々なIOポートがある。
- 種類
HDMI:
信号の符号化
コンプラテストがある。ロイヤリティが発生する。
TMDSを使っての差動信号(0.4~0.6Vの振幅で伝送)
後で確認:http://www.hdmi-navi.com/tmds/
ディスプレイポート:
DVIの後継規格(vesa)
プリエンファシス
USB-TypeC:
デエンファシス
規格を満たすためにコンプライアンステストがある。
オルタネートモードで映像信号を流せる。
DVI:
デジタル信号とアナログVGA信号を扱える。 - 信号品質の確認
デジタルやアナログにおいても電気信号であるため外部からのノイズや
基板でのエネルギー損失のため信号波形がひずんだりなまったりする。
差動信号においてはアイパターンダイアグラムで信号品質に問題ないか
確認を行う。
確認項目:
振幅、周波数、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)
- 行列を与える関数
zeros(2,3):要素がすべて0の行列
ones(2,3):要素がすべて1の行列
eye(2,3):単位行列
diag([1 2;2 3]):対角要素のベクトル
rand(2,3):要素が乱数の行列 - ベクトル要素とスカラー演算
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 - ベクトル/行列の操作
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):上下の反転 - 行列の要素の指定
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を始めた
- なぜか
これまでMatlabやScilabなどの言語は細かいところが扱えないような気がして
敬遠していた。実際にマイコンに使うのはCやC++などで、また自分の範囲
ではシミュレーションをやるにしても一から作る必要はなくアプリをインス
トールすればマウス操作だけで結果がでてくるので必要性を感じなかった。
以前はモーターの制御をするにしても、画像の加工をするにしてもネット上の
サンプルコードを少し変えることで対応していた気がする。
しかし最近LSI/FPGAの回路アーキテクチャという本を読んで細かい所よりも
ブロック単位で考え、細かい仕様に落としこみモジュール化し、再利用した
ほうが手戻りもないしいいのではないかと思い始めた。それに作った後見直
してみると何のためなのか不明になっていることが多い。趣味でやっている
から気軽にやりたいのに仕事でやっていることと同じようなことをしていて
驚いた。最終的にはモーターの制御をするためのモデリングがしたいと
思っている。
- 本日作ったもの
簡単な行列や幾何的なものを出力。簡単にグラフ化できることに感激。
制御については下記を参考に勉強していこうと思う。
http://arduinopid.web.fc2.com/index.html