10/23/2005

Smart PSS: Progress Report #2

===========================
What we have accomplished
===========================

Ricky:

Ricky has done some data gathering in terms of the physiological signals that will be part of the Physiological Signal Simulator. He will speak to Dr. McConville sometime next week to confirm that the research he has conducted is correct. Ricky will acquire the 2 articles that also serve as course requirements since he has access to IEEE Biomedical Transactions and the Biomedical Signal Analysis textbook, which is a textbook also authored by the IEEE.

Myself:
I've been further refreshing my memory on how to implement sophisticated GUIs in JAVA. I've also been refreshing my memory on the 6811 and the internals of the board to be on track with Ricky after the end of this semester.

Both:
We have created a GANTT chart which displays a detailed timeline of our approach in terms of the whole research and design process of the PSS. It is enclosed in PDF format. We also have reconsidered our initial design after meeting up with you.

============================
Revisions of our design
============================

After our discussion with you last Tuesday, we have realized that there is no need to use a DSP board for the PSS because most of its functions can be simulated on the PC side on the GUI. We could display the spectral contents of the signal by creating a spectral graph on the GUI by calculating the FFT and displaying the spectral contents on a graph drawn on the GUI. However, of course, we would like to get the PSS working first. When the time comes, we will consider displaying the spectral contents of the signal as an enhancement if there is enough time to implement this feature.

In terms of the internals of the PSS, we will just use a 6811 Microcontroller board. The 6811 Microcontroller board will be used to interface the PC and the output to the oscilloscope. The Microcontroller will also be dedicated to running a program polling for input from the PC and if there are no changes, the microcontroller will just output the physiological signals pertaining to the previous states. When the PC sends data to the microcontroller via the USB interface, on the PC side, to the Smart USB device, this data will be read by the microcontroller program and will scale the output accordingly using a normalised wave as a reference point.

The GUI layout will remain the same since we feel that we have covered all the bases for the options available for the PSS except for the FFT option, which will be implemented later if there is time available.

===========================
What we are going to do
===========================

We will start researching on Multiplexing Schemes and the Smart USB devices to place on the microcontroller and seeing if there is anything about this in terms of hardware via Digi-Key. If we can't find anything, we will have to call on you for leads.

===========
Problems
===========

We have not encountered any problems so far. We should be alright for now.

That should be it. Thanks for your time, Dr. Kassam

Sincerely,
Raymond Phan & Ricky Leung

10/20/2005

The People Have Spoken

My good friend Alan Yu has voted for comments on. Although this is the opinion of one person, I might as well allow comments. Feedback is good. One humours fact about engineers that I learned at the Vancouver congress was that engineerings love meetings. Because the great thing about meetings is that after the meeting we congregate into smaller groups to have meetings about the meeting. And when we've finished discussing our thoughts concerning that first meeting, we have meetings about the meeting that we had about the first meeting. It's funny because it's true.

So, go ahead and comment to your heart's desire!

10/18/2005

Smart PSS: Concept Design Phase 1

Smart PSS: Concept Design Phase 1

A lot of the components in our diagram is already described in our Progress Report #1.

=============================

Today we had our first meeting with our FLC. Suffice it to say, he wasn't too impressed and felt we were jumping the gun in terms of creating solutions.

Here's what was discussed during our meeting:
Dr. Kassam agreed with us that we should allow the end-user to control the various outputs to the computer and to the oscilloscope. And all this is going to be done through our nice looking GUI.

Now, here are the points he disagreed on, or at least wasn't too impressed with. He asked us what the DSP 56k is going to be used for and if we even considered how we are going to use it. Well, I suppose we didn't put much thought into the DSP 56k processor, and we only tossed it in because we felt we needed it. In his opinion, we were framing our "problem" around the "solution" that employed a DSP 56k processor. In retrospect, he's right on the money! Zero thought --> zero sense. One good thing that he pointed out was that our PC can actually perform most of the functions of the DSP board, especially if we were using the PC for non-intensive calculations, such as calculating and displaying the spectral form of the ECG or whatever signal we're displaying on the PC side.

Another topic he discussed with us was the generation of the various signals. We shouldn't worry ourselves with the low-level physiological functions but instead gather as quickly as possible the necessary data for us to create a normalized signal and the minimum and maximum extremes. Once we have a normalized signal (for example the ECG), we can consider how to amplitude and time scale the signal so that we can create any sort of output but keeping it within the physiological constraints. One last thought concerning the signal generation; because they are LTI signals, we can create out own algorithms to represent the ECG or whatever.

Here are some of the things that resulted from the meeting:
1] Scrap our present view on a possible solution and consider the problem as fully as possible.
2] Record numerical and graphical data concerning the physiological signals we will eventually output. *Consult with Dr.McConville.
3] Create one set of equations for at least one or two of the physiological signals.
4] Examine what types of hardware is available to us: PC, M68HC11, and oscilloscope. We must consider the roles of these devices in the overall scheme of things.
5] Consider how the signals generated on the M68HC11 end will be multiplexed onto the oscilloscope.

Here are some of the things we must hand in to meet our first Milestone:
* Two scholarly articles related to our research (obviously!)
* a GANT/PERT chart detailing (loosely) how we will manage our time.

10/15/2005

Smart Physiological Signal Simulator: Progress Report #1

Student #1: Raymond Phan
Student #2: Ricky Leung

Progress Report By: Raymond Phan

============================
What we have accomplished
============================

Ricky:
So far, Ricky has reviewed the internal characteristics of the 6811Microcontroller and how to use it effectively (via your instrumentationcourse) and also he is currently doing the background research on thephysiological signals as per the EDP description.

Myself:
I am currently reviewing effective ways to construct a GUI for thePhysiological Signal Simulator. I am also reviewing the assembly languagefor the 6811 since I am not taking ELE 744 so that Ricky and myself willbe on the same level when it comes to the implementation stage for ELE800. I have also attempted (and still attempting) to learn about how theheart functions for the purpose of our EDP topic.Both:Just this past evening, we have made a schematic of how we think the unitwill be laid out. A scanned image the schematic is attached in .jpegformat with this e-mail. (Credits go to Ricky Leung for the drawing)

============================
Description of the Diagram
============================

Starting at the block diagram level, a PC will drive the PhysiologicalSignal Simulator (PSS) using a well designed GUI to interface the hardwarewith the PC via a USB connection. The output of the PSS will be variousphysiological signals to an oscilloscope via a BNC cable. Since only onesignal can be sent to a BNC cable at any time, the BNC cable will be fedto a high speed multiplexer for the purpose of "tricking" the user intothinking that there is more than one physiological signal appearing on theoscilloscope simulataneously each with a DC offset to make these signalsdistinct from each other. In terms of the internals of the PSS, a 6811Microcontroller will be used in conjunction with a Smart USB Interfacecard with internal USB drivers to interface between the PC and theMicrocontroller. Information from the GUI will be sent to the 6811 via theSmart USB connection. Information from the GUI will also, somehow, be sentto a DSP 56K board through the microcontroller to generate these variousphysiological signals for the oscilloscope.

============================
Description of the GUI
===========================

As seen on the diagram, there are 4 major areas to the GUI:

[1] We are planning to place an area of the GUI dedicated to controllingthe parameters of each of the signals that will be generated by the PSS.

[2] The most predominant area is the 3D Model of the heart. This is used toshow the user the simulation of a heart beat given the parameters that theuser has controlled.

[3] We are also planning to make a tabbed pane and above it, the display ofthe physiological signal of interest corresponding to which tab has beenselected. We are also planning to implement a time sweeper (may be a bitambitious, but we can always conduct research on it) which can sweepthrough and find the corresponding amplitude at any given time. We arealso planning to synchronize the time sweeper with the animation of theheart (may be a bit ambitious as well).

[4] We are planning to include a table which summarizes what the timesweeper outputs. At a particualr point in time, it will output theamplitude in millivolts, and the pressure in millmeters Mercury.

==================================================
Solutions that we have come up with for the GUI:
==================================================

- Our solutions to generating the 3D Model of the heart would either beto research on the implementation of 3D Graphics in JAVA, or reading in a2D image of the heart by a file, and locating the key regions of theimage concerning what signals correspond to what areas of the heart andusing for loops to modify the image and cycling back and forth simulatingthe beating of the heart.

- For the controlling aspect of the GUI, we are considering makingtextboxes which are editable so that the user can enter in any value heor she wishes corresponding to the parameter of interest. If we havetime, we may try and figure out a way so that the user has an option ofenabling or disabling certain signals so that they will not appear on thefinal output to the oscilloscope. The scaling would change so that ifthere are signals that are disabled from the GUI, we would change the DCoffset for each wave and increase the scaling for the signals to maximizethe use of the entire oscilloscope screen.

- Since one of the primary uses of the PSS is a device used to train medical students, we are considering to implement an option to generate areport in HTML format outputting an image of the heart with theparameters the user has controlled, and images of the physiologicalwaveforms where each are labelled with the parameters the user hasselected for each waveform.

- In terms of implementing the algorithms for the DSP 56K board toprocess, we borrowed an idea from Dr. Zeytinoglu. Dr. Zeytinoglu designeda digital filter package that is used to design complex filters usingMATLAB as the platform for the software. Dr. Zeytinoglu also included theoption of creating DSP 56K code corresponding to the particular filter ofinterest ready to be implemented on the board. He created templates foreach type of filter by making "boiler-plate" code, which has the actualmechanics of how the particular equation for the filter is processed onthe DSP 56K board. Once the coefficients of the particular filter havebeen found tailoring to the user's specifications, the template is openedin MATLAB, the coefficients for the filter are appended to the template,and is saved as a different file name with the appropriate .asm extension. Therefore, we are planning to adopt the same approach. Once we have found how to properly generate these physiological signals, we will create"boiler-plate" code for each of the signals and store each of them ontoits own template in the working directory of the GUI. Then, through the specifications made by the user through the GUI, once we have calculated the proper coefficients, or scaling factor through the GUI, we will open up each template corresponding to each signal and append the proper information for each. Once we have done that, we will assemble all the templates onto a single .asm file using include statements, compile the program, load it onto the board and we will run output all the signals at once... (somehow)

We will code a "Go" button on the GUI so that once it has been pressed, anaction event will occur triggering what was just mentioned. The user canmodify the settings after the Go button was pressed, and can press itagain to tailor the output towards their interests

=================================
What we are planning to do
=================================

We have not researched on USB communications yet; therefore, it will bedone soon.

=================================
Problems we have encountered
=================================

Ricky:
Ricky is currently having trouble finding information about:

- arterial blood pressure wave -> needs clarification, what is it? is it related to the aortic pressure?

- pulmonary artery pressure wave -> found an explanation of what it is but having trouble finding specifics. ie: numerical data -> voltage and time data

- airway pressure signal -> respiratory system but how does it correlate with cardiovascular? needs further research

- phonocardiogram -> found explanation and correlation to ECG but have yet to find numerical data

Possible solutions to problems:
- consult with Dr. McConville to clarify biology research

- email Dr. Krishnan about setting up an interview with cardiologist at St. Margaret's

Myself:
I'm mostly concerned with how the GUI will function. I am also concernedabout the degree of accuracy for the physiological signals that will bepresent on the oscilloscope. When we do generate outputs, we will needsome kind of reference point to compare if we are generating the correctsignals corresponding to specific parameters. This could be solved byRicky's solution, by interviewing a cardiologist possibly at St.Margaret's hospital. I am also concerned about how we're going tocommunicate to the DSP board via the microcontroller. One last concern ofmine would be the multiplexer/demultiplexer scheme. I'm going to have toconduct research on what is out there that can perform high speed signalswitching and how the output of the DSP board can be sent via a BNC cable.In terms of the DSP board, the understanding in terms of functionalitywill be easier over time since ELE 792: DSP uses the board for laboratorywork.

That's it for now.

I hope we haven't given you too much to read.

10/13/2005

First Post: It's All About EDP

This is my first post about my experiences, opinions, and ideas on anything related to electrical engineering. One thing you might notice is your inability to comment. I've decided to do this so I don't get crazy requests from people to design them stuff. I'll admit that design requests will help me broaden my electrical engineering experience but at the moment, I won't have time for that sort of activity.

This blog will mainly concentrate on anything related to my EDP (Engineering Design Project). So when I get the chance to take some pictures I'll do my best to upload them in a timely manner. A caveat though: if you expect me to upload schematics and program listings here, don't, because all of that is considered my intellectual property. If you really want to see all that lovely stuff, then you'll have to take a trip to Ryerson University next year and find my EDP report in the engineering archives. For the time being you'll have to be happy with low resolution pictures and maybe scans of block diagrams.

At a later date, when I feel I can let people give feedback on my ideas or they have a more creative engineering solution, I'll allow comments to be posted. But I'll be taking these "creative engineering solutions" with a grain of salt since I'm assuming not everybody who frequents these blogs have an engineering background and they might just be posting some sort of hair-brained scheme.

Anyways, enough of my crazy ranting, I hope everybody who comes by enjoys reading medium to highly technical electrical engineering jargon!