<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Engineer Sphere &#187; Jeff</title>
	<atom:link href="http://engineersphere.com/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://engineersphere.com</link>
	<description>All the cool kids are doing it.</description>
	<lastBuildDate>Fri, 27 Aug 2010 18:50:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>History of Computer Technology</title>
		<link>http://engineersphere.com/basic-computer-concepts/history-of-computer-technology.html</link>
		<comments>http://engineersphere.com/basic-computer-concepts/history-of-computer-technology.html#comments</comments>
		<pubDate>Thu, 26 Aug 2010 03:33:06 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Basic Computer Engineering Concepts]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Arithmetic Operations]]></category>
		<category><![CDATA[Big Endian]]></category>
		<category><![CDATA[Bit]]></category>
		<category><![CDATA[Branch Instruction]]></category>
		<category><![CDATA[Byte]]></category>
		<category><![CDATA[Byte Conventions]]></category>
		<category><![CDATA[Computer History]]></category>
		<category><![CDATA[Computer Technology]]></category>
		<category><![CDATA[Conditional Branching]]></category>
		<category><![CDATA[HCS08]]></category>
		<category><![CDATA[I/O Devices]]></category>
		<category><![CDATA[IAS]]></category>
		<category><![CDATA[IAS Computer]]></category>
		<category><![CDATA[John Von Neumann]]></category>
		<category><![CDATA[Little Endian]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1582</guid>
		<description><![CDATA[So this post is a little out of the ordinary, however I figured this nice rant about the history of computer technology may be useful to some readers out there. Computer Technology The first computer built in America was the IAS computer. It was developed at the Institute for Advanced Study at Princeton under the [...]]]></description>
			<content:encoded><![CDATA[<p>So this post is a little out of the ordinary, however I figured this nice rant about <strong><span style="text-decoration: underline;">the history of computer technology</span></strong> may be useful to some readers out there.</p>
<h2>Computer Technology</h2>
<p>The first computer built in America was the <strong>IAS computer</strong>. It was developed at the Institute for Advanced Study at Princeton under the direction of John Von Neumann between 1946-1950.</p>
<p>This obsolete machine’s architecture is presented not just for its historical significance, though that would be reason enough. Details about it are presented because many (most) modern computers (including the <strong>HCS08</strong>) trace their ancestry to the <strong>IAS machine</strong>. Those that do are referred to as von Neumann (or Princeton) architecture machines. The <strong>IAS architecture</strong> is relatively simple and is a convenient starting point for assembly language programming. An assembly language program for the IAS (though programs for it were written in machine language) would not look very different from modern load/store style machines. Also, a sense of the relative importance of concepts results from learning the IAS architecture. Programs written in a carefully selected subset of the HCS08 instruction set would look almost identical to an IAS assembly program (were we to create an assembler for that machine). We will then see how the complete HCS08 instruction set improves on the IAS instruction set and addressing scheme. The general design of the IAS machine is given below. The HCS08 is almost identical to it.</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/08/iasmachine.png"><img class="aligncenter size-full wp-image-1583" title="iasmachine" src="http://engineersphere.com/wp-content/uploads/2010/08/iasmachine.png" alt="" width="458" height="206" /></a>As originally designed (to cut costs the machine was built with less memory), the memory consisted of 4096 40-bit words. The number of words in <strong>computer memory systems</strong> (at least the maximum memory) always consists of a power of two. This is because the specific word in memory to be accessed at any given time is specified by a set of binary valued wires or lines called the address bus. The number of different locations in memory such a bus can specify is simply all the possible combinations of the two values possible on each of the lines. For an n-bit bus, that value is 2n. The address bus size for the <strong>IAS memory</strong> was therefore 12 providing for 212 = 4096 unique memory locations. The number of bits per word is up to the computer designer. Memory word sizes of 4, 8, 12, 16, 18, 24, 32, 36, 40, 48, 60, and 64 have all existed for some computer. Almost all computers made today use 8-bit memory words, although they all support data types that use several consecutive memory words together as a single value. Most desktop (or larger) computer systems support 8-bit, 16-bit, 32-bit, and 64-bit values. Some even support 128-bit values. Note, all of these sizes are multiples (in fact powers of 2 multiples) of the basic 8-bit word size so these values use 1, 2, 4, and 8 (some even 16) words, respectively. Whatever the memory size, anyone with some programming experience taking their first look at the memory system in a computer design, should think of the memory as an array with 2n elements. The address bus carries the value of an n-bit unsigned index into the memory array. The data bus returns (or supplies if a write instead of a read is issued) the m-bit memory word value of the specified element, where m is the word size (in bits) of the memory system.</p>
<p>The REGS component of the general design represents the register set used by the CPU (Central Processor Unit). Registers are fast special-purpose memory separate from the main memory. They support the fetching and execution of instructions stored in memory. The registers in the IAS design are given below:</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/08/iasdesign.png"><img class="aligncenter size-full wp-image-1584" title="iasdesign" src="http://engineersphere.com/wp-content/uploads/2010/08/iasdesign.png" alt="" width="587" height="139" /></a></p>
<h2>IAS Instructions and Data</h2>
<p>The <strong>IAS computer</strong> embodied the concept of a <span style="text-decoration: underline;"><strong>stored-program computer</strong></span>. The main memory contained two main categories of information – instructions and data. It is the ability to place different sequences of instructions in the memory that makes the computer so useful – it is what makes it a general-purpose computing device rather than a special-purpose or single-function computer. Instead of being constrained to building computers that perform only predefined single tasks (or small set of tasks), we can build a computer that does different tasks at different times. Such a computer can be reconfigured (reprogrammed) at any time to perform a new or different task. Often an important task is not even conceived of at the time the computer is designed. For the IAS machine, it was important that the programs and data shared the same memory. That way the instructions themselves could be processed as other data values. Self-modifying programs were the only scheme that the <strong>IAS designers</strong> thought of for performing loops that worked on different array elements each time through the loop. Between iterations of the loop, the instructions that accessed the array element were loaded into the AC and a value added to them to change the address portion of the instruction to the next array element to be processed. The modified instruction was then stored back in its memory location for execution the next time through the loop. Computer designers have since come up with several methods of accomplishing this type of operation without modifying the instructions themselves. Today, self-modifying code is considered taboo, as it is prone to logic errors that are hard to discover, cannot be executed out of <span style="text-decoration: underline;"><strong>Read-Only Memory (ROM)</strong></span>, and other deficiencies that are beyond this article.</p>
<h2>IAS Instruction Sets</h2>
<p>The IAS instructions consisted of 20 bits – a 12-bit address and an 8-bit operation code (opcode). The operation code part specified both an operation and a register. The instruction’s 12-bit address part usually specified an operand by giving the memory address of the memory word involved in the operation. Basic operations like load (copy a value from a memory word to the implied register), store (copy a value from the implied register to a memory word), add (add the value in a memory word to the value in the AC replacing the AC value with the sum) are referred to as memory-reference instructions and form the core instructions for both the IAS machine and the HCS08 microcontroller. When an instruction contains the actual full address of the operand, as the IAS memory-reference instructions did, the value is usually referred to as a direct address and those instructions are said to use the direct addressing mode. Unfortunately, Freescale’s terminology for the HCS08 refers to such instructions as extended addressing mode instructions, and uses direct addressing mode to mean something else. The IAS instruction set had only one other class of instructions which were called register-reference instructions. Such instructions were said to use the inherent addressing mode. The HCS08 also has many such instructions and also refers to them as inherent addressing mode instructions. It is almost an oxymoron to say these instructions have an addressing mode as they use no memory address at all. Such operations involved only the registers. An example of such an instruction for the IAS machine was to add the value in the MQ to the value in the AC replacing the value in the AC with the sum. At this point we should note that descriptions of computer instructions usually shorten the phrase “the value in the Register-name” to just “Register-name”. Thus we describe the above addition as adding MQ to AC. It is implied that we mean the value in or content of the registers, and that by adding “to” we are replacing the original value after it is used in the operation with the result of the operation. An example of a similar instruction in the HCS08 instruction set is the “mul” instruction. It means multiply X times A, where X and A are HCS08 registers, replacing the value in the X:A pair with the 16-bit product.</p>
<p>Normally, instructions are executed in the sequence they appear in memory with the instruction in Memory[i+1] being executed immediately following the execution of the instruction in Memory[i]. The <strong>CPU register</strong> that keeps track of where the next instruction is located is the PC. Its name come from the fact that it is an index into the Program and that its normal mode of being modified is to be incremented (so it Counts) after each instruction. On the IAS machine each instruction occupied only half a word so the PC was incremented after every other instruction. There was an additional Register bit that told whether the current instruction was in the first or last half of the word referenced by the PC. On the HCS08 instructions take from one to four memory words, so its PC may be incremented several times per instruction.</p>
<h2>Branch (jump) Instruction</h2>
<p>A different type of instruction from those that manipulate data is the branch (or jump) instruction. They are so named because they cause the CPU to deviate from the normal sequence of instructions. Instructions in this class change the value of the PC from its normal incrementing sequence by loading a new value into it in much the same way that the loading of other registers work. A big difference, however, is that branch and jump instructions usually come in both unconditional and conditional varieties. The unconditional ones always change the course of execution from the normal sequential order, the conditional ones, however, may change it or they may let the normal order continue. Which program path occurs usually depends on the outcome of some previous operation such as subtracting one value from another. The IAS’s conditional branch would change the normal sequence if the result of the most recent arithmetic operation were positive, otherwise it would let the normal sequence continue. Conditional branching is the feature that gives computers the power to perform complex algorithms. Without it they would only be able to perform simple formula-based calculations! The HCS08 has a rich assortment of conditional branch instructions. <strong><em>Conditional branching is the feature that gives computers the power to perform complex <span style="text-decoration: underline;">algorithms</span>.</em></strong> Without it they would only be able to perform simple formula-based calculations! The HCS08 has a rich assortment of conditional branch instructions.</p>
<h2>Arithmetic Instructions</h2>
<p>Data values in the IAS machine consisted of signed binary fixed-point numbers 40 bits in size. The sign used one bit so 39 bits remained to hold the magnitude of the value. The 39 bits are equivalent to about 12 decimal digits. As is true today, these fixed-point numbers could be considered to be integers or to contain fractional parts depending on where the binary point was considered to be. The hardware that performs calculations on the data works for a wide variety of conventions. Addition and subtraction require only that both operands are considered to have the binary point in the same position, there is no restriction on where it is considered to be. Multiply and divide don’t have even that restriction, but one must understand where the binary point of the results must be considered to be. Experimentation with decimal numbers with varying number of digits following the decimal point will allow one to understand the outcomes, and formulate the rules for properly placing binary points for the various computer operations. It should be made perfectly clear that no bits are used to indicate where the binary point is located; its position only exists in the way the programmer intends to interpret the value represented by the bits in the data word. Addition and subtraction instructions in the HCS08 support 8-bit unsigned and 2’s complement (signed) values. The multiply supports only 8-bit by 8-bit unsigned values – producing a 16-bit unsigned result. The divide instruction supports only a 16-bit by 8-bit unsigned divide, that produces an 8-bit quotient and a 8-bit remainder. By dividing the remainder by the original dividend, the quotient’s precision can be extended another 8 bits. This process can be repeated to any desired precision.</p>
<h2>Indirect Addressing</h2>
<p>The first architectural improvement in computers that eliminated the need to have self-modifying code was <strong><span style="text-decoration: underline;">indirect addressing</span></strong>. This addressing mode makes use of a pointer data type. A pointer is a word (or multiple words if a word is too small) that has a value used as an address to another word in the memory. To specify an address indirectly, the indirect addressing mode instruction contains the address of a pointer instead of the data. The CPU knows that for such instructions there must be two memory areas accessed. The first reads the pointer and then uses its value as the address to access (read or write) the actual operand. To change the memory location accessed by such an instruction, the instruction itself need not be modified, only the value of the pointer variable. Few computers still use this form of indirect addressing, but rather its cousin, register addressing or a variation of it. In <strong><span style="text-decoration: underline;">register addressing</span></strong>, the pointer value must be loaded into an address register with one instruction, and then that address used with another instruction. Again, to modify the actual data location a register addressing mode instruction accesses, one need only modify the value in the address register. The HCS08 has two such address registers, H:X and SP, although the SP main use is as a stack pointer. A variety of addressing modes based on those two registers are available.</p>
<p>Modern desktop computers now have many registers that can be used as accumulators and/or address registers. It is not uncommon for a computer to have 32 32-bit general- purpose registers that can be used for either. The HCS08 has only a microprocessor as its computing core, so it has only a single 8-bit accumulator and a pair of 16-bit index (address) registers – no general-purpose registers. In order to program in <span style="text-decoration: underline;"><strong>machine language</strong><strong> assembly language</strong></span> or you must first learn the architecture of the computer you plan to program. The architecture of a computer specifies the registers in the CPU, the main memory size, and the instruction set (including not only the operations it can perform, but also all the addressing modes supported).</p>
<p>We are ready to study the architecture of the HCS08 microcontroller’s microprocessor core. The general design is given below. It is only a slight modification of the IAS one shown earlier. The only difference is that the Input/Output (I/O) devices are <strong><span style="text-decoration: underline;">memory-mapped devices</span></strong>. That is, you access them as though they were normal memory, with load and store instructions within the main memory address space.</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/08/HCS08architecture.png"><img class="aligncenter size-full wp-image-1585" title="HCS08architecture" src="http://engineersphere.com/wp-content/uploads/2010/08/HCS08architecture.png" alt="" width="423" height="193" /></a>There are big differences with the details of the design. The register set is different, the memory size and shape are different, and the instruction set contains many more instructions. However, the basic functioning of the machines is very much the same. They both have the same load/store nature where most ALU operations must be performed on values in the CPU’s registers. They are both single address machines in that at most one of the operands of binary (two operand) operations (such as add) can come from main memory. (Actually the HCS08 has a very limited set of “move” instructions that transfer data from one memory location to another without going through a register.) The main memory can contain both instructions and data at virtually any location (even intermixed – although we will try not to do that). The CPU can operate on instructions as though they were data.</p>
<h2>Memory Comparisons</h2>
<p>Let’s check out the differences. The main memory of the IAS held 4096 40-bit values. The memory space of the HCS08 provides for 65536 8-bit values. Thus the HCS08 memory system uses a 16-bit address bus (216 = 65536) and an 8-bit data bus. The address bus carries information only one direction, to the memory system, but the data bus can carry information either to or from the memory (thus the double arrowheads on the data bus above). Not shown in the above diagram are control signals that tell the memory such things as whether a read or write is being performed. Each of the 65536 memory locations should be thought of as having an address and a contents (or value). The address is a 16-bit (4-hexadecimal-digit) number, while the contents is an 8-bit (2-hexadecimal digit) number. When we look at the instruction format we will find it is convenient that the value of an address can be stored exactly in two words of memory. In truth, that ability is the cause of the memory space being the size that it is.</p>
<p>At the risk of being too remedial, I will emphasize a possibly painfully obvious, but extremely important, concept. We often show the content of a section of memory by listing the memory address in one column and its content in another. Consider the example below. The left pair are in binary and the right in hexadecimal.</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/08/memoryaddress.png"><img class="alignleft size-full wp-image-1586" title="memoryaddress" src="http://engineersphere.com/wp-content/uploads/2010/08/memoryaddress.png" alt="" width="521" height="134" /></a></p>
<p>First, note how much more compact the hexadecimal (we’ll shorten that name as well, and start calling it hex) notation is. From this point on we will use mostly hex notation for address and values.</p>
<p>The key point I want to make is that only the value part is stored anywhere. The address is a fleeting number generated one at a time as needed and then its value disappears. When a program is being executed the Program Counter (PC) provides that value for instruction fetch. After each use of the PC it is incremented so the previous address value does not exist anywhere any more. The new value will exist only while it is being used to read the next word of the program.<br />
Because the addresses are consecutive over an area of interest we often will show only the lowest address with a set of data values. By convention know that each successive memory content value is at an address that is one greater than the previous content. Thus the above set of memory values could be given as:<br />
020D: 5B D8 74 06 31<br />
A colon is often used to separate the address from a sequence of data values for added clarity. Here is my last restatement of the (hopefully blatantly obvious) address/data relationship – whenever the contents of locations 020D-0211 are given, the address part can never change, only the content can.</p>
<h2>Byte Conventions</h2>
<p>The HCS08 instruction set supports one 16-bit load operation. As 16-bit values require 2 words of memory, and the instructions specify only a single address, a convention must be established as to which of the two memory addresses that contain the 16-bit value will be specified in the instruction. It must also be decided whether the most-significant byte (MSB) or the least-significant byte (LSB) should be stored in the lower-numbered address of the pair. For me, this last question has an obviously best answer. Place the MSB at lower-numbered addresses. This convention is known as <span style="text-decoration: underline;"><strong>big-endian</strong></span> memory organization. When consecutive address values are written horizontally, the MSB will be to the left. This follows the standard convention for decimal numbers where more-significant digits appear to the left of less-significant digits. This convention, that more-significant bytes of multi-byte value be stored at lower address values, will never be violated in this course. In every situation that the HCS08 hardware dictates how they will appear, that convention is adhered to. In every situation where the programmer must decide, I will require that this rule be followed as well. Some machine designs even specify that two-byte values must start on an even address. Such requirements are referred to as memory alignment restrictions, but the HCS08 has no such restriction. The HCS08 always uses the address of the MSB, which is the lower of the pair. We will adopt that same convention, using the lowest address as the “handle”, for any program-defined groups of bytes for any size group that we create.</p>
<h2>Registers to know <img src='http://engineersphere.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </h2>
<p>The Registers that you may need to know the most about are the ones in the Programmer’s Model as shown on Page 86 of the MC9S08QG Data Sheet for HCS08 Microcontrollers that is available in pdf form on the web and distributed in booklet form in class compliments of Freescale. The A register is an 8-bit accumulator used primarily for 8-bit arithmetic and load/store style moving of data. The H:X and SP register are used primarily for addressing. They are 16-bit registers so can point to any location in the memory space. The stack pointer (SP) exists primarily to support stack operations built into the hardware – we will learn all about these operations later. It is a 16-bit register as the stack utilizes main memory, and a 16-bit value allows the stack data to be placed anywhere in the memory space. The program counter (PC) tells where in the memory the next instruction to be executed is located. It is a 16-bit register so that instructions can exist and be executed out of any location in the memory space. The condition code register (CCR) keeps machine state information – our main programming use of it will be to guide conditional branch execution along the two paths that such instructions can direct a program. It is an 8-bit register.</p>
<p>This was wordy and didn&#8217;t necessarily wrap up completely but we have learned a lot of new information!  I hope you enjoyed this article about the history of computer technology and how this introduces you to how a simple computer called a <span style="text-decoration: underline;"><strong>microcontroller </strong></span>works.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/basic-computer-concepts/finite-state-machines.html" rel="bookmark" class="crp_title">Finite State Machines</a></li><li><a href="http://engineersphere.com/math/how-to-count-in-binary.html" rel="bookmark" class="crp_title">How To Count In Binary</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iv.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; IV</a></li><li><a href="http://engineersphere.com/basic-computer-concepts/karnaugh-maps.html" rel="bookmark" class="crp_title">Karnaugh Maps</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; II</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/basic-computer-concepts/history-of-computer-technology.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t you just hate it when&#8230;</title>
		<link>http://engineersphere.com/introduction/dont-you-just-hate-it-when.html</link>
		<comments>http://engineersphere.com/introduction/dont-you-just-hate-it-when.html#comments</comments>
		<pubDate>Wed, 23 Jun 2010 19:32:22 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1544</guid>
		<description><![CDATA[You step in something wet while you&#8217;re wearing socks. You stop at a stop sign and wait for a car to pass.  As they approach the intersection without a stop or yield sign, they stop and then look at you wondering why you aren&#8217;t going.  Come on. You&#8217;re waiting to turn right at a red [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>You step in something wet while you&#8217;re wearing socks.</li>
<li>You stop at a stop sign and wait for a car to pass.  As they approach the intersection without a stop or yield sign, they stop and then look at you wondering why you aren&#8217;t going.  Come on.</li>
<li>You&#8217;re waiting to turn right at a red light, but you can&#8217;t because there is one car in front of you that waits until the light turns green to also turn right.</li>
<li>You are walking down the hallway and you turn down another hallway at the exact same time as someone else coming from a different direction.  Now there you are, walking right next to this person at the exact same speed as if synchronized walking.  You don&#8217;t know them, but you feel like you should say something.  Of course you don&#8217;t say a word because all you can think of is how much you want them to not be there.  What could you say? &#8220;Nice hallway, eh?&#8221; No, that is weird, almost as weird as the situation that you&#8217;re in.</li>
<li>You are attempting to open your can of soda discretely, but you always fail.</li>
<li>You are invited to hang out with a girl (or guy) and you expect it to just be you two.  To your dismay, you arrive and there are several other people there, invited by the same person, and they hadn&#8217;t told you because if they had you probably wouldn&#8217;t have shown up in the first place.  This probably only bothers me when I&#8217;m in introvert mode.  Who am I kidding, this always bothers me.</li>
<li>Foreigners shout on their cell phones in gibberish while indoors.</li>
<li>Doing anything that involves contacting your cell phone or cable provider.</li>
<li>Paying for monthly insurance on your cell phone, then when it breaks and you proudly storm into the store to eagerly claim what is yours you are told: &#8220;Sorry, the insurance will not cover this.  I&#8217;m sorry that your phone no longer turns on or can&#8217;t retain a charge, but there is a scratch here on the side which means there is physical damage.&#8221;  If this ever happens to you, lose your mind and argue with them for hours until the manager gives in just to get you out of the store, it worked for me.  This is very specific, but I feel like this happens to everyone.</li>
<li>Someone with zero web design experience tells you what they think their site should look like.</li>
</ol>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/basic-computer-concepts/abel-logic-simplified.html" rel="bookmark" class="crp_title">ABEL Logic Simplified</a></li><li><a href="http://engineersphere.com/math/how-to-count-in-binary.html" rel="bookmark" class="crp_title">How To Count In Binary</a></li><li><a href="http://engineersphere.com/basic-computer-concepts/history-of-computer-technology.html" rel="bookmark" class="crp_title">History of Computer Technology</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/basic-electrical-engineering-concepts.html" rel="bookmark" class="crp_title">Basic Electrical Engineering Concepts</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/transformers.html" rel="bookmark" class="crp_title">Transformers</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/introduction/dont-you-just-hate-it-when.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amplifiers &#8211; Part II</title>
		<link>http://engineersphere.com/basic-electrical-concepts/amplifiers-part-ii.html</link>
		<comments>http://engineersphere.com/basic-electrical-concepts/amplifiers-part-ii.html#comments</comments>
		<pubDate>Mon, 22 Mar 2010 17:59:54 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Basic Electrical Engineering Concepts]]></category>
		<category><![CDATA[Biomedical Engineering]]></category>
		<category><![CDATA[AICHo]]></category>
		<category><![CDATA[Amplifier Saturation]]></category>
		<category><![CDATA[Amplifiers]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[Biosignal]]></category>
		<category><![CDATA[DAQ]]></category>
		<category><![CDATA[DAQ Card]]></category>
		<category><![CDATA[Differential Amplifier]]></category>
		<category><![CDATA[Isolation]]></category>
		<category><![CDATA[Pre-Amplifier]]></category>
		<category><![CDATA[Single-Ended]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1188</guid>
		<description><![CDATA[Important Amplifier Properties Isolation For the biological subject, against electric shock from the amplifier’s power source(s)–or, how to not kill your patient while taking measurements! For the signal-to-noise ratio (SNR): isolation keeps the (60-Hz mains and other) noise out of the sensor pickup–and out of the amplifier input. One simple way to isolate the input [...]]]></description>
			<content:encoded><![CDATA[<h1>Important Amplifier Properties</h1>
<h2>Isolation</h2>
<ul>
<li>For the biological subject, against electric shock from the amplifier’s power source(s)–or, how to not kill your patient while taking measurements!</li>
</ul>
<ul>
<li>For the signal-to-noise ratio (SNR): isolation keeps the (60-Hz mains and other) noise out of the sensor pickup–and out of the amplifier input.</li>
</ul>
<p>One simple way to isolate the input is to use an <span style="text-decoration: underline;"><strong>LED/phototransistor pair</strong></span>:</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/03/LEDpair.png"><img class="alignleft size-full wp-image-1189" title="LEDpair" src="http://engineersphere.com/wp-content/uploads/2010/03/LEDpair.png" alt="" width="446" height="305" /></a>The sensor is connected to an LED, which outputs light of intensity proportional to signal voltage.</p>
<p>The light from the LED falls on a photodiode or phototransistor, which is biased in such a way that current only flows when light hits the device, and the current (and thus measured voltage) is proportional to light intensity.</p>
<p>Phototransistor output is to the amplifier.</p>
<p>The power circuitry for the amplifier is completely isolated from the sensor (electrodes etc.) Power supplies for the sensor use a transformer or battery, and the “ground” for the sensor side floats relative to the amplifier side (which should have ground connected to earth eventually.)</p>
<p>These devices are manufactured in one piece, so the frequency of light output from the LED is matched to the ideal absorption frequency of the phototransistor. However, there must be no electrical connection between the two sides of the circuit. More exactly, the impedance between the two circuits should be near a Teraohm (<img src='http://s.wordpress.com/latex.php?latex=10%5E%7B12%7D%20%5COmega%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='10^{12} \Omega ' title='10^{12} \Omega ' class='latex' />).</p>
<h2>Single-Ended vs. Differential Input</h2>
<ul>
<li><span style="text-decoration: underline;"><strong>Referenced Single-Ended</strong></span>: two leads of sensor are + signal and earth (computer) ground. Note: to avoid ground loops, it is best to avoid connecting sensor earth to computer earth.</li>
</ul>
<ul>
<li><strong><span style="text-decoration: underline;">Non-Referenced Single-Ended</span></strong>: two leads of sensor are + signal and &#8211; signal, which is connected through a bias resistor to earth ground.</li>
</ul>
<ul>
<li><strong><span style="text-decoration: underline;">Differential</span></strong>: three sensor leads are available: + and &#8211; signal and (earth) ground.</li>
</ul>
<p>The 4-BNC -to- DAQ-card lead you’ve probably used in a lab before is referenced single-ended: each of 4 sensors has available a signal wire, and the 4 sensors share a common ground wire. If the DAQ card is configured in Differential mode using this input lead, the signal gradually rises to a saturated level, as the DAQ card assumes a signal on the &#8211; <strong><span style="text-decoration: underline;">differential input</span></strong>, which is in reality floating.</p>
<p><strong><span style="text-decoration: underline;">Problems with Single-Ended Input</span></strong>:</p>
<ul>
<li><strong><span style="text-decoration: underline;">Cross-talk</span></strong>: Because multiple signals share a ground wire, they also share some portion of the signal, so if only one input is connected that signal shows up, somewhat weakened, on the second input trace.</li>
</ul>
<ul>
<li><strong><span style="text-decoration: underline;">Lack of isolation</span></strong>: using the ground wire as the negative signal lead means the subject and the amplifier are strongly coupled–and strong electric signals from the amplifier may travel to the subject. Also, stray noise (such as from the power mains) easily couples into the input.</li>
</ul>
<p><strong><span style="text-decoration: underline;">Differential Input</span></strong>:</p>
<p>I&#8217;m talking a lot about DAQ cards, these are very important when working with A/D systems and analog and digital filters.  If you are not familiar with these, go do a little light reading.  Hopefully this is making enough sense to get the concepts across.  The DAQ card comes with a finite number (16, in our case) of analog input ports (channels), each with paired input pins: a signal (ACH#) and a ground (AIGND). All the analog input ground pins are tied together on the DAQ card. In differential mode, the analog input ports are paired, so channel 1 uses AICH0 as +, AICH8 as -, and the ground wires for the pair are tied together as the reference ground. Thus a 16-channel DAQ card has only 8 channels in differential mode.</p>
<ul>
<li>Because no channels share leads, cross-talk is reduced. The DAQ card has high common-mode rejection, so if the &#8211; input leads are tied to ground (simplest configuration), channels will not interfere because the cross-talk is common to both + and &#8211; inputs.</li>
</ul>
<ul>
<li>The ground lead cannot be isolated from the <span style="text-decoration: underline;"><strong>input electrodes</strong></span> without causing the DAQ circuitry to saturate, so the DAQ card itself does not provide isolation.</li>
</ul>
<h2>Wiring a DAQ card in Differential Mode:</h2>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/03/DAQwiring.png"><img class="aligncenter size-full wp-image-1193" title="DAQwiring" src="http://engineersphere.com/wp-content/uploads/2010/03/DAQwiring.png" alt="" width="631" height="358" /></a>The figure is adapted from Fig. 4.6, p. 4-15, of the NI 6024E (DAQ card) User Manual, and illustrates the appropriate connections for differential input to the card. Recommended values of R+ and R- depend on the impedance Rs (in series with Vs) and coupling of the source signal Vs:</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/03/sourcevoltages.png"><img class="alignleft size-full wp-image-1195" title="sourcevoltages" src="http://engineersphere.com/wp-content/uploads/2010/03/sourcevoltages.png" alt="" width="773" height="230" /></a></p>
<p>R+ and R- provide bias current return paths. Bias currents result from not-quite infinite input impedance to the DAQ, and if not balanced the noise they represent will not be common to both + and &#8211; inputs, and thus won’t be rejected. However, R+ and R- load down the source with an equivalent 2R+, which will decrease gain if R+, R- are too low. If R+, R- are too large, they will produce a DC offset at the DAQ input.</p>
<h2>Bandwidth</h2>
<p>Bandwidth is a critical parameter in determining the type of amplifier needed. Often a <strong><span style="text-decoration: underline;">bioamp </span></strong>has adjustable <strong><span style="text-decoration: underline;">bandwidth</span></strong>; typical applications have both low-pass and high-pass adjustable filters.</p>
<p>Typical Bandwidths of Biological Signals: (Table from Webster Fig 6.16, p. 259.)</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/03/biosignalbandwidth.png"><img class="aligncenter size-full wp-image-1197" title="biosignalbandwidth" src="http://engineersphere.com/wp-content/uploads/2010/03/biosignalbandwidth.png" alt="" width="782" height="290" /></a></p>
<p>(<strong><span style="text-decoration: underline;">Electro-oculogram</span></strong>: signal from electrodes placed either side or above and below the eye. Linearly proportional to angle of gaze; DC signal)</p>
<h2>Noise Reduction</h2>
<p>Can be either or both analog and/or digital. If digital, it is done by post-processing collected data. If analog, wiring of the printed-circuit board, handling of wires on the bench, and internal circuitry are all details to consider carefully.</p>
<h2>Protective Shielding</h2>
<p>For equipment, against transient large signal sources–includes grounding the outer case of the equipment and surge protection, as well as isolation.</p>
<h2>Power Supplies</h2>
<p>AC (mains) with rectification and usually transformer isolation. Subject to power failures, risk of electrocution.<br />
Battery: provides its own isolation. Limited lifetime and undesirable behavior just before failure.</p>
<h2>Specialized Amplifiers</h2>
<h3 style="text-align: center;"><a href="http://engineersphere.com/wp-content/uploads/2010/03/lockinamplifier.png"><img class="aligncenter size-full wp-image-1198" title="lockinamplifier" src="http://engineersphere.com/wp-content/uploads/2010/03/lockinamplifier.png" alt="" width="767" height="313" /></a>Lock-In Amplifier Block Diagram</h3>
<p><strong><span style="text-decoration: underline;">Lock-in Amplifier</span></strong>: (<a href="http://www.lockin.de">www.lockin.de</a>) If the signal source is mostly at a single frequency but is very weak and/or subject to a great deal of noise, a lock-in amplifier can be used to extract the signal. In biological cases the single-frequency property of the signal is most-often externally generated, by applying a single-frequency excitation in one way or another.</p>
<p>Theory:</p>
<p>Signal source S(t) = A cos(ω1t + θ1) + B cos(ω2t + θ2)</p>
<p>Reference signal R(t) = C cos(ω1t)</p>
<p>Product S(t)R(t) = AC cos(ω1t) cos(ω1t + θ1) + other terms in cos(ω1t) and cos(ω2t)</p>
<p>= AC/2 (cos(2ω1t + θ1) + cos(-θ1) ) + other terms in cos(ω1t) and cos(ω2t)</p>
<p>Integrating over an even number of cycles of the reference signal reduces all terms in ω1 to zero, so <strong>the displayed signal is proportional only to the amplitude of the component of the signal source at the reference frequency</strong>.</p>
<p>To get the reference frequency into the signal source various means are employed: one may have to excite the subject (nerve, membrane&#8230;) at the reference frequency, or one may already know the source has a dominant resonance; alternatively one may look at each of several spectral components in the source signal piecemeal, by tuning the reference frequency.</p>
<p><strong><span style="text-decoration: underline;">Pre-Amplifier</span></strong>:  high input impedance, moderate gain, high <a href="http://engineersphere.com/basic-electrical-concepts/amplifiers-part-i.html">CMRR</a>. Often <a href="http://engineersphere.com/basic-electrical-concepts/amplifiers-part-i.html">differential input</a> and isolation. May include DC offset control, gain control switches, and/or calibration signal.</p>
<p><span style="text-decoration: underline;"><strong>Chopper-stabilized Amplifier</strong></span>:  removes thermal DC drift from a (very-low-frequency or DC) signal by using negative feedback and chopping the low-frequency signal at a frequency above the amplifier’s high-pass limit (effectively, this is frequency modulation). The signal can be reconstructed by demodulation after amplification; noise signals at both high frequencies and those below the chopper frequency are rejected.</p>
<p>This post was made using some old class notes, a DAQ card user manual and just some good old knowledge.  I know this is not a traditional <a href="engineersphere.com">engineersphere.com</a> lesson, it is more of an &#8216;informative read&#8217; for the avid electrical engineer interested in <a href="http://engineersphere.com">biomedical applications</a>.  Enjoy <img src='http://engineersphere.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/basic-electrical-concepts/amplifiers-part-i.html" rel="bookmark" class="crp_title">Amplifiers &#8211; Part I</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/frequency-response-for-mosfetbjt.html" rel="bookmark" class="crp_title">Frequency Response for MOSFET/BJT</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iv.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; IV</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/complex-numbers.html" rel="bookmark" class="crp_title">Complex Numbers</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; II</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/basic-electrical-concepts/amplifiers-part-ii.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amplifiers &#8211; Part I</title>
		<link>http://engineersphere.com/basic-electrical-concepts/amplifiers-part-i.html</link>
		<comments>http://engineersphere.com/basic-electrical-concepts/amplifiers-part-i.html#comments</comments>
		<pubDate>Wed, 17 Mar 2010 19:54:47 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Basic Electrical Engineering Concepts]]></category>
		<category><![CDATA[Biomedical Engineering]]></category>
		<category><![CDATA[Circuit Theory]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Amp]]></category>
		<category><![CDATA[Amplifier Saturation]]></category>
		<category><![CDATA[Amplifier Schematic]]></category>
		<category><![CDATA[Amplifiers]]></category>
		<category><![CDATA[Bias Current]]></category>
		<category><![CDATA[CMRR]]></category>
		<category><![CDATA[Common-Mode]]></category>
		<category><![CDATA[DC offset]]></category>
		<category><![CDATA[Diff Amp]]></category>
		<category><![CDATA[Difference Amp]]></category>
		<category><![CDATA[Differential Amp]]></category>
		<category><![CDATA[Frequency Dependance]]></category>
		<category><![CDATA[Gain]]></category>
		<category><![CDATA[Input Impedance]]></category>
		<category><![CDATA[Instrumentation Amp]]></category>
		<category><![CDATA[Operational Amplifier]]></category>
		<category><![CDATA[Output Impedance]]></category>
		<category><![CDATA[Saturation]]></category>
		<category><![CDATA[Wheatstone Bridge]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1165</guid>
		<description><![CDATA[This post is about amplifiers, how they work, and common applications. I will cover several operational amplifier configurations, and situations where each might be useful. This is part I of II for general discussion about amplifiers. Enjoy! Amplifiers Definition (for Bioinstrumentation): Circuit that makes a small signal, usually voltage but occasionally current or power, big [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">This post is about <strong>amplifiers</strong>, how they work, and common applications.  I will cover several operational amplifier configurations, and situations where each might be useful.  This is part I of II for general discussion about amplifiers.  Enjoy!</p>
<h1 style="text-align: left;">Amplifiers</h1>
<p><strong>Definition</strong> (for Bioinstrumentation): Circuit that makes a small signal, usually voltage but occasionally current or power, big enough to do something useful–including excite an output mechanism.</p>
<h3>Common uses:</h3>
<p style="padding-left: 30px;">• Biological measurements of small signals<br />
• Audio engineering: a large current is needed to drive speakers<br />
• Wireless communications: far from originating antenna, signal is very weak and must be<br />
amplified to be useful.</p>
<h3>Secondary applications:</h3>
<p style="padding-left: 30px;">Many amplifiers are also filters, preferentially amplifying some frequencies over others</p>
<p style="padding-left: 30px;">• Don’t want to amplify noise along with signal<br />
• Only interested in low- or high-frequency portion of signal<br />
• Active filter provides amplification as added bonus</p>
<h2>General Amplifier Characteristics</h2>
<p><strong><span style="text-decoration: underline;">Common Mode Rejection Ratio (CMRR)</span></strong>–ratio (usually in dB) of the amplifier’s common-mode gain to its differential-mode gain. <strong><span style="text-decoration: underline;">Common-mode signals</span></strong> are input signals common to both + and &#8211; inputs and are usually unwanted noise–60-Hz, thermal, etc; <strong><span style="text-decoration: underline;">differential signals</span></strong> are applied to only one input.</p>
<p><span style="text-decoration: underline;"><strong>Gain</strong></span>–voltage out over voltage in, or current out over current in. May be given in dB.  <em>Bioamp requirement</em>: often adjustable; should be 1000 or greater, should be calibrated.</p>
<p><span style="text-decoration: underline;"><strong>Input Impedance</strong></span>–what the input source sees as its load working into the amplifier: if the entire amplifier circuit were modelled as a resistor, what would be the value of the resistor? <em>Typical bioamp</em>: Rin = 10MΩ–signal source need not provide much current.</p>
<p><span style="text-decoration: underline;"><strong>Output Impedance</strong></span>–same as input impedance but from the output end: model the entire amplifier as a source, and this is its internal impedance. <em>Bioamp requirement:</em> Ro &lt;&lt; Rload.</p>
<p><span style="text-decoration: underline;"><strong>Frequency Response</strong></span>–over what range of frequencies is the gain constant? Graphically illustrated with a Bode plot of gain vs. frequency.</p>
<p><span style="text-decoration: underline;"><strong>DC offset</strong></span>–usually an amplifier has an operator-adjustable DC offset knob, to null out any offset associated with non-ideal amplifier or sensor behavior. A DC offset signal results in an incorrect reading unless removed or filtered out (high-pass filter).</p>
<h3>Operational Amplifier:</h3>
<p>basis for most instrumentation-related amplifiers, cheap, readily available, easy to work with. “Operational” = good for mathematical operations (+, -, log, &#8230;)</p>
<h2><a href="http://engineersphere.com/wp-content/uploads/2010/03/opamp.png"><img class="aligncenter size-full wp-image-1167" title="opamp" src="http://engineersphere.com/wp-content/uploads/2010/03/opamp.png" alt="" width="540" height="168" /></a>Meanings and advantages:</h2>
<p>• equal input voltages –&gt; within the limits of external power supplies, an op amp outputs whatever current is needed to drive the two input voltages equal. Result is that the output voltage follows the input, scaled by a large gain.<br />
• infinite input resistance means the op amp never loads down the source, even if the source cannot supply much power.<br />
• zero output resistance means the op amp is an ideal voltage source, with output voltage independent of whatever load impedance it must work into.<br />
• infinite open-loop gain means the amplification properties of a circuit containing an op amp are independent of the op amp internal properties.</p>
<p>Carr and Brown go through several common op-amp configurations and show how to derive their voltage gains. Suffice it for now to know that if you want to build an amplifier, an op amp is a good place to start.</p>
<h2>Common op-amp circuit configurations:</h2>
<p>• Inverting and non-inverting amplifiers<br />
• Summing and difference amplifiers<br />
• Integrating and differentiating amplifiers<br />
• Log and anti-log amplifiers<br />
• Instrumentation amplifier<br />
• Low-pass filter<br />
• High-pass filter<br />
• Band-pass and notch filters<br />
• Buffer (voltage follower, or unity-gain buffer)</p>
<h2>Op Amp Equivalent Circuit</h2>
<p>This schematic illustrates the important properties of the op amp, and of any amplifier. It can also make it easier to understand circuit operation.</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/03/opampequivalent1.png"><img class="alignleft size-full wp-image-1169" title="opampequivalent" src="http://engineersphere.com/wp-content/uploads/2010/03/opampequivalent1.png" alt="" width="259" height="228" /></a></p>
<p>Note the open-circuit inputs– Rin = infinity. The<br />
output voltage supply is a dependent voltage<br />
source. Also, since the gain A is infinite, v2 &#8211; v1<br />
must be zero to get a finite output.</p>
<h2>Difference (Differential) Amplifier</h2>
<p><em>Example</em>: derive the gain relationship for the basic differential amplifier shown, assuming U1 is ideal and Vin = V2 &#8211; V1.</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/03/diffamp.png"><img class="alignleft size-full wp-image-1170" title="diffamp" src="http://engineersphere.com/wp-content/uploads/2010/03/diffamp.png" alt="" width="348" height="249" /></a></p>
<p>To get equal gain of both V1 and V2, set R2/R1 = R4/R3. Then Vo = R2/R1(V2-V1).</p>
<p>To get a high gain, R2 &gt;&gt; R1, but to get high input impedance R1 (and/or R3) should be large, making R2 and R4 even larger&#8230;Result: high gain and high input impedance are difficult to achieve together.</p>
<h2>Instrumentation Amplifier</h2>
<p>A difference amp with input buffer/gain stages to increase input impedance and gain. To analyze, realize that the same current must flow in R5, R6 and R5 (since no current flows into the op amps). Set R1=R3, R2 = R4; then Vo = G1* (v3(U1) -v2(U1)), where G1 = R2/R1 = gain of second (differential) stage.</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/03/instrumentationamp.png"><img class="aligncenter size-full wp-image-1171" title="instrumentationamp" src="http://engineersphere.com/wp-content/uploads/2010/03/instrumentationamp.png" alt="" width="595" height="368" /></a>Gain of input stage is 1 + 2*R5/R6 = G2. Overall gain is G1*G2. Making R6 a potentiometer allows compensation for inequalities in the two R5s, as well as for variable gain of the entire circuit.</p>
<p><strong><span style="text-decoration: underline;">Overall Gain</span></strong>: A practical difference amp can have a gain of 100, so it is not hard to get an overall gain of 10,000 from an instrumentation amp.<br />
<strong><span style="text-decoration: underline;">Input Impedance</span></strong>: equal to that of the op amps U1 and U2–very large. Use FET-based amps for extremely high input impedance<br />
<strong><span style="text-decoration: underline;">Output Impedance:</span></strong> close to that of the op amp U1–very small: the amp will provide whatever current is needed to maintain the output voltage regardless of load impedance.</p>
<p><strong><span style="text-decoration: underline;">Equal resistors:</span></strong> in practice one cannot buy matched discrete resistors; however it is fairly easy to manufacture them within an integrated circuit. Monolithic diff-amps are available.</p>
<h2>Non-idealities of amplifiers</h2>
<p><strong><span style="text-decoration: underline;">Gain</span></strong>:  TANSTAAFL&#8211;you cannot have gain without a power supply to provide it. Real gain is limited by the external power  supplies (+/- 12 or 15 V, for op amp circuits) Exceeding the limits of the power supply results in <strong><span style="text-decoration: underline;">Saturation</span></strong>, or “hitting the rail”.</p>
<p><strong><span style="text-decoration: underline;">Output impedance</span></strong>: a zero output impedance means the circuit will provide whatever current is needed to maintain the requested output voltage. Practically, however, an op amp can only provide some 20mA, meaning RO is negligible only for RL&gt;&gt;15V/20mA = 750 Ω.</p>
<p><span style="text-decoration: underline;"><strong>Frequency dependence</strong></span>: to avoid oscillation or saturation, circuitry must often be added that limits the bandwidth of an amplifier.<br />
• To keep DC offset signals (from polarizing electrodes, for example) out of the amplifier, a high-pass filter is used to cut off DC (and lower-frequency ac) signals.<br />
• If the load to be driven contains substantial capacitance, the current output limit again becomes a problem, limiting gain at high frequencies, where capacitors look like shorts.</p>
<p><strong><span style="text-decoration: underline;">Input bias current:</span></strong> real op amps do have non-zero input currents, which produce voltage drops at the input–another source of DC offset. This source can be minimized by using FET op amps.</p>
<h2>Impedance Bridge</h2>
<p>Often the measurand is the relation between voltage and current (one applied, the other a response) rather than a biologically generated source. An example in Carr and Brown uses a wire heated by an applied current as an airflow sensor:  air flow from a breathing patient cools the wire, changing its resistance. Similarly, a voltage applied to a membrane induces a current flow; the ratio of voltage to current is a resistance. Such relations are best measured using a <strong><span style="text-decoration: underline;">Bridge</span></strong>, and if the bridge is made solely of resistors it is called a <strong><span style="text-decoration: underline;">Wheatstone Bridge</span></strong>.</p>
<p><a href="http://engineersphere.com/wp-content/uploads/2010/03/wheatstonebridge.png"><img class="alignleft size-full wp-image-1172" title="wheatstonebridge" src="http://engineersphere.com/wp-content/uploads/2010/03/wheatstonebridge.png" alt="" width="270" height="220" /></a>Usually drawn as a diamond, this configuration of resistors is “balanced” when V+ &#8211; V- = 0. If Rtest then varies a little, a differential amplifier across V+ and V- will register a potential difference proportional to<br />
the change in Rtest.</p>
<p>The impedances can have capacitance and/or inductance associated with them, in which case the bridge can measure both energy storage and  resistive loss in an element.</p>
<p>A return path to ground for (DC) bias currents is automatically provided by this circuit to prevent saturation.</p>
<p>Well there you have it, a few common amplifier configurations and some useful terms pertaining to them.  Remember important concepts such as <strong><span style="text-decoration: underline;">amplifier saturation</span></strong>, <strong><span style="text-decoration: underline;">Input Impedance</span></strong>, <strong><span style="text-decoration: underline;">Output Impedance</span></strong>, and <span style="text-decoration: underline;"><strong>Gain</strong></span>.  A solid understanding of these concepts is sure to impress somebody!  Amplifiers  part II will continue to elaborate on more fun amplifier concepts.</p>
<p>References: References: Carr and Brown ch. 7; Webster chs. 3, 6; Neamen, Electronic Circuit Analysis and<br />
Design (McGraw Hill, 2001) ch. 9</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/basic-electrical-concepts/amplifiers-part-ii.html" rel="bookmark" class="crp_title">Amplifiers &#8211; Part II</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/complex-numbers.html" rel="bookmark" class="crp_title">Complex Numbers</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/acceptorsdonors-and-holeselectrons.html" rel="bookmark" class="crp_title">Calculating Electron and Hole Concentrations in a p-n Junction</a></li><li><a href="http://engineersphere.com/basic-computer-concepts/karnaugh-maps.html" rel="bookmark" class="crp_title">Karnaugh Maps</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/frequency-response-for-mosfetbjt.html" rel="bookmark" class="crp_title">Frequency Response for MOSFET/BJT</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/basic-electrical-concepts/amplifiers-part-i.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Solving a System Equation</title>
		<link>http://engineersphere.com/math/differential-equations/solving-a-system-equation.html</link>
		<comments>http://engineersphere.com/math/differential-equations/solving-a-system-equation.html#comments</comments>
		<pubDate>Wed, 30 Dec 2009 00:02:11 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Differential Equations]]></category>
		<category><![CDATA[Linear Systems]]></category>
		<category><![CDATA[complex roots]]></category>
		<category><![CDATA[linear system equation]]></category>
		<category><![CDATA[solve for complex roots]]></category>
		<category><![CDATA[system equation]]></category>
		<category><![CDATA[system equations]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1117</guid>
		<description><![CDATA[Often during a course you will need to be able to solve a system equation for its roots.  These roots can be complex, distinct, or repeated.  These problems usually arise when working with linear systems or differential equations.  A system equation is formatted as follows: System Equation: For example purposes, I will solve a system [...]]]></description>
			<content:encoded><![CDATA[<p>Often during a course you will need to be able to solve a system equation for its roots.  These roots can be complex, distinct, or repeated.  These problems usually arise when working with linear systems or differential equations.  A system equation is formatted as follows:</p>
<h3>System Equation: <img src='http://s.wordpress.com/latex.php?latex=Q%28D%29y_%7B0%7D%28t%29%20%3D%200%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='Q(D)y_{0}(t) = 0 ' title='Q(D)y_{0}(t) = 0 ' class='latex' /></h3>
<p>For example purposes, I will solve a system equation with complex roots.  A system equation with complex roots as a function of <img src='http://s.wordpress.com/latex.php?latex=%5Clambda%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='\lambda ' title='\lambda ' class='latex' /> will appear in the following format (if it does not, you need to manipulate your equation to be in the form):</p>
<p><img src='http://s.wordpress.com/latex.php?latex=Q%28%5Clambda%29%20%3D%20%28%5Clambda%20-%20%5Calpha%20-%20j%5Cbeta%29%28%5Clambda%20-%20%5Calpha%20%2B%20j%5Cbeta%29%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='Q(\lambda) = (\lambda - \alpha - j\beta)(\lambda - \alpha + j\beta) ' title='Q(\lambda) = (\lambda - \alpha - j\beta)(\lambda - \alpha + j\beta) ' class='latex' /></p>
<p><strong><span style="text-decoration: underline;">Roots</span></strong>: <img src='http://s.wordpress.com/latex.php?latex=%5Clambda%20%3D%20%5Calpha%20%5Cpm%20j%5Cbeta%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='\lambda = \alpha \pm j\beta ' title='\lambda = \alpha \pm j\beta ' class='latex' /></p>
<p>So we have <img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20%3D%20C_%7B1%7De%5E%7B%28%5Calpha%20%2B%20j%5Cbeta%29t%7D%2BC_%7B2%7De%5E%7B%28%5Calpha%20-%20j%5Cbeta%29t%7D%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) = C_{1}e^{(\alpha + j\beta)t}+C_{2}e^{(\alpha - j\beta)t} ' title='y_{0}(t) = C_{1}e^{(\alpha + j\beta)t}+C_{2}e^{(\alpha - j\beta)t} ' class='latex' /></p>
<p>which also equals <img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20%3D%20Ce%5E%7B%5Calpha%20t%7Dcos%28%5Cbeta%20t%20%2B%20%5Ctheta%29%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) = Ce^{\alpha t}cos(\beta t + \theta) ' title='y_{0}(t) = Ce^{\alpha t}cos(\beta t + \theta) ' class='latex' /></p>
<p>so your first step is to look at your equation and determine your roots, then write out your <img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) ' title='y_{0}(t) ' class='latex' /> equation with constants.</p>
<p><span style="text-decoration: underline;">Example</span> <img src='http://s.wordpress.com/latex.php?latex=%5Cfrac%7Bd%5E%7B2%7Dv%7D%7Bdt%5E%7B2%7D%7D%20%2B%204%5Cfrac%7Bdv%7D%7Bdt%7D%20%2B%204v%28t%29%20%3D%200%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='\frac{d^{2}v}{dt^{2}} + 4\frac{dv}{dt} + 4v(t) = 0 ' title='\frac{d^{2}v}{dt^{2}} + 4\frac{dv}{dt} + 4v(t) = 0 ' class='latex' /> with initial conditions <img src='http://s.wordpress.com/latex.php?latex=V%280%29%20%3D%203v%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='V(0) = 3v ' title='V(0) = 3v ' class='latex' /> and <img src='http://s.wordpress.com/latex.php?latex=V%5E%7B1%7D%280%29%20%3D%20-4v%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='V^{1}(0) = -4v ' title='V^{1}(0) = -4v ' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=Q%28%5Clambda%29%20%3D%20%5Clambda%5E%7B2%7D%20%2B%204%5Clambda%20%2B%204%20%3D%200%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='Q(\lambda) = \lambda^{2} + 4\lambda + 4 = 0 ' title='Q(\lambda) = \lambda^{2} + 4\lambda + 4 = 0 ' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%28%5Clambda%20%2B%202%29%28%5Clambda%20%2B%202%29%20%3D%200%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='(\lambda + 2)(\lambda + 2) = 0 ' title='(\lambda + 2)(\lambda + 2) = 0 ' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%5Clambda_%7B1%7D%20%3D%20%5Clambda_%7B2%7D%20%3D%20-2%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='\lambda_{1} = \lambda_{2} = -2 ' title='\lambda_{1} = \lambda_{2} = -2 ' class='latex' /></p>
<p>so now we can write our <img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) ' title='y_{0}(t) ' class='latex' /> equation as follows:</p>
<p><img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20%3D%20C_%7B1%7De%5E%7B-2t%7D%2BC_%7B2%7Dte%5E%7B-2t%7D%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) = C_{1}e^{-2t}+C_{2}te^{-2t} ' title='y_{0}(t) = C_{1}e^{-2t}+C_{2}te^{-2t} ' class='latex' /></p>
<p>In order to solve for <img src='http://s.wordpress.com/latex.php?latex=C_%7B1%7D%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='C_{1} ' title='C_{1} ' class='latex' /> and <img src='http://s.wordpress.com/latex.php?latex=C_%7B2%7D%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='C_{2} ' title='C_{2} ' class='latex' /> we need to use our initial conditions.  To evaluate the first derivative initial condition, we must first take the derivative of our <img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20%3D%20C_%7B1%7De%5E%7B-2t%7D%2BC_%7B2%7De%5E%7B-2t%7D%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) = C_{1}e^{-2t}+C_{2}e^{-2t} ' title='y_{0}(t) = C_{1}e^{-2t}+C_{2}e^{-2t} ' class='latex' /> that we just found.</p>
<p><img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%5E%7B1%7D%28t%29%20%3D%20-2C_%7B1%7De%5E%7B-2t%7D%20-%202C_%7B2%7D%2At%2Ae%5E%7B-2t%7D%20%2B%20C_%7B2%7De%5E%7B-2t%7D%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}^{1}(t) = -2C_{1}e^{-2t} - 2C_{2}*t*e^{-2t} + C_{2}e^{-2t} ' title='y_{0}^{1}(t) = -2C_{1}e^{-2t} - 2C_{2}*t*e^{-2t} + C_{2}e^{-2t} ' class='latex' /></p>
<p>evaluating this equation with t = 0 and the response equal to -4v, we get this: <img src='http://s.wordpress.com/latex.php?latex=-4%20%3D%20-2C_%7B1%7D%20%2B%20C_%7B2%7D%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='-4 = -2C_{1} + C_{2} ' title='-4 = -2C_{1} + C_{2} ' class='latex' /></p>
<p>evaluating our <img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) ' title='y_{0}(t) ' class='latex' /> equation with t = 0 and the response equal to 3v, we calculate <img src='http://s.wordpress.com/latex.php?latex=C_%7B1%7D%20%3D%203%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='C_{1} = 3 ' title='C_{1} = 3 ' class='latex' /></p>
<p>Using these two equations, we calculate our constants:</p>
<p><img src='http://s.wordpress.com/latex.php?latex=C_%7B1%7D%20%3D%203%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='C_{1} = 3 ' title='C_{1} = 3 ' class='latex' /> and <img src='http://s.wordpress.com/latex.php?latex=C_%7B2%7D%20%3D%202%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='C_{2} = 2 ' title='C_{2} = 2 ' class='latex' /></p>
<p>Fill these into our <img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) ' title='y_{0}(t) ' class='latex' /> equation to determine the final result.</p>
<p><img src='http://s.wordpress.com/latex.php?latex=y_%7B0%7D%28t%29%20%3D%203e%5E%7B-2t%7D%2B2te%5E%7B-2t%7D%20&#038;bg=efe5d9&#038;fg=000000&#038;s=0' alt='y_{0}(t) = 3e^{-2t}+2te^{-2t} ' title='y_{0}(t) = 3e^{-2t}+2te^{-2t} ' class='latex' /></p>
<p>Now you know how to solve this common differential equations and linear systems problem, determine characteristic roots and modes, and write system equations. <img src='http://engineersphere.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/linear-systems/zero-input-response/zero-input-response.html" rel="bookmark" class="crp_title">Zero Input Response</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/bjt-transistor-nodal-analysis.html" rel="bookmark" class="crp_title">BJT Transistor Nodal Analysis</a></li><li><a href="http://engineersphere.com/circuit-theory/mesh-current.html" rel="bookmark" class="crp_title">Mesh Current</a></li><li><a href="http://engineersphere.com/math/separable-differential-equations.html" rel="bookmark" class="crp_title">Separable Differential Equations</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/complex-numbers.html" rel="bookmark" class="crp_title">Complex Numbers</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/math/differential-equations/solving-a-system-equation.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pink Glove Video</title>
		<link>http://engineersphere.com/introduction/pink-glove-video.html</link>
		<comments>http://engineersphere.com/introduction/pink-glove-video.html#comments</comments>
		<pubDate>Mon, 21 Dec 2009 18:56:18 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[cancer awareness]]></category>
		<category><![CDATA[pink glove video]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1093</guid>
		<description><![CDATA[Very cool! Pink Glove Video Related Posts:$upport Breast Cancer Re$earchFrequency Response for MOSFET/BJTKirchoff Current LawBiomedical Image Processing &#8211; IISeries Resistors]]></description>
			<content:encoded><![CDATA[<p>Very cool!</p>
<p><a href="http://www.cnn.com/video/#/video/bestoftv/2009/12/05/nr.pink.glove.video.cnn?iref=allsearch">Pink Glove Video</a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/introduction/support-breast-cancer-research.html" rel="bookmark" class="crp_title">$upport Breast Cancer Re$earch</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/frequency-response-for-mosfetbjt.html" rel="bookmark" class="crp_title">Frequency Response for MOSFET/BJT</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/kirchoff-current-law.html" rel="bookmark" class="crp_title">Kirchoff Current Law</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; II</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/series-resistors.html" rel="bookmark" class="crp_title">Series Resistors</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/introduction/pink-glove-video.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Biomedical Image Processing &#8211; IV</title>
		<link>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iv.html</link>
		<comments>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iv.html#comments</comments>
		<pubDate>Mon, 07 Dec 2009 03:38:27 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Biomedical Engineering]]></category>
		<category><![CDATA[boolean operations]]></category>
		<category><![CDATA[component labeling]]></category>
		<category><![CDATA[digital filters]]></category>
		<category><![CDATA[grayscale imaging]]></category>
		<category><![CDATA[image modification]]></category>
		<category><![CDATA[image processing]]></category>
		<category><![CDATA[pixels]]></category>
		<category><![CDATA[point operations]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1086</guid>
		<description><![CDATA[This post is continuing from Biomedical Image Processing &#8211; III.  Enjoy Basic Image Modification While image processing operations can be performed in hardware (e.g., in cases where speed is paramount), many image processing operations are performed in software. This section discusses some of the basic processing operations performed on different types of images, including image [...]]]></description>
			<content:encoded><![CDATA[<p>This post is continuing from Biomedical Image Processing &#8211; III.  Enjoy <img src='http://engineersphere.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Basic Image Modification</h2>
<p>While image processing operations can be performed in hardware (e.g., in cases where speed is paramount), many image processing operations are performed in software. This section discusses some of the basic processing operations performed on different types of images, including image arithmetic, point operations, and geometric operations. Many of these operations are driven by the need to isolate regions of an image or to improve the appearance of an image.<br />
Like more advanced image modification techniques, these basic operations are rarely used alone. Rather, the individual operations are <span style="text-decoration: underline;"><strong>cascaded</strong></span> together to produce an overall desired effect.</p>
<h2>Image Arithmetic</h2>
<p>Image arithmetic represents a broad category of algorithms that use <strong><span style="text-decoration: underline;">pixel-based processes</span></strong> for combining or extracting image information. For example, if images P1 and P2 contain pixels that are referenced by a row integer i and column integer j, Table 1<br />
illustrates some arithmetic operations that can be performed on these images. In the table, the symbol C represents a constant value by which an image can be adjusted or scaled. Note that both images must be the same size for these operations to apply. These operations are primarily used as <span style="text-decoration: underline;"><strong>sub-steps</strong></span> in more complex image processing operations, rather than being useful on their own.</p>
<p>Table 1. Expressions for some common<strong><span style="text-decoration: underline;"> pixel-based</span></strong> image arithmetic algorithms.</p>
<p><img class="aligncenter size-full wp-image-1087" title="pixelbasedmod" src="http://engineersphere.com/wp-content/uploads/2009/12/pixelbasedmod.jpg" alt="pixelbasedmod" width="613" height="401" /></p>
<p>Figure 13. Example of an image that has been brightened by simple pixel-based addition</p>
<p><span style="text-decoration: underline;"><strong>Boolean operations</strong></span> are pixel-based, logical operations performed on sets of images (see Figure 14). Note that these operations are usually applied to two-color images (the pixel values are either “0” or “1”). A common example of a boolean operation is the use of NAND to identify objects that have moved between images (AND will yield the intersection of two images, denoting the stationary objects).</p>
<p><img class="aligncenter size-full wp-image-1088" title="booleanoperations" src="http://engineersphere.com/wp-content/uploads/2009/12/booleanoperations.jpg" alt="booleanoperations" width="613" height="439" /></p>
<p style="text-align: center;">Figure 14. Boolean operations performed on images</p>
<h2>Point Operations</h2>
<p style="text-align: left;"><span style="text-decoration: underline;"><strong>Point operations</strong></span>, like image arithmetic, are pixel-based. However, these operations perform a mapping between image pixel intensity values and their representations on the new image. The most common point operations are <strong><span style="text-decoration: underline;">thresholding</span></strong>, <span style="text-decoration: underline;"><strong>contrast stretching</strong></span>, and <strong><span style="text-decoration: underline;">histogram equalization</span></strong>.</p>
<h2>Thresholding</h2>
<p style="text-align: left;">When an algorithm thresholds an image, the pixels whose intensities are above and below the threshold are assigned binary values. This technique is often used as an image preprocessing step before the image is passed to other processing algorithms. An example of thresholding is shown in Figure 15. In this figure, a slice of brain tissue (containing nervous cells and glia cells) is thresholded and then connected-component labeled so that the number of cells in the image can be counted.</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-1089" title="threshhold" src="http://engineersphere.com/wp-content/uploads/2009/12/threshhold.jpg" alt="threshhold" width="608" height="241" /></p>
<p style="text-align: left;">Figure 15. Illustration of how thresholding and connected-component labeling can be used for cell counting applications [http://www.dai.ed.ac.uk/HIPR2/threshld.htm].</p>
<h2>Histogram Equalization</h2>
<p style="text-align: left;">Histogram equalization reassigns the intensity values of pixels in the input image so that the output image contains a uniform distribution of intensities (i.e., a flat histogram). This is illustrated in Figure 16 (compare this figure to the image/histogram in Figure 10).</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-1090" title="histogram2" src="http://engineersphere.com/wp-content/uploads/2009/12/histogram2.jpg" alt="histogram2" width="571" height="280" /></p>
<p style="text-align: left;">Figure 16. An example of histogram equalization for magnifying the level of detail inportions of a gray-scale image.</p>
<p style="text-align: left;">The next post, Biomedical Image Processing &#8211; V, will discuss contrast stretching, Image Denoising and Enhancement, and digital filters for noise reduction.  References for this post are listed in Biomedical Image Processing &#8211; I.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; III</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; II</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-i.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; I</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/complex-numbers.html" rel="bookmark" class="crp_title">Complex Numbers</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/acceptorsdonors-and-holeselectrons.html" rel="bookmark" class="crp_title">Calculating Electron and Hole Concentrations in a p-n Junction</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iv.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Biomedical Image Processing &#8211; III</title>
		<link>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iii.html</link>
		<comments>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iii.html#comments</comments>
		<pubDate>Fri, 04 Dec 2009 02:37:40 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Biomedical Engineering]]></category>
		<category><![CDATA[biomedical image processing]]></category>
		<category><![CDATA[component labeling]]></category>
		<category><![CDATA[dicom]]></category>
		<category><![CDATA[dicom image standard]]></category>
		<category><![CDATA[image analysis]]></category>
		<category><![CDATA[image classification]]></category>
		<category><![CDATA[intensity histogram]]></category>
		<category><![CDATA[m-mode]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1076</guid>
		<description><![CDATA[This post is continuing from Biomedical Image Processing &#8211; II. DICOM Image Standard Medical specialists have been slow to adopt widely accepted standards for image/film storage, display, and transmission. However, one standard has been adopted with reasonable success in the radiology community: DICOM (Digital Imaging and Communication in Medicine) has been progressively developed since 1983 [...]]]></description>
			<content:encoded><![CDATA[<p>This post is continuing from Biomedical Image Processing &#8211; II.</p>
<h2>DICOM Image Standard</h2>
<p>Medical specialists have been slow to adopt widely accepted standards for image/film storage, display, and transmission. However, one standard has been adopted with reasonable success in the radiology community: DICOM (Digital Imaging and Communication in Medicine) has been progressively developed since 1983 by ACR/NEMA (America College of Radiologists and the National Electrical Manufacturers’ Association). DICOM defines a standard for the exchange and storage of medical images from various imaging modalities, including MRI, CT, and ultrasound. It focuses on the communication interface between a host computer and the scanner, but it also defines file format standards to which a system must adhere in order to be considered DICOM-compliant. Some examples of DICOM images are depicted in Figure 7.</p>
<p><strong>Good starter links:</strong></p>
<p>http://www.scispy.com/Standards/DICOM.html</p>
<p>ftp://ftp.philips.com/pub/ms/dicom/DICOM_Information/CookBook.pdf</p>
<p><img class="aligncenter size-full wp-image-1077" title="kneemri" src="http://engineersphere.com/wp-content/uploads/2009/12/kneemri.jpg" alt="kneemri" width="576" height="589" /></p>
<p style="text-align: center;">Figure 7. Radiological images stored in the DICOM standard image format [Vepro<br />
Computersysteme GmbH, Cardio Viewing Station, Version 4.41].</p>
<h3>Image Analysis</h3>
<p style="text-align: left;">Image analysis encapsulates a set of basic image processing operations whose purpose is to query, but not alter, an image. These operations include</p>
<ul>
<li>intensity histogram generation,</li>
<li>information classification, and</li>
<li>connected components labeling.</li>
</ul>
<p style="text-align: left;">
<h2>Intensity Histogram</h2>
<p style="text-align: left;">An intensity histogram describes the distribution of pixel intensity information within an image. This information is displayed as the number of counts associated with each intensity level (see Figure 9). Histograms can also be ascertained for color images, where distributions are displayed for the individual red/green/blue values.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1078" title="histogram" src="http://engineersphere.com/wp-content/uploads/2009/12/histogram.jpg" alt="histogram" width="487" height="184" />Figure 9. Depiction of a histogram for an 8-bit gray scale image (256 intensity levels).</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1079" title="grayscaleimage" src="http://engineersphere.com/wp-content/uploads/2009/12/grayscaleimage.jpg" alt="grayscaleimage" width="608" height="335" />Figure 10. Histogram: 256-level gray scale image (X-ray of a human abdomen)<br />
[http://www.medphys.ucl.ac.uk/research/borg/research/NIR_topics/imaging_exp.htm].</p>
<h2>Classification</h2>
<p style="text-align: left;"><span style="text-decoration: underline;"><strong>Image classification</strong></span> includes a broad set of algorithms for identifying portions of an image that are related to one another. This is very closely related to segmentation, which physically separates these regions from other regions. For example, in a fluorescence image of cells, a researcher might be interested in an image processing algorithm that localizes cell nuclei (see Figure 11) for counting purposes.</p>
<p style="text-align: left;"><img class="alignleft size-full wp-image-1080" title="flourescence" src="http://engineersphere.com/wp-content/uploads/2009/12/flourescence.jpg" alt="flourescence" width="498" height="266" /></p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">Figure 11. Results of an algorithm that attempts to classify and segment portions of a<br />
fluorescence image that correspond to cell nuclei.</p>
<h2>Connected Components Labeling</h2>
<p style="text-align: left;">Connected components labeling is a process whereby an algorithm scans an image and groups sets of pixels based on common features (such as pixel intensity). Once these pixel elements are grouped, they are all assigned the same value and labeled as a region. This process is illustrated in Figure 12. Connected component labeling is different from classification in that the algorithms make no judgments as to which components exhibit similar properties.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1081" title="components" src="http://engineersphere.com/wp-content/uploads/2009/12/components.jpg" alt="components" width="518" height="275" />Figure 12. Example of component labeling based on nearest neighbor analysis<br />
[http://www.dai.ed.ac.uk/HIPR2/label.htm].</p>
<p style="text-align: left;">
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iv.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; IV</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; II</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-i.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; I</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/complex-numbers.html" rel="bookmark" class="crp_title">Complex Numbers</a></li><li><a href="http://engineersphere.com/matlab/root-locus-method-in-matlab.html" rel="bookmark" class="crp_title">Root Locus Method in MATLAB</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iii.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Biomedical Image Processing &#8211; II</title>
		<link>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html</link>
		<comments>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html#comments</comments>
		<pubDate>Wed, 02 Dec 2009 07:53:02 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Biomedical Engineering]]></category>
		<category><![CDATA[aspect ratio]]></category>
		<category><![CDATA[image coordinate system]]></category>
		<category><![CDATA[image processing]]></category>
		<category><![CDATA[image properties]]></category>
		<category><![CDATA[monochrome]]></category>
		<category><![CDATA[pixel]]></category>
		<category><![CDATA[voxel]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1067</guid>
		<description><![CDATA[Continuing from Biomedical Image Processing &#8211; I Image Properties Once an image is stored in digital format, it can be described by a number of different parameters. Some of the relevant parameters are briefly discussed here. The traditional convention for an image coordinate system is depicted in Figure 4. Figure 4. General convention for image [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing from <a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-i.html">Biomedical Image Processing &#8211; I</a></p>
<h2>Image Properties</h2>
<p>Once an image is stored in digital format, it can be described by a number of different parameters. Some of the relevant parameters are briefly discussed here. The traditional convention for an <span style="text-decoration: underline;"><strong>image coordinate system</strong></span> is depicted in Figure 4.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1068" title="imageproperties" src="http://engineersphere.com/wp-content/uploads/2009/12/imageproperties.jpg" alt="imageproperties" width="380" height="273" /></p>
<p style="text-align: center;">Figure 4. General convention for image coordinate systems.</p>
<p style="text-align: left;">While biomedical images are generally viewed in 2D, it is sometimes helpful to view gray-scale (<strong>monochrome</strong>) images in perspective, with the third axis being brightness. This is illustrated with “pseudoimage” data in Figure 5.</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-1069" title="pseudoimage" src="http://engineersphere.com/wp-content/uploads/2009/12/pseudoimage.jpg" alt="pseudoimage" width="525" height="280" /></p>
<p style="text-align: left;">Figure 5. Pseudoimage data viewed in 2D and perspective modes. Data values (either a &#8220;0&#8243; or a &#8220;2&#8243;) are placed within a 31-row by 24-column matrix.</p>
<p style="text-align: left;">Images can be described by a large number of different parameters. Some of these are listed here.</p>
<ul>
<li><span style="text-decoration: underline;"><strong>Pixels</strong></span> (a.k.a. picture elements, pels, image elements) – Individual rectangular<br />
elements that comprise an image. The term <strong><span style="text-decoration: underline;">voxel</span></strong> describes a pixel’s 3D analog.</li>
<li><strong><span style="text-decoration: underline;">Gray levels</span></strong> &#8211; An 8-bit, gray-scale image with 1024 × 1024 pixels requires a<br />
megabyte of storage.</li>
<li><strong><span style="text-decoration: underline;">Color depth</span></strong> – Usually reported as powers of 2, this can range from 2 colors up to 32-<br />
bit color (a.k.a. True Color). Colors are often defined using RGB (red-green-blue) or<br />
HSB (hue-saturation-brightness) combinations (see Figure 6).</li>
<li><span style="text-decoration: underline;"><strong>Aspect ratio</strong></span> – The scaling ratio between the x and y axes.</li>
<li><span style="text-decoration: underline;"><strong>Contrast</strong></span> – The relationship between the brightest and dimmest pixel in the image.</li>
<li><span style="text-decoration: underline;"><strong>Histogram</strong></span> – A binned representation of the gray levels, colors, or brightness levels<br />
in the image.</li>
</ul>
<p><strong>Other notes</strong>:</p>
<ul>
<li>Because of the optimization properties of 2D Fourier transforms, it is often<br />
advantageous to select image sizes whose number of rows and columns are both<br />
powers of 2 (e.g., 512 x 512 array with 128 gray levels – comparable to a<br />
monochrome TV image)</li>
<li>In motion videos, images are displayed at a rate of 30 frames per second</li>
</ul>
<p><span style="text-decoration: underline;"><strong>RGB</strong></span></p>
<p><img class="alignleft size-full wp-image-1070" title="rgb.jpg" src="http://engineersphere.com/wp-content/uploads/2009/12/rgb.jpg.bmp" alt="rgb.jpg" width="201" height="201" /></p>
<p style="text-align: left;"><strong>Primary colors: </strong>red, green, blue<strong><br />
Secondary colors</strong>: yellow = red + green, cyan = green +<br />
blue, magenta = blue + red.
</p>
<p style="text-align: left;"><strong>White</strong> = red + green + blue</p>
<p style="text-align: left;"><strong>Black</strong> = no light.<br />
[http://www.cecs.csulb.edu/~jewett/colors/rgb.html]</p>
<p style="text-align: left;"><strong>HUE</strong>: actual color<br />
Measured in angular degrees around the cone starting and ending at red = 0 or 360 (so yellow = 60, green = 120, etc.).</p>
<p style="text-align: left;"><img class="alignleft size-full wp-image-1072" title="hsb.jpg" src="http://engineersphere.com/wp-content/uploads/2009/12/hsb.jpg1.bmp" alt="hsb.jpg" width="221" height="216" /><strong><br />
SATURATION</strong>: purity of the color<br />
Measured in percent from the center of the cone (0) to the surface (100). At 0% saturation, hue is meaningless</p>
<p style="text-align: left;"><strong>BRIGHTNESS</strong>: measured in percent from black (0) to white (100). At 0% brightness, both hue and saturation are meaningless.<br />
[http://www.cecs.csulb.edu/~jewett/colors/hsb.html]</p>
<p>Figure 6. RGB and HSB color descriptions.</p>
<p>The next Biomedical Image Processing lesson will discuss image analysis, classification, and component labeling.  Happy Holidays!</p>
<p>-Jeff</p>
<p><span style="text-decoration: underline;"><strong> </strong></span></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iv.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; IV</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/complex-numbers.html" rel="bookmark" class="crp_title">Complex Numbers</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; III</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/acceptorsdonors-and-holeselectrons.html" rel="bookmark" class="crp_title">Calculating Electron and Hole Concentrations in a p-n Junction</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-i.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; I</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Biomedical Image Processing &#8211; I</title>
		<link>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-i.html</link>
		<comments>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-i.html#comments</comments>
		<pubDate>Tue, 01 Dec 2009 20:23:18 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Biomedical Engineering]]></category>
		<category><![CDATA[analog images]]></category>
		<category><![CDATA[biomedical image processing]]></category>
		<category><![CDATA[biomedical imaging]]></category>
		<category><![CDATA[digital image processing]]></category>
		<category><![CDATA[image processing]]></category>
		<category><![CDATA[processing images]]></category>
		<category><![CDATA[sampling]]></category>
		<category><![CDATA[scan line sensor]]></category>

		<guid isPermaLink="false">http://engineersphere.com/?p=1059</guid>
		<description><![CDATA[Images play a large role in the presentation of physiological information. Not all image data, however, are ideal. Images can be corrupted by noise, exhibit blur or spatial warping, contain non-optimal intensity/color representations, or simply be too large (or too small) to be of practical or diagnostic value. The following pages contain an overview of [...]]]></description>
			<content:encoded><![CDATA[<p>Images play a large role in the presentation of physiological information. Not all image<br />
data, however, are ideal. Images can be corrupted by noise, exhibit blur or spatial<br />
warping, contain non-optimal intensity/color representations, or simply be too large (or<br />
too small) to be of practical or diagnostic value. The following pages contain an<br />
overview of the following topics relevant to biomedical image processing:</p>
<ul>
<li>Image creation: generation of digital images and their resulting properties.</li>
<li>Image modification: operations that can be performed on digital images including denoising, enhancement, and compression.</li>
<li>Image analysis: techniques for extraction of biomedical data from images, including feature recognition.</li>
</ul>
<p>The issues and techniques discussed here are general: they apply to images acquired using various methodologies, including X-ray radiography, X-ray computed tomography, MRI, ultrasound, and PET. Note that while image processing can be performed on<br />
analog images (e.g., by way of optical Fourier techniques), this overview concentrates on the processing of <span style="text-decoration: underline;"><strong>digital biomedical images</strong></span>.</p>
<h2>Digital Image Creation</h2>
<h3>Image Generation</h3>
<p><strong>Analog images</strong>, having continuously varying color or gray-scale representations, can be stored as digital images for use in computer-based systems. The rules that apply to the digitization of one-dimensional (1D) signals (e.g., voltage versus time) also apply to the digitization of spatial images (e.g., gray level versus position): the images must be sampled and quantized with enough fidelity that they truly represent their analog image counterparts. This, of course, depends on the application for which the images will be utilized. <strong>Scanning</strong>, the initial step in the image digitization process, includes the division of the picture into a number of small regions called picture elements, or pixels (see Figure 1).</p>
<p>The scanning operation represents the image by a grid consisting of m rows × n columns. For example, in the image shown in Figure 1, m = 288 and n = 432, for a total of 124,416 pixels. Each pixel is addressed by its (m,n) coordinate within the matrix. The scanning operation is accompanied by a<strong> sampling</strong> operation, which transforms the representative brightness of each pixel into an analog voltage level or other measurable signal. In the case of an X-ray radiograph, this operation might be performed by a photomultiplier tube.<br />
A good example of a common<strong> line scan sensor</strong> is a flatbed scanner, which uses an array of discrete silicon imaging elements, called photosites, to produce voltage output signals that are proportional to the intensity of the incoming light at each linear location. These solid state devices can be shuttered at high speeds (e.g., 1/10,000 of a second), and their precision typically ranges from 256 to 4096 elements [Gonzalez]. Solid state area sensors also exist, containing grid sizes from 32 × 32 pixels up to 1280 × 1024 pixels.<br />
Finally, each pixel in the grid is assigned an integer that corresponds to its brightness level. This quantization operation is similar to the <strong>quantization</strong> performed on 1D signal data. For example, in an 8-bit gray-scale image, the integer 0 may represent black, the integer 255 may represent white, and the integers in between will represent various gray scales that correspond to image intensity. The general convention in gray-scale images is that larger integers represent brighter pixel values (or pixels exhibiting greater signal<br />
strength).</p>
<p style="text-align: center;"><img class="alignleft size-full wp-image-1060" title="8bit1" src="http://engineersphere.com/wp-content/uploads/2009/12/8bit1.jpg" alt="8bit1" width="322" height="217" /><img class="size-full wp-image-1061 aligncenter" title="8bit2.jpg" src="http://engineersphere.com/wp-content/uploads/2009/12/8bit2.jpg.bmp" alt="8bit2.jpg" width="245" height="205" /></p>
<p style="text-align: left;">Figure 1. Eight-bit, gray-scale digital image consisting of individual square pixels, or<br />
picture elements.</p>
<p style="text-align: left;">As illustrated in Figure 2, two-dimensional (2D) spatial images must obey sampling constraints that are similar to those imposed on 1D, time-based signals. When 1D signals are digitized with an analog-to-digital (A/D) converter, they must be sampled at a frequency greater than or equal to twice the highest frequency component in the signal. Likewise, 2D images must be sampled at a spatial frequency greater than or equal to twice the highest spatial frequency component in the image. Otherwise, these undersampled images will display the type of aliasing depicted in Figure 2. Note that to redisplay a digitally stored image, a D/A conversion is often required (e.g., for a cathode ray tube in a television set).</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-1062" title="sampledimage" src="http://engineersphere.com/wp-content/uploads/2009/12/sampledimage.jpg" alt="sampledimage" width="590" height="163" />Figure 2. Simple illustration of aliasing in a digital image line [after Seeram, p. 55].</p>
<p style="text-align: left;">Some images are not produced on native rectangular grids. B-mode ultrasound images, for example, are often reconstructed from fan-shaped beams or radially-distributed ultrasonic reflectance data (see Figure 3). Production of a 2D image requires that these radial line data be interpolated. These interpolation schemes can affect the quality of the overall images, especially if the individual line scans are separated by large angles.</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-1063" title="bmodeultrasound" src="http://engineersphere.com/wp-content/uploads/2009/12/bmodeultrasound.jpg" alt="bmodeultrasound" width="542" height="279" />Figure 3. Examples of rectangular images constructed from non-rectangular imaging<br />
modalities [Fetal Image: http://www.biosound.com/image5.html; OCT/IVUS: CLEO<br />
’96 Proceedings, p. 55]</p>
<p style="text-align: left;">
<h2>Why Digitize an Image?</h2>
<p style="text-align: left;">The reasons for digitizing 2D image data are very similar to the reasons for digitizing 1D data, revolving primarily around (1) the ability to transmit image data “noise free” and (2) the potential for processing these images with computational tools. These tools<br />
provide assistance in the following areas:</p>
<ul>
<li><strong>Image Enhancement/Restoration</strong>: image improvement, possibly through the<br />
reduction or removal of noise, artifact, or unnecessarily fine detail (e.g.,<br />
processing (1) degraded images of unrecoverable objects or (2) images from<br />
experiments that are too expensive to duplicate)</li>
<li><strong>Image Analysis</strong>: extraction of information with/without interpretation</li>
<li><strong>Pattern Recognition</strong>: structures and patterns are “seen” and recognized</li>
<li><strong>Image Detection</strong>: identification of certain shapes, contours, or textures while<br />
disregarding other image features</li>
<li><strong>Geometric Transformation</strong>: rotation and/or scaling of the image</li>
<li><strong>Data Compression</strong>: Reduction in image size for storage or transmission</li>
</ul>
<p>Part II of Biomedical Image Processing will discuss image properties and DICOM Image Standards.  This information was compiled by Steve Warren of Kansas State University using the following references:</p>
<p>[1] Seeram, Euclid. Computed Tomography: Physical Principles, Clinical<br />
Applications, and Quality Control, W.B. Saunders, Philadelphia, © 1994, ISBN 0-<br />
7216-6710-4<br />
[2] Shung, K. Kirk, Michael B. Smith, and Benjamin Tsui. Principles of Medical<br />
Imaging, Academic Press, San Diego, © 1992, ISBN 0-12-640970-6<br />
[3] Rosenfeld, Azriel and Avinish C. Kak. Digital Picture Processing, Second Edition,<br />
Volume 1, Academic Press, San Diego, ©1982, ISBN0-12-597301-2.<br />
[4] Rosenfeld, Azriel and Avinish C. Kak. Digital Picture Processing, Second Edition,<br />
Volume 2, Academic Press, San Diego, ©1982, ISBN 0-12-597301-2.<br />
[5] Gonzalez, Rafael C. and Richard E. Woods. Digital Image Processing, Addison-<br />
Wesley, Reading, MA, ©1993, ISBN 0-201-50803-6.<br />
[6] Teuber, Jan. Digital Image Processing, Prentice Hall, New York, ©1989, ISBN 0-<br />
13-213364-4.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iv.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; IV</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-ii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; II</a></li><li><a href="http://engineersphere.com/biomedical-engineering/biomedical-image-processing-iii.html" rel="bookmark" class="crp_title">Biomedical Image Processing &#8211; III</a></li><li><a href="http://engineersphere.com/basic-electrical-concepts/amplifiers-part-ii.html" rel="bookmark" class="crp_title">Amplifiers &#8211; Part II</a></li><li><a href="http://engineersphere.com/basic-computer-concepts/history-of-computer-technology.html" rel="bookmark" class="crp_title">History of Computer Technology</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://engineersphere.com/biomedical-engineering/biomedical-image-processing-i.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
