休止状態から復帰した後でネットにつながらなくなる 

私はいつも継続してHDLを書いたり、ブログを書いたりするために通常はパソコンを休止状態にして終了している。
最近、何らかのアップデートをしてからか?休止状態から復帰した後でネットにつながらなくなることが頻発した。再起動をすれば問題ないのだが、それでは休止状態にした意味がない。
早速ネットで検索。そうすると東芝の”スリープまたは休止状態から復帰した後に、ネットワークに入れない場合(有線LAN)<Windows Vista(R)>”を発見。これに従って、ネットワークアダプタ(有線LAN)の省電力機能を無効にしたところ問題は今のところ解決している。
でも、今までなったことはなく、最近なったので、何らかのアップデートか何かが関係していると思うのだが???

 FPGAの部屋のまとめサイトにAltera Tools Tutorialを追加 

FPGAの部屋のまとめサイトAltera Tools Tutorialを追加した。
今までカテゴリ別に分かれていたので、自分でも見にくかったが、Altera Tools Tutorialでは時系列順に並べ替えた。これで少しは見やすくなったと思う。

 画像のエッジ検出4(実機でテスト) 

画像のエッジ検出3(シミュレーション)”でシミュレーションが終了したので、実機で試してみた。
やってみたが、最初はかなり真っ白、どこかおかしい。トラブルシュート開始。
その結果、BRAMのアドレスのダブルバッファ用アドレス発生がおかしいことを発見して修正した。その結果、結構エッジが見えるようになった。
差分のスレッショルドは16にし、元の画像を輝度を1/2にして加えてある。
edge_detect_9_091106.jpg

結構エッジは見えてきたようだ。結構見ていると面白いがエッジの検出具合がいまいちだ。顔とかの輪郭は出るが、やはりコントラスト差がないところは厳しい。

現在のエッジ検出方式は縦横斜めに差分を取ってスレッショルドの値以上ならば大きな値を輝度データとしてセットしている。(下図参照)これは、私がこうやったらエッジが検出できるんじゃないかな?と思った方法で一般的な方法ではない。
edge_detect_1_091028.png

しかし、今日、教授にお聞きしたところ、普通は3X3などのマトリクスを使い、それぞれの位置で係数をかけて中心の値を求めるとエッジの検出ができるとのこと。
検索してみると、”ディジタル信号処理講座”やkoujinz blogの”エッジ検出・エッジ強調・ぼかし”記事を読むと3X3のオペレータで各要素からの差分を取るようだ。(下に示すようなオペレータ)各要素をORしてスレッショルド決めて1、0判定をすることはしていない。
----------
| -1| -1| -1|
----------
| -1|  8| -1|
----------
| -1| -1| -1|
----------
差分、つまり微分するということのようだが、いろいろな係数があるみたい。これも試してみたい。
未来の自分の為にもう少し説明しておくと、画素の1部分を切り取った3X3の領域を考える。
---------------------------
|Xn-1Yn-1| XnYn-1| Xn+1Yn-1|
---------------------------
| Xn-1Yn |  XnYn | Xn+1Yn |
---------------------------
| Xn-1Yn+1| XnYn+1 | Xn+1Yn+1|
----------------------------
上のオペレータを適用した場合の差分の式を下に示す。
XnYnのところの差分 = -(Xn-1Yn-1) -(XnYn-1) -(Xn+1Yn-1)
              -(Xn-1Yn) +8(XnYn) -(Xn+1Yn)
              -(Xn-1Yn+1) -(XnYn+1) -(Xn+1Yn+1)

画像のグレースケール/ネガティブ/エッジ検出”を参考にした。この3X3のオペレータはとても便利で係数を変えればぼかしなども係数を変えることで対応することができる。
良く考えれば、私のやっていた方式も2X2の画素の演算と考えることができるので、下のような微分オペレータを作ることができそう。
-------
| -1| -1|
-------
| -1| 3|
-------
これで、どうなるか一回やってみようと思う。
(追加)”コンボリューションを用いた画像の平滑化、鮮鋭化とエッジ検出”もわかりやすかった。

 ブログがおかしかった 

今日、午後6時ころからブログの表示がおかしくなった。やっと、午後10時30分頃復旧したが、とても心配だった。私の補助記憶といっても良いくらいに育ったので、これがなくなったらどうしよう???
一応、月1でバックアップは取っているけど、壊れたら復旧するまでには大変だと思う。なんかお手軽に自動バックアップしてくれないかな?
ちなみに、ブログの記事数は今のところ 1,261記事、テキストの容量は4.45MB、画像ファイル数は4230、171.28MB となった。
グーグルで検索すると、自分のブログが出てきて、そうか、あのころ、同じようなことやっていたな。というのが良くある。これも公開しているメリットだろうか?

 ISE11.3でプロジェクトをフォルダごとコピーした時のWorking directory 

ISE11.3でのプロジェクトの絶対パス問題?”で家からフォルダごとコピーしてきたプロジェクトをインプリメントすると、テンポラリファイルやbitファイルが家と同じフォルダに作られるという問題に遭遇した。
この原因が分かった。”33511 - 11.2 ISE - 「ERROR: no Simulation Engine found in the Transform Input that matches testbench_isim_beh.exe」というエラー メッセージが表示される”によると”ISE 11.2 で、Project Navigator にプロジェクトの作業ディレクトリとしてメインのプロジェクト ディレクトリ以外のディレクトリを指定できる機能が追加されました。”ということだ。この作業用ディレクトリを見てみた。
Project Navigator のDesign Edit Properties アイコンをクリックする。
working_directory_1_091105.png

Design Properties ダイアログが開く。
working_directory_2_091105.png

Location はコピー先のフォルダになっているが、Working directory はコピー元の情報のままだ。これでは作業用ディレクトリが異なってしまう。それに、Working directory のところはハイドされていて書き換えができない。それで、フォルダごとコピーした時にはこの問題をどうしようと思ったが、Copy Project というのがあった。これでやってみる。
File メニューからCopy Project を選択すると、Copy Projectダイアログが出てくる。
working_directory_3_091105.png

ここで、新規フォルダを指定して、プロジェクトをコピーする。その時に作業用ディレクトリも指定することができる。上のダイアログの設定だと、プロジェクトが立ち上がるので、そのままインプリすれば、指定したフォルダにテンポラリファイルやbitファイルが生成される。
なお、このヘルプによると”Working directory はプロジェクトを作成するときでないと変更できない”と読めるように書いてあった。