\hypertarget{structIir_1_1Custom_1_1SOSCascade}{}\doxysubsection{Iir\+::Custom\+::S\+O\+S\+Cascade$<$ N\+S\+OS, State\+Type $>$ Struct Template Reference}
\label{structIir_1_1Custom_1_1SOSCascade}\index{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$@{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$}}


{\ttfamily \#include $<$Custom.\+h$>$}

Inheritance diagram for Iir\+::Custom\+::S\+O\+S\+Cascade$<$ N\+S\+OS, State\+Type $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{structIir_1_1Custom_1_1SOSCascade}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade_a0d7f370062345ba03190d8484977d018}{S\+O\+S\+Cascade}} ()
\item 
\mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade_a60654fe4bd861799dff82a6dce9dfd42}{S\+O\+S\+Cascade}} (const double(\&sos\+Coefficients)\mbox{[}N\+S\+OS\mbox{]}\mbox{[}6\mbox{]})
\item 
void \mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade_aae603eb1bd4330411a6003e09ba36efc}{setup}} (const double(\&sos\+Coefficients)\mbox{[}N\+S\+OS\mbox{]}\mbox{[}6\mbox{]})
\end{DoxyCompactItemize}


\doxysubsubsection{Detailed Description}
\subsubsection*{template$<$int N\+S\+OS, class State\+Type = Direct\+Form\+II$>$\newline
struct Iir\+::\+Custom\+::\+S\+O\+S\+Cascade$<$ N\+S\+O\+S, State\+Type $>$}

A custom cascade of 2nd order (S\+OS / biquads) filters. 
\begin{DoxyParams}{Parameters}
{\em N\+S\+OS} & The number of 2nd order filters / biquads. \\
\hline
{\em State\+Type} & The filter topology\+: \mbox{\hyperlink{classIir_1_1DirectFormI}{Direct\+FormI}}, \mbox{\hyperlink{classIir_1_1DirectFormII}{Direct\+Form\+II}}, ... \\
\hline
\end{DoxyParams}


\doxysubsubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{structIir_1_1Custom_1_1SOSCascade_a0d7f370062345ba03190d8484977d018}\label{structIir_1_1Custom_1_1SOSCascade_a0d7f370062345ba03190d8484977d018}} 
\index{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$@{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$}!SOSCascade@{SOSCascade}}
\index{SOSCascade@{SOSCascade}!Iir::Custom::SOSCascade$<$ NSOS, StateType $>$@{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$}}
\doxyparagraph{\texorpdfstring{SOSCascade()}{SOSCascade()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int N\+S\+OS, class State\+Type  = Direct\+Form\+II$>$ \\
\mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade}{Iir\+::\+Custom\+::\+S\+O\+S\+Cascade}}$<$ N\+S\+OS, State\+Type $>$\+::\mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade}{S\+O\+S\+Cascade}} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Default constructor which creates a unity gain filter of N\+S\+OS biquads. Set the filter coefficients later with the \mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade_aae603eb1bd4330411a6003e09ba36efc}{setup()}} method. \mbox{\Hypertarget{structIir_1_1Custom_1_1SOSCascade_a60654fe4bd861799dff82a6dce9dfd42}\label{structIir_1_1Custom_1_1SOSCascade_a60654fe4bd861799dff82a6dce9dfd42}} 
\index{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$@{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$}!SOSCascade@{SOSCascade}}
\index{SOSCascade@{SOSCascade}!Iir::Custom::SOSCascade$<$ NSOS, StateType $>$@{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$}}
\doxyparagraph{\texorpdfstring{SOSCascade()}{SOSCascade()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int N\+S\+OS, class State\+Type  = Direct\+Form\+II$>$ \\
\mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade}{Iir\+::\+Custom\+::\+S\+O\+S\+Cascade}}$<$ N\+S\+OS, State\+Type $>$\+::\mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade}{S\+O\+S\+Cascade}} (\begin{DoxyParamCaption}\item[{const double(\&)}]{sos\+Coefficients\mbox{[}\+N\+S\+O\+S\mbox{]}\mbox{[}6\mbox{]} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Python scipy.\+signal-\/friendly setting of coefficients. Initialises the coefficients of the whole chain of biquads / S\+OS. The argument is a 2D array where the 1st dimension holds an array of 2nd order biquad / S\+OS coefficients. The six S\+OS coefficients are ordered \char`\"{}\+Python\char`\"{} style with first the F\+IR coefficients (B) and then the I\+IR coefficients (A). The 2D const double array needs to have exactly the size \mbox{[}N\+S\+OS\mbox{]}\mbox{[}6\mbox{]}. 
\begin{DoxyParams}{Parameters}
{\em sos\+Coefficients} & 2D array Python style sos\mbox{[}N\+S\+OS\mbox{]}\mbox{[}6\mbox{]}. Indexing\+: 0-\/2\+: F\+I\+R-\/, 3-\/5\+: I\+I\+R-\/coefficients. \\
\hline
\end{DoxyParams}


\doxysubsubsection{Member Function Documentation}
\mbox{\Hypertarget{structIir_1_1Custom_1_1SOSCascade_aae603eb1bd4330411a6003e09ba36efc}\label{structIir_1_1Custom_1_1SOSCascade_aae603eb1bd4330411a6003e09ba36efc}} 
\index{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$@{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$}!setup@{setup}}
\index{setup@{setup}!Iir::Custom::SOSCascade$<$ NSOS, StateType $>$@{Iir::Custom::SOSCascade$<$ NSOS, StateType $>$}}
\doxyparagraph{\texorpdfstring{setup()}{setup()}}
{\footnotesize\ttfamily template$<$int N\+S\+OS, class State\+Type  = Direct\+Form\+II$>$ \\
void \mbox{\hyperlink{structIir_1_1Custom_1_1SOSCascade}{Iir\+::\+Custom\+::\+S\+O\+S\+Cascade}}$<$ N\+S\+OS, State\+Type $>$\+::setup (\begin{DoxyParamCaption}\item[{const double(\&)}]{sos\+Coefficients\mbox{[}\+N\+S\+O\+S\mbox{]}\mbox{[}6\mbox{]} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Python scipy.\+signal-\/friendly setting of coefficients. Sets the coefficients of the whole chain of biquads / S\+OS. The argument is a 2D array where the 1st dimension holds an array of 2nd order biquad / S\+OS coefficients. The six S\+OS coefficients are ordered \char`\"{}\+Python\char`\"{} style with first the F\+IR coefficients (B) and then the I\+IR coefficients (A). The 2D const double array needs to have exactly the size \mbox{[}N\+S\+OS\mbox{]}\mbox{[}6\mbox{]}. 
\begin{DoxyParams}{Parameters}
{\em sos\+Coefficients} & 2D array Python style sos\mbox{[}N\+S\+OS\mbox{]}\mbox{[}6\mbox{]}. Indexing\+: 0-\/2\+: F\+I\+R-\/, 3-\/5\+: I\+I\+R-\/coefficients. \\
\hline
\end{DoxyParams}


The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
iir/Custom.\+h\end{DoxyCompactItemize}
