Click Here to Download NeuroSolutions Products Services Support Order Download Home

We have recently updated the NeuroDimension website. You are currently visiting an old page. Please click here to visit the updated version of our website.
NeuroDimension, Inc.

Also See...
Contact Us
Company History
Application Summaries
Mailing List
Neural Net Reference
Customer Quotes
Customer Forum
Search


Contact Us

Software Development

The following software tasks were required to develop the interactive, user-friendly development environment we desired.

  • Interface NeuroSolutions to the External World: NeuroSolutions, like all other commercial neural network software is file driven. Data is read from files and results are written to files. NeuroSolutions provides a rudimentary windows-based interface through Object Linking and Embedding (OLE). This interface was improved and an OLE controller was written to act as in interface between the PC and microcontroller.
  • Remote Control of NeuroSolutions: The above mentioned OLE component not only passes data to NeuroSolutions, but also acts as a "remote control" for NeuroSolutions. The OLE component actually opens the appropriate neural network in NeuroSolutions, sends data to it, and tells it to train. When the training is done, the OLE component asks for the trained weights and sends these weights back to the microcontroller. This allows NeuroSolutions and the microcontroller to remain in synchronization at all times.
  • Microcontroller Multitasking Operating System: This software enables the microcontroller to communicate with the PC while still ensuring that the time-critical ventilation tasks are being appropriately handled.
  • Microcontroller Neural Primitives: The microcontroller duplicates the feedforward portion of the neural network being trained in NeuroSolutions. The most flexible method of implementing this functionality is to create the same primitives on the microcontroller that also exist in NeuroSolutions. Thus, each network architecture in NeuroSolutions can be duplicated in the microcontroller.
  • Development of an Interface Language Between the PC, OLE component, and Microcontroller.

Figure 8 - Data Flow for Neural Ventilator

The data flow and module breakdowns for the software are shown in Figure 8 and works as follows: the microcontroller is continuously measuring the pressure, it sends that data together with the flow (extracted from the PWM value) to the software that is running on the PC. The PC software then sends the data to NeuroSolutions which trains the current architecture and finds the best network weights. These weights are then downloaded to the microcontroller which uses them to better control the ventilator (improve its performance).

The visible part of the software is a dialog box shown in Figure 9. This dialog box has a Start button that opens and initializes the OLE interface with NeuroSolutions. The user has to then choose the desired ventilation mode and the corresponding settings.

Figure 9 - Neural Ventilator Dialog Box

In addition to the operating system and hardware drivers necessary to control the ventilator hardware and sensors, we also created the C++ primitives for neural control. Our code executed sufficiently fast that we did not need to optimize with assembly language. These primitives mimic the object structure of NeuroSolutions so that an external program module can receive an object list from NeuroSolutions and create the identical feedforward system in the microcontroller. The following primitives were created:

  • Linear Axon (Linear PE)
  • Tanh Axon (Nonlinear PE)
  • Synapse (Connections and Weights)
  • TDNN Axon (Tap-Delay Line Memory)
  • Gamma Axon (Adaptable Memory Device)

These components can be connected together to create a wide variety of neural network architectures including a Wiener filter (TDNN, Synapse, and Linear Axon), MLP (combinations of Tanh Axons and Synapses), Time Lag Recurrent Networks such as TDNNs (TDNN or Gamma memory, Tanh Axons, and Synapses), and recurrent architectures (combinations of Tanh Axons, Synapses, and feedback).

Ventilator Home | Next Page

 


Products | Support | Order | Download | Search | Contact

Product questions? Contact info@nd.com Website questions? Contact webmaster@nd.com
Web Site Design and Implementation Copyright © 2002 NeuroDimension, Inc.