Hanning.java
/*
* $Id: Hanning.java,v 1.9 2008/03/08 00:17:40 koga Exp $
*
* Copyright (C) 2004 Koga Laboratory. All rights reserved.
*/
package org.mklab.tool.signal;
import org.mklab.nfc.matrix.DoubleMatrix;
import org.mklab.nfc.matrix.IntMatrix;
/**
* ハニング窓を求めるクラスです。
*
* <p>Hanning window
*
* @author koga
* @version $Revision: 1.9 $
* @see org.mklab.tool.signal.Hamming
*/
public class Hanning {
/**
* <code>length</code>点ハニング窓を返します。
*
* @param length 窓の長さ
* @return ハニング窓 (hanning window)
*/
public static DoubleMatrix hanning(int length) {
DoubleMatrix window = new DoubleMatrix(IntMatrix.series(1, length)).multiply(2 * Math.PI / (length + 1)).cosElementWise().multiply(0.5).unaryMinus().addElementWise(0.5);
return window;
}
}