/* * ===================================================================================== * * Filename: filter.cpp * * Description: Class for FIR and IIR filters * * Version: 1.0 * Created: 03/31/2017 02:40:02 PM * Revision: none * Compiler: gcc * * Author: Martin Miller (MHM), miller7@illinois.edu * Organization: Aerospace Robotics and Controls Lab (ARC) * * ===================================================================================== */ #include "filter.h" /* *-------------------------------------------------------------------------------------- * Class: Filter * Method: Filter * Description: constructor *-------------------------------------------------------------------------------------- */ Filter::Filter (const VectorXd &b, const VectorXd &a) { int rows = b.rows()+a.rows(); F = Matrix::Zero(rows,1); F.head(b.rows()) = b; F.segment(b.rows(),a.rows()) = -a; Vector3d z; z << 0,0,0; for (int i=0; i M; int rows = X.size() + Y.size(); M = Matrix::Zero(rows,3); int row = 0; for (auto i=X.begin(); i!=X.end(); ++i,++row) { M.row(row) = *i; } for (auto i=Y.begin(); i!=Y.end(); ++i,++row) { M.row(row) = *i; } return M; }