フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
[CanTp] Vehicle Diagnostic Communication Part 18 [Simulation 6]
CAN transmissions were replayed in can.player and recorded in can.logger. There are three file formats recorded by can.logger. asc, blf, and csv.
[CanTp] Vehicle Diagnostic Communication Part 17 [Simulation 5]
I installed python-can. Checked the operation of python-can. Sent by can.player and recorded by BusMaster. The performance of python-can is on the order of 1-2[ms]. CANoe has better accuracy.
[CanTp] Vehicle Diagnostic Communication Part 16 [Simulation 4]
Finally, we get into Python. I'll use Anaconda, but you can use the official Python for Windows. You'd better make sure each one works! (I keep telling myself that…)
[CanTp] Vehicle Diagnostic Communication Part 15 [Simulation 3]
We set up BusMaster. Monitored CAN frames on Virtual CAN Bus with BusMaster.
[CanTp] Vehicle Diagnostic Communication Part 14 [Simulation 2]
We installed Vector's free XL Driver Library and Vector Driver Setup. There is an application called xlCANControl in the XL Driver Library, so it is a quick way to check the operation. You can assign channels to each app, so you need to assign them in VectorHardware in the control panel.
[CanTp] Vehicle Diagnostic Communication Part 13 [Simulation 1]
We are tired of studying and it's time to do some simulations. I will also do AUTOSAR related things. I will also dare the challenge of using Python.
[DoCAN] Vehicle Diagnostic Communication Part 12 [ISO-TP 8]
ISO15765-2 (UDS) and ISO15765-4 (OBD) have different values for the timeout parameter. The UDS side is looser and the OBD side is stricter. Some timeout parameters are set as performance requirements. N_Br and N_Cs.
[DoCAN] Vehicle Diagnostic Communication Part 11 [ISO-TP 7]
ISO-TP has six timeout parameters. N_As, N_Bs, N_Cs, N_Ar, N_Br, and N_Cr. Single frame transmission is complete in one frame, so only N_As. Multi-frame transmission uses all parameters. ISO-TP only determines the timeout at the frame level, and the timeout per message is determined by a higher layer.
[DoCAN] Vehicle Diagnostic Communication Part 10 [ISO-TP 6]
Decomposition of SF-SF and MF-MF communications into type of frame. MF-MF communication behaves slightly differently in the BS and FS of FC. The parts of the message that are not included in the message for DLC reasons are filled in with padding. Any value can be used for padding. Commonly used values are 00, 55, AA, CC, and FF.
[DoCAN] Vehicle Diagnostic Communication Part 9 [ISO-TP 5]
Four types of frames are explained. The first N_PCItype is available for immediate judgment upon reception. Each has its own unique parameters. SF. SF_DL. FF. FF_DL. FC. FS. BS. STmin. CF. SN.
[DoCAN] Vehicle Diagnostic Communication Part 8 [ISO-TP 4]
CAN multiple frames can send/receive up to 4095 bytes. The parameter N_PCI is at the start of each frame, and there is a mechanism to concatenate the frames well. There are two main transmission methods depending on the number of data to be sent. If the number of data to be sent is 7 bytes or less, single frame transmission is used. If the number of transmitted data is 8 bytes or more, it is a multi-frame transmission. Multi-frame transmission has a mechanism to control the throughput by setting the CF transmission interval and the timing for receiving another FC with FC.
[DoCAN] Vehicle Diagnostic Communication Part 7 [ISO-TP 3]
Extended addressing is an extended version of Normal addressing with N_TA added. Mixed addressing has 11bitID and 29bitID versions. The 11bitID (standard ID) version is based on Normal addressing and assumes gateway traversal. The 29bitID (extended ID) version is based on Normal fixed addressing and assumes gateway traversal.
[DoCAN] Vehicle Diagnostic Communication Part 6 [ISO-TP 2]
Normal addressing is the simplest addressing format. Normal fixed addressing is the easiest addressing format to define as a specification
[DoCAN] Vehicle Diagnostic Communication Part 5 [ISO-TP 1]
There are physical addresses for one-to-one communication and functional addresses for one-to-many communication. Physical and functional addresses are composed of four different addressing formats The addressing formats consist of N_AI, N_TAtype, N_TA, N_SA, and N_AE. However, they may or may not be used depending on the addressing format.
[DoCAN] Vehicle Diagnostic Communication Part 4 [CAN 3]
Click here for back issues.Introduction.This article is the second part of a series on the data link layer of CAN, ISO 1
[DoCAN] Vehicle Diagnostic Communication Part 3 [CAN 2]
Basically, a Google search can provide information on the CAN data link layer. CAN baud rate setting is special. It is not possible to set the baud rate directly, but the quantum time, which is a decomposition of 1 bit, is determined first. Since the total quantum is the baud rate, it is necessary to calculate backward from the baud rate you want to set. CAN can adjust the sampling point. It can be decided at which quantum in the total quantum to sample. This is often expressed as [%]. 50[%] for the middle, 75[%] for slightly behind (around 3/4).
[DoCAN] Vehicle Diagnostic Communication Part 2 [CAN 1]
The required standard numbers were reviewed. CAN has become a relatively common specification, and you can find information there on the Internet and in books. 1 Mbps is not often used in DoCAN. For legal reasons 1Mbps lacks stability in some aspects.
[DoCAN] Vehicle Diagnostic Communication Part 1 [Overview]
The typical standards for vehicle diagnostic communication are ISO 15765-2 and ISO 14229-1. Depending on the manufacturer's policy, the standard number may be a requirement rather than a specific requirement. The layers of vehicle diagnostic communication can be represented by the OSI model. There are two main axes of vehicle diagnostic communication. UDS and OBD. OBD is referenced by vehicle emission regulations, so the various parameters are clear. UDS only has recommended values, and the actual values are dependent on the finished vehicle manufacturer.
【入門】状態空間モデルをPID制御(Julia)【数値計算】
JuliaでDCモータ状態空間モデルをPID制御シミュレーション。 Juliaも構造体を定義できるが、structだと更新不可になる。よってmutableを使って更新可能な構造体にする必要がある。 シミュレーション結果は他のツール言語と同じ結果が得られた。
【入門】状態空間モデルをPID制御(Scilab)【数値計算】
ScilabでDCモータ状態空間モデルをPID制御シミュレーション実施。 コード自体はMATLABと一緒。 構造体の生成の仕方も一緒だが、内部的には連想配列で実現されている。 シミュレーション結果もOK。
【入門】状態空間モデルをPID制御(Python)【数値計算】
MATLABでやったDCモータ状態空間モデルをPID制御をPython(Numpy)で実施。 Pythonの場合、構造体はclassで実現。 事前にclassを定義する必要はある。 MATLABと同様の結果が得られた。
【入門】状態空間モデルをPID制御(MATLAB)【数値計算】
PID制御器のブロック線図と全体構成を再掲。 上記をMATLABで実現。 接続に関してはコード上では分かり難いので全体構成図と見比べながら確認した方が良い。 シミュレーション実施。 u(t)の挙動と見るとPID制御っぽい挙動になっている。 各PIDゲインを調整すると挙動が変わるはず。
MATLAB,Python,Scilab,Julia比較【バックナンバー】
はじめにMATLAB,Python,Scilab,Julia比較するシリーズ。といっても基本はベクトル行列ベースの演算に留め、各環境独自の機能はあまり使わない方針。あくまでベクトル&行列でどこまでできて、ベクトル&行列に留めているが故に各ツ
MATLAB,Python,Scilab,Julia比較 その80【PID制御⑨】
JuliaでDCモータ状態空間モデルをPID制御シミュレーション。 Juliaも構造体を定義できるが、structだと更新不可になる。よってmutableを使って更新可能な構造体にする必要がある。 シミュレーション結果は他のツール言語と同じ結果が得られた。
MATLAB,Python,Scilab,Julia比較 その79【PID制御⑧】
ScilabでDCモータ状態空間モデルをPID制御シミュレーション実施。 コード自体はMATLABと一緒。 構造体の生成の仕方も一緒だが、内部的には連想配列で実現されている。 シミュレーション結果もOK。
MATLAB,Python,Scilab,Julia比較 その78【PID制御⑦】
MATLABでやったDCモータ状態空間モデルをPID制御をPython(Numpy)で実施。 Pythonの場合、構造体はclassで実現。 事前にclassを定義する必要はある。 MATLABと同様の結果が得られた。
MATLAB,Python,Scilab,Julia比較 その77【PID制御⑥】
PID制御器のブロック線図と全体構成を再掲。 上記をMATLABで実現。 接続に関してはコード上では分かり難いので全体構成図と見比べながら確認した方が良い。 シミュレーション実施。 u(t)の挙動と見るとPID制御っぽい挙動になっている。 各PIDゲインを調整すると挙動が変わるはず。
DCモータの状態空間モデルを制御するためPID制御器を追加する。 上記を実現するためPID制御器の離散化を行う必要がある。 PID制御器は速度型PIDとする。 ワインドアップ対策の都合、速度型PIDを使うことが多い。 数式は複雑っぽく見えるがブロック線図としてはシンプル。
MATLAB,Python,Scilab,Julia比較 その75【PID制御④】
PID制御の数式をオイラー法で微分解決して離散化。 一見するとカオスには見えるが、似たような式が並んではいる。 上記がブロック線図にする際にいい感じに効いてくる。(たぶん)
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
動画作成関連のバックナンバー用ページ。立ち絵を作ったり、動画作ったり、アイキャッチ画像作ったりなどを掲載していく。
MATLAB,Python,Scilab,Julia比較するシリーズの第4章。第4章では分類問題で最終的にはニューラルネットワークや最適化アルゴリズムの話だった。第5章はフーリエ解析学から高速フーリエの話がメインとなる。
立ち絵の配置: PSDファイルをAviUtlに配置し、画面サイズやフレームレートを設定。のっぺらぼう化: 目と口を消して、アニメーション効果を追加。アニメーション効果: 目パチと口パクの設定を行い、リップシンクを調整。
フーリエ変換を定義。フーリエの積分公式の一部を抜き出す。逆フーリエ変換を定義。フーリエの積分公式にフーリエ変換を代入するだけ。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。区分求積法とリーマン積分について。フーリエの積分公式を導出した。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。さらにそこに加えて、AivisSpeechのアイコン画像を...
PSDToolKitプラグインの導入の仕方を説明。PSDファイルを探してGIMPで内容を確認。GIMPで瞬き用、口パク用のレイヤー編集。
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
区分求積法とリーマン積分について。離散と連続の分け目。フーリエの積分公式を導出した。演算したはずなのに変化しない。つまり変換、逆変換が成立することを示している。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。よって、一般的な表現に書き換える必要がある。
角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。ω=nπ/Lを使用して変換するだけ。これにより少し数式がシンプルになった。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。ほぼ独自に作成したが、Anneliの画像自体はAivisS...
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。変換を想定した式に変換。複素指数関数との積と積分、総和を経由すると元に関数に戻るというイメージが重要。
AviUtlのセットアップと拡張編集Pluginの導入を行った。mp4ファイルの入力と出力の方法を説明。アニメーションgifの対応方法を説明。
分数は割り算の別表現として理解しやすく、逆数を掛けることで計算が簡単になる。これにより、小数の掛け算や割り算の理解が深まる。一次関数の数式をグラフにすることや、グラフから数式を導くことは、データのトレンド分析や物理現象の理解に役立つ。微分は関数の変化率を求める手法であり、数値微分を使って近似的に求めることができる。これにより、物理学や経済学など多くの分野で応用可能。
Youtube動画やブログ記事のアイキャッチ用に作成した、VOCEIVX(四国めたん、ずんだもん、春日部つむぎ)、AivisSpeech(Anneli)の画像たち。Stable Diffusionで生成&少しペン入れ&GIMPによる補正したものになります。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 モーメンタムの動作イメージについて確認。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
勾配降下法の更新式を確認。 勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしていく。 最初は復習を兼ねて勾配降下法についても確認する。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの動作イメージについて確認。 動作イメージの表現は難しい。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 実際の指数移動平均とは異なっているので、その点は注意。
勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
今回改めてまじめに更新式を確認。 勾配降下法の更新式が一番シンプルなので今後の最適化アルゴリズムの更新式を見る際は比較対象になりやすい。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしてい 最初は復習を兼ねて勾配降下法についても確認する。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パタ やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたMATLABコードで分類を実施。 大きく2パターンの分類パターン やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたMATLABコードで分類を実施。 大きく2パターンの分類パターンがある やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を増やす。 表現力が上がるはず。 局所最適解にハマらないというより大域最適解に近い局所最適解が増えるというイメージ。 プログラム上の修正点確認。 ベクトル、行列演算ができるため修正範囲は極小。
多層パーセプトロンの隠れ層のユニット数を増やす。 表現力が上がるはず。 局所最適解にハマらないというより大域最適解に近い局所最適解が増えるというイメージ。 プログラム上の修正点確認。 ベクトル、行列演算ができるため修正範囲は極小。