<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 rel. 3 U (http://www.altova.com) by Eugene Song (NIST) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:stml="http://localhost/1451HTTPAPI" targetNamespace="http://localhost/1451HTTPAPI" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="SmartTransducerDataModel.xsd"/>
	<xs:element name="TransferFunctionTEDS" type="stml:TransferFunctionTEDSType"/>
	<xs:complexType name="TransferFunctionTEDSDatBlockType">
		<xs:annotation>
			<xs:documentation>Structure of the transfer function TEDS data block</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="TEDSID">
				<xs:annotation>
					<xs:documentation>TEDS Identification Header</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="3"/>
						<xs:element name="Length" type="xs:short" default="4"/>
						<xs:element name="Value" type="stml:UInt8Array"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="RefFreq">
				<xs:annotation>
					<xs:documentation>Reference frequency</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="10"/>
						<xs:element name="Length" type="xs:short" default="4"/>
						<xs:element name="Value" type="stml:Float32"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="OneZero">
				<xs:annotation>
					<xs:documentation>Single zero TF_SZ</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="11"/>
						<xs:element name="Length" type="xs:short" default="4"/>
						<xs:element name="Value" type="stml:Float32"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="OnePole">
				<xs:annotation>
					<xs:documentation>Single pole TF_SP</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="12"/>
						<xs:element name="Length" type="xs:short" default="4"/>
						<xs:element name="Value" type="stml:Float32"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ZeroPole">
				<xs:annotation>
					<xs:documentation>Single zero with a dependant pole</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="13"/>
						<xs:element name="Length" type="xs:short"/>
						<xs:sequence>
							<xs:element name="OneZero">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="xs:short" default="11"/>
										<xs:element name="Length" type="xs:short" default="4"/>
										<xs:element name="Value" type="stml:Float32"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="DependP">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="xs:short" default="20"/>
										<xs:element name="Length" type="xs:short" default="4"/>
										<xs:element name="Value" type="stml:Float32"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="PoleZero">
				<xs:annotation>
					<xs:documentation>Single pole with a dependent zero</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="14"/>
						<xs:element name="Length" type="xs:short"/>
						<xs:sequence>
							<xs:element name="OnePole">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="xs:short" default="12"/>
										<xs:element name="Length" type="xs:short" default="4"/>
										<xs:element name="Value" type="stml:Float32"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="DependZ">
								<xs:annotation>
									<xs:documentation>Single zero dependent on a pole TF_SZm (x)</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="xs:short" default="21"/>
										<xs:element name="Length" type="xs:short" default="4"/>
										<xs:element name="Value" type="stml:Float32"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ComplexZ">
				<xs:annotation>
					<xs:documentation>Complex zero</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="15"/>
						<xs:element name="Length" type="xs:short" default="4"/>
						<xs:sequence>
							<xs:element name="ComplexZF">
								<xs:annotation>
									<xs:documentation>Complex zero frequency</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="xs:short" default="22"/>
										<xs:element name="Length" type="xs:short" default="4"/>
										<xs:element name="Value" type="stml:Float32"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ComplexZQ">
								<xs:annotation>
									<xs:documentation>Complex zero Quality Factor</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="xs:short" default="23"/>
										<xs:element name="Length" type="xs:short" default="4"/>
										<xs:element name="Value" type="stml:Float32"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ComplexP">
				<xs:annotation>
					<xs:documentation>Complex pole</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="16"/>
						<xs:element name="Length" type="xs:short"/>
						<xs:sequence>
							<xs:element name="ComplexPF">
								<xs:annotation>
									<xs:documentation>Complex pole frequency</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="xs:short" default="24"/>
										<xs:element name="Length" type="xs:short" default="4"/>
										<xs:element name="Value" type="stml:Float32"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="ComplexPQ">
								<xs:annotation>
									<xs:documentation>Complex pole Quality Factor</xs:documentation>
								</xs:annotation>
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Type" type="xs:short" default="25"/>
										<xs:element name="Length" type="xs:short" default="4"/>
										<xs:element name="Value" type="stml:Float32"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="OneZZPol">
				<xs:annotation>
					<xs:documentation>Single zero at zero and a single pole</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="17"/>
						<xs:element name="Length" type="xs:short"/>
						<xs:element name="Value"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="CRSlope">
				<xs:annotation>
					<xs:documentation>Constant Relative Slope</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="18"/>
						<xs:element name="Length" type="xs:short" default="4"/>
						<xs:element name="Value" type="stml:Float32"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="SampleT">
				<xs:annotation>
					<xs:documentation>Sample/Delay Time</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="19"/>
						<xs:element name="Length" type="xs:short" default="4"/>
						<xs:element name="Value" type="stml:Float32"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="NCoeff">
				<xs:annotation>
					<xs:documentation>Numerator coefficients (A0, A1, … An)</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="30"/>
						<xs:element name="Length" type="xs:short"/>
						<xs:element name="Value" type="stml:Float32Array"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="DCoeff">
				<xs:annotation>
					<xs:documentation>Denominator coefficients (B0, B1, … Bm)</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Type" type="xs:short" default="31"/>
						<xs:element name="Length" type="xs:short"/>
						<xs:element name="Value" type="stml:Float32Array"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="TransferFunctionTEDSType">
		<xs:annotation>
			<xs:documentation>This is an optional TEDS. It provides a series of constants that can be used to describe the transfer function of the transducer. Factors affecting the transfer function are: sensor, analog signal conditioning, anti-aliasing filter, and digital signal processing. The transfer function gives the end-to-end response from the analog sensor to the digital output. It is intended to allow the NCAP or other element in the system to compensate for the frequency response of the transducer.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="TEDSLength" type="stml:UInt32">
				<xs:annotation>
					<xs:documentation>TEDS Lengh</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="TransferFunctionTEDSDatBlock" type="stml:TransferFunctionTEDSDatBlockType"/>
			<xs:element name="CheckSum" type="stml:UInt16">
				<xs:annotation>
					<xs:documentation>CheckSum</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
