Bartlett.java
/*
* $Id: Bartlett.java,v 1.10 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> Bartlett window
*
* @author koga
* @version $Revision: 1.10 $
* @see org.mklab.tool.signal.Blackman
* @see org.mklab.tool.signal.Boxcar
*/
public class Bartlett {
/**
* <code>length</code>点のバートレット窓を返します。
*
* @param length 窓の長さ
* @return バートレット窓 (bartlett window)
*/
public static DoubleMatrix bartlett(int length) {
DoubleMatrix win = new DoubleMatrix(IntMatrix.series(0, (length - 1) / 2)).multiply(2.0).divide(length - 1);
if (length % 2 != 0) {
win = win.appendRight(win.getSubVector(IntMatrix.series((length - 1) / 2, 1)));
} else {
win = win.appendRight(win.getSubVector(IntMatrix.series(length / 2, 1)));
}
return win;
}
}