フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
【Ethernet】車載ネットワーク その56【lwIP+npcap②】
ネットワークシミュレーションのビルド環境は実績のあるVisualStudio 2017 express。 lwIPとnpcap-SDKも入手しておく。 デバッグ/検証をし易くするようWiresharkもインストールしておく。
【Ethernet】車載ネットワーク その55【lwIP+npcap①】
バックナンバーはこちら。はじめに太郎くんの思いつきネットワークシミュレーション環境。簡単に言うと、lwIPとnpcapの組み合わせっぽい話。登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。
【Ethernet】車載ネットワーク その54【npcap⑨】
バックナンバーはこちら。はじめにnpcapのパケット送信APIについて登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の太郎くんイラストACにて公開の「しのみ」さんの...
【Ethernet】車載ネットワーク その53【npcap⑧】
バックナンバーはこちら。はじめにnpcapで実際に送信したみた時の話登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の太郎くんイラストACにて公開の「しのみ」さんのイ...
【Ethernet】車載ネットワーク その52【npcap⑦】
バックナンバーはこちら。はじめに今回からnpcapで送信の話登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の太郎くんイラストACにて公開の「しのみ」さんのイラストを...
【Ethernet】車載ネットワーク その51【npcap⑥】
バックナンバーはこちら。はじめにnpcap 次のパケットを読み込むAPIについて。登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の太郎くんイラストACにて公開の「し...
【Ethernet】車載ネットワーク その50【npcap⑤】
バックナンバーはこちら。はじめにnpcap ネットワーク上のパケットを見るためにパケットキャプチャハンドルを取得のAPI。登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の
【Ethernet】車載ネットワーク その49【npcap④】
バックナンバーはこちら。はじめにnpcap ネットワークデバイスのリストの構築のAPI。登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の太郎くんイラストACにて公開...
【Ethernet】車載ネットワーク その48【npcap③】
バックナンバーはこちら。はじめにnpcapでパケット取得で使用したAPI登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の太郎くんイラストACにて公開の「しのみ」さん...
【Ethernet】車載ネットワーク その47【npcap②】
バックナンバーはこちら。はじめにnpcapでパケット取得登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の太郎くんイラストACにて公開の「しのみ」さんのイラストを使用...
【Ethernet】車載ネットワーク その46【npcap①】
バックナンバーはこちら。はじめにnpcap調査の話。登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エンジニア歴8年の太郎くんイラストACにて公開の「しのみ」さんのイラストを使用して...
【Ethernet】車載ネットワーク その45【生パケット送信②】
pcapはpacket capture関連のAPI仕様。Windows向けのpcapは以下3種類。WinPcap:Windows10では不安定。Win10Pcap:Windows10でも問題無いが開発が止まっている。npcap:Wiresh
【Ethernet】車載ネットワーク その44【生パケット送信①】
Windowsから生のEthernetFrame送受信をするはめになった。生Socketが扱えないWindowsだとやや困難。パケットアナライザ、ネットワークアナライザ、スニファというものが存在。Wiresharkが有名。Wireshark
【Ethernet】車載ネットワーク その43【lwIP疑似受信⑥】
IPフラグメントの順番入れ替えの判定のソースコードと該当関数説明。Ethnertフレームを連結リストで管理。連結は常にソートされた状態。開始位置と完了位置を持ってパケットの完全性を評価している。
【Ethernet】車載ネットワーク その42【lwIP疑似受信⑤】
IPフラグメントの受信フレーム順番入れ替えをしても受信した。ログも確認したが、最終フレームで打ち切ってることはしていない。
【Ethernet】車載ネットワーク その41【lwIP疑似受信④】
IPフラグメントの受信フレーム順を変える疑似受信コード作成。渡す受信フレームの順番を入れ替えるだけ。組み込み系として、この仕様は重くないか?重いが、割とよくある話でもあり、lwIPも対応しているであろうと楽観視。
【Ethernet】車載ネットワーク その40【lwIP疑似受信③】
IPフラグメントはEthernetFrameの順番が入れ替わっても結合してくれる仕様。lwIPが対応しているかは不明。
【Ethernet】車載ネットワーク その39【lwIP疑似受信②】
lwIP疑似受信は成功。IPフラグメントに対応していた。IPフラグメントにまつわる特殊な動作があるらしい。
【Ethernet】車載ネットワーク その38【lwIP疑似受信①】
lwIP疑似受信用のソースコード。詳細は前回までのlwIPのAPI説明を参照願う。
【Ethernet】車載ネットワーク その37【lwIP⑬】
lwIPのEthnertFrameの疑似受信について説明。ethernet_input関数を呼び出すだけだが引数が曲者。pbufという連結リストのバッファにパケットをコピーする必要がある。
【Ethernet】車載ネットワーク その36【lwIP⑫】
lwIPのUDP受信の説明。受信用APIは存在せず、受信コールバック設定用APIが存在する。受信コールバックでデータを取得可能。送信元IPアドレス、ポート番号もコールバック時に取得できる。
【Ethernet】車載ネットワーク その35【lwIP⑪】
Bindという用語について調べた。lwIPのIPアドレス、ポートへのBindについて説明。IP_ANY_TYPEを指定すると、全インターフェースに紐づく。ポート0を指定すると自動割り付け。送信用Socketの場合に利用されることが多い。
【Ethernet】車載ネットワーク その34【lwIP⑩】
lwIPのUDP Socket生成についての説明。内部で固定長メモリプールでメモリ領域の確保をしている。固定長メモリプールはITRON等のRTOSにも実装されている高速な動的メモリ取得解放のロジック。
【Ethernet】車載ネットワーク その33【lwIP⑨】
lwIPのリンクアップについて説明。アップ(UP)が物理層。リンクアップ(link-up)がデータリンク層。余談的にリンクローカルアドレスの説明。
【Ethernet】車載ネットワーク その32【lwIP⑧】
lwIPのネットワークインターフェースの初期化について説明。netif_set_up関数を使用する。ネットワークインターフェースをUP状態にするもの。実は呼ばなくてもOKな疑惑があるが、流儀としては呼び出しておくべき。
【Ethernet】車載ネットワーク その31【lwIP⑦】
lwIPのマルチキャストグループの参加について説明。igmp_joingroup_netif関数を使用。上記関数を呼び出すとIGMPでグループ参加を通知するためのパケットが送信される。
【Ethernet】車載ネットワーク その30【lwIP⑥】
lwIPのネットワークインターフェースの追加について説明。netif_add関数を使用する。引数はIPアドレス、ネットマスク等のIP層の他、データリンク層由来のものもある。データリンク層初期化関数はコールバック関数initに渡す。
【Ethernet】車載ネットワーク その29【lwIP⑤】
lwIPの初期化関数はlwip_init。lwip_initの内部は#if~#endifで必要最低限の初期化が可能。include/lwip/opt.hで使用する機能の有効/無効の切り替えができる。
【Ethernet】車載ネットワーク その28【lwIP④】
lwIPの制御手順概要を説明。一般的なSocketと違ってネットワーク関連の初期化も必要。IPフラグメントはIP層の仕様に組み込まれているので利用側は特に何もしなくてOK。
【Ethernet】車載ネットワーク その27【lwIP③】
lwIPをPC上でビルドした。修正はarch/cc.hに起因するもの。arch/cc.hはコンパイラ依存部の辻褄合わせようのヘッダファイル。
【Ethernet】車載ネットワーク その26【lwIP②】
lwIPのソースコードを入手。開発環境はVisualStudio 2017 express。community版だといろいろ利用する上で制約があるので。
「ブログリーダー」を活用して、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による補正したものになります。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は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ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を増やす。 表現力が上がるはず。 局所最適解にハマらないというより大域最適解に近い局所最適解が増えるというイメージ。 プログラム上の修正点確認。 ベクトル、行列演算ができるため修正範囲は極小。