fortran66のブログ

fortran について書きます。

2010-03-01から1ヶ月間の記事一覧

鳩山は早く死んで欲しい

列子の思想とグノーシス主義の類似点

狩野直喜『中国哲学史』第三編第四章第二款「列子の学説」より 第一は、宇宙論に於いて宇宙の根本原理より森羅万象が分出する有様を説くことが老子よりも精密である。 第二は、老子の学説に於いても精神と肉体とを分かつけれども、其の区別は頗る明瞭を欠い…

BOSE Wave Radio/CD demonstration disk

平均音量は小さいのですが、大きい音も入っています。

同じタイトルのCDのマスタリング違いを平均音量(あるいは音圧)と標準偏差で比較します。

音量の大小の傾向は数値の通りで、また時代が下がるほど平均音量が上がってゆく傾向も見て取れます。 しかし、平均音量と標準偏差は主観的な評価とそれほど相関は無いようです。 またリマスター版が無条件に良いわけでもないようですし、海外生産CDが国産よ…

CDの音量、絶対聴覚閾値

CDには16bitのPCMの音声データが記録されているわけですが、それは一種の相対値であって再生時の絶対的な音量には任意性があります。それはCD再生機のボリュームつまみで音量を変えられることからわかります。MPEGの音声圧縮のためには、心理音響解析が必要…

狩野直喜『中国哲学史』

本来『支那哲学史』という題名になるべきものを、岩波とかアカのクズが支那の呼称を検閲して使わないので変な題名になっています。政治権力に安易におもねる態度で学問や言論の自由が守れるものでしょうか。コペル君もびっくり。支那人のコスプレをして喜ん…

wav file 読み取り ミニマル

前回は、Fortran2003の新機能TYPE,EXTENDSを無理に使おうとして、冗長になったので作り直しをば。 ■実行結果 入力データは、ネット上に落ちていた2kHzの信号ファイルに、info chunkを手動で入れてみたもの。 サンプリング・レートが44.1kHzなので、2kHzの信…

2^n3^m型のFFT

MPEG1/Layer2,3では1フレームあたりのデータ数が変わって、FFTにかけるデータ数も変わるので一般形にしておきます。Fortran2003には本来、パラメトリックTYPEというのがあって、TYPEの中の要素のKINDや定数をTYPEインスタンス生成のときに指定できるんですが…

2と3のべきの積の次数のFFT

昔書いたFFTをOOP風にしてみました。とりあえず、べきは固定になってますが、イニシャライズのところでパラメータをとるようにすればいいような気もしなくも無いです。まぁ将来直すということで。普通教科書に載っているFFTは2のべき乗のものですが、同じよ…

MPEG1用 MPEG定数 & Subband filter

チラシ裏の下書きメモ帖です。テストしてません。 ■ソース・コード 配列生成子のところで、[CHARACTER(LEN=nn):: ....]と明示的に指定することで、中のデータが自動的にその長さに調節されます。Fortran95までは、宣言長にそろえて空白を入れておかないと駄…

MPEG1用のCRC16ルーチン

CRCについてはNumerical Recipesの第二版以降にある、Less numerical Algorithmsの章にある原理の説明を読むのがよかろうかと思います。もう細部はすっかり忘れてしまいました。覚えているのは、1.割り算の余りを比較する。2.余りが違ければ元の数もちが…

OOP的にwav fileを読んでみる

16ビット整数のwav fileのデータを、倍精度実数にして吐き出すことを考えます。今はmpeg音声Layer 1を想定して、ファイル先頭の1チャンネルあたり384個のデータを読みこみ書き出します。 ■実行結果 ■ソース・プログラム F2003の新機能ASSOCIATEをあまり必然…

ハルヒ消失フィルム

またぞろ見に行ってフィルムを貰ってきました。 一応、長門さんが出たので当たりなんですが、改変前眼鏡無し長門で微妙?場面も思い出せず。 不平を言ってはネタフィルムの皆様に叱られるのでなんなんですが、願わくば眉毛が欲しかったw でも有り難く大切に…

自己記述プログラム

規格違反のもの。80文字に収まっていますが必殺のホレリス使用w CHARACTER*43 f/43H(18HCHARACTER*43 f/43Ha,15H/;PRINT f,f;END)/;PRINT f,f;END やや分かりやすくしたもの。 CHARACTER*46 f/46H(18HCHARACTER*46 f/46Ha,1H//9HPRINT f,f/3HEND)/ PRINT f,…

OOPの練習

Intel Fortran v.11.1は、まだ完全にFortran2003に対応していないのですが、ある程度オブジェクト指向がらみの機能が実装されているので、練習してみます。ここでは、WAVファイルのヘッダー情報を読むことを考えます。特に、WAVファイルのうちでもCDをリップ…

連分数展開でπその他

Numerical Recipes 2nd ed. §5.2の計算法を使って連分数展開の式を求めました。Fortran2003では、ALLOCATABLEな配列に、最初に確保した大きさとは異なる配列代入を行うと、自動的に新しい大きさにreallocateされます。これはバグの元になりそうな機能ですが…

Chudonovskyの公式

14桁ずつ数値が決まっていきます。 ■実行結果 収束の様子と真値との差を表示しています。最後に4*ATAN(1)で真値を書き出しています。 ■ソースコード MODULE m_pi IMPLICIT NONE INTEGER, PARAMETER :: kq = KIND(1.0q0) CONTAINS REAL(kq) ELEMENTAL FUNCTIO…

Borwein Pi 4次公式

参照:http://crd.lbl.gov/~dhbailey/dhbpapers/pi-quest.pdf ■実行結果 ■ソースコード MODULE m_pi IMPLICIT NONE INTEGER, PARAMETER :: kq = KIND(1.0q0) CONTAINS ELEMENTAL REAL(kq) FUNCTION pi_Borwein4(n) !P.Borwein : quartic INTEGER, INTENT(IN)…

部分配列の代入と、DO..LOOPの代入の微妙に異なる点

重なった領域をコピーする場合、部分配列の代入は単純なDO..LOOPとは動作が異なります。 ■実行結果 ■ソース・プログラム 配列生成子にF2003の[,]を使いました。F90の場合はそれぞれ(/,/)となります。 PROGRAM test IMPLICIT NONE INTEGER :: i, ia(10) ia = …