たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

2021-06-01から1ヶ月間の記事一覧

sys.float_info.minと配列代入の罠 - numpy float32

sys.float_info.min (とても小さい値) を代入しても何故か0.になる。logが死ぬ。 データ型を疎かにしてたらハマった. 再現コード float_array = numpy.array([1., 2.,], dtype=np.float32) tiny = sys.float_info.min print(float_array) # [1. 2.] float_ar…

librosaとscipyでFFTをマッチさせる

背景 librosaはSTFTがとっても便利。 プリミティブにFFTをしようと思ったらscipy.fft.rfftになる. この2つ、同じ動作するのだろうか? 動作 デフォルト動作だと違う動きをする. 以下が同じ動作をする librosa.stft(x_full, n_fft=n_fft, window="boxcar", ce…

離散信号のメル化が抱える難点

必ず周波数分解能が落ちる なんで? 離散の周波数成分1つは、それ以上分割できないquantumだから。 高周波成分の分解能を粗くすれば低周波を逆に精密に記述できる!…わけではない. 離散信号はもう周波数の離散化/量子化がなされてるので、post-hocに取り出せ…

ビット分割

n-bitの整数を整数の組み合わせで表現する方法. 上位ビット/下位ビットみたいなやつ. 表現 6bit == 26 == 0~63 これを上位3bitと下位3bitに分割し、そのペアで表現する. (3bit, 3bit) == (23, 23) == (0~8, 0~8) 変換法 上位decimal = valuedecial // 2nbit/…

Windows user-kernel I/O

Windowsにおいて、ユーザーモードとカーネルモード間でデータ転送を行う手法. Buffered I/O: user-mode Buffer, kernel-mode nonpaged Buffer, then an I/O manager transfers contents between buffers Direct I/O: user-mode Buffer, kernel-mode MDL whic…