<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s110100612</article-id>
<article-id pub-id-type="publisher-id">sensors-11-00612</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Simplified Interval Observer Scheme: A New Approach for Fault Diagnosis in Instruments</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Martínez-Sibaja</surname><given-names>Albino</given-names></name><xref ref-type="aff" rid="af1-sensors-11-00612"><sup>1</sup></xref><xref ref-type="corresp" rid="c1-sensors-11-00612"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Astorga-Zaragoza</surname><given-names>Carlos M.</given-names></name><xref ref-type="aff" rid="af2-sensors-11-00612"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Alvarado-Lassman</surname><given-names>Alejandro</given-names></name><xref ref-type="aff" rid="af1-sensors-11-00612"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Posada-Gómez</surname><given-names>Rubén</given-names></name><xref ref-type="aff" rid="af1-sensors-11-00612"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Aguila-Rodríguez</surname><given-names>Gerardo</given-names></name><xref ref-type="aff" rid="af1-sensors-11-00612"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Rodríguez-Jarquin</surname><given-names>José P.</given-names></name><xref ref-type="aff" rid="af1-sensors-11-00612"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Adam-Medina</surname><given-names>Manuel</given-names></name><xref ref-type="aff" rid="af2-sensors-11-00612"><sup>2</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-11-00612">
<label>1</label> Instituto Tecnológico de Orizaba, División de Estudios de Posgrado e Investigación, Av. Oriente 9 No. 852, Col. Emiliano Zapata, 94320 Orizaba, Veracruz, Mexico; E-Mails: <email>lassman@prodigy.net.mx</email> (A.A.-L.); <email>rposada@itorizaba.edu.mx</email> (R.P.-G.); <email>gerardo_aguila03@yahoo.com.mx</email> (G.A.-R.); <email>jprj_02@hotmail.com</email> (J.P.R.-J.)</aff>
<aff id="af2-sensors-11-00612">
<label>2</label> Centro Nacional de Investigación y Desarrollo Tecnológico, Departamento de Ingeniería Electrónica, Interior Internado de Palmira s/n, 69490 Cuernavaca, Morelos, Mexico; E-Mails: <email>astorga@cenidet.edu.mx</email> (C.M.A.-Z.); <email>adam@cenidet.edu.mx</email>(M.A.-M.)</aff>
<author-notes>
<corresp id="c1-sensors-11-00612">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>albino3_mx@yahoo.com.mx</email>; Tel.: +52-272-72-570-56; Fax: +51-272-72-570-56.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>10</day>
<month>1</month>
<year>2011</year></pub-date>
<volume>11</volume>
<issue>1</issue>
<fpage>612</fpage>
<lpage>622</lpage>
<history>
<date date-type="received">
<day>25</day>
<month>11</month>
<year>2010</year></date>
<date date-type="rev-recd">
<day>1</day>
<month>1</month>
<year>2011</year></date>
<date date-type="accepted">
<day>5</day>
<month>1</month>
<year>2010</year></date></history>
<permissions>
<copyright-statement>© 2011 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>There are different schemes based on observers to detect and isolate faults in dynamic processes. In the case of fault diagnosis in instruments (FDI) there are different diagnosis schemes based on the number of observers: the Simplified Observer Scheme (SOS) only requires one observer, uses all the inputs and only one output, detecting faults in one detector; the Dedicated Observer Scheme (DOS), which again uses all the inputs and just one output, but this time there is a bank of observers capable of locating multiple faults in sensors, and the Generalized Observer Scheme (GOS) which involves a reduced bank of observers, where each observer uses all the inputs and m-1 outputs, and allows the localization of unique faults. This work proposes a new scheme named Simplified Interval Observer SIOS-FDI, which does not requires the measurement of any input and just with just one output allows the detection of unique faults in sensors and because it does not require any input, it simplifies in an important way the diagnosis of faults in processes in which it is difficult to measure all the inputs, as in the case of biologic reactors.</p></abstract>
<kwd-group>
<kwd>ADM1</kwd>
<kwd>interval observer</kwd>
<kwd>UASB reactor</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Processes supervision systems for operators have evolved as new techniques of detection and isolation of faults have appeared. Research in this field has also grown as the complexity of industrial processes has grown and this has motivated the development of different focuses for FDI system design.</p>
<p>The diagnosis of faults can be done using observers. One great advantage of the diagnosis schemes based on observers is that in comparison with other methods they are very large schemes. The high level of complexity in current industrial processes has led to a situation where the amount of information generated by these processes can overcome the capacity of analysis of human operators, which hinders decision making [<xref ref-type="bibr" rid="b1-sensors-11-00612">1</xref>,<xref ref-type="bibr" rid="b2-sensors-11-00612">2</xref>]. The most recent supervision systems have the capacity to carry out diagnosis and maintenance functions, in order to guarantee the correct functionality of highly complex processes [<xref ref-type="bibr" rid="b3-sensors-11-00612">3</xref>–<xref ref-type="bibr" rid="b8-sensors-11-00612">8</xref>].</p>
<p>As an example of a process that is hard to supervise, in this work the production of biogas in an anaerobic reactor is used as a case study in which faults are diagnosed and isolated using a scheme based on observers. In many publications about non linear observers for the design of FDI systems, the residuals are based in the error of the estimation obtained by the observer [<xref ref-type="bibr" rid="b9-sensors-11-00612">9</xref>]. In biological processes, due to their non linear nature, in the majority of cases they are not completely observable, therefore it is more appropriate to consider some relationships among parameters, instead of attempting to estimate them individually [<xref ref-type="bibr" rid="b10-sensors-11-00612">10</xref>,<xref ref-type="bibr" rid="b11-sensors-11-00612">11</xref>]. The work presented in [<xref ref-type="bibr" rid="b11-sensors-11-00612">11</xref>] explores a methodology to determine the global state and parameters of biological reactors. The method proposed in the article allows one to formalize the design of asymptotic observers, which are capable of evaluating certain variables of state, which are not measured for the anaerobic digestion process, despite certain doubts about the kinetics of the process. We should mention that asymptotic observers need the information of all the input variables of the process, which it is practically impossible to achieve under normal conditions in the operation of an anaerobic reactor. Overcoming this problem implies knowing all the input variables of an anaerobic reactor and for this purpose an observer by intervals was developed in [<xref ref-type="bibr" rid="b12-sensors-11-00612">12</xref>]. The main characteristic of intervals observers is that they are capable of providing estimations of guaranteed intervals of non measured state variables instead of an exact estimation, if a superior and inferior limit is provided for each one of the input processes.</p></sec>
<sec>
<label>2.</label>
<title>Fault Diagnosis Schemes</title>
<p>Diagnosis schemes based on observers can be classified according the type of fault detected: sensor faults (Instrument Fault Detection or IFD), actuator faults (Actuator Fault Detection or AFD), and component faults (Component Fault Detection or CFD). Diagnosis schemes can also be classified according the number of observers that are used. There are schemes with one observer: a <italic>Direct scheme</italic> is a scheme of just one observer of complete order. The <italic>Simplified Observer Scheme</italic> (SOS), is a scheme of one observer of reduced order. For sensor faults (IFD), the only observer in this scheme uses all the inputs and one output, which only provides simple redundancy and only allows the localization of faults in one sensor. In AFD, the only observer uses all the outputs and just one input. When several observers constitute a bank of observers of reduced order we have a <italic>Dedicated Observer Scheme</italic> (DOS). For faults in sensors (IFD), each observer uses all the inputs and just one output. The number of observers equals the number of outputs (sensors). For actuator faults (AFD) each observer uses one input and all the outputs. It should be mentioned that the DOS scheme allows the localization of multiple faults, either in sensors (IFD) or in actuators (AFD). The <italic>Generalized Observer Scheme</italic> (GOS) is formed by a bank of observers of reduced order. For faults in sensors (IFD), each observer uses all the inputs and m-1 outputs, where m is the number of outputs. For actuator faults (AFD), each observer uses all the outputs and n-1 inputs, n being the number of inputs.</p></sec>
<sec sec-type="methods">
<label>3.</label>
<title>Design and Implementation of a New Diagnosis Scheme: SIOS-IFD</title>
<p>The SIOS-IFD is a scheme with just one interval observator, of reduced order, for faults in sensors. The main advantage of the SIOS-IFD scheme over all the previously presented schemes, is the fact that no input measurements are is required; it is only necessary to have knowledge of the interval of values that the named inputs can reach. SIOS-IFD only allows the localization of faults in one sensor, because it requires the in line measurement of just one output.</p>
<p><xref ref-type="fig" rid="f1-sensors-11-00612">Figure 1</xref> shows a block diagram of the SIOS-IFD. In this figure it can be observed that the SIOS-IFD does not use the inputs <italic>u<sub>i</sub></italic> <italic>(I = 1,2,3,4,…,n)</italic>, but rather just uses one output <italic>(y<sub>3</sub>)</italic> to estimate the other two outputs (<italic>ŷ</italic><sub>1</sub> e <italic>ŷ</italic><sub>2</sub>) and in that way be able to generate the responses: <italic>r</italic><sub>1</sub> = <italic>y</italic><sub>1</sub> – <italic>ŷ</italic><sub>1</sub> y <italic>r</italic><sub>2</sub> = <italic>y</italic><sub>2</sub> – <italic>ŷ</italic><sub>1</sub>.</p></sec>
<sec sec-type="methods">
<label>4.</label>
<title>Mathematical Model of the Anaerobic Reactor Used as Case Study</title>
<p>Next the simplified ADM1 mathematic model of the UASB reactor of the Instituto Tecnológico de Orizaba, Veracruz, México (<xref ref-type="fig" rid="f2-sensors-11-00612">Figure 2</xref>), which is the case study of the project of this article, is presented.</p>
<p>Simplified ADM1 Model:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">pH</mml:mi></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">aD</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>i</mml:mi></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">pH</mml:mi></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mtext>CH</mml:mtext>
<mml:mn>4</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi></mml:mrow>
<mml:mrow>
<mml:mtext>CH</mml:mtext>
<mml:mn>4</mml:mn></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">K</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">m</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">s</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">I</mml:mi></mml:mrow>
<mml:mrow>
<mml:mtext>pH</mml:mtext></mml:mrow></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">Q</mml:mi></mml:mrow>
<mml:mrow>
<mml:mtext>CH</mml:mtext>
<mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>with:
<disp-formula>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>K</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">pH</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi>I</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">pH</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>*</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mn>0.5</mml:mn>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">pH</mml:mi>
<mml:mi mathvariant="italic">LL</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">pH</mml:mi>
<mml:mi mathvariant="italic">UL</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">pH</mml:mi>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">pH</mml:mi>
<mml:mi mathvariant="italic">UL</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">pH</mml:mi>
<mml:mi mathvariant="italic">LL</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">pH</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <italic>x</italic><sub>1</sub> is the concentration of the anaerobic mass, <italic>s</italic><sub>1</sub> is the concentration of organic matter expressed as chemic oxygen demand (COD), <italic>Q<sub>CH4</sub></italic> is the exiting flux of methane biogas, <italic>D(t)</italic> is the rate of dilution, <italic>K<sub>m1</sub></italic>, <italic>K<sub>d</sub></italic> y <italic>K<sub>s1</sub></italic> are the specific rates of growth of anaerobic mass, the dilution rate of the anaerobic reactor and the constant decrease of semisaturation for the anaerobic biomass, respectively. <italic>Y<sub>1</sub></italic> is the coefficient of performance for the degradation of COD, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>i</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the concentration of COD in the affluent, <italic>I<sub>PH</sub></italic> represents the <italic>pH</italic> inhibition, where <italic>pH<sub>LL</sub></italic> and <italic>pH<sub>UL</sub></italic> are the lower and higher <italic>pH</italic> limits, respectively. The values of the model parameters are shown in <xref ref-type="table" rid="t1-sensors-11-00612">Table 1</xref>.</p></sec>
<sec sec-type="methods">
<label>5.</label>
<title>Interval Observer Designed for the SIOS-IFD Scheme</title>
<p>In this section the design of the interval observer designed for the IOS – IFD scheme is presented. The designed interval observer is capable of stimating value <italic>x<sub>1</sub></italic> y <italic>Q<sub>CH4</sub></italic> from the in-line measurement of <italic>s<sub>1</sub></italic>. It should be emphasized that the designed interval observer does not require any measurement of the reactor input variables. The first necessary condition for the design of an interval observer is that a hypothetic observer of known inputs must exist, called base observer. In order to satisfy this first condition, the asymptotic observer presented next was designed.</p>
<p>The model described by the set of differential non linear <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> can be rewritten in the following way:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="normal">Q</mml:mi>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">CH</mml:mi>
<mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>s</mml:mi>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">Cf</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula>with:
<disp-formula>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>C</mml:mi>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>C</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">CH</mml:mi>
<mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">aD</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mi>d</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>b</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd columnalign="left">
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>⋮</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>i</mml:mi></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <italic>x</italic>(<italic>t</italic>) ∈ ℜ<italic><sup>n</sup></italic> is the state vector, C ∈ ℜ<italic><sup>m×n</sup></italic> is the matrix of performance coefficients and f(<italic>x</italic>(<italic>t</italic>), t) ∈ ℜ<italic><sup>m</sup></italic> is the vector that contains the non linearity of the model, which are assumed to be totally unknown, the time variant matrix <italic>A</italic>(<italic>t</italic>) ∈ ℜ<italic><sup>n×n</sup></italic> is the matrix of state and <italic>b</italic>(<italic>t</italic>) ∈ ℜ<italic><sup>n</sup></italic> is the vector of the observer entries.</p>
<p>The asymptotic observer is designed under the assumption that all inputs are known, and <italic>m</italic> measures states on-line. Thereby the the space of states can be divided in such way that <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref> can be rewritten as:
<disp-formula>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mo>□</mml:mo></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi></mml:mrow>
<mml:mn mathvariant="italic">1</mml:mn></mml:msub>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn mathvariant="italic">11</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn mathvariant="italic">1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn mathvariant="italic">12</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn mathvariant="italic">2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mn mathvariant="italic">1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mo>□</mml:mo></mml:mrow>
<mml:mn mathvariant="italic">2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi></mml:mrow>
<mml:mn mathvariant="italic">2</mml:mn></mml:msub>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn mathvariant="italic">21</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">v</mml:mi></mml:mrow>
<mml:mn mathvariant="italic">1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn mathvariant="italic">22</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn mathvariant="italic">2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mn mathvariant="italic">2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where the <italic>m</italic> measured states are regrouped in vector <italic>v<sub>2</sub>(t) (dim v<sub>2</sub>(t) = m)</italic> and the variables that will be estimated are represented by <italic>v<sub>1</sub>(t) (dim v<sub>1</sub>(t) = s = n – m)</italic>. The matrices <italic>A</italic><sub>11</sub>(<italic>t</italic>) ∈ ℜ<sup><italic>s</italic>×<italic>s</italic></sup>, <italic>A</italic><sub>12</sub>(<italic>t</italic>) ∈ ℜ<sup><italic>s</italic>×<italic>m</italic></sup>, <italic>A</italic><sub>21</sub>(<italic>t</italic>) ∈ ℜ<sup><italic>m</italic>×<italic>s</italic></sup>, <italic>A</italic><sub>22</sub>(<italic>t</italic>) ∈ ℜ<sup><italic>m</italic>×<italic>m</italic></sup>, <italic>C</italic><sub>1</sub> ∈ ℜ<sup><italic>s</italic>×<italic>r</italic></sup>, <italic>C</italic><sub>2</sub> ∈ ℜ<sup><italic>m</italic>×<italic>r</italic></sup>, <italic>b</italic><sub>1</sub> ∈ ℜ<italic><sup>s</sup></italic> <italic>y b</italic><sub>2</sub> ∈ ℜ<italic><sup>m</sup></italic> are the corresponding partitions of <italic>A</italic>(<italic>t</italic>), <italic>C y b</italic>(<italic>t</italic>), respectively.</p>
<p><xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> represents the asymptonic observer that was designed for the anaerobic reactor described for the <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mi>W</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>𝒼</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">Nb</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>with:
<disp-formula>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi>W</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>𝒼</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>W</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>In the design of this asymptonic observer, it was assumed that the rate of dilution D, and the inputs to the digestor are considered as knowntherefore A(t) y b(t) are known ∀ <italic>t</italic> ≥ 0. The asymptonic observer 1 was designed assuming <italic>s<sub>1</sub></italic> as the only state measured on-line, meaning, <italic>v<sub>2</sub>(t) =</italic> [<italic>s<sub>1</sub></italic>] <italic>(dim v<sub>2</sub>(t) = 1),</italic> while <italic>x<sub>1</sub></italic> y <italic>s<sub>1</sub></italic> were assumed as estimated states, meaning <italic>v<sub>1</sub>(t) =</italic> [<italic>x<sub>1</sub> Q<sub>CH4</sub></italic>]<sup>T</sup> <italic>(dim v<sub>1</sub>(t) = 2)</italic>. For the calculation of the matrix <italic>N</italic>, <italic>N<sub>1</sub></italic> was arbitrarily chosen as an identity matrix, to calculate <italic>N<sub>2</sub></italic> in the following way: <italic>N</italic><sub>2</sub>= –<italic>N</italic><sub>1</sub><italic>C</italic><sub>1</sub><italic>C</italic><sub>2</sub><sup>§</sup>, (where <italic>C</italic><sub>2</sub><sup>§</sup> is the pseudo reverse generalization of <italic>C<sub>2</sub></italic>), thus obtaining the following result:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">CH</mml:mi>
<mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Substituting <italic>N<sub>1</sub></italic> and <italic>N<sub>2</sub></italic> in <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref>, the following is obtained:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">aD</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Finally, <italic>W<sub>e</sub><sup>+</sup></italic> was calculated using the minimum value of the dilution rate <italic>D(t)</italic> = 0.01, obtaining:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi></mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.025</mml:mn></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p><italic>W<sub>e</sub><sup>−</sup></italic> was calculated using the maximun value of the dilution value <italic>D(t)</italic> = 1, obtaining:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi></mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.52</mml:mn></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>The eigenvalues of <italic>W<sub>e</sub><sup>+</sup></italic> y <italic>W<sub>e</sub><sup>−</sup></italic> are, respectively:
<disp-formula>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi>λ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi></mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.025</mml:mn></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>λ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>W</mml:mi></mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>0.52</mml:mn></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Now, in order to make the observer asymptotically stable, the following conditions must be fulfilled:
<list list-type="alpha-lower">
<list-item>
<p><italic>W<sub>e</sub><sup>−</sup><sub>i,j</sub></italic> ≥ 0 ∀<italic>i</italic> ≠ <italic>j</italic>.</p></list-item>
<list-item>
<p><italic>W<sub>e</sub><sup>+</sup></italic> <italic>y W<sub>e</sub><sup>−</sup></italic> must be stable.</p></list-item></list></p>
<p>Since both conditions are fulfilled, the observer is asymptotically stable. Next the design of an interval observer based on the designed asymptotic observer is presented. Once the asymptotic observer that will work as base observer have been designed, we continued with the design of the interval observer, which is based in the supposition that the values of the input vector <italic>b(t)</italic> are unknown, but their upper limit <italic>b</italic><sup>+</sup><italic>(t)</italic> and lower limit <italic>b</italic><sup>−</sup><italic>(t)</italic> are known, so <italic>b</italic><sup>−</sup><italic>(t)</italic> ≤ <italic>b(t)</italic> ≤ <italic>b</italic><sup>+</sup><italic>(t)</italic>. Thus, the asymptotic observer presented in <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> works as a structure base to build the next interval observer:</p>
<p>For the upper limit:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>W</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>𝒼</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>M</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
<p>For the lower limit:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>˙</mml:mo></mml:mover></mml:mrow>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>W</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>𝒼</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>M</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>v</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo stretchy="true">^</mml:mo></mml:mover></mml:mrow></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:msup>
<mml:mrow/>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>where:
<disp-formula>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi>M</mml:mi>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mo> </mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo>|</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mo>+</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mrow>
<mml:mi>β</mml:mi></mml:mrow>
<mml:mo>−</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>+</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>−</mml:mo></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The convergence of the interval observer is based in the principal of cooperation defined by [<xref ref-type="bibr" rid="b13-sensors-11-00612">13</xref>] (see Lema 1). Let <italic>ẽ</italic><sup>+</sup>(<italic>t</italic>) = <italic>v̂</italic><sub>1</sub><sup>+</sup> – <italic>v</italic><sub>1</sub> y <italic>ẽ<sup>−</sup></italic>(<italic>t</italic>) = <italic>v</italic><sub>1</sub> – <italic>v̂</italic><sub>1</sub><sup>−</sup> be the errors of estimation associated with <xref ref-type="disp-formula" rid="FD4">Equations (4)</xref> and <xref ref-type="disp-formula" rid="FD5">(5)</xref>, respectively. The follwoing expression represents the dynamics of those errors:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mover accent="true">
<mml:mover accent="true">
<mml:mi>e</mml:mi>
<mml:mo>˜</mml:mo></mml:mover>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mo>*</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>e</mml:mi>
<mml:mo>˜</mml:mo></mml:mover></mml:mrow>
<mml:mo>*</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>Ω</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></disp-formula></p>
<p>It uses <italic>ẽ</italic>*(<italic>t</italic>) to refer to any of the errors <italic>ẽ<sup>+</sup></italic>(<italic>t</italic>) o <italic>ẽ<sup>−</sup></italic>(<italic>t</italic>) so that their dynamics have the same mathematical structure. In the previous equation Ω* = <italic>N</italic><sub>1</sub><sup>−1</sup> <italic>N</italic>(<italic>b</italic><sup>+</sup>(<italic>t</italic>) – <italic>b</italic>(<italic>t</italic>)) for the case of the upper limit, while Ω* = <italic>N</italic><sub>1</sub><sup>−1</sup> <italic>N</italic>(<italic>b</italic>(<italic>t</italic>) – <italic>b</italic><sup>−</sup>(<italic>t</italic>)) for the case of lower limit</p>
<p><italic>Lema 1</italic> [<xref ref-type="bibr" rid="b11-sensors-11-00612">11</xref>]</p>
<p>In <italic>ω̇</italic> = <italic>f</italic> (ω, <italic>t</italic>). The system it is cooperative if 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mi>h</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>ω</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ω</mml:mi></mml:mrow>
<mml:mi>d</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo>≥</mml:mo>
<mml:mo> </mml:mo>
<mml:mn>0</mml:mn>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>∀</mml:mo>
<mml:mi>h</mml:mi>
<mml:mo> </mml:mo>
<mml:mo>≠</mml:mo>
<mml:mo> </mml:mo>
<mml:mi>d</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
<p>This implies that if <italic>ω</italic>(0) ≥ 0 then <italic>ω</italic>(<italic>t</italic>) ≥ 0 ∀<italic>t</italic> ≥ 0. Therefore, if the initial conditions of the estimated variables are unknown but have their limits organized as: <italic>v̂</italic><sub>1</sub><sup>−</sup>(0) ≤ <italic>v</italic><sub>1</sub>(0) ≤ <italic>v̂</italic><sub>1</sub><sup>+</sup> (0) then <italic>ẽ*</italic>(0) ≥ 0. Besides, if the system (6) is cooperative, the matrix <italic>W<sub>e</sub></italic> is stable (Hurwitz) and if Ω* is positive (or zero), it can be guaranteed that <italic>ẽ</italic>*(<italic>t</italic>) ≥ 0 ∀<italic>t</italic> ≥ 0, and in consequence: <italic>v̂</italic><sub>1</sub><sup>−</sup>(<italic>t</italic>) ≤ <italic>v</italic><sub>1</sub>(<italic>t</italic>) ≤ <italic>v̂</italic><sub>1</sub><sup>+</sup>(<italic>t</italic>) ∀<italic>t</italic> ≥ 0 [<xref ref-type="bibr" rid="b12-sensors-11-00612">12</xref>].</p></sec>
<sec sec-type="results">
<label>6.</label>
<title>Experimental Results of the Interval Observer</title>
<p>To experimentally verify the operation of the developed interval observer, the anaerobic digester was fed with wastewater from a brewery, which had maximum values of 3 gCOD/L and minimum values of 2 g COD/L, these values are based to the digester being accustomed to consume 3 gCOD/L. If the concentration of the water is greater than this, it can be diluted to achieve the desired value, but if it is lesser, it will be difficult to remove excess water to achieve the desired value, being in the worst case a concentration of 2 gCOD/L. The dilution rate is bounded by a maximum value of 0.74 d<sup>−1</sup> and minimum value of 0.26 d<sup>−1</sup> (these parameters were obtained experimentally by applying to the plant a positive bounded control as explained by Zavala [<xref ref-type="bibr" rid="b14-sensors-11-00612">14</xref>], which sets the value of D by reference to the values of 3 g COD/L and 2 g COD/L for S1, these being the maximum and minimum value that is generated from D). The concentration of organic matter in the effluent (s1) was measured on-line to estimate x1 and <italic>Q<sub>CH4</sub></italic>. <xref ref-type="fig" rid="f3-sensors-11-00612">Figure 3</xref> shows the convergence of the range observer for the concentration of anaerobic mass x1; <xref ref-type="fig" rid="f4-sensors-11-00612">Figure 4</xref> shows the curves, and on-line measurement for the methane biogas flow <italic>Q<sub>CH4</sub></italic>.</p></sec>
<sec sec-type="results">
<label>7.</label>
<title>Experimental Results of the SIOS-IFD</title>
<p>The developed SIOS-IFD scheme is able to detect unique, sudden and permanent faults in sensors <italic>s<sub>1</sub></italic>, <italic>x<sub>1</sub></italic> and <italic>Q<sub>CH4</sub></italic>, from response <italic>r</italic><sub>1</sub> = <italic>y</italic><sub>1</sub> – <italic>ŷ</italic><sub>1</sub> and response <italic>r</italic><sub>2</sub> = <italic>y</italic><sub>2</sub> – <italic>ŷ</italic><sub>2</sub>, being <italic>y<sub>1</sub></italic> = <italic>x<sub>1</sub></italic> and <italic>y<sub>2</sub></italic> = <italic>Q<sub>CH4</sub></italic>.</p>
<p><xref ref-type="fig" rid="f5-sensors-11-00612">Figure 5</xref> shows the responses to a single, sudden and permanent fault, +5% in the sensor s<sub>1</sub>, on day 45 of experimentation. This figure shows that both responses have faults on day 45, because both <italic>◯</italic><sub>1</sub> and <italic>Q̂</italic><sub><italic>CH</italic>4</sub>, have been estimated from <italic>s<sub>1</sub></italic> so the two estimates are wrong from the moment in which the fault of <italic>s<sub>1</sub></italic> occurs.</p>
<p><xref ref-type="fig" rid="f6-sensors-11-00612">Figure 6</xref> shows that each of the responses generated by the diagnostic scheme developed are filtered through a moving window averaging filter. Subsequently, each filteredresponse is evaluated by a threshold detector. The output of each threshold detector is connected to a display, which can only display one of the following values: −1, 0 or 1. The value “−1” indicates that the response reached a value averaged less than the threshold, so, the response had a negative average change. Similarly, the value “1” indicates that the response had an average positive change. Finally, the value “0” indicates that either the responses does not have any media change; or rather variations in their average values were below preset thresholds.</p>
<p>The array of symptoms presented in <xref ref-type="fig" rid="f6-sensors-11-00612">Figure 6</xref> [<xref ref-type="bibr" rid="b11-sensors-11-00612">11</xref>] is the result of the evaluation of the responses generated by the fault diagnosis scheme developed for the example of a single, sudden and permanent fault of +5% in sensor<italic>s<sub>1</sub></italic>. These responses were shown in <xref ref-type="fig" rid="f5-sensors-11-00612">Figure 5</xref>.</p>
<p><xref ref-type="table" rid="t2-sensors-11-00612">Table 2</xref> presents the Structured Diagnostic Matrix for unique faults in the sensors <italic>s<sub>1</sub></italic>, <italic>x<sub>1</sub></italic> y <italic>Q<sub>CH4</sub></italic>, obtained from the developed response assessment scheme.</p>
<p>Shaded In <xref ref-type="table" rid="t2-sensors-11-00612">Table 2</xref> is symptom vector [<xref ref-type="bibr" rid="b11-sensors-11-00612">11</xref>], which is the result of the evaluation of the response generated by the fault diagnosis scheme developed for the example of a single, sudden and permanent fault of +5% in the sensor <italic>s<sub>1</sub></italic>. In this same Table it can be seen that there is a different symptom vector for each single, sudden and permanent fault in sensors <italic>s<sub>1</sub></italic>, <italic>x<sub>1</sub></italic> y <italic>Q<sub>CH4</sub></italic>.</p></sec>
<sec sec-type="conclusions">
<label>8.</label>
<title>Conclusions</title>
<p>In this article experimental and simulation results of a novel system of diagnosis of faults in sensors are presented. It has been named as SIOS-IFD (Simplified Observer Interval Scheme—Instrument Fault Detection). The main advantage of the SIOS-IFD scheme in comparison with all the other schemes presented above is the fact that the measurement does not require any input, only knowledge of the range of values that such targets can achieve is required. The SIOS-IFD scheme only allows the location of a single sensor fault, for which it requires the in-line measurement in a single output.</p></sec></body>
<back>
<ref-list>
<title>References</title>
<ref id="b1-sensors-11-00612"><label>1.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Dietynecki</surname><given-names>M.</given-names></name></person-group><source>Árboles de decisión borrosos y su aplicación a la indexación multimedia</source><publisher-name>CNRS</publisher-name><publisher-loc>Tolouse, France</publisher-loc><year>2003</year></citation></ref>
<ref id="b2-sensors-11-00612"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Noel</surname><given-names>S.</given-names></name><name><surname>Jajodia</surname><given-names>S.</given-names></name></person-group><article-title>Managing attack graph complexity through visual hierarchical aggregation</article-title><conf-name>Proceedings of the 2004 ACM Workshop on Visualization and Data Mining for Computer Security</conf-name><conf-loc>New York, NY, USA</conf-loc><conf-date>2004</conf-date><fpage>109</fpage><lpage>118</lpage></citation></ref>
<ref id="b3-sensors-11-00612"><label>3.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>L.</given-names></name><name><surname>Chu</surname><given-names>J.</given-names></name><name><surname>Mao</surname><given-names>W.</given-names></name><name><surname>Fu</surname><given-names>Y.</given-names></name></person-group><article-title>Advanced maintenance strategy for power plants- introducing intelligent maintenance system</article-title><conf-name>Proceedings of the 6th Congress on Intelligent Control and Automation</conf-name><conf-loc>Beijing, China</conf-loc><conf-date>2006</conf-date></citation></ref>
<ref id="b4-sensors-11-00612"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hu</surname><given-names>Q.</given-names></name><name><surname>He</surname><given-names>Z.J.</given-names></name><name><surname>Zhang</surname><given-names>Z.S.</given-names></name><name><surname>Zi</surname><given-names>Y.</given-names></name><name><surname>Lei</surname><given-names>Y.G.</given-names></name></person-group><article-title>A novel hybrid intelligent maintenance system and its application</article-title><source>Proc. IEEE</source><year>2005</year><volume>2</volume><fpage>863</fpage><lpage>867</lpage></citation></ref>
<ref id="b5-sensors-11-00612"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lardon</surname><given-names>L.</given-names></name><name><surname>Punal</surname><given-names>A.</given-names></name><name><surname>Steyer</surname><given-names>J.P.</given-names></name></person-group><article-title>On-Line diagnosis and uncertainty management using evidence theory—Experimental illustration to anaerobic digestion processes</article-title><source>J. Process. Control</source><year>2004</year><volume>14</volume><fpage>747</fpage><lpage>763</lpage><pub-id pub-id-type="doi">10.1016/j.jprocont.2003.12.007</pub-id></citation></ref>
<ref id="b6-sensors-11-00612"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Steyer</surname><given-names>J.P.</given-names></name><name><surname>Lardon</surname><given-names>L.</given-names></name><name><surname>Bernard</surname><given-names>O.</given-names></name></person-group><article-title>Sensors networks and uncertainty management in anaerobic digestion processes</article-title><conf-name>Proceedings of 2nd International IWA Conference on Automation in Water Quality Monitoring AutMoNet</conf-name><conf-loc>Vienna, Austria</conf-loc><conf-date>2004</conf-date><fpage>117</fpage><lpage>124</lpage></citation></ref>
<ref id="b7-sensors-11-00612"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kleer</surname><given-names>J. de</given-names></name><name><surname>Kurlen</surname><given-names>J.</given-names></name></person-group><article-title>Fundamentals of model-based diagnosis</article-title><conf-name>Proceedings of Safeprocess 03</conf-name><conf-loc>Washington, DC, USA</conf-loc><conf-date>June 2003</conf-date></citation></ref>
<ref id="b8-sensors-11-00612"><label>8.</label><citation citation-type="other"><person-group person-group-type="author"><name><surname>Dumont.</surname><given-names>G.</given-names></name></person-group><article-title>Coopération et évaluation cognitive d’agents artificiels pour la supervision</article-title><comment>Ph.D. Thesis,</comment><publisher-name>L’Institut National des Sciences Appliquées de Toulouse</publisher-name><publisher-loc>Toulouse, France</publisher-loc><year>2005</year></citation></ref>
<ref id="b9-sensors-11-00612"><label>9.</label><citation citation-type="other"><person-group person-group-type="author"><name><surname>Alcorta</surname><given-names>E.</given-names></name></person-group><article-title>Modellgestützte residuengenerierung für die diagnose von additiven und multiplikativen fehlern in dynamischen systemen</article-title><comment>Ph.D. Tesis,</comment><publisher-name>University of Duisburg-Essen</publisher-name><publisher-loc>Duissburg essen, Germany</publisher-loc><year>1999</year></citation></ref>
<ref id="b10-sensors-11-00612"><label>10.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Aceves-Lara</surname><given-names>C.A.</given-names></name><name><surname>Aguilar-Garnica</surname><given-names>E.</given-names></name><name><surname>Alcaraz-González</surname><given-names>V.</given-names></name><name><surname>González-Reynoso</surname><given-names>O.</given-names></name><name><surname>Steyer</surname><given-names>J.P.</given-names></name><name><surname>González-Álvarez</surname><given-names>V.</given-names></name></person-group><article-title>Kinetic and yield parameters estimation in an anaerobic digestion process using successive quadratic programming (SQP)</article-title><conf-name>Proceedings of 10th IWA World Congress on Anaerobic Digestion (AD10)</conf-name><conf-loc>Montreal, QC, Canada</conf-loc><conf-date>29 August–2 September 2004</conf-date><volume>3</volume><fpage>1329</fpage><lpage>1334</lpage></citation></ref>
<ref id="b11-sensors-11-00612"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dochain</surname><given-names>D.</given-names></name></person-group><article-title>State and parameter estimation in chemical and biochemical processes: A tutorial</article-title><source>J. Process Control</source><year>2003</year><volume>13</volume><fpage>801</fpage><lpage>818</lpage><pub-id pub-id-type="doi">10.1016/S0959-1524(03)00026-X</pub-id></citation></ref>
<ref id="b12-sensors-11-00612"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Alcaraz-González</surname><given-names>V.</given-names></name><name><surname>Harmand</surname><given-names>J.</given-names></name><name><surname>Rapaport</surname><given-names>A.</given-names></name><name><surname>Steyer</surname><given-names>J.P.</given-names></name><name><surname>González-A</surname><given-names>V.</given-names></name><name><surname>Pelayo-O</surname><given-names>C.</given-names></name></person-group><article-title>Application of a robust interval observer to an anaerobic digestion process. Developments in Chemical Engineering and Mineral Processing</article-title><source>Aust. J. Agr. Res</source><year>2005</year><volume>13</volume><fpage>267</fpage><lpage>278</lpage></citation></ref>
<ref id="b13-sensors-11-00612"><label>13.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Smith</surname><given-names>H.L.</given-names></name></person-group><source>Monotone Dynamical Systems. An Introduction to the Theory of Competitive and Cooperative Systems</source><publisher-name>AMS Mathematical Surveys and Monographs</publisher-name><publisher-loc>Washington, DC, USA</publisher-loc><year>1995</year><fpage>31</fpage><lpage>53</lpage></citation></ref>
<ref id="b14-sensors-11-00612"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zavala-Rio</surname><given-names>A.</given-names></name><name><surname>Astorga-Zaragoza</surname><given-names>C.M.</given-names></name><name><surname>Hernández-Gnzalez</surname><given-names>O.</given-names></name></person-group><article-title>Bounded positive control for double-pipe heat exchangers</article-title><source>Contr. Eng. Pract. J</source><year>2009</year><volume>17</volume><fpage>136</fpage><lpage>145</lpage><pub-id pub-id-type="doi">10.1016/j.conengprac.2008.05.011</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-11-00612" position="float">
<label>Figure 1.</label>
<caption>
<p>SIOS-IFD.</p></caption>
<graphic xlink:href="sensors-11-00612f1.gif"/></fig>
<fig id="f2-sensors-11-00612" position="float">
<label>Figure 2.</label>
<caption>
<p>UASB reactor.</p></caption>
<graphic xlink:href="sensors-11-00612f2.gif"/></fig>
<fig id="f3-sensors-11-00612" position="float">
<label>Figure 3.</label>
<caption>
<p>Estimation of the concentration of anaerobic mass x1.</p></caption>
<graphic xlink:href="sensors-11-00612f3.gif"/></fig>
<fig id="f4-sensors-11-00612" position="float">
<label>Figure 4.</label>
<caption>
<p>Estimation of methane biogas flow <italic>Q<sub>CH4</sub></italic>.</p></caption>
<graphic xlink:href="sensors-11-00612f4.gif"/></fig>
<fig id="f5-sensors-11-00612" position="float">
<label>Figure 5.</label>
<caption>
<p>Responses to a single sudden and permanent fault, +5% in the sensor <italic>s<sub>1</sub></italic>.</p></caption>
<graphic xlink:href="sensors-11-00612f5.gif"/></fig>
<fig id="f6-sensors-11-00612" position="float">
<label>Figure 6.</label>
<caption>
<p>Developed response assessment scheme.</p></caption>
<graphic xlink:href="sensors-11-00612f6.gif"/></fig>
<table-wrap id="t1-sensors-11-00612" position="float">
<label>Table 1.</label>
<caption>
<p>Model Parameters.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="middle"><bold>Parameter</bold></th>
<th align="left" valign="middle"><bold>Value and units</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top"><italic>K<sub>m1</sub></italic></td>
<td align="left" valign="top">5.1 gCOD/gCOD d</td></tr>
<tr>
<td align="left" valign="top"><italic>K<sub>s1</sub></italic></td>
<td align="left" valign="top">0.5 gCOD/L</td></tr>
<tr>
<td align="left" valign="top"><italic>K<sub>d</sub></italic></td>
<td align="left" valign="top">0.02 L/d</td></tr>
<tr>
<td align="left" valign="top"><italic>Y<sub>1</sub></italic></td>
<td align="left" valign="top">0.1 gCOD/gCOD</td></tr>
<tr>
<td align="left" valign="top"><italic>Y<sub>CH4</sub></italic></td>
<td align="left" valign="top">0.35 LCH<sub>4</sub>/gCOD</td></tr>
<tr>
<td align="left" valign="top"><italic>a</italic></td>
<td align="left" valign="top">0.5 (adimensional)</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-11-00612" position="float">
<label>Table 2.</label>
<caption>
<p>Structured Diagnostic Matrix.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th align="center" valign="top"/>
<th align="center" valign="top" content-type="background-color:#D9D9D9"><bold>Fault <italic>s<sub>1</sub></italic> +5%</bold></th>
<th align="center" valign="top"><bold>Fault <italic>s<sub>1</sub></italic> −5%</bold></th>
<th align="center" valign="top"><bold>Fault <italic>x<sub>1</sub></italic> +5%</bold></th>
<th align="center" valign="top"><bold>Fault <italic>x<sub>1</sub></italic> −5%</bold></th>
<th align="center" valign="top"><bold>Fault <italic>Q<sub>CH4</sub></italic> +5%</bold></th>
<th align="center" valign="top"><bold>Fault <italic>Q<sub>CH4</sub></italic> −5%</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">r<sub>1</sub></td>
<td align="center" valign="top" content-type="background-color:#D9D9D9">1</td>
<td align="center" valign="top">−1</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">−1</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td></tr>
<tr>
<td align="center" valign="top">r<sub>2</sub></td>
<td align="center" valign="top" content-type="background-color:#D9D9D9">1</td>
<td align="center" valign="top">−1</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">−1</td></tr></tbody></table></table-wrap></sec></back></article>
