ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

優秀なプログラマが5人で原発作るのと、1000人の二流プラグラマで作るのと

2011-06-24 23:01:47 | Weblog

どっちが安全だろう?

原発の制御部分のプログラムをつくり、
40年後、問題が発覚したとき
「うーん、ここのプログラムがわからない」

となったら、5人でつくっていたとして、そこの担当者に連絡したら・・・
・・・お亡くなりになっています。

とかになったら、なんか、絶望的だよね。

でも、1000人で作っていたら、1人くらい、亡くなっていても、
周りの人とかで、なんとかできそう・・・


もっとも日本の社会は、自分で評価せず、アメリカのものはいいもの
として、そのまま受け入れるから、日本に優秀な5人がいても、評価
されず意味ないけどね・・・




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

福島第一原発事故の危険性をHAZOP/FMECAで導出する その1

2011-06-24 15:34:00 | そのほか
福島第一原発事故の危険性をゴール指向分析で導出するでは、結局、導出できなかった。

 そこで、
・抽象的なものが出てきた場合、まず、それらの構成要素を考える
   →クラス図ができる

・それをインスタンス化(具体化)する
   →原発:福島第一・福島第二・柏崎刈羽・東通

・それらの具体物の問題点をHAZOPを使って考える

・そこで挙がった問題点を、FMECAで評価する

・その結果、問題となった事項を、どうするか、ゴールを考える

・ゴール指向の図にまとめる。

という形で導出しようと考え、例も挙げた
今回から、この方法で考える




■抽象的なものが出てきた場合、まず、それらの構成要素を考える

原発というものが出てきたので、原発の構成要素を考える。
原発は組織なので、ヒト、モノ、カネ、情報があり、モノには、材料、施設、生産物があるだろうと考えられる。そうすると、こんな階層になるかな?

原発
  ヒト
    社員
      所長
      職員
    非社員
      作業員

  モノ
    材料
      水
      燃料
      電気
    施設
      ?
    生産物
      電気

  カネ

  情報




 原子炉の構造はよくわかんないけど、もうちょっとまじめに調べると、今回問題になってきたところも出てきそうだ。

 次は、「インスタンス化」

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

音楽をプログラムで生成してWAVファイルにする その2 プログラム

2011-06-24 12:21:04 | そのほか
音楽をプログラム上で作成して、WAVファイルにして聞く方法を考えたいと思います。
前回は、概要を書きました。
そして、最後にプログラムを書きました。

今回は、そのプログラムの説明を書きたいと思います。




■プログラム

プログラムは、こうでした(書き忘れました。言語は、Cです)。

#include <math.h> 
#include <stdio.h>

/*	サンプリング周波数	*/
#define SEC		44000

/*	音階		*/
#define D		1.05946309

/*	音量基準値	*/
#define	VOL_VAL	15000

void wave(int i, double hz, double vol, double pos,unsigned short a[2]) 
{ 
	double x = sin(i*2*3.1415926*hz/SEC); 
	a[0] += (int)(vol*pos*x); a[1] += (int)(vol*(1-pos)*x); 
} 

void	main()
{ 
	int i; 
	double hz; 
	unsigned short a[2];

	for(i = 0; i < 10*SEC; ++i)
	{ /* 10秒間 */ 
		a[0] = a[1] = VOL_VAL; /* 出力配列の初期化 */ 
		hz = 440; 
		wave(i, hz, 2000, 0.5,a); 
		fwrite(a, sizeof(a), 1, stdout); /* 出力 */ 
	}
} 



(< > #は、本当は半角)




■説明

音波は、こんなかんじです。


プログラムのVOL_VALっていうのが、図の15000のこと。
つまり、真ん中の基準の線です。

ここに対して、数値が上下して、波を作ります。
上下の幅が振幅となります。図で2000となっていますが、これが
wave(i, hz, 2000, 0.5,a);
の2000です。振幅は音の大きさを示します。

横軸は、時間の進行具合です。
1秒間に440回、この振幅を行うと440Hzとなります。
wave(i, hz, 2000, 0.5,a);
のhzがこれにあたります。0.5というのは、左右のバランスです。


そして、今回1秒間に44000回サンプリングを行います。
それがSECです。
サンプリング値を、aに設定して(左右)それを、書き出すことで、
PCMファイルになります。




■waveの中

問題は、Waveの中です。
double x = sin(i*2*3.1415926*hz/SEC);
で、sinは、上記の振幅をもとめているのだなということで、判ると思います。

問題は、i*2*3.1415926*hz/SECです。xの横軸をもとめているのですが・・

ということなんです。
つまり、440Hz=440個なんですけど、1個が2π分なので、
1秒間に440*2π分進みます(周波数*2π分すすみます)
一方、サンプリングは1秒間に44000回行います。

iは、サンプリング回数をしめします。このときのx軸の値は

44000:i=周波数*2π:x

よってx=i*周波数*2π/44000
(44000=SEC)

ということになります。

なぜ、aが=でなく+=なのかというと、これ、音を重ね合わせることが
できるようにするためです(つまり、和音も出せる)




実は、このプログラム、問題があって、440だときれいな音なのですが、
割り切れない音にすると、雑音が乗ります。変換しないこともあります。

次回は、eac3toについての説明です。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

マカフィーがドコモAndroid端末にセキュリティソリューションを提供

2011-06-24 09:00:03 | Weblog
ここの記事

マカフィーがドコモAndroid端末にセキュリティソリューションを提供!しかもタダ
http://news.livedoor.com/article/detail/5655448/

によると(以下斜体は上記サイトより引用)

モバイル向けにセキュリティソリューションを提供してきたマカフィーが、NTTドコモとAndroid向けセキュリティで提携した。

スマートフォンやタブレットなどが急速に拡大する中、サイバー犯罪者はこのような端末に狙いを定め始めている。それに対応するように、NTTドコモユーザー限定のセキュリティサービス「ドコモ あんしんスキャン powered by McAfee」として、2011年7月1日より無償提供を開始する。


だそうな、無償とは、太っ腹です。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする