<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

	<head>
		<meta name="copyright" content="Copyright &copy; 2014 The Eclipse Foundation. All Rights Reserved." />
		<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
		<meta http-equiv="Content-Style-Type" content="text/css" />

		<title>Capella - In-Flight Entertainment System - FunctionalExchange Audio Signal</title>
		<link rel="stylesheet" href="../../scripts/jquery-treeview/jquery.treeview.css" />
  		<script src="../../scripts/jquery-treeview/lib/jquery-1.11.1.js" type="text/javascript"></script>
  		<script src="../../scripts/jquery-treeview/jquery.treeview.js" type="text/javascript"></script>
		<link rel="stylesheet" type="text/css" href="../../css/simpletree.css" />		
		<link title="default" rel="stylesheet" type="text/css" media="screen, projection" href="../../css/content.css"></link>
		<script type="text/javascript">
			if(parent.location.href == self.location.href) {
				window.location.href = 'index.html?883d204e69ff40e980e4e4d5845bb2d2';
			}
		</script>
		
		<style>
			body {
				background: white;
				font-family: Arial;
			}
			.treeview {
				background-color: white ;
			}
	
			.treeview ul{ /*CSS for Simple Tree Menu*/
				background-color: white;
				font-size: 12px;
			}
	
			.treeview li{ /*Style for LI elements in general (excludes an LI that contains sub lists)*/
				background-color: white;
			}
		</style>
		
	</head>
	
	<body><div id="content">
<img src="../icon/FunctionalExchange.png" alt="FunctionalExchange" style="float:left; margin-right:10px" /><h1><a href="../In-Flight Entertainment System/883d204e69ff40e980e4e4d5845bb2d2.html">Audio Signal</a></h1>
<p style="margin-top:3px; margin-bottom:3px"><span class="elementMetaClass">FunctionalExchange</span></p>
<em class="elementPath"><a href="../In-Flight Entertainment System/bd182435e29042ceb99f6dd06e7ae7c7.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/8f49452e61f24ba0b944352d1f4c4227.html">In&#045;Flight Entertainment System</a> > <a href="../In-Flight Entertainment System/1d30b780f22247949f785b70ce799bf0.html">System Analysis</a> > <a href="../In-Flight Entertainment System/0ded555d38754284af530ecf5f890295.html">System Functions</a> > <a href="../In-Flight Entertainment System/411a501a55224fca8b18edbeecb501a1.html">Root System Function</a> > <a href="../In-Flight Entertainment System/883d204e69ff40e980e4e4d5845bb2d2.html">Audio Signal</a></em>

<p>
No description.
</p>












<h2> Source </h2>
<ul id="sourcePortTreeView" class="treeview"><li><img src="../icon/FunctionOutputPort.gif" alt="FunctionOutputPort" /> <a href="../In-Flight Entertainment System/b9ace19f2d94412dae1e34b6fe329b6f.html">FOP 5</a><ul class="generatedList"><li><img src="../icon/SystemFunction.gif" alt="SystemFunction" /> <a href="../In-Flight Entertainment System/e1808524dfa94883a809c44a87712d1b.html">Broadcast Audio Video Streams</a></li></ul></li></ul>
<h2> Target </h2>
<ul id="targetPortTreeView" class="treeview"><li><img src="../icon/FunctionInputPort.gif" alt="FunctionInputPort" /> <a href="../In-Flight Entertainment System/e0522dc743504299b398fa415a948976.html">FIP 2</a><ul class="generatedList"><li><img src="../icon/ActorSystemFunction.gif" alt="SystemFunction" /> <a href="../In-Flight Entertainment System/e04025f96b524377bac178d0bf2f8fed.html">Listen to Audio Announcement</a></li></ul></li></ul>




<h2>Involving Functional Chains</h2>

<ul class="generatedList"><li><img src="../icon/FunctionalChain.gif" alt="FunctionalChain" /> <a href="../In-Flight Entertainment System/f5c2a034474941c2a77e6ecaae28f5d0.html">Broadcast Audio Announcement</a></li></ul>


<h2>Realizing Elements </h2>

<ul class="generatedList"><li><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/d8ae312072824314bf3541dd4c2e82f6.html">Displayed Audio Interruption Screen</a></li><li><img src="../icon/FunctionalExchange.gif" alt="FunctionalExchange" /> <a href="../In-Flight Entertainment System/2c650bc2d2544026b5cfc2a001f289bd.html">Audio Signal</a></li></ul>








<h2>Diagrams displaying "Audio Signal"</h2>
<ul>
<li>
<a href="../In-Flight Entertainment System/291fb3629ae5477984051281ea3709f6.html#_C4s5oKyxEeSJ1PX7slxG4w">&#091;SDFB&#093; &#091;CAPABILITY&#093; Provide Audio and Video Intercommunication Means</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/411a501a55224fca8b18edbeecb501a1.html#_HKbEkJjIEeSFKIU85IonOQ">&#091;SDFB&#093; &#091;BUILD&#093; All Functions</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/f5c2a034474941c2a77e6ecaae28f5d0.html#_Teq-8LeJEeSJrshmHo2mKA">&#091;SFCD&#093; Broadcast Audio Announcement</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/ba4d638de6bb490894f4eb974405c733.html#_huBFMKvmEeS4Nr5peSh-tg">&#091;SDFB&#093; &#091;CTX&#093; Manage Video and Audio Diffusion</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/411a501a55224fca8b18edbeecb501a1.html#_gaN78KyfEeSJ1PX7slxG4w">&#091;SDFB&#093; Top Level Functional Overview</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/fa8dc62668de4e83b9b92a1aa7813b7c.html#_duRY4JiwEeSFKIU85IonOQ">&#091;FS&#093; Perform Audio Announcement</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/a395ed3698334a4a89cfa4c41cd5928c.html#_5o4FkLD5EeSk6sURco8jXw">&#091;ES&#093; Perform Audio Announcement</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/e0a467397e504ea6b1980e5efb9ce68f.html#_xXSwEKv6EeSTJvLsyJitsw">&#091;SAB&#093; Top Level System Overview</a> 
</li>
<li>
<a href="../In-Flight Entertainment System/e0a467397e504ea6b1980e5efb9ce68f.html#_TGdI0JZDEeS1n7CBuZtEDQ">&#091;SAB&#093; High Level System Overview</a> 
</li>
</ul>





 </div>	<script type="text/javascript">
		$("#sourcePortTreeView").treeview({ collapsed: false, animated: "fast", unique: false, control: "#treecontrol"});
		$("#targetPortTreeView").treeview({ collapsed: false, animated: "fast", unique: false, control: "#treecontrol"});
	</script>
   </body>
</html>