tag:blogger.com,1999:blog-18645998789477864652024-03-21T04:13:27.083+05:00Small Electronic ProjectsThis blog is about small electronics projects, which may be implemented as semester projects for Engineering students.BORNLEADERhttp://www.blogger.com/profile/07804387017773793125noreply@blogger.comBlogger102125tag:blogger.com,1999:blog-1864599878947786465.post-90292737023301375342011-10-06T13:05:00.000+05:002011-10-06T13:05:28.832+05:00Design and construction of Radio Frequency Oscillators<div dir="ltr" style="text-align: left;" trbidi="on"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--> <m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent><!--[endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style> <![endif]--> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac><br />
<div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Some people regard the design of RF Oscillators to be something akin to a "black art" and after many years of swearing at "cranky" oscillators I'm not all too sure they are all that wrong. I suggest you ensure you remember this old saying:</span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"></span></div><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: center;"><span style="font-family: "Arial","sans-serif"; font-size: 10pt;">"Amplifiers oscillate and oscillators amplify" - unknown</span><span style="font-family: "Arial","sans-serif"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: 18pt; margin-right: 87.8pt;"><br />
</div><div class="MsoNormal" style="line-height: 18pt; margin-right: 87.8pt;"><b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 12pt;">Introduction</span></b></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">When I was a kid, yes I can remember back to the late 1940's, we collected all manner of junk. Cool was anything remotely electrical and, of course bicycle dynamos, lamps or motors were even "extra cool".</span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">We as precious little seven year olds conceived - all budding nuclear physicists that we were - of this real smart idea, obviously nobody had ever thought of this before.</span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal;"><span style="font-family: "Arial","sans-serif"; font-size: 10pt;">"Why don't we connect a motor to a generator, so the motor drives the generator, providing electricity for the motor, which continues to drive the generator and it'll go on, and on, and on for a hundred years and we'll become world famous!"</span><span style="font-family: "Arial","sans-serif"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal;"><br />
</div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Of course we had no concept of frictional losses (I think that's right) way back then. Nor had the words "perpetual motion" passed our ears.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">The whole point of that little story is to crudely demonstrate the principle of how an oscillator works. If you can follow that childishly naive concept then you will kill them in this.</span></div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><br />
</div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 12pt;">Principles of Oscillator operation</span></b></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Every oscillator has at least one active device (smarties don't complicate matters for me - just read on) be it a transistor or even the old valve. This active device and, for this tutorial we'll stick to the humble transistor, acts as an amplifier. There is nothing flash about that. For this first part of the discussion we will confine ourselves to LC Oscillators and I'll keep the maths to an absolute minimum.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">At turn on, when power is first applied, random noise is generated within our active device and then amplified. This noise is fed back positively through frequency selective circuits to the input where it is amplified again and so on, a bit like my childhood project. Ultimately a state of equilibrium is reached where the losses in the circuit are made good by consuming power from the power supply and the frequency of oscillation is determined by the external components, be they inductors and capacitors (L.C.) or a crystal. The amount of positive feedback to sustain oscillation is also determined by external components.</span><b><span style="font-family: "Arial","sans-serif"; font-size: 10pt;"> </span></b></div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><br />
</div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 12pt;">Frequency or Phase Stability</span></b></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Frequency or phase stability of an oscillator is customarily considered in the long term stability case where frequency changes are measured over minutes, hours, days even years. Of interest here are the effects of the components changes, with ambient conditions, on the frequency of oscillation. These might be caused by changes in the input voltage, variations in temperature, humidity and ageing of our components.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Never underestimate the effects of these variations on the frequency of operation. I've gone nuts working on so called precision designs, with precision components, where the frequency wandered at random over several kilohertz over several minutes. Needless to say I'd "messed up".</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Short term stability is also of great interest and, again I could lay some real heavy maths on you but I won't. I'll simply say it can be mathematically proven that the higher the circuit Q, the higher this stability factor becomes. The higher the circuit Q, the better the ability the tuned circuit can filter out undesired harmonics <b>AND</b> noise.</span></div><div class="MsoNormal" style="line-height: 12pt;"><br />
</div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 12pt;">Reducing Phase Noise</span></b></div><div class="MsoNormal" style="line-height: 12pt; margin-left: 58.5pt; margin-right: 49.5pt; text-align: justify; text-indent: -22.5pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>1.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Maximize the Qu of the resonator.</span></div><div class="MsoNormal" style="line-height: 12pt; margin-left: 58.5pt; margin-right: 49.5pt; text-align: justify; text-indent: -22.5pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>2.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Maximize reactive energy by means of a high RF voltage across the resonator. Use a low LC ratio.</span></div><div class="MsoNormal" style="line-height: 12pt; margin-left: 58.5pt; margin-right: 49.5pt; text-align: justify; text-indent: -22.5pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>3.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Avoid device saturation and try to use anti parallel (back to back) tuning diodes.</span></div><div class="MsoNormal" style="line-height: 12pt; margin-left: 58.5pt; margin-right: 49.5pt; text-align: justify; text-indent: -22.5pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>4.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Choose your active device with the lowest NF.</span></div><div class="MsoNormal" style="line-height: 12pt; margin-left: 58.5pt; margin-right: 49.5pt; text-align: justify; text-indent: -22.5pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>5.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Choose a device with low flicker noise, this can be reduced by RF feedback. A bipolar transistor with an unby-passed emitter resistor of 10 to 30 ohms can improve flicker noise by as much as 40 dB.</span></div><div class="MsoNormal" style="line-height: 12pt; margin-left: 58.5pt; margin-right: 49.5pt; text-align: justify; text-indent: -22.5pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>6.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">The output circuits should be isolated from the oscillator circuit and take as little power as possible.</span></div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><br />
</div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 12pt;">Effects of ambient changes on stability</span></b></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">A frequency change of a few tens of hertz back and forth over a couple of minutes would mean nothing to an entertainment receiver designed for the FM Radio band. Such a drift in an otherwise contest grade receiver designed to receive CW (morse code) would be intolerable. It's a question of relativity.</span></div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><br />
</div><div class="MsoNormal" style="line-height: 12pt; margin-right: 87.8pt;"><b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 12pt;">Minimizing Frequency drift</span></b></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">These are random and not in any particular order.</span></div><div class="MsoListParagraphCxSpFirst" style="line-height: 12pt; margin-right: 0.5in; text-align: justify; text-indent: -0.25in;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>1.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Isolate the oscillator from succeeding stages with a well designed buffer stage followed by a stage of amplification. Large signals can often then be reduced by a 3 or 6 dB attenuator which also has the benefit of presenting a well defined load impedance to the amplifier. If the stage is feeding a mixer, as is most often the case, then another benefit is the mixer (you are using double balanced mixers?), also see a source impedance of 50 ohms.</span></div><div class="MsoListParagraphCxSpMiddle" style="line-height: 12pt; margin-right: 0.5in; text-align: justify; text-indent: -0.25in;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>2.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Ensure the mechanical stability of your oscillator is such that mechanical vibration can have no effect on components, especially those frequency determining components.</span></div><div class="MsoListParagraphCxSpMiddle" style="line-height: 12pt; margin-right: 0.5in; text-align: justify; text-indent: -0.25in;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>3.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Supply the oscillator with a clean well regulated supply. If using varactor tuning, doubly ensure the tuning DC voltage is as clean as possible, a few hundred micro volts of noise can be imposed on the oscillator signal. Use back to back diodes for the variable element. Air variables are hard to come by although they offer far superior Q figures. DC tuning tends to be more versatile.</span></div><div class="MsoListParagraphCxSpMiddle" style="line-height: 12pt; margin-right: 0.5in; text-align: justify; text-indent: -0.25in;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>4.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Minimize circuit changes from ambient variations by using NPO capacitors, polystyrene are dearer but excellent, silvered mica in my opinion are not what many people believe and are highly over rated.</span></div><div class="MsoListParagraphCxSpMiddle" style="line-height: 12pt; margin-right: 0.5in; text-align: justify; text-indent: -0.25in;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>5.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">The inductor should be air wound on a coil form with a configuration to maximize Qu. If you must use a toroid, where possible try to use the 6 type as it offers the best Q. Sometimes, for other reasons you might have to use a slug tuned form.</span></div><div class="MsoListParagraphCxSpMiddle" style="line-height: 12pt; margin-right: 0.5in; text-align: justify; text-indent: -0.25in;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>6.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Parallel a number of smaller value NPO capacitors rather than using one large one in frequency determining components. For trimmers try and use an air variable. Keep an eye out for small value N750, N1500 capacitors, < 15 pF, when available and are found to be dirt cheap. These are sometimes useful in taming drift in an oscillator.</span></div><div class="MsoListParagraphCxSpLast" style="line-height: 12pt; margin-right: 0.5in; text-align: justify; text-indent: -0.25in;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><span>7.<span style="font: 7pt "Times New Roman";"> </span></span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Bipolar or FETS for active device seems to be a matter of personal preference and I've seen some ferocious arguments over that one. Consensus seems to come down in favour of FETS. Me, I'm a bipolar man because FETS hate me pure and simple.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">So there are some of the things to keep in mind. Hopefully at this point you have discovered the broad idea of an oscillator, I've outlined broadly two types Hartley and Colpitts. I spoken about frequency stability and listed ways to combat phase noise and reducing frequency drift. Now let's proceed to the main course.</span></div><div class="MsoNormal" style="line-height: 12pt;"><br />
</div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Ref: http://my.integritynet.com.au/purdic/oscillators.htm</span></div><div class="MsoNormal"><br />
</div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com2tag:blogger.com,1999:blog-1864599878947786465.post-34589719852165987352011-10-06T13:02:00.000+05:002011-10-06T13:02:24.909+05:00Designing a Hartley Oscillator<div dir="ltr" style="text-align: left;" trbidi="on"> <div class="post hentry"> <a href="" name="3898888041501005021"></a><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Here I'll present the schematic for my old favourite, together with a buffer stage and an amplifier stage which should deliver about 5V P/P into a 50 ohm load. We'll discuss each relevant stage and produce some rule-of-thumb design info. Because the consensus comes down in favour of FETS and I'm big enough to lay aside my prejudices in the noble cause of advanced education we'll use a FET oscillator. Nothing to do with a few friends who might belt me up!</span><div class="post-body entry-content"><div dir="ltr" style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxYvz-PZOGlKm5S4cLJ5FGt74rDvLuET8Q_n2CuXfaTir4sGrlsbY6ITOEgN6LwnX-aJ-rsWMiSUM-l1IVYmCampLD7mb6sj82RtQmky54ZZo1vzWo-Uh5KgfbdD-OfYZyzOQ6WvCepvx8/s1600/untitled.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxYvz-PZOGlKm5S4cLJ5FGt74rDvLuET8Q_n2CuXfaTir4sGrlsbY6ITOEgN6LwnX-aJ-rsWMiSUM-l1IVYmCampLD7mb6sj82RtQmky54ZZo1vzWo-Uh5KgfbdD-OfYZyzOQ6WvCepvx8/s1600/untitled.JPG" /></a></div><div class="separator" style="clear: both; text-align: center;"></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">For this design I'm going to say we will be constructing a general purpose VFO to operate at 5000 - 5100 Khz no particular reason, pick anything you like.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Now I chose a 2N4416A FET purely because I bought a big bag of them years ago and have them on hand. You could use any general purpose JFET you can readily obtain. Note the 2N4416A is a metal can and the case is grounded.</span></div><div class="MsoNormal" style="line-height: 12pt;"><b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">The frequency determining components are L1, Ct (a nominal 10 pf trimmer), C1a, C1b, C2, C3, Cv and C4.</span></b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: 12pt;"><b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Note:</span></b><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"> I have been asked a number of times the function of C4 in this circuit. Capacitor C4 is to reduce the loading on the tuned circuit components. It may be as small as possible consistent with being able to provide sufficient drive to the succeeding buffer amplifier stage. Often the home constructor will often make C4 a trimmer.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">The other components are bog standard. The two resistors, silicon diode and zener diode need never change, capacitor C5 is about right for this frequency. C6 can be selected to give higher / lower output to the buffer amplifier. Smaller C6 values give lower output and conversely higher values give larger output.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">The silicon diode I'll explain later, the zener diode is to give a regulated 6.2 volt supply</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Now there is NOTHING sacred about my frequency determining capacitor combination O.K.? Too many people look at these kind of circuits and think they must duplicate everything literally, not so. This is just a typical representation. C1 to C3 plus Cv and Ct are just a combination of parallel and some series capacitors all designed to give us a bit of flexibility with the tuning range. Cv could easily be replaced by two back to back tuning diodes.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">What you need to do to get the circuit to work is to have an inductive reactance for L1 of around about 180 ohms. At 5 Mhz this works out at about 5.7 uH and, if you don't know how I arrived at that figure I seriously recommend you spend some time on my other tutorials on my new site </span><span style="color: #1f497d; font-family: "Arial","sans-serif"; font-size: 10pt;">such as </span><span style="color: #1f497d; font-family: "Arial","sans-serif"; font-size: 10pt;">Basics</span><span style="color: #1f497d; font-family: "Arial","sans-serif"; font-size: 10pt;"> and </span><span style="color: #1f497d; font-family: "Arial","sans-serif"; font-size: 10pt;">LC Filters</span><span style="color: #1f497d; font-family: "Arial","sans-serif"; font-size: 10pt;">.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">The important aspect is that the feedback point from the source of the JFET connects to about 25% of the windings of L1 from the ground end. Now I've depicted an air cored inductor. It could be, just as one example among a great many, 18 - 19 turns of #20 gauge wire on a 25.4 mm (1") diameter form spread evenly over a length of about 25.4 mm (1"). The tap would be at about 4 1/2 turns. Check that out with the formula's I taught you elsewhere.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Alternatively, with degraded performance, you could use a T50-6 toroid and wind say 37 turns of #24 wire (5.48 uH) tapping at 9 turns. The A<sub>L</sub> factor for a T50-6 is 40. Again do the other tutorials if necessary, I'm not going to repeat old work and it's going to be even harder from here on. I'll thoroughly explain new concepts, not the old.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">So if we are to have our oscillator working at about 5 Mhz, we know the LC is 1013 and if L is say 5.7 uH then total C for resonance (just like LC Filters eh!) is about 177 pF. We want to be able to tune from 5000 to 5100 Khz a tuning ratio of 1.02 which means a capacitance ratio of 1.04 (min to max.).</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Let's fiddle with some numbers! I have a Jackson Bros. air variable capacitor (very Rolls-Royce) which swings from 10.5 pF to 105 pF, a typical 10:1 ratio in air variables. This I will use for Cv.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">If the total swing is 1.04 (actually 1.0404:1) and Cmax is 177 pF it follows Cmin is 170 pF. A variation of only 7 pF (roughly). Now we're treading on unsafe ground here with such a large variable capacitor. We could:</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">A) rip plates of it to reduce capacitance (don't even think about it)</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">B) go to varactor diodes with a small swing. That's O.K. but performance becomes degraded.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">C) obtain a smaller air variable with Cmax of say 25 pF.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Just to prove I'm a glutton for punishment and if you're still here so are you, we will purely for the mathematical exercise, persevere with the 105 pF variable. What if we eliminate C3 and make C2 = 15 pF NPO then the series combination of C2 and Cv swing 6.176 pF to 13.125 pF, a variation of over 6.9 pF - are you lost? Go back to the other tutorials.</span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">If our Cmax was 177 pF then 177 - 13.125 = 163.875 and the 177 pF was approximate anyway. I'd make Ct a 10 pF air trimmer (if available, if not, a ceramic or whatever the supplier offers but 10 pF max.). That leaves about 154 pF to make up. How about making C1a and C1b into 3 NPO capacitors of say 2 X 47 pF and 1 X 56 pF all NPO types. In total that comes to less than 177 pF max. but don't forget there are stray capacitance's in the circuit. In the final wash-up you could simply use 3 X 47 pF. </span></div><div class="MsoNormal" style="line-height: 12pt;"><br />
</div><div class="MsoNormal" style="line-height: 12pt;"><span style="font-size: x-small;"><span style="color: black; font-family: "Arial","sans-serif";">Ref: </span><span style="color: black; font-family: "Arial","sans-serif";">http://my.integritynet.com.au/purdic/oscillators.htm</span></span></div></div></div></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com5tag:blogger.com,1999:blog-1864599878947786465.post-14936146578680149872011-10-06T12:58:00.000+05:002011-10-06T12:58:14.650+05:00Hartley Oscillator<div dir="ltr" style="text-align: left;" trbidi="on"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--> <m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent><!--[endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style> <![endif]--> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac><br />
<div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">I decided to lead off with this one for the simple reason it's my favourite. Recently it was discussed that your favourite oscillator was likely the one which worked best for you and I think that is quite true. So here it is in it's most simplified form.</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-czb6p7nKL_YNrxZvzJPE_v9fvOg-BzxuM9ToLvqjMKmP3ZafuxkfEsQNuaTfjQ-RLlbA71jMlP6P6Bfk45BfYdOZhaOfK0oMifdnvXZf6OfWzLjaAeBh4zdjCYqFE8oojxUpP9aKRAI3/s1600/untitled.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-czb6p7nKL_YNrxZvzJPE_v9fvOg-BzxuM9ToLvqjMKmP3ZafuxkfEsQNuaTfjQ-RLlbA71jMlP6P6Bfk45BfYdOZhaOfK0oMifdnvXZf6OfWzLjaAeBh4zdjCYqFE8oojxUpP9aKRAI3/s1600/untitled.JPG" /></a></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"><br />
</span></div><div class="MsoNormal" style="line-height: 12pt;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--> <m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent><!--[endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style> <![endif]--> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">Ref: </span><span style="font-size: x-small;"><span style="color: black; font-family: "Arial","sans-serif";">http://my.integritynet.com.au/purdic/oscillators.htm</span></span><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;"></span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-21871563901131718522011-10-06T12:54:00.000+05:002011-10-06T12:54:47.775+05:00Colpitts Oscillator<div dir="ltr" style="text-align: left;" trbidi="on"><!--[if !mso]> <style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style> <![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves>false</w:TrackMoves> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--> <m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent><!--[endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style> <![endif]--> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac><br />
<div class="MsoNormal" style="line-height: 12pt;"> <span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">The basic Colpitts oscillator circuit look like this and you will see some similarities.</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-ZT__XZlHAEsemu-p3nuZsmCGJEY20PxvBVLxcrYUx9Ukn6azow9_r8Rv4c2CtGPWal9WervsrPBTBPCRfDCV25CM0RZzoKogGGmyvNPw62HjpscU-9b2jeLTFhOwj7WbF7hFs0Hm0E0R/s1600/untitled.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-ZT__XZlHAEsemu-p3nuZsmCGJEY20PxvBVLxcrYUx9Ukn6azow9_r8Rv4c2CtGPWal9WervsrPBTBPCRfDCV25CM0RZzoKogGGmyvNPw62HjpscU-9b2jeLTFhOwj7WbF7hFs0Hm0E0R/s1600/untitled.JPG" /></a></div><br />
<br />
<div class="MsoNormal" style="line-height: 12pt;"><span style="color: black; font-family: "Arial","sans-serif"; font-size: 10pt;">If you consider positive feedback is applied to compensate for the losses in the tuned circuit, the amplifier and feedback circuit create a negative resistor. When Z1 and Z2 are capacitive, the impedance across the capacitors can be estimated from a formula I won't lay on you here because it includes beta, hie, as well as X<sub>C1</sub> and X<sub>C2</sub>. Suffice to say it can be shown that the input impedance is a negative resistor in series with C1 and C2. And the frequency is in accordance with:</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4AG2FoA4sgwXpT_pT7P-QzQMmr3S5KHpjAOkVzXIfHShIBzRs6BgYvvdNUGTFP1aD8gHneHQqpSU_KfMTRVKxDUyhp8Gsnu03_jKijb1iHXNVzW2EzHNmg0xaU9YOgezYsltWLM0DHTRa/s1600/untitled2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4AG2FoA4sgwXpT_pT7P-QzQMmr3S5KHpjAOkVzXIfHShIBzRs6BgYvvdNUGTFP1aD8gHneHQqpSU_KfMTRVKxDUyhp8Gsnu03_jKijb1iHXNVzW2EzHNmg0xaU9YOgezYsltWLM0DHTRa/s1600/untitled2.JPG" /></a></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-74096401816523368232011-06-06T14:45:00.000+05:002011-06-06T14:45:20.313+05:00F.M. RECEIVER BASICS<div dir="ltr" style="text-align: left;" trbidi="on"><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Now the priciple differences between an f.m. radio versus an a.m. radio, and here for the moment we are talking about the entertainment variety, are:</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">(a) the need for VHF reception capability 88 - 108 MHz as against 0.54 - 1.65 Mhz for a.m. reception.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">(b) the need for limiting action in the I.F. stages (see later discussion)</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">(c) a different means of detection of the audio i.e., recovering the frequency modulation.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">(d) if we are talking f.m. stereo reception then some means of recovering left and right channel information.</div><h5 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: left; text-decoration: none;">V.H.F. RECEPTION</h5><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">In most entertainment variety receivers i.e. 88 - 108 Mhz the local oscillator operates at a constant 10.7 Mhz higher or lower than the received signal e.g. 98.7 Mhz to 118.7 Mhz. If you need to know why then go to previous <a href="http://my.integritynet.com.au/purdic/index.html#am-recs" style="color: blue; text-decoration: underline;">tutorial on a.m. receiver design</a> and learn just why.</div><h5 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: left; text-decoration: none;">LIMITING ACTION</h5><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Limiting can be described as the action of overamplification where the signal is overdriven in stages and subsequently "clipped". Looking at figure 5(a) below we can imagine what happens when it is amplified and clipped (5b), amplified once again and clipped again (5c).</div><center><br />
<img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - a.m. modulated signal being clipped" height="220" src="http://my.integritynet.com.au/purdic/fm-rec-fig5.gif" width="620" /><br />
<br />
Figure 5. - an a.m. modulated signal being clipped</center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Naturally we don't put a normal a.m. signal through a limiter, this is usually only done with f.m. signals. I simply provided figure 5 above so you could get the general idea. You should notice that all the amplitude modulation information (including noise) is progressively being removed. BTW 5(b) and (c) were simply done graphically by taking (a) resizing the height by 150% and cutting off the excess height (top and bottom) and repeating that exercise for (c). This is exactly what happens in a limiter only to a much greater amplification!.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">To give you some idea of the amplification required for proper limiting go back to the old vacuum tube days where a good a.m. - i.f. amplifier might contain three vacuum tubes.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">In the same period a good f.m. receiver may have had twelve or more tubes in the i.f./limiter stage.</div><h5 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: left; text-decoration: none;">MEANS OF DETECTION</h5><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">A number of f.m. detection schemes have evolved over the years. The principal discrete ones were:</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"> (a) F.M. Discriminator (figure 6)</div><center><br />
<img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - f.m. discriminator" height="122" src="http://my.integritynet.com.au/purdic/fm-rec-fig6.gif" width="282" /><br />
<br />
Figure 6. - an f.m. discriminator</center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">This discriminator simply works on the principal that with no modulation applied to the carrier there is no ouput at the detector. Briefly T1 converts the f.m. signal to a.m. and when rectified the output is still zero because they would be equal but opposite in polarity, if modulation is applied then there is a shift in the phase of the input component with a corresponding difference in the signals out of the diodes. The difference between these outputs is the audio.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">As an aside, this is somewhat similar to some Automatic Fine Tuning (A.F.T.) schemes in some a.m. receivers, notably early T.V. receivers. With no frequency variation there is no output, with frequency drift there will be an output difference (in either direction) which is amplified and applied to front end tuning diodes for correction.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"> (b) Ratio Detector</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">The schematic looks a little similar to figure 6 but has a third (tertiary) winding on the secondary of T1, diode D2 has its polarity reversed and the two divider resistors are replaced by capacitors. This scheme was quite popular in entertainment type receivers. You detect f.m. but NOT a.m. and it placed some relaxation on the severe limiting requirements.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"> (c) Crystal Discriminator</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Once favoured by radio amateurs but superseded by later I.C. designs</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"> (d) Phase Lock Loops</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Among the relatively newer designs and PLL's overcome many of the drawbacks and costs associated with building and aligning LC discriminators.</div><h5 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: left; text-decoration: none;">REVIEW SO FAR AND STEREO RECEPTION</h5><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Of necessity I have only given you a general overview and background so far and, for very good reasons.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Over the last 20 years developments in the manufacture of dedicated and complete f.m. receivers on a chip have made an in depth review of earlier information presented totally redundent.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">These developments include companion devices to handle stereo reception.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">In part 3 I will discuss a number of suitable integrated circuits which hopefully are not only readily available but relatively cheap to buy and experiment with. </div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><br />
</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Ref: <span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small; line-height: normal;">http://my.integritynet.com.au/purdic/fm-receiver-basics-2.htm</span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com1tag:blogger.com,1999:blog-1864599878947786465.post-54782958443003803612011-05-02T15:24:00.000+05:002011-05-02T15:24:55.569+05:00Active Receiving Antennas<div dir="ltr" style="text-align: left;" trbidi="on"><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><span style="color: black;">An active antenna is sometimes used for receiving purposes in instances where a normal antenna would be impossible to accommodate in a physical sense. Such an antenna is sometimes called an aperiodic antenna other people refer to it as an antenna booster.</span></div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><span style="color: black;">Because modern receivers now cover such a broad frequency range it is also desirable to have a broad band antenna. In this tutorial I will attempt to address some of the theoretical justifications for using such a booster antenna.</span></div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><span style="color: red;">It must be borne in mind at all times that an active receiving antenna is quite capable of introducing more severe problems into a receiving system than those which it is intended to solve</span><span style="color: black;">.</span></div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><span style="color: black;">Consider now some theoretical basics where we might compare a one metre long whip with a standard quarter wave antenna in the amateur 40 metre band. I simply selected the 40 metre band purely on whimsy and the principles could still apply at 80 metres, the a.m. radio band or even at long wave 175 Khz (1700 metres).</span></div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><span style="color: black;">Conveniently a standard 1/4 wave antenna at 40 metres would measure approximately 10 metres in length. Assuming a distant signal, when received on that antenna, had a field strength of 10 uV per metre it would induce in our 1/4 wave antenna an open circuit voltage of 100 uV. Again for convenience only we will assume a pipe diameter of 20 mm.</span></div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><span style="color: black;">Now on our one metre whip the same signal would induce an open circuit voltage of 10 uV. Are you following me here? I haven't used any fancy maths yet but I'll introduce some useful formulae now. NOTE the terms "an open circuit voltage", that is VERY significant. Here we will assume a whip diameter of 3 mm.</span></div><h4 style="color: black; font-family: Verdana,sans-serif; font-size: 12pt; font-style: normal; font-weight: bold; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;"><span style="color: black;">Whip Antenna Capacitance</span></h4><center style="font-family: Verdana,sans-serif;"><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - whip antenna capacitance" height="57" src="http://my.integritynet.com.au/purdic/act-fig1.gif" width="191" /><br />
Fig 1.</center><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Where Ca is the antenna capacitance (in pF), 'h' is the height and 'a' is the whip diameter, both measured in metres. NOTE the co-efficient 0.7353 becomes 0.615 if dimensions are measured in inches. Ca is an approximation, many other factors come into play.</div><h4 style="color: black; font-family: Verdana,sans-serif; font-size: 12pt; font-style: normal; font-weight: bold; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;"><span style="color: black;">Short Whip Antenna Radiation Resistance</span></h4><center style="font-family: Verdana,sans-serif;"><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - whip antenna radiation resistance" height="46" src="http://my.integritynet.com.au/purdic/act-fig2.gif" width="135" /><br />
Fig 2.</center><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Where Rr is the short whip antenna radiation resistance, 'h' is the height and l is the wavelength. This formula assumes a short vertical whip over a perfectly conducting plane which does not occur in reality.</div><h4 style="color: black; font-family: Verdana,sans-serif; font-size: 12pt; font-style: normal; font-weight: bold; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Open Circuit Voltage</h4><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Open circuit voltage is simply the electric field strength multiplied by the physical height, as one example a particular signal might have a field strength of say 10 uV per metre (10 uV/M) and if the antenna height was say 12 metres long this would give us an open circuit voltage of 120 uV.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Simply it's the multiplication of 10 uV/M times the length. Be quite clear on the topic of open circuit voltage because it becomes quite important to your continued understanding.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Visualise a vertical antenna sitting out in the yard, 12 metres tall and conveniently for us there is only one signal available, it has a strength of 10 uV/M giving a total signal voltage on the antenna without any load attached of 120 uV. Close the eyes and think about it.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">When a load is attached and we want to take some power from this antenna then that's when the fun starts. If you don't understand the concept of <a href="http://my.integritynet.com.au/purdic/basics.html#ESSENTIAL%20IMPEDANCE%20BASICS" style="color: blue; font-weight: bold; text-decoration: underline;" target="_new">impedance</a> then go back to my inelegant, but readily understandable analogy NOW because without it you're going to labour after this and probably miss the point.</div><h4 style="color: black; font-family: Verdana,sans-serif; font-size: 12pt; font-style: normal; font-weight: bold; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Comparison of Antennas</h4><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">The quarter wave antenna (with 100 uV open circuit voltage) is well known to have a radiation resistance of around 30 ohms (I've used 36 ohms in my sums below) and, disregarding matching considerations if terminated in a traditional 50 ohm load would form a voltage divider action as in fig. 3. This is purely for illustrative and comparative purposes only, please understand that particular point.</div><center style="font-family: Verdana,sans-serif;"><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - antenna voltage division - quarter wave antenna" height="95" src="http://my.integritynet.com.au/purdic/act-fig3.gif" width="154" /></div><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Fig 3.</div></center><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">In practice of course we would use ground radials and utilize matching techniques. How is the reduction in open circuit voltage worked out? Well consider this:</div><center style="font-family: Verdana,sans-serif;"><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Vout = Vin X [ RL / ( Rr + RL )] or;</div><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">58 uV = 100 uV X [ 50 / ( 36 + 50 )]</div></center><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Let's look at our miserable one metre long whip which might be a few millimetres in diameter, we'll say for this exercise it is 3 mm diameter.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Using the formula above we get a Ca of about 12 pF (in practice it would most likely be more). At a nominal frequency of 7.5 Mhz the 12 pF reactance becomes a rough impedance of 1768 ohms in series with an insignificant Rr of much less than 1 ohm.</div><center style="font-family: Verdana,sans-serif;"><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - antenna voltage division - active antenna" height="95" src="http://my.integritynet.com.au/purdic/act-fig4.gif" width="154" /></div><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Fig 4.</div></center><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Consider again,</div><center style="font-family: Verdana,sans-serif;"><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Vout = Vin X [ RL / ( Z + RL )] or;</div><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">0.275 uV = 10 uV X [ 50 / ( 1768 + 50 )]</div></center><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Essentially the 50 ohm load becomes almost a short circuit to the signal. Now I can assure you I have taken a considerable number of liberties here in the name of simplicity but the picture I have demonstrated is pretty much the real world situation.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">In fact if you want to play around with receiving antennas I'd suggest you thoroughly digest this lesson as set out above because it should prove sobering (no pun intended).</div><h4 style="color: black; font-family: Verdana,sans-serif; font-size: 12pt; font-style: normal; font-weight: bold; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Role of the Active Receiving Antenna</h4><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Now here is the general justification of an active antenna. If a high impedance load is connected to our one metre whip instead of the 50 ohm dead short then our calculations proceed as follows.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Assuming we use a field effect transistor as the amplifying device. The circuit configuration will be a source follower. A source follower exhibits high input impedance and relatively low output impedance. It also has a voltage LOSS.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">This voltage loss (without going into a lot of theory) is about 10% BUT the power gain is almost infinite.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">That statement will cause a great deal of confusion so consider this (purely hypothetical), if the input to our source follower is 10 uV into an impedance of 100,000 ohms (nominal for illustrative purposes) the input power taken by the FET is E<sup style="color: black; font-size: 6pt; font-style: normal; font-weight: normal; line-height: 12pt;">2</sup> / R which by way of calculation is 1 X 10<sup style="color: black; font-size: 6pt; font-style: normal; font-weight: normal; line-height: 12pt;"> -15</sup> watts.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">The output delivered to a 200 ohm (nominal for illustrative purposes) load would be 90% of the input voltage (10% loss) or 9 uV and E<sup style="color: black; font-size: 6pt; font-style: normal; font-weight: normal; line-height: 12pt;">2</sup> / R which by way of calculation is 4.05 X 10<sup style="color: black; font-size: 6pt; font-style: normal; font-weight: normal; line-height: 12pt;"> -13</sup> wattsor 405 times the input power or a power gain of 26 dB.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">That is the role of the active device in this antenna. Simple!, well NO, there are quite a number of problems involved here. Firstly all FETS have some inherent input capacitance and this is one of the limiting problems. Assume a possible input capacitance of about 5 pF and a real world one meter whip having a capacitance of say 25 pF including holder, feed connection etc. Oh dear here comes that fink voltage divider action again.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">The FET driving voltage is:</div><center style="font-family: Verdana,sans-serif;"><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Vin / [ 1 + ( Ct / Ca )]</div></center><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">where Ct is the FET input capacitance (5 pF) and Ca is the antenna capacitance (all up 25 pF). If our one meter whip produces our former 10 uV open circuit voltage then the FET driving voltage is: 10 uV / [ 1 + ( 5 pF / 25 pF )] or 8.3 uV.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">This reduction in voltage is nothing to become paranoid about because subsequent amplification will quite readily make up the difference. BTW the FET source follower configuration used here is sometimes considered to be an impedance converter.</div><h4 style="color: black; font-family: Verdana,sans-serif; font-size: 12pt; font-style: normal; font-weight: bold; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Noise considerations</h4><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">The first critical issue is one of S / N ratio. Assuming we are using a fairly good FET it should not degrade the overall noise performance of the receiving system. Below say 15 Mhz this is rarely an issue.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">In the example of the quarter wave antenna and a 10 uV/M signal, external noise levels might be 1 uV/M.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">These noise levels would include QRN (natural noise) and QRM (man made noise, such as my computer is presently doing to a nearby receiver). The noise is a constant ratio compared to received signal.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Whether we use a full quarter wave antenna or a physically short whip, the signal level and the noise level are going to be both proportional to physical length. The only consideration is whether the output signal level is going to be below the inherent receiver noise.</div><h4 style="color: black; font-family: Verdana,sans-serif; font-size: 12pt; font-style: normal; font-weight: bold; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Limitations</h4><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">So far you might imagine we could get away with an active receiving antenna as small as 50 mm in height (by the way it has been experimentally built). Unfortunately several vexing problems jump in our way. Don't discard the idea of an active receiving antenna because of them but be aware of the potential limitations. Some of these are:</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">1. Compromise of Receiver Dynamic Range:</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Dynamic range might generally be described as the ratio of the level of strong out-of-band signals to the level of the weakest acceptable desired signal. An active receiving antenna is very broad band by nature and by virtue of its design. Indeed that often is the principle goal. Unfortunately it will also likely compromise the dynamic range of an otherwise excellent receiver because ALL signals present on the antenna are amplified equally.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">I spoke earlier of signal levels of 10 uV/M, QRP-CW (low power morse code) enthusiasts wouldn't consider that much of a challenge. BUT with a broad band antenna don't be surprised to encounter signal levels of VOLTS per metre (not micro volts) from nearby transmitters especially strong stations in the A.M. radio band.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Many years ago I was fooling around with a basic crystal set tuned to a local A.M. station. I had a ferrite rod antenna which was tuned with a variable capacitor. NO external antenna was connected but I did have my high impedance oscilloscope attached to the ferrite rod. I was astounded to see a perfect A.M. signal of nearly 20V P/P.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">2. Cross Modulation Distortion:</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">This occurs when the modulation (e.g. music) of an unwanted strong signal is transferred to a wanted weak signal (e.g. voice). I only highlighted those particular examples to give you an extreme understanding.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">3. Inter modulation Distortion (IMD)</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Receivers with many active devices, especially a receiver which has as the first active device an active receiving antenna, will frequently react in ways that do not always agree with theory. IMD is a complex problem.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">In the case of an active receiving antenna you must also consider that the active device is capable of functioning as a mixer. I could give you pages of mathematics indicating trignomatic identities involving the production of a number of components with difference frequencies.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">One definition (for our purposes) might be: "IMD - occurs in any non linear device (our FET) when driven by a complex signal having more than one frequency (our broad band antenna signals of - from 10 Khz up to 300 Mhz or more). The resultant signals (our output) become distorted".</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">As only one example, the possible effects of the A.M. radio band on an active antenna:</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Signal (A) 900 Khz; Signal (B) 1500 Khz; - both at a field strength of 1000 uV/M (easily common) and finally our desired Signal (C) 3900 Khz - it's a lowly 10 uV/M signal.</div><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">A possible mixing action in our FET (they make good mixers) might be;</div><center style="font-family: Verdana,sans-serif;"><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">2 X Sig (A) + Sig (B) = Sig (C) 0r</div><div style="color: black; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">( 2 X 1500) + 900 = 3900 Khz</div></center><div style="color: black; font-family: Verdana,sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">considering the high levels of A and B and the low level of desired signal C what hope do you think you have recovering C signal? Hey and I've only mentioned two interferers and only ONE mathematical combination from around millions of available signals and a hell of a lot of possible mathematical combinations. Want to weep?</div><div style="color: black; font-family: Verdana,sans-serif; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><span style="font-size: x-small;"><br />
</span></div><div style="color: black; font-family: Verdana,sans-serif; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><span style="font-size: x-small;">Ref: </span><span class="Apple-style-span" style="font-size: x-small; line-height: normal;">http://my.integritynet.com.au/purdic/activeantenna1.htm</span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com2tag:blogger.com,1999:blog-1864599878947786465.post-21299021511216462242011-04-29T14:57:00.001+05:002011-04-29T14:58:26.215+05:00KK-Quad setup guide<div dir="ltr" style="text-align: left;" trbidi="on"><img alt="RCEKK1" class="imageStyle" height="381" src="http://rcexplorer.se/page14/kkguide/kkguide/quad_files/page67-rcekk1.jpg" width="480" /><br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>A few words before we start:</u></span><span style="color: #ff6666;"><br />
</span>To get the best stability and flight performance from your KK-controller mount it using a vibration dampening material such as “gyro-tape” or a thick double sided sticky tape. Also make sure to balance you props and motors to remove as much vibrations as possible.<br />
<br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>Some general multirotor tips:</u></span><span style="color: #ff6666;"><br />
</span>Do not use bigger propellers than you need. Light propellers gives faster response resulting in a more stable platform.<br />
When designing your platform try to get it to hover around mid-stick. This means that your platform will have enough power at all time to respond and compensate but not have to much power resulting in a less stable platform. To achieve this use bigger/smaller propellers, lower/higher kV motors, more/fewer number of battery cells or more or less weight.<br />
<br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>Safety:</u></span><span style="color: #ff6666;"><br />
</span><b>Never</b> have the propellers mounted when setting up your platform! A spinning motor without a prop isn’t dangerous but a prop spinning at wide open throttle cut’s flesh better than a hot sword. Therefore, never ever have the props attached when you’re setting up or making adjustments to you multi-rotor platform.<br />
<img alt="inkoppling" class="imageStyle" height="465" src="http://rcexplorer.se/page14/kkguide/kkguide/quad_files/page67-inkoppling.jpg" width="480" /><br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>Hooking up your KK-board:</u></span><b><u>Receiver:</u></b>The soldered cables coming of the board are the four signal wires that plugs into your receiver.<br />
On a Futaba/Hitec receiver they plug in as follows:<br />
Aileron - Channel 1<br />
Elevator - Channel 2<br />
Throttle - Channel 3<br />
Rudder - Channel 4<br />
On a Spectrum receiver simply plug the aileron into the aileron port, elevator to elevator and so on.<br />
<br />
<b><u>Motors/ESC’s:</u></b><span style="font-size: 15px; font-weight: bold;"><u><br />
</u></span>Down in the corner there are 6 motor outputs (M1 through M6)<br />
On a Quadcopter the ESC’s are plugged in as such:<br />
M1 - Front motor CW<br />
M2 - Left motor CCW<br />
M3 - Right motor CCW<br />
M4 - Back motor CW<br />
<img alt="motorsQUAD" class="imageStyle" height="450" src="http://rcexplorer.se/page14/kkguide/kkguide/quad_files/page67-motorsquad.jpg" width="480" /><br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>Preparing the transmitter:</u></span>Create a new model memory and make sure that all mixes are disabled, all trims are neutral and that all End Point Adjustments (EPA) and D/R’s are set to 100%<br />
<br />
If you have a computer-radio you can chose either airplane or helicopter mode. It doesn’t really matter. The helicopter mode will have the advantage of setting a custom throttle curve for those who doesn’t like a linear response on the throttle. If you use the helicopter mode make sure that the swash is set to; two servos 90°. <b>If you use 120° CCPM mixing your platform will be unflyable!</b><br />
<br />
<span style="color: #ff6666; font-size: 14px; font-weight: bold;"><u>Arming and disarmed the flight-controller:</u></span><br />
The flight-controller has a built in safety feature which disables the throttle stick. This is a great feature that probably will save your platform or face at least once.<br />
<br />
The KK-board will on power up be in the “locked”/disarmed position. The LED on the board indicates if the board is armed or not.<br />
LED off = “locked”/disarmed, LED on = Armed.<br />
To arm the board move the throttle/rudder stick down to the right corner and hold it there for about 5 seconds. The LED will turn on indicating that the board is armed and ready. To unarm/lock the board again move the throttle/rudder stick down in the left corner for 5 seconds.<br />
<br />
<br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>Step by step setup guide:</u></span><span style="font-size: 15px; font-weight: bold;"><u><br />
</u></span><span style="color: #408000; font-size: 14px; font-weight: bold;"><u>1</u></span><span style="color: #408000; font-weight: bold;"><u>. Check if the throttle stick</u></span><span style="color: #408000;"><u><br />
</u></span>This is to ensure that the throttle stick is moving the right direction and have enough trow to initialize the flight-controller.<br />
<b>Never perform this step with the props mounted!</b><br />
<br />
- Turn on the transmitter and then the flight-controller<br />
- Move the throttle/rudder stick to the down-right corner<br />
- The LED should turn on, if it doesn’t:<br />
- Try adding a bit of “down” trim on the throttle channel<br />
- Try increasing the EPA on the throttle channel<br />
- Try reversing the throttle channel<br />
<br />
<span style="color: #408000; font-size: 14px; font-weight: bold;"><u>2</u></span><span style="color: #408000; font-weight: bold;"><u>. Calibrating the throttle range on the ESC’s</u></span>This is to ensure that all the ESC’s have the same throttle range end points. This step only needs to be performed once. Fail to do this calibration can result in an uncontrollable platform. If you ever install new ESC’s this step needs to be performed again.<br />
<b>Never perform this step with the props mounted!</b><br />
<br />
- Make sure that the flight-controller is turned off<br />
- Turn the Yaw pot to the MIN position<br />
- Turn on the transmitter<br />
- Move the throttle stick to top (full)<br />
- Turn on the flight-controller<br />
- Wait until the ESC's beeps twice after the initial beeps. (Plush and SS ESC's)<br />
- Swiftly move the throttle stick fully down (closed). The ESC’s beeps<br />
- Power off the flight-controller<br />
- Restore the yaw pot to around 50%<br />
<img alt="RPY" class="imageStyle" height="217" src="http://rcexplorer.se/page14/kkguide/kkguide/quad_files/page67-rpy-2.jpg" width="282" /><br />
<br />
<span style="color: #408000; font-size: 14px; font-weight: bold;"><u>3</u></span><span style="color: #408000; font-weight: bold;"><u>. Checking the direction of the transmitter channels</u></span>This step is to ensure that the sticks actually perform the action in the way that they are supposed to.<br />
<b>Never perform this step with the props mounted!</b><br />
<br />
- Turn on the transmitter and then the flight-controller<br />
- Arm the controller. (Move the throttle stick to the down-right corner)<br />
- Start the motors by raising the throttle (around 1/4 or so)<br />
- Move the Pitch (Elevator) stick on the transmitter forward. The back motor should speed up. If it doesn’t, reverse the channel in your transmitter.<br />
- Move the Roll (Aileron) stick to the left. The right motor should speed. If it doesn’t, reverse the channel in your transmitter.<br />
- Move the Yaw (Rudder) stick to the left. The front and back motor should speed up. If it doesn’t, reverse the channel in your transmitter. (This will make the arming function reversed as well, meaning that you need to move the stick down in the left corner to arm the controller. This can be corrected, see step 7)<br />
<br />
<span style="color: #408000; font-size: 14px; font-weight: bold;"><u>4</u></span><span style="color: #408000; font-weight: bold;"><u>. Checking the gyro compensations</u></span>This step is to ensure that the gyros compensate in the right direction. If they don’t the platform will be uncontrollable and flip heads over heals.<br />
<b>Never perform this step with the props mounted!<br />
</b>- Turn on the transmitter and then the flight-controller<br />
- Arm the controller. (Move the throttle stick to the down-right corner)<br />
- Start the motors by raising the throttle (around 1/4 or so)<br />
- Tilt the Quadcopter forwards. The front motor should speed up. If it doesn’t, note it, you’ll fix this in the next step.<br />
- Tilt the Quadcopter to the right. The right motor should speed up. If it doesn’t, note it, you’ll fix this in the next step.<br />
- Rotate the Quadcopter to the right (clockwise). The front and back motors should speed up. If it doesn’t, note it, you’ll fix this in the next step.<br />
<br />
<span style="color: #408000; font-size: 14px; font-weight: bold;"><u>5</u></span><span style="color: #408000; font-weight: bold;"><u>. Revering the gyros</u></span>This is how you reverse the compensation direction of the gyros<br />
<br />
- Make sure that the flight-controller is turned off<br />
- Turn the Roll pot to the MIN position<br />
- Turn on the transmitter then the flight-controller<br />
- The LED will flash rapidly 10 times and then turn of<br />
- Move the stick for the gyro you want to reverse. (If you want to reverse the roll gyro, move the roll (aileron) stick)<br />
- The LED will flash continually to confirm your choice<br />
- Turn of the flight-controller<br />
- If more gyros needs to be reversed, turn on the flight-controller and repeat the process. If you’ve reversed all the gyros you want, restore the pot to 50%<br />
<br />
<span style="color: #408000; font-size: 14px; font-weight: bold;"><u>6</u></span><span style="color: #408000; font-weight: bold;"><u>. Reversing the pot direction</u></span>If you think that the pots turn in the wrong direction you can reverse the direction. This will mean that the MIN and MAX in the picture above will be inverted.<br />
<br />
- Make sure that the flight-controller is turned off<br />
- Turn the Roll pot to the MIN position<br />
- Turn on the transmitter then the flight-controller<br />
- The LED will flash rapidly 10 times and then turn of<br />
- Move the throttle stick for the to the top<br />
- The LED will flash continually to confirm<br />
- Turn of the flight-controller<br />
- The pots have now been reversed. If you wish to reverse the pots back you need to turn the Roll pot fully to the other extreme and repeat the process. Otherwise restore the pot to 50%<br />
<br />
<br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>Final adjustments:</u></span>- Make sure that all pots are set at 50% (in the middle)<br />
- Make sure that the CG of your platform is correct<br />
- Make sure that all the D/R’s are at 100%<br />
<br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>Liftoff procedur:</u></span>- Place the platform on a plane surface<br />
- The platform should be motionless before takeoff<br />
- Arm the controller by moving the throttle/rudder stick down in the right corner for 5 seconds or so<br />
- Raise the throttle and fly. The gyros calibrate just as the throttle stick leaves the minimum position<br />
<br />
<span style="color: #ff6666; font-size: 15px; font-weight: bold;"><u>Finding the correct gain:</u></span>- Increase the gain in small steps until the platform starts oscillating (overcompensating making the platform rock from side to side)<br />
- Reduce the gain a bit<br />
- You now have the optimum amount of gain.<br />
- Fast forward flight requires lower gain.<br />
- Too low gain is recognized by a hard to control platform that wants to tip over.<br />
- Too high gain is recognized by oscillations.<br />
<br />
<span style="color: #ff6666; font-size: 14px; font-weight: bold;"><u>EPA, D/R and EXPO:</u></span>If the platform feels to fast or twitchy you can either reduce the EPA’s (End Point Adjustment) or D/R’s (Dual Rates) or add EXPO (Exponential)<br />
EPA and D/R makes the whole stick less sensitive and makes the platform “slower”. EXPO makes the middle of the stick less sensitive but keeps the throw at the end of the stick. This means that you can have nice control in a hover, which requires small adjustments, but you keep the ability to fly fast and agile.<br />
<br />
<br />
- It’s not uncommon to need a couple of clicks trim to make the platform hover perfectly leveled. This is due to the small differences in the motors, ESC’s and props.<br />
<br />
- Always disarm the platform after you’ve landed. (Move the throttle stick down in the left corner for 5 seconds or so) This little procedure has the potential to save you platform or face, so be sure to make it a habit.<br />
<br />
Good luck!<br />
<br />
Ref: rcexplorer.se/page14/kkguide/kkguide/quad.html</div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-9018487172046718862011-04-28T16:13:00.000+05:002011-04-28T16:13:48.796+05:00KK Flight-controller setup guide<div dir="ltr" style="text-align: left;" trbidi="on"><br />
<br />
<div dir="ltr" style="text-align: left;"><div style="text-align: center;"><a href="http://rcexplorer.se/page14/kkguide/kkguide/tri.html" rel="self" title="Tricopter"><img alt="motorsTRI" class="imageStyle" height="229" src="http://rcexplorer.se/files/page1_blog_entry250-motorstri.jpg" width="192" /></a><a href="http://rcexplorer.se/page14/kkguide/kkguide/quad.html" rel="self" title="Quad"><img alt="motorsQUAD" class="imageStyle" height="227" src="http://rcexplorer.se/files/page1_blog_entry250-motorsquad.jpg" width="242" /></a><br />
</div><div style="text-align: left;"> </div><div style="text-align: left;">The interest in my <a href="http://rcexplorer.se/files/e0d3a2987412f58a049e67d3f4aceb87-248.html" rel="self" title="Home:KK Flight-controllers for sale">KK flight controllers</a> was bigger than I had anticipated. I’ve actually sold all of the boards that I had parts for, but as so many of you wanted a controller from me, I’ve ordered some more parts and will have another set of boards ready in another week or so (or two weeks if anything I’ve ordered is delayed).<br />
<br />
Some people have actually already got their boards and are now asking for the setup guide. I have the great pleasure to tell you that the wait is now over! So far the guide only covers Tricopter and Quadcopter configurations, but more configs are coming soon.<br />
<br />
<span style="color: #ff7f00;">Update:</span> <a href="http://rcexplorer.se/page14/kkguide/kkguide/quadx.html" rel="self" title="Quad X">Quadcopter-X</a> configuration guide is now available as well.<br />
<span style="color: #ff7f00;">Update 2:</span> <a href="http://rcexplorer.se/page14/kkguide/kkguide/y6.html" rel="self" title="Y6">Y6</a> and <a href="http://rcexplorer.se/page14/kkguide/kkguide/hex.html" rel="self" title="Hex">Hexacopter</a> configuration guides are now up and running.</div><div style="text-align: center;"><a href="http://rcexplorer.se/page14/kkguide/kkguide/quadx.html" rel="self" title="Quad X"><img alt="motorsQUADX" class="imageStyle" height="217" src="http://rcexplorer.se/files/page1_blog_entry250-motorsquadx-2.jpg" width="214" /></a><a href="http://rcexplorer.se/page14/kkguide/kkguide/y6.html" rel="self" title="Y6"><img alt="motorsY6" class="imageStyle" height="224" src="http://rcexplorer.se/files/page1_blog_entry250-motorsy6.jpg" width="191" /></a><br />
<a href="http://rcexplorer.se/page14/kkguide/kkguide/hex.html" rel="self" title="Hex"><img alt="motorsHEX" class="imageStyle" height="251" src="http://rcexplorer.se/files/page1_blog_entry250-motorshex.jpg" width="225" /></a></div><div style="text-align: left;">A big THANK YOU! to all of you that has bought a flight-controller from me. I hope that you’ll be pleased with it and that you will share your projects.</div></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-44323774313632554982011-04-25T15:46:00.000+05:002011-04-25T15:46:57.231+05:00Introduction to high pass filter design<div dir="ltr" style="text-align: left;" trbidi="on"><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Assuming you have mastered the design of low pass LC filters we will now proceed to the design of a high pass filters. A high pass filter is simply the transformation of a low pass filter. For our purposes we will say we need a five pole butterworth filter with a cut off frequency Fc at 2000 Khz. That is we want to pass all frequencies above 2000 Khz but attenuate those below 2000 Khz.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Perhaps this might be required for the antenna input to a receiver where AM Radio interference is proving troublesome.</div><h3 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 16pt; font-style: normal; font-weight: normal; line-height: 18pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Design Procedure</h3><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Let us first review the design procedure for a similar five pole filter but as a low pass filter. From our design tables we know that for equal source and loads:</div><h4 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 12pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">BUTTERWORTH - equal termination filters</h4><center><table bgcolor="#FFCC00" border="1" cols="8" style="width: 620px;"><tbody>
<tr><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>n stages</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>C1</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>L2</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>C3</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>L4</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>C5</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>L6</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>C7</center></td></tr>
<tr><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>2</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.414</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> 1.414</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td></tr>
<tr><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>3</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.000 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>2.000 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.000 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td></tr>
<tr><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>4</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>0.765 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.848 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.848 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>0.765 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td></tr>
<tr><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>5</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>0.618 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.618 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>2.000 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.618 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>0.618 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td></tr>
<tr><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>6</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>0.518 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.414 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.932 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.932 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.414 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>0.518 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> </center></td></tr>
<tr><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>7</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>0.445 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.247 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.802 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>2.000 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.802 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>1.247 </center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>0.518 </center></td></tr>
<tr><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>n stages</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center> L1</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>C2</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>L3</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>C4</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>L5</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>C6</center></td><td style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px;"><center>L7</center></td></tr>
</tbody></table></center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">The table above applies to the two low pass filters shown below in fig 1. Note the subtle differences. </div><center><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - low pass filters - equal teminations" height="205" src="http://my.integritynet.com.au/purdic/hpf1-fig1.gif" width="277" /><br />
Fig 1 - low pass filters - equal teminations".</center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Which type you choose is a matter of choice which may well be influenced by your needs in some applications to have a DC blocking capacitor in the input or output of the final finished high pass LC filter. In this case use schematic 2.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">In the two schematics shown in figure 1 the principal difference is the placement of the first capacitor, denoted either C1 or C2. Depending on the circuit configuration chosen, you read the values from the top of the table or the bottom of the table. Is that clear? Also I have only presented one table, there are hundreds of tables and filter types with varying responses but Butterworth is fairly easy to compute. We said earlier we would use a five pole filter and we will opt for the top type of filter so we should have these values. </div><center><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - low pass filters - equal teminations - normalised to 1 Hz" height="132" src="http://my.integritynet.com.au/purdic/hpf1-fig2.gif" width="256" /><br />
Fig 2 - low pass filters - equal teminations - normalised to 1 Hz.</center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Notice that this low pass filter is normalized to 1 ohm impedance both in and out, a frequency of 1 Hz and capacitor values are expressed in Farads while Inductor values are in Henries.</div><h3 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 16pt; font-style: normal; font-weight: normal; line-height: 18pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Transformation to High Pass Filter Prototype</h3><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">All right we have a low pass filter prototype, what now? We simply want to do the opposite to a low pass with our high pass filter, so we do the opposite and invert everything. Replace each component with it's opposite.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">A capacitor becomes an inductor and, an inductor becomes a capacitor and, at the same time the values are also inverted e.g. the first capacitor of 0.618F becomes an inductor of 1 / 0.618H. Cool? </div><center><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - transform low pass filter to high pass filter" height="132" src="http://my.integritynet.com.au/purdic/hpf1-fig3.gif" width="256" /><br />
Fig 3 - transform low pass filter to high pass filter.</center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Notice that in the schematic I have already done the reciprocal or the inversion. The first capacitor was 0.618F, converting to an inductor of 1 / 0.618 becomes 1.618H (check it out on the calculator for ALL the components). Now all we have to do is get back to a standard impedance, we'll use 50 ohms but it could be any value which is suitable to our requirements. Also we need to get back to our cut off frequency of 2000 Khz.</div><h3 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 16pt; font-style: normal; font-weight: normal; line-height: 18pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Component calculations at Fc and at Zo - Frequency and Impedance scaling</h3><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">This is the truly simple part if you like doing basic sums on the calculator. If not, then you're in for some bother.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">The transformation is effected using the following basic, yet simple formulas:<br />
</div><center><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - transformation LC formulas" height="56" src="http://my.integritynet.com.au/purdic/hpf1-fig4.gif" width="268" /><br />
Fig 4 - transformation LC formulas.</center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Here C is the final capacitor value, L is the final inductor value, Cn and Ln are the prototype element values in Fig 3, R is your final impedance value and fc is the final cut off frequency. It's as simple as that!</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">So for a cut off of 2000 kHz and a 50 ohms impedance the calculations for the first capacitor and inductor we encounter become, as a worked example for you.<br />
</div><center><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - final component calculations - high pass RF filter" height="150" src="http://my.integritynet.com.au/purdic/hpf1-fig5.gif" width="500" /><br />
Fig 5 - final component calculations - high pass RF filter.</center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Note that the original prototype is always expressed in terms of 1 ohm, 1 hertz (Hz), Farads and Henries.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">When you do your sums you get back to numbers with negative exponents, they are the -10 and the -6 respectively. To bring capacitance to pF we multiply by exponent 12 (that's number 1 followed by 12 zeroes as in 1,000,000,000,000). Why? because 1 Pf is one 1,000,000,000,000th of a Farad.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">To bring inductance to uH we multiply by exponent 6 (that's number 1 followed by 6 zeroes as in 1,000,000). Why? because 1 uH is one 1,000,000th of a Henry.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Your final filter comes out as follows:<br />
</div><center><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - final calculated high pass filter fc @ 2000 Khz" height="158" src="http://my.integritynet.com.au/purdic/hpf1-fig6.gif" width="299" /><br />
Fig 6 - final calculated high pass filter fc @ 2000 Khz.</center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Let's look again at our previous oscillator circuit. If you are unfamiliar with oscillators then review my <a href="http://my.integritynet.com.au/purdic/oscillators.htm" style="color: blue; text-decoration: underline;">previous oscillator tutorial</a>. It will certainly help you.</div><h3 style="color: black; font-family: Arial,Geneva,sans-serif; font-size: 16pt; font-style: normal; font-weight: normal; line-height: 18pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;">Paranoia to avoid with filter values</h3><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Firstly don't use an unnecessary precision with your values. A capacitance calculated as 983.5752483 pF is totally irrelevant. In the "real world we would use a standard 1000 pF capacitor, remembering it's tolerance is going to be +/- 5% anyway. Consider also, it is doubtful any impedance will be precisely 50 ohms. Finally, for this type of filter toroids are ideal to use as inductors.</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">If their is sufficient interest I'll cover designing for unequal impedance terminations. </div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><br />
</div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;">Ref: <span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small; line-height: normal;">http://my.integritynet.com.au/purdic/high-pass-filters.htm</span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com1tag:blogger.com,1999:blog-1864599878947786465.post-85961970492268139502011-04-22T13:28:00.000+05:002011-04-22T13:28:15.847+05:00Receiver design - the fundamentals<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: justify;"></div><blockquote style="display: inline !important;"><span style="color: black; font-family: Verdana, sans-serif; font-size: x-small;">Among the first radio receivers ever constructed I suppose must have been the ever so humble <a href="http://my.integritynet.com.au/purdic/crystal_set.htm" target="_new">crystal set</a>. Just how many have been constructed over the years would be impossible to guess.</span></blockquote><br />
<span style="font-family: Verdana, sans-serif;"><blockquote><div style="text-align: justify;"><span style="color: black; font-size: x-small;">It would be fair to say millions of people, especially children had their first contact with electronic construction via the old crystal set.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">Without going into a detailed history of radio it is fair to say the modern radio communications receiver (beyond the basic entertainment type) has evolved to the point all of the following characteristics must be considered at length when either purchasing or building a receiver. This discussion is confined to the type referred to as a "communications receiver"</span></div><br />
<div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"><span style="color: black;">These characteristics (and not in any particular order) are as follows:</span> </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"> </span></div></blockquote><span style="color: black; font-size: x-small;"><div style="text-align: justify;"><b>1. GENERAL</b></div></span><div style="text-align: justify;"><span style="color: black; font-size: x-small;">All receivers of the type being discussed here are for conveying information between 2 or more people but the description could include specialised receivers such as direction finding, radar etc.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;"><br />
</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;"><b>2. INPUT CHARACTERISTICS</b></span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">As silly as it may sound the first requirement of a receiver is to efficiently and with maximum voltage levels possible, transfer electromagnetic energy from the antenna to the input of the first stage of the receiver.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">Well that's pretty basic isn't it?.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">You would be surprised just how neglected this area becomes when people establish a receiving set up. How many listeners simply hang up as much wire as possible, cross fingers and hope for the best. If nothing is heard on a particular band it must therefore be assumed there is nothing on the air to hear.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">That ain't necessarily so.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">You could be missing hundreds of good signals!. Why?. Because of a haphazard approach to interfacing your receiver to the real world. Sometimes, and I am presently in this boat myself now, your location will not allow the best antenna set up possible. Maybe you live in an apartment or face some sort of restrictions on what you may be able to erect on the property where you live. Throwing your hands in the air and lowering a few metres of wire out the window is not a terribly scientific approach. No wonder you are likely doomed to disappointment.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">You don't need to be a rocket scientist to establish a functional set-up. Certainly you must live within the constraints imposed upon you but you can always strive for the better mouse-trap.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">The how-to's I will leave until later. The important thing to remember now is that no matter how classy your receiver is, you just might be choking off all those elusive signals BEFORE they get to the input of the receiver.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">The professional receiver designer has no idea what you are going to attach to it. Therefore conventional wisdom dictates it be designed for a 50 ohm (nominal) input. Some receivers also offer an auxilliary 500 ohm input.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;"><b><br />
</b></span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;"><b>2. GAIN, SENSITIVITY AND NOISE FIGURE</b></span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">Your communications receiver it is hoped will encounter and process a wide range of signals. It must be capable of handling these signals usefully without introducing problems of its own. Consider a signal emanating from your favourite s.w. commercial broadcaster some 10,000 miles (16,000 kM) away.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">This signal may originate with a power level of 20 KiloWatts (20Kw). By the time it reaches the input of your receiver the level may only be 1uV (1 micro-volt). The signal has been attenuated (reduced) by 180 dB. That's a one followed by 18 zeros.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">For you to usefully and comfortably hear this signal at the output of your speaker, at a quite modest level of say 250 mW (milli-watts), the receiver needs to amplify the signal by about 130 db or have a gain of 130 dB. Now that's a one followed by 13 zero's. I would estimate that about nearly half that gain would come from the audio amplifier section. This would mean about 70 dB of gain needs to come from the preceding stages.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">Now for the moment I am going to deal with an a.m. receiver here. The sensitivity is influenced by the receiver bandwidth so we will assume a bandwidth of 6 Khz. That theoretically means the receiver will not respond to those portions of a signal which are outside plus/minus 3 Khz from the carrier. e.g. a signal on 27.24 Mhz. A good receiver undergoing a test at that frequency would indicate a sensitivity of about 1.5 uV.</span></div><div style="text-align: justify;"><span style="color: black; font-size: x-small;">Noise Figure is somewhat nebulous and tends to mean different things to different people.</span></div><br />
<div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"><span style="color: black;">To dispense with any arguments I will quote in part (omitting the later heavy mathematics) Professor Ulrich Rohde from his book "Communications Receivers - Principles and Design" - P68 -ISBN 0-07-053570-1</span> </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"> </span></div><br />
<blockquote><div style="text-align: justify;"><i><span style="color: black; font-size: x-small;">"Sensitivity measures depend upon specific signal characteristics. NF measures the effects of inherent receiver noise in a different manner.Essentially it compares the total receiver noise with the noise that would be present if the receiver generated no noise. This ratio is sometimes called the noise factor F, and when expressed in dB, the noise figure."</span></i></div><br />
<div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"><i><span style="color: black;"> - bold type is my emphasis alone.</span></i> </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"> </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"> </span></div></blockquote><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-size: x-small;">3. SELECTIVITY</span></b></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">This simply means the ability of the receiver to separate the signal you want from all the other signals. This selectivity must be sharp enough to differentiate from adjacent channels yet sufficiently wide enough to reproduce the signal at an acceptable fidelity.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">Some would say 300 Hz is ideal for C.W. (morse code) while 6 Khz (6,000 Hz) is too wide for serious short wave listening. A T.V. Receiver has a bandwidth of around 7 Mhz (7,000,000 Hz) and F.M. Radio uses 200 Khz channel spacing.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">Therefore the selectivity should be consistent with the type of signal you expect to encounter.</span></div><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-size: x-small;"><br />
</span></b></div><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-size: x-small;">4. DYNAMIC RANGE</span></b></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">Here you faithful lecturer jumps on/off high horse.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">Just as with noise figure this means different things to different people. Some manufacturers will even omit this figure altogether in their specifications and a lot of people active in radio have never even heard of it.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">It is one of the most critical characteristics of a receiver.</span></div><br />
<div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">It is quite important how it is defined. </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"> </span></div><br />
<blockquote><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">Dynamic Range could be defined as:</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">"The ability of a receiver to survive in the presence of strong signals."</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">But I feel it should be defined as:</span></div><br />
<div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">"The ratio of the level of strong out-of-band signals to the level of the weakest acceptable desired signal. The level of strong signal must be such as to cause the weak signal to become unacceptable". </span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;"> </span></div></blockquote><span style="font-size: x-small;"><div style="text-align: justify;">Expressed another way, it means if we are just managing to listen to our favourite elusive signal from far, far away we don't want a nearby channel, occupied by some powerful transmitter situated close by, to swamp out our desired signal and take control of our receiver.</div></span><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-size: x-small;"><br />
</span></b></div><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-size: x-small;">5. GAIN CONTROL</span></b></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">Harking back to our earlier signal of about 1 uV level. In practice this signal level will vary wildly from instant to instant for a variety of reasons but mainly because of the vagaries of propogation.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">Obviously it would be unacceptable for the reproduction to vary wildly at the output of your speaker in sympathy with the varying signal input. Also we don't want to continue amplifying the desired signal if it is already a strong signal at our antenna. Hence the need for automatic gain control.</span></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">Ideally we would want a constant output from our receiver regardless of the signal level presented at the input. Gain control should generally be logarithmic in response and a range of 120 dB would be ideal. The time constants of the response (i.e. how fast it operates etc.) should depend on the mode of receiving e.g. C.W., S.S.B. or A.M. etc.</span></div><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-size: x-small;"><br />
</span></b></div><div style="text-align: justify;"><b><span class="Apple-style-span" style="font-size: x-small;">6. FREQUENCY ACCURACY AND STABILITY</span></b></div><div style="text-align: justify;"><span class="Apple-style-span" style="font-size: x-small;">We all know how difficult sometimes it is to locate a station on a cheap a.m. radio. With a quality communications receiver we should be able to set our frequency of reception with both accuracy and certainty. We should also be able to remain on frequency for any length of time without the need to unduly re-tune the receiver.</span></div><div style="text-align: justify;"><span style="font-size: x-small;">The present state-of-the-art is such that these properties are no longer (or should not be) a problem. Even the lower cost receivers offer exceptional accuracy and stability compared say to 20 years ago.</span></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Ref: <span class="Apple-style-span" style="font-family: 'Times New Roman';">http://my.integritynet.com.au/purdic/rec_basics.html</span></div></span></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-89525676801598122522011-04-22T13:23:00.000+05:002011-04-22T13:23:24.000+05:00Small Signal Amplifiers<div dir="ltr" style="text-align: left;" trbidi="on"><b style="font-weight: bold;"><a href="" name="top"></a></b><br />
<h3 style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 16pt; font-style: normal; font-weight: bold; line-height: 18pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;"><b style="font-weight: bold;"><a href="" name="top">THE DESIGN PRINCIPLES OF SMALL SIGNAL AMPLIFIERS</a></b></h3><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;"><a href="" name="top">Let's look at one example of a small signal amplifier, perhaps of the type to follow the previous </a><a href="http://my.integritynet.com.au/purdic/buffer-amplifiers.htm" style="color: blue; font-weight: bold; text-decoration: underline;">buffer amplifier</a>. We will assume we are buffering and amplifying our signal from the<a href="http://my.integritynet.com.au/purdic/voltage-controlled-oscillators.htm" style="color: blue; font-weight: bold; text-decoration: underline;">voltage controlled oscillator</a> tutorial. In those examples we were generating and buffering 1.8 to 2.0 Mhz signals for the 160M band.</b></div><h4 style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 12pt; font-style: normal; font-weight: bold; line-height: 12pt; margin-left: 111px; margin-right: 111px; text-align: center; text-decoration: none;"><b style="font-weight: bold;">A PRACTICAL EXAMPLE</b></h4><center><b style="font-weight: bold;"><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - small signal amplifier" height="200" src="http://my.integritynet.com.au/purdic/lo-ampfig1.gif" width="450" /><br />
<b style="font-weight: bold;">Fig 1.</b></b></center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Here I've used a pretty standard and cheap transistor for our small signal amplifier. This transistor has some pretty impressive characteristics though.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">The configuration is much the same as other <a href="http://my.integritynet.com.au/purdic/rf_amp.htm" style="color: blue; font-weight: bold; text-decoration: underline;">class "A" amplifier designs</a> covered in previous tutorials.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">The output circuit consists of a <a href="http://my.integritynet.com.au/purdic/lowpass.html" style="color: blue; font-weight: bold; text-decoration: underline;">low pass filter network</a> which also converts the desired output impedance we want Q1 to see to our standard 50 ohms output.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">The 100 ohm resistor, RFC XL2 and the 0.01 uF capacitors are purely for decoupling purposes i.e., to keep RF out of the small signal amplifier power supply as well as other stages. Let's consider firstly the input circuit of our small signal amplifier.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Q1 is biased for DC conditions by R1, R2 and the emitter resistor of 270 ohms in this instance. Alert readers will be aware I like to bias the base voltage of my transistors to about 25% of Vcc (.25 * 12V) or 3V. It follows then that R1 will be about 3 times the value of R2 - think about it!. If the base voltage is around 3V then the emitter voltage is going to be 3v - 0.65V = 2.35V. Don't follow that? Go back to <a href="http://my.integritynet.com.au/purdic/rf_amp.htm" style="color: blue; font-weight: bold; text-decoration: underline;">class "A" amplifier designs</a> covered in previous tutorials.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">If the emitter voltage is 2.35V approx. then the emitter current Ie through the emitter resistor of 270 ohms must be (from ohms law) 2.35 / 270 = 0.0087 or 8.7 mA. I've also said elsewhere I like base current to be about 1/7th of emitter current - alright these are my foibles and others would disagree. They're welcome to write their own papers.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">So base current is going to be about 1 mA and seeing R1 + R2 are connected across 12V it follows that (from ohms law) R1 + R2 = 12V / .001 = 12,000 ohms or 12K. For biasing R1 is 3 times R2 so using simple maths R2 is 25% or 3K and R1 would be 9K which are not necessarily readily available standard values. We will make R2 = 3K3 and R1 = 10K which if you do all your sums is near enough and probably about a third of the values others might use.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">So we have our DC conditions satisfied and the 0.01 capacitor in parallel with the emitter resistor means for RF purposes the emitter is at ground potential. This then leaves the output circuit to be discussed. The 22 ohms resistor in the collector circuit is there to discourage parasitic oscillations. RFC XL2 as I said before is only to decouple the power supply and I'd look for a reactance of around 20,000 ohms or at 2 Mhz something like 1 to 2.5 mH.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">All this leaves is our low pass filter matching network. First question?? How much output power do we want? Huh? Yep that's how it all works.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Let's say we wanted +17 dBm for a mixer circuit. To the uninformed +17 dBm is a power relationship in milli-watts. Power is always (10 * log of power) so in this case in reverse we divide the 17 by 10 to get 1.7 which is the log of 50 so it follows that +17 dBm is in fact 50 mW of power. Learnt something?</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Incidentally a power level of 50 mW into 50 ohms also equates to Erms = SQRT ( 0.05 * 50 ) or 1.58V RMS or 2.828 times that value to get pk-to-pk, which is 4.47V PK-PK.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Alright how do we design to get 50 mW out of our amplifier? By using the formula R = Vcc<sup style="color: black; font-size: 6pt; font-style: normal; font-weight: normal; line-height: 12pt;">2</sup> / (2 * Po) or in our case [ (12V * 12V) / (2 * 0.05) ] = 1440 ohms. Want more power? Change the numbers! Obviously there are limits but you get the idea.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">From the above the collector needs to see a load of about 1440 ohms which in turn has to be transformed into our 50 ohm load. By the way, if the amplifier doesn't see a 50 ohm load then all these calculations go right out the window. At the end I show my method of ensuring something like a 50 ohm load and more important the method helps the succeeding stage see a 50 ohm source.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">If you have done <a href="http://my.integritynet.com.au/purdic/lowpass.html" style="color: blue; font-weight: bold; text-decoration: underline;">previous tutorials on filters</a> this is easy. If not then you need to do more work. This is a simple "L" network low pass filter designed in this case to transform 1440 ohms to 50 ohms. Follow these steps where SQRT signifies square-root-of:</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">1. XL = the SQRT of [(R1 * R2) - (R1 * R1)] = SQRT [(50 * 1440) - (50 * 50)] = SQRT [ 72,000 - 2,500] = SQRT of 69500 = 263.6 ohms</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">2. Xc = [(R1 * R2) / XL] = 72,000 / 263.6 = 273 ohms</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Therefore the reactance of our inductor is about 264 ohms at our frequency of interest and the reactance of our capacitor is about 273 ohms at that same frequency. In the beginning I mentioned a requirement for a 1.8 to 2 Mhz small signal amplifier so we will nominally use 2 Mhz as our cut off frequency i.e. we want to pass all signals below about 2 Mhz but not above (filter out harmonics!).</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Here I always see what capacitor has a reactance of 273 ohms at 2 Mhz using the standard capacitive reactance formula Xc = 1 / (2 * pi * Fo * C). Which when algebraically rearranged for our purposes becomes C = 1 / (2 * pi * Fo * Xc ). Slipping 273 ohms for Xc into that formula and 2 Mhz (2,000,000) should get you on your calculator 2.91.. <sup style="color: black; font-size: 6pt; font-style: normal; font-weight: normal; line-height: 12pt;">-10</sup> which should then be multiplied by exp 12 to arrive at an answer in pF. Doing that we get an answer of 291 pF which doesn't exist in the real world.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Now you have several choices here. (a) just plonk nearest standard components in for XL and Xc and don't worry about tuning - not recommended. (b) make part of Xc variable e.g. Xc comprises a fixed 270 pF capacitor with a 5 - 50 pF trimmer in parallel or (c) make Xc fixed and XL variable. You can only use the latter option if you have suitable slug tuned inductors available (they ain't cheap but could possibly be salvaged if you know what you are doing).</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">In the event you chose option (b) the required fixed inductor would be determined from the inductive reactance formula XL = (2 * pi * Fo * L). In ALL examples I use 6.2832 for 2 * pi. For our example we can again rearrange the formula as L = XL / (2 * pi * Fo) and plugging in this case 263.6 ohms XL from above and 2 for 2 Mhz we get L = 263.6 / (6.2832 * 2) = 20.98 uH. That is the inductance you would use, possibly with 60 turns of #26 wire on a T68-2 toroid as only one example.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">If you elected method (c) - and this is really cool - I would look back at the capacitor required i.e. 291 pf, use the next lower value which is 270 pF and slot in a variable inductor which will tune through 20.98 uH. Feed a suitable signal to the amplifier, ensure the amplifier is terminated in a suitable fixed 50 ohm load (two 1/2 watt 100 ohm resistor in parallel = 50 ohms) and watch the output on a scope as the slug is adjusted. Wow! In fact you should get a similar effect with the variable capacitor method in (b). Certainly you will then understand why method (a) sucks.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">I mentioned earlier how I ensure a 50 ohms load and succeeding stages see a 50 ohms source. I use a 50 ohm 3 dB attenuator. This is a resistive pi network attenuator which consumes 3 dB of power but represents a constant load. You put it in circuit after the last 0.01 uF coupling capacitor after the output.</b></div><center><b style="font-weight: bold;"><img alt="This image is copyrighted © by Ian C. Purdie VK2TIP - resistive 3 dB 50 ohm attenuator" height="93" src="http://my.integritynet.com.au/purdic/lo-ampfig2.gif" width="234" /><br />
<b style="font-weight: bold;">Fig 2.</b></b></center><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Now the downside. It consumes power. At - 3 dB that's half the power!!! What the hell just do your sums all over again to produce 100 mW from the amplifier. I would!</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">In this event your collector load is now 720 ohms, Xc = 197 ohms and XL = 183 ohms. At around 2 Mhz they translate into 403 pF (use 390 pF) and about 14.6 uH.</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">See - dead easy!</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;"><br />
</b></div><div style="color: black; font-family: Arial, Geneva, sans-serif; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 12pt; margin-left: 22px; margin-right: 22px; text-align: left; text-decoration: none;"><b style="font-weight: bold;">Ref: <span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small; line-height: normal;">http://my.integritynet.com.au/purdic/small-signal-amplifier.htm</span></b></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-89663377787620469392011-04-18T06:52:00.000+05:002011-04-18T06:52:45.975+05:00LED moving font<div dir="ltr" style="text-align: left;" trbidi="on"><h3 align="LEFT"><span style="font-family: Arial; font-size: x-small;"> <img alt="LED-Laufschrift" height="40" src="http://www.woe.onlinehome.de/gif/led_move.gif" width="230" /></span></h3><div align="left"><span style="font-family: Arial; font-size: x-small;">The LED moving font is built up of separate modules consisting of 64 LEDs each (8x8 matrix). The modules can be cascaced according to the desired size of the font. Each module is controlled by the LED display driver MAX7219 (or MAX7221) which can drive 64 LEDs. The display data is transferred serially to this display driver via the pins DIN, CLK and LOAD. The pin DOUT can be connected to the input DIN of the following display driver, all CLK and all LOAD pins are connected together. The <a href="http://www.maxim-ic.com/" target="_blank">datasheet</a> is available on Maxim's homepage. </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;">The modules are controlled by an 8051-compatible microcontroller AT89C51 (LED moving font controller variant 1) or AT89C2051 (LED moving font controller variant 2) from <a href="http://www.atmel.com/atmel/products/prod20.htm" target="_blank">Atmel</a> which provide 4 kB or 2kB flash memory on-chip. The LED display driver MAX 7219 CNG is available from <a href="http://www.reichelt.de/" target="_blank">Reichelt</a> or <a href="http://www.segor.de/" target="_blank">Segor</a>, a free sample can be ordered on the homepage of <a href="http://www.maxim-ic.com/" target="_blank">Maxim</a>. The LED display driver is mounted together with a LED module (8x8 matrix) on the LED module PCB. </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;">The display text is stored in a EEPROM. The text can be downloaded via a serial RS232 connection from a PC. From the PC a text file containing the text is sent. The baudrate can also be set to 600 Baud (via additional jumper), because some PCs have problems with hardware handshaking, which would be necessary at 1200 or 9600 Baud download speed. Dependent on the storage size of the EEPROM up to 2045 characters can be stored. It is also possible to store the text in the flash ROM of the microcontroller. But then it is necessary to reassemble the program code if the text is changed and to reprogram the flash ROM. If an EEPROM is used, changes of the text can be done easily via serial downloading. A maximum of 11 LED modules (each module consisting of 8x8 LEDs) can be used. The moving font is already working with 1 module.<br />
<br />
Adjusting moving speed: in EEPROM-Mode, 255 speed values can be set. The selected value can be transmitted via serial interface and will be stored in a byte in EEPROM.<br />
</span></div><span style="font-family: Arial; font-size: x-small;"><a href="http://www.woe.onlinehome.de/jpg/mat_con1.jpg" target="_blank"><img alt="LED moving font controller variant 1" border="0" height="172" src="http://www.woe.onlinehome.de/jpg/mat_con1_small.jpg" width="231" /></a> <a href="http://www.woe.onlinehome.de/jpg/mat_con2.jpg" target="_blank"><img alt="LED moving font controller variant 2" border="0" height="172" src="http://www.woe.onlinehome.de/jpg/mat_con2_small.jpg" width="218" /></a> <br />
<a href="http://www.woe.onlinehome.de/jpg/ledmodul_front.jpg" target="_blank"><img alt="LED module (frontside)" border="0" height="229" src="http://www.woe.onlinehome.de/jpg/ledmodul_front_small.jpg" width="181" /></a> <a href="http://www.woe.onlinehome.de/jpg/ledmodul_back.jpg" target="_blank"><img alt="LED module (backside)" border="0" height="229" src="http://www.woe.onlinehome.de/jpg/ledmodul_back_small.jpg" width="178" /></a> </span><br />
<div align="left"><span style="font-family: Arial; font-size: x-small;"><b>The schematic and the software can be downloaded here: </b> </span></div><div align="LEFT"><span style="font-family: Arial; font-size: x-small;"><img alt="Download" height="32" src="http://www.woe.onlinehome.de/gif/disk.gif" width="32" /> <b>Project files for hardware and software in ZIP format:</b><br />
<a href="http://www.woe.onlinehome.de/zip/laufschr.zip"><b>LED moving font V2.3</b></a> </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;">For the hardware the <a href="http://www.woe.onlinehome.de/e_eagle.htm" target="_blank">freeware version of Eagle 3.55</a> is required. It is available for free from CadSoft. </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;"><img alt="Schematic" height="28" src="http://www.woe.onlinehome.de/gif/schaltplan.gif" width="30" /> <b>Schematic and component placement in GIF format:</b><br />
<b>LED moving font controller variant 1 (for AT89C51):</b><br />
<a href="http://www.woe.onlinehome.de/proj_gif/mat_con1.gif" target="_blank">Schematic of LED moving font controller variant 1</a><br />
<a href="http://www.woe.onlinehome.de/proj_gif/mat_con1_top.gif" target="_blank">Component placement of LED moving font controller variant 1</a><br />
<b>LED moving font controller variant 2(for AT89C2051):</b><br />
<a href="http://www.woe.onlinehome.de/proj_gif/mat_con2.gif" target="_blank">Schematic of LED moving font controller variant 2</a><br />
<a href="http://www.woe.onlinehome.de/proj_gif/mat_con2_top.gif" target="_blank">Component placement of LED moving font controller variant 2</a><br />
<b>LED module:</b><br />
<a href="http://www.woe.onlinehome.de/proj_gif/ledmodul.gif" target="_blank">Schematic LED module</a><br />
<a href="http://www.woe.onlinehome.de/proj_gif/ledmodul_top_bot.gif" target="_blank">Component placement of LED module</a><br />
</span></div><div align="left"><span style="font-family: Arial; font-size: x-small;"><img alt="PCB" height="28" src="http://www.woe.onlinehome.de/gif/platine.gif" width="30" /> <b>Printed circuit board:</b><br />
There are professionally manufactured <b>unpopulated printed circuit boards</b> available for this project, named:<br />
<b>MAT_CON1.BRD</b> (LED moving font controller variant 1 for AT89C51)<br />
<b>MAT_CON2.BRD</b> (LED moving font controller variant 2 for AT89C2051)<br />
<b>LEDMODUL.BRD</b> (PCB for 1 LED module TC23-11EWA)<br />
More information is available here: <a href="http://www.woe.onlinehome.de/e_board.htm" target="_blank"><b>Printed circuit boards for WOE projects</b></a> </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;"><img alt="Programmed microcontroller" height="28" src="http://www.woe.onlinehome.de/gif/ic.gif" width="32" /> <b>Programmed microcontroller:</b><br />
If you are interested in a programmed microcontroller, please send an <a href="http://www.woe.onlinehome.de/e_contact.htm"><b>email</b></a> including the project name. </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;"><img alt="Support WOE" height="30" src="http://www.woe.onlinehome.de/gif/likeit.gif" width="30" /> <b>Did you like this project?</b><br />
So feel free to support WOE with a small <a href="http://www.woe.onlinehome.de/e_donation.htm" target="_blank"><b>donation</b></a>. You will support the development of further free projects on this site. Thank you. </span></div><span style="font-family: Arial; font-size: x-small;"><br />
</span><br />
<div align="left"><span style="font-family: Arial; font-size: x-small;"><b>Suitable 8x8 LED dot matrix displays for the LED moving font:</b><br />
For each LED module a 8x8 LED dot matrix display is required with common cathode columns and common anode rows. You can build the dot matrix displays with seperate LEDs on a universal PCB or you can use 8x8 LED dot matrix panels. A suitable type is the display TC23-11EWA manufactured by Kingbright, a suitable unpopulated PCB is available, look ahead. The color of this LED dot matrix display is red, but it is also available in different colors. </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;"><b>Sources of supply for 8x8 LED dot matrix displays TC23-11EWA:</b><br />
8x8 LED dot matrix displays TC23-11EWA (Manufacturer: Kingbright, color: red, <a href="http://home.nikocity.de/woe/led/TX23.pdf">technical data</a>) are available via the distributors of <a href="http://www.kingbright.com/" target="_blank">Kingbright</a>, e.g. <a href="http://www.menges-electronic.com/" target="_blank">menges electronic</a>. </span></div><div align="left"><br />
</div><div align="left"><span style="font-family: Arial; font-size: x-small;">Ref: woe.onlinehome.de/e_projects.htm </span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com1tag:blogger.com,1999:blog-1864599878947786465.post-29505136795854593132011-04-04T01:35:00.002+05:002011-04-04T01:35:49.131+05:00AT89C2051 programmer<div dir="ltr" style="text-align: left;" trbidi="on"><h3 align="LEFT"><span style="font-family: Arial; font-size: x-small;"></span></h3><div align="left"> <span style="font-family: Arial; font-size: x-small;">Using this programmer you can program the internal flash of the microcontroller AT89C2051 from <a href="http://www.atmel.com/" target="_blank">Atmel</a>. The AT89C2051 programmer is connected via the serial RS232 interface to a PC. In comparison with other programmers, you do not need a special software, a terminal program is sufficient. So there are no platform dependent limitations and it can be used universally. </span></div><div align="left"> <span style="font-family: Arial; font-size: x-small;">Generally the programmer supports two different modes:<br />
<b>1. User mode:</b> The desired operation Program (including Erase), Verify, Read or Lockbits can be selected via a BCD switch and started by pressing a button. The desired programming data will be transmitted or received in binary format via the RS232 interface. A special software data handshake is not required. A LED shows the current status.<br />
<br />
<b>2. Remote mode:</b> In remote mode, the BCD switch and the button are not required, because the operations are selected via special remote commands from RS232 interface, followed by the binary data like in user mode. When the operation is finished, a status code is transmitted back, so it would also be possible to control the programmer with an own developed software. </span></div><span style="font-family: Arial; font-size: x-small;"><a href="http://www.woe.onlinehome.de/jpg/prg2051.jpg" target="_blank"><img alt="AT89C2051 programmer" border="0" height="172" src="http://www.woe.onlinehome.de/jpg/prg2051_small.jpg" width="217" /></a> </span><div align="left"><span style="font-family: Arial; font-size: x-small;"><b>The schematic and the software can be downloaded here: </b> </span></div><div align="LEFT"> <span style="font-family: Arial; font-size: x-small;"><img alt="Download" height="32" src="http://www.woe.onlinehome.de/gif/disk.gif" width="32" /> <b>Project files for hardware and software in ZIP format:</b><br />
<a href="http://www.woe.onlinehome.de/zip/prg2051.zip"><b>AT89C2051 programmer V1.1</b></a> </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;">For the hardware the <a href="http://www.woe.onlinehome.de/e_eagle.htm" target="_blank">freeware version of Eagle 3.55</a> is required. It is available for free from CadSoft. </span></div><div align="left"> <span style="font-family: Arial; font-size: x-small;"><img alt="Schematic" height="28" src="http://www.woe.onlinehome.de/gif/schaltplan.gif" width="30" /> <b>Schematic and component placement in GIF format:</b><br />
<a href="http://www.woe.onlinehome.de/proj_gif/prg2051.gif" target="_blank">Schematic of AT89C2051 programmer</a><br />
<a href="http://www.woe.onlinehome.de/proj_gif/prg2051_top.gif" target="_blank">Component placement of AT89C2051 programmer</a><br />
</span></div><div align="left"> <span style="font-family: Arial; font-size: x-small;"><img alt="PCB" height="28" src="http://www.woe.onlinehome.de/gif/platine.gif" width="30" /> <b>Printed circuit board:</b><br />
There is a professionally manufactured <b>unpopulated printed circuit board</b> available for this project, named <b>PRG2051.BRD</b><br />
More information is available here: <a href="http://www.woe.onlinehome.de/e_board.htm" target="_blank"><b>Printed circuit boards for WOE projects</b></a> </span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-44179632912976084342011-04-04T01:34:00.000+05:002011-04-04T01:34:55.304+05:00AT89C2051/ATtiny2313 evaluation board<div dir="ltr" style="text-align: left;" trbidi="on"><h3 align="LEFT"><span style="font-family: Arial; font-size: x-small;"><br />
</span></h3><div align="left"> <span style="font-family: Arial; font-size: x-small;">The AT89C2051/ATtiny2313 evaluation board is suited well for building and testing microcontroller circuits. You can either use an AT89C2051 or an ATtiny2313, both microcontrollers are almost pincompatible, just the reset pin has different polarity. The ATtiny2313 has the advantage that it can be programmed in-circuit via SPI. Furthermore it supports On-Chip-Debugging via the built-in DebugWire interface. Debugging can be done via the reset pin with the "JTAGICE mkII" from Atmel. </span></div><span style="font-family: Arial; font-size: x-small;"> The port pins are connected to terminals. A serial RS232 interface is already implemented on board which can also be disabled in order to get further port pins. A serial I²C-EEPROM can be used as a nonvolatile memory for configuration data. Via I²C-Bus other peripheral components can be connected to the evaluation board. A stabilized 5V supply is also implemented on board. </span><br />
<span style="font-family: Arial; font-size: x-small;"><a href="http://www.woe.onlinehome.de/jpg/at89_exp.jpg" target="_blank"><img alt="AT89C2051/ATtiny2313 evaluation board" border="0" height="181" src="http://www.woe.onlinehome.de/jpg/at89_exp_small.jpg" width="242" /></a> </span><div align="left"><span style="font-family: Arial; font-size: x-small;"><b>The schematic and the layout of the board can be downloaded here:</b> </span></div><div align="LEFT"> <span style="font-family: Arial; font-size: x-small;"><img alt="Download" height="32" src="http://www.woe.onlinehome.de/gif/disk.gif" width="32" /> <b>Project files for hardware and software in ZIP format:</b><br />
<a href="http://www.woe.onlinehome.de/zip/at89_exp.zip"><b>AT89C2051/ATtiny2313 evaluation board V1.1</b></a> </span></div><div align="left"><span style="font-family: Arial; font-size: x-small;">For the hardware the <a href="http://www.woe.onlinehome.de/e_eagle.htm" target="_blank">freeware version of Eagle 3.55</a> is required. It is available for free from CadSoft. </span></div><div align="left"> <span style="font-family: Arial; font-size: x-small;"><img alt="Schematic" height="28" src="http://www.woe.onlinehome.de/gif/schaltplan.gif" width="30" /> <b>Schematic and component placement in GIF format:</b><br />
<a href="http://www.woe.onlinehome.de/proj_gif/at89_exp.gif" target="_blank">Schematic of AT89C2051/ATtiny2313 evaluation board</a><br />
<a href="http://www.woe.onlinehome.de/proj_gif/at89_exp_top.gif" target="_blank">Component placement of AT89C2051/ATtiny2313 evaluation board</a><br />
<b>Attention: </b>Please consider the different component placement options according to the selected microcontroller! </span></div><div align="left"> <span style="font-family: Arial; font-size: x-small;"><img alt="PCB" height="28" src="http://www.woe.onlinehome.de/gif/platine.gif" width="30" /> <b>Printed circuit board:</b><br />
There is a professionally manufactured <b>unpopulated printed circuit board</b> available for this project, named <b>AT89_EXP.BRD</b><br />
More information is available here: <a href="http://www.woe.onlinehome.de/e_board.htm" target="_blank"><b>Printed circuit boards for WOE projects</b></a></span></div><div align="left"><br />
</div><div align="left"><br />
</div><div align="left"><span style="font-family: Arial; font-size: x-small;"><b>Ref: woe.onlinehome.de/e_projects.htm </b></span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-44602142259264910122011-03-25T13:16:00.001+05:002011-03-25T13:17:37.774+05:00How I tried to improve WIFI reception in the garage<div dir="ltr" style="text-align: left;" trbidi="on"><span style="font-size: x-small;">By: Bob Casiano</span><br />
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px; text-align: center;"></span></span><br />
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"></span></span><br />
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"></span></span><br />
<div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb" href="http://s.eeweb.com/pl/1286163624-CoffeeCanWifiAnt-1-640x480.jpg" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:1 The Squirrel Project" height="375" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-pl-1286163624-CoffeeCanWifiAnt-1-640x480-500x375.jpg" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" title="The Squirrel Project" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 1 </span><span class="Apple-converted-space"> </span>The Squirrel Project</span></span></h4></div><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><br />
<strong style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">“Squirrel!! Moment”.</strong><span class="Apple-converted-space"> </span>While working on the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">ATX</span>-<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FPS</span>-v0 project, I realized I needed to improve my<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">WIFI</span><span class="Apple-converted-space"> </span>signal strength. After reviewing several Google listed projects on using a Pringle can, soup can, etc, I decided to go with a coffee can. Since I happen to have one nearby. This project will be posted later this week in my projects section. While working quickly on, what I thought would be a quick and dirty project, the software I downloaded to monitor signal strength turned out to have an infinite loop in the dll it installed on my laptop!!! So, after rebooting, for a windows update of course, I got the blue screen of death with an explanation about the dll! Three hours later and pretty much out of patience to work on any project. I hit F8, reset the windows startup to the previous working login, setup the virus checker to start up after reboot. This took another 2.5 hours to complete! Now, during that time I was able to trim, mow, vacuum up the leaves on my sidewalks and driveways. And, take care of a neighbors dog while they are hunting this weekend. So, I wasted a day screwing around with an unimportant side project when I could have done something more constructive. Like fixing my fence. Well, the next time I have a “Squirrel” moment, I’ll remind myself about the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">WIFI</span><span class="Apple-converted-space"> </span>episode.</span></span></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-91725488769754857002011-03-21T19:54:00.001+05:002011-03-21T19:56:26.186+05:00Ptv k feed code software<div dir="ltr" style="text-align: left;" trbidi="on"><div style="font-family: Verdana,sans-serif;"><span style="font-size: small;"><br />
</span></div><h1 style="font-family: Verdana,sans-serif; font-weight: normal;"><span style="font-size: small;">Ptv k feed code software: Feed reader with artificial intelligence, Create a new RSS feed from several others, Syndicate your web content in 4 easy steps and more.</span></h1><b><a href="http://www.freedownloadmanager.org/downloads/Feed_A_I__48294_p/free.htm">Download here</a></b><br />
<br />
<br />
</div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-87274921646258806372011-03-19T12:49:00.000+05:002011-03-19T12:49:41.014+05:00High liquid level activated switch<div dir="ltr" style="text-align: left;" trbidi="on"><h3></h3><div style="text-align: justify;">A method for activating a relay when the liquid level exceeds a predetermined level is shown here. DC voltage is required for driving the relay and AC voltage cannot be used here just like what we did in the case of LED and speaker. Pin 9 of the IC can be used to solve this problem. A capacitor connected from this pin to ground will keep the internal output transistor steadily ON whenever the probe resistance goes higher than the reference resistor. External transistor Q1 is connected to the collector of the internal transistor. The load that is the relay is connected at the collector of Q1. When the probe is not touching the water it equal to an open circuit situation and surely the probe resistance will be many M ohms and it is greater than the R<i>ref</i>(13K). The internal transistor will be switched ON and Q1 whose base is connected to the collector of the internal transistor will be in OFF condition keeping the relay inactive. When the reverse scenario occurs (fluid level touches the probe) the internal transistor is switched OFF and this in turn makes the transistor Q1 ON resulting in the activation. The load connected through the relay whether pump, lamp, alarm, solenoid valve or anything is driven. Resistor R3 limits the collector current of the internal transistor while resistor R4 provides protection to the IC from transients.</div><div class="wp-caption aligncenter" id="attachment_5567" style="width: 614px;"><a href="http://www.circuitstoday.com/wp-content/uploads/2011/03/high-liquid-level-activated-switch.png"><img alt="high fluid level activated relay" class="size-full wp-image-5567" height="550" src="http://www.circuitstoday.com/wp-content/uploads/2011/03/high-liquid-level-activated-switch.png" title="high liquid level activated switch" width="604" /></a><br />
<div class="wp-caption-text">High liquid level activated switch</div></div><div style="text-align: justify;"><i><b> Probe</b>: The probe used here can be any metal rod with size and shape of your choice. The tank must be made of metal and it should be properly grounded. For non metal tanks fix a small metal contactor at its bottom level and ground it. The probe must be placed at the level you want to monitor.</i></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><b>Notes.</b></div><ul><li> The circuit can be assembled on a Perf board.</li>
<li>I used 12V DC for powering the circuit.</li>
<li>Maximum supply voltage LM1830 can handle is 28V.</li>
<li>The tweeter I used was of a 16 ohm type.</li>
<li>The relay I used is a 200 ohm/12V type.</li>
<li>Maximum load current Q1 (2N2222) can handle is 800mA.</li>
<li>The switching current/voltage ratings of the relay must be according to the load you want to drive using it.</li>
<li>It is recommended to mount the IC on a holder.</li>
</ul><div style="background-color: transparent; border: medium none; color: black; overflow: hidden; text-align: left; text-decoration: none;"><br />
Read more:circuitstoday.com/liquid-level-indicator#ixzz1H1tPzaWu </div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com1tag:blogger.com,1999:blog-1864599878947786465.post-46129126269415907832011-03-19T12:47:00.002+05:002011-03-19T12:50:01.835+05:00LM1830 based liquid level indicator circuit<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: justify;"><b>L</b>M1830 is a monolithic integrated circuit that can be used in liquid level indicator / control systems. Manufactured by National Semiconductors, the LM1830 can detect the presence or absence of polar fluids . Circuits based on this IC requires minimum number of external components and AC signal is passed through the sensing probe immersed in the fluid. Usage of AC signal for detection prevents electrolysis and this makes the probes long lasting. The IC is capable of driving a LED, high impedance tweeter or a low power relay at its output.</div><div class="wp-caption aligncenter" id="attachment_5564" style="width: 753px;"><img alt="liquid level sensor" class="size-full wp-image-5564" height="483" src="http://www.circuitstoday.com/wp-content/uploads/2011/03/low-liquid-level-indicator-LED.png" title="low liquid level indicator LED" width="743" /><br />
<div class="wp-caption-text">Low liquid level indicator (LED)</div></div><div style="text-align: justify;">The circuit of a low liquid level indicator with LED is shown above. Capacitor Ct sets the frequency of the internal oscillator. With the give value of C1 the frequency will be around 6KHz. Capacitor Cb couples the oscillator output to the probe and it ensures that no DC signal is applied to the probe. The circuit detects the fluid level by comparing the probe to ground resistance with the internal reference resistor R<i>ref</i>.</div><div style="text-align: justify;">When the probe to ground resistance goes above the R<i>ref</i> the oscillator output is coupled to the base of the internal output transistor making it conducting. The LED connected to the collector (between pin 12 and Vcc) is driven. Since the base of the transistor is driven using the oscillator, actually the transistor is being switched at the oscillator’s output frequency @50% duty cycle. There is no problem in driving the LED using AC signal and this method is very useful when it comes to use a loud speaker as the indicator. Loud speakers can be driven only by using AC signals and a DC signal will not produce any sound out of the speaker. The circuit diagram of a liquid level indicator using loud speaker at its output is shown below. The circuit is similar to the first circuit except that the LED is replaced by a loud speaker and the load current limiting resistor is changed from 1.2K to 1.5K.</div><div class="wp-caption aligncenter" id="attachment_5565" style="width: 552px;"><a href="http://www.circuitstoday.com/wp-content/uploads/2011/03/low-liquid-level-warning-audio.png"><img alt="low liquid level alarm" class="size-full wp-image-5565" height="480" src="http://www.circuitstoday.com/wp-content/uploads/2011/03/low-liquid-level-warning-audio.png" title="low liquid level warning audio" width="542" /></a><br />
<div class="wp-caption-text">Low liquid level warning (audio)</div></div><div style="background-color: transparent; border: medium none; color: black; overflow: hidden; text-align: left; text-decoration: none;"><div style="text-align: justify;"><b>Notes.</b></div><ul><li> The circuit can be assembled on a Perf board.</li>
<li>I used 12V DC for powering the circuit.</li>
<li>Maximum supply voltage LM1830 can handle is 28V.</li>
<li>The tweeter I used was of a 16 ohm type.</li>
<li>The relay I used is a 200 ohm/12V type.</li>
<li>Maximum load current Q1 (2N2222) can handle is 800mA.</li>
<li>The switching current/voltage ratings of the relay must be according to the load you want to drive using it.</li>
<li>It is recommended to mount the IC on a holder.</li>
</ul><div style="background-color: transparent; border: medium none; color: black; overflow: hidden; text-align: left; text-decoration: none;"><br />
</div>Read more: circuitstoday.com/liquid-level-indicator#ixzz1H1t0SpU7 </div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com4tag:blogger.com,1999:blog-1864599878947786465.post-22569731418069412412011-03-12T16:31:00.000+05:002011-03-12T16:31:14.592+05:00Speaker Recognition - Voice Recogoinition<div dir="ltr" style="text-align: left;" trbidi="on"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"></span></span><br />
<div class="project_summary" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><h1 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 14px; font-weight: bold; line-height: 18px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; text-transform: uppercase; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">By: </span></span><span style="font-weight: normal;">Parker Evans</span></span></span></h1><h1 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 14px; font-weight: bold; line-height: 18px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; text-transform: uppercase; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">PROJECT SUMMARY</span></span></h1><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The goal for our project was to be able to distinguish, in real time, between various speakers based only on audio input. In the literature, this problem is known as speaker recognition, or, more precisely, speaker identification. A good deal of progress has been made in this field, but it is still an open research topic, and by no means a solved problem. Speaker recognition is applicable to many fields, including but not limited to artificial intelligence, cryptography, and national security.</span></span></div></div><h1 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 14px; font-weight: bold; line-height: 18px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; text-transform: uppercase; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">PROJECT DESCRIPTION</span></span></h1><h5 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Introduction</span></span></h5><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The goal for our project was to be able to distinguish, in real time, between various speakers based only on audio input. In the literature, this problem is known as speaker recognition, or, more precisely, speaker identification. A good deal of progress has been made in this field, but it is still an open research topic, and by no means a solved problem. Speaker recognition is applicable to many fields, including but not limited to artificial intelligence, cryptography, and national security.</span></span></div><h5 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Theory of Operation</span></span></h5><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Human speech, when analyzed in the frequency domain, reveals complicated, yet well understood features, which can be used to indentify the speaker. These features are derived from the mechanics of speech generation, which we shall introduce briefly here. The treatment here will be greatly simplified, and the interested reader is encouraged to consult the references for a more complete introduction.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Speech begins with the generation of an airstream, usually by the lungs and diaphram.<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn13318991934d75c1ce3533e" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">1</a></sup>– a process called initiation. This air then passes through the larynx (voicebox), where it is modulated by the glottis (vocal chords). This step is called phonation or voicing<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn15313682044d75c1ce356ff" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">2</a></sup><sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn20337350774d75c1ce35aed" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">3</a></sup>, and is responsible for the generation of pitch and tone. Finally, the modulated air is filtered by the mouth, nose, and throat – a process called articulation – and the resultant pressure wave excites the air.<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn689907444d75c1ce35ed0" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">4</a></sup>.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">As a consequence of this physiology, we notice several characteristics of the frequency domain spectrum of speech. First of all, the oscillation of the glottis results in an underlying fundamental frequency and a series of harmonics at multiples of this fundamental<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn17750693104d75c1ce366a8" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">5</a></sup>. This is shown in the figure below, where we have plotted a brief audio waveform for the phoneme ‘ah’ and its magnitude spectrum. The fundamental frequency (113 Hz) and its harmonics appear as spikes in the spectrum.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/aud_sm-1298918901.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:1" height="768" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-aud_sm-1298918901-469x768.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="469" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 1 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The location of the fundamental frequency is speaker dependent, and is a function of the dimensions and tension of the vocal chords. For adults it usually falls between 100 and 250 Hz, and females average significantly higher than males<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn17750693104d75c1ce366a8" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">5</a></sup>.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Further analysis of the audio spectrum shows that nearly all energy resides in the band between DC and 4kHz, and beyond 10kHz there is virtually no energy whatsoever. Incidentally, this is one of the primary motivations for the common sampling rate of 8kHz. In our case, we wanted higher fidelity audio, so we chose the (more than suitable) sampling rate of 32kHz.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Yet more detailed investigation shows that different phonemes (particularly vowels) have characteristic regions of high energy in the spectrum. These peak regions are called formants, and their locations can be used to extract both phoneme and (at a higher resolution) speaker information. The vowel formants are well studied and their particular locations are available for reference<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn5254624544d75c1ce37265" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">6</a></sup>. Considering again the ‘ah’ phoneme, the reference indicates that the first and second formants are centered at 700 Hz and 1150 Hz respectively. The audio spectrogram for our recorded ‘ah’ is shown in the figures below, where we have used a smaller<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>to de-emphasize the fundamental and its harmonics. (A spectrogram is simply a time series of<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span>s taken on consecutive blocks of samples. We include both a surface and heatmap below). We see that there is significant energy in the predicted frequency bands.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/ahspectro-2-1298918908.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:2" height="768" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-ahspectro-2-1298918908-492x768.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="492" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 2 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">In order to quantify the amount of energy in the various regions of the spectrum, it would be natural to design a series of overlapping filters that cover the active region of the spectrum. It turns out that this technique is used quite often, and leads us to our primary analysis tool – the mel cepstrum. Consider the triangular filter bank shown below.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/melfilt-3-1298918916.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:3" height="375" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-melfilt-3-1298918916-500x375.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 3 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The filters are designed so as to be equally spaced in the mel domain, a logarithmic scale related to frequency by<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn18200908794d75c1ce381f9" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">7</a></sup>.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/f2m-4-1298918917.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:4" height="70" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-f2m-4-1298918917-260x70.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="260" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 4 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">or inversely</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/m2f-5-1298918919.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:5" height="38" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-m2f-5-1298918919-215x38.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="215" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 5 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The mel scale mimics the logarithmic perception of pitch as experienced by humans, and is designed such that 0 and 1000 are equal to themselves in both the mel and frequency scale<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn18200908794d75c1ce381f9" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">7</a></sup>. This is demonstrated in the plot below, which is simply a graphical representation of the formula above</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/f2mel-6-1298918919.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:6" height="375" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-f2mel-6-1298918919-500x375.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 6 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Once the mel filters have been designed, one can calculate a vector of mel weights for a brief audio sample as the inner product of the audio<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>and the mel filters. The number of mel filters to use is a system parameter, but the literature indicates that 12 is typically sufficient for speaker recognition. The last step that is taken is to compute the discrete cosine transform of the logarithm of the mel weight vector. The resulting vector is called the mel-frequency cepstrum (<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFC</span>), and the individual components are the mel-frequency cepstral coefficients (<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span>s)<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn1722162114d75c1ce391a6" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">8</a></sup>. It is not completely clear to the authors why this last step is taken, but given that it is commonly used, we decided to implement it. The full process block diagram, then, is given below.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/mfccbd-7-1298918921.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:7" height="166" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-mfccbd-7-1298918921-500x166.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 7 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The windowing function referenced in the diagram is typically a Hamming or Hanning window, and is used to reduce smearing of peaks in the frequency domain. The improvement realized by introducing these windows was unclear to the authors, so we implemented them as parameters to the system which could either be used or left out.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Once the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFC</span><span class="Apple-converted-space"> </span>has been calculated, the problem of classifying the speaker still remains. Fortunately, the problem is now formulated in the well studied language of machine learning, and the relevant techniques can be applied. Much of our work, then, was in training and evaluating various predictive models, which we will now briefly introduce.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The first (and perhaps simplest) classification method is nearest neighbor search. This technique attempts to classify a vector according to the identity of the nearest point in n-dimensional space, where n here refers to the length of the mel cepstum vector. In the more general case, the k nearest neighbors are found, and classification is based on the plurality winner of the k points. The distance metric used to evaluate nearness of points is typically chosen to be in the class of Lp norms, given by<sup class="footnote" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><a href="http://www.eeweb.com/project/parker_evans/speaker-recognition#fn20079682564d75c1ce3a11e" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">9</a></sup></span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/lpnorm-8-1298918928.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:8" height="36" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-lpnorm-8-1298918928-386x36.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="386" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 8 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">where we recognize the L2-norm to be the traditional Euclidean distance. As a caveat when performing nearest-neighbor search, one must be careful to normalize each dimension to prevent large magnitude dimensions from overwhelming smaller magnitude ones. Thus, it is common to compute z-scores for each vector component based on the mean and variance for each dimension.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The second primary technique that we used for cepstrum classification is the artificial neural network. The study of neural networks is very large and we will not attempt to introduce it here. Since we wished to run the network in real time, we decided to use one of the simplest neural network variants – the perceptron network. Such a network computes hidden layers of nodes by computing sums of weighted inputs, and then generates an output prediction based on a similar sum of weighted outputs from the hidden nodes. Consider the following canonical node.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/neuralkey-9-1298918929.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:9" height="428" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-neuralkey-9-1298918929-500x429.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 9 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">For the perceptron network, the output y is computed as</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/nnetnode-10-1298918931.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:10" height="52" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-nnetnode-10-1298918931-285x52.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="285" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 10 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">where the x vector is the input, b is the offset bias, and the w vector represents input weights. The hyperbolic tangent, shown below, is used to “tame” outliers, which would otherwise lead to large outputs.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/tanh-11-1298918932.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:11" height="375" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-tanh-11-1298918932-500x375.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 11 </span></span></span></h4></div><h5 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">High Level Design</span></span></h5><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The algorithm which has just been presented is quite complicated, and has many “moving parts”. Thus it was expected from the outset that a significant portion of the computation would be done in C on the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>II core. However, it is desirable in terms of speed, and more fully utilizes the available hardware, to do processing in Verilog. Conveniently, we discovered that Altera had already writted a fully functional, parameterizable,<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span>hardware module. Also available in hardware was a module to control the audio codec, with which the authors were already quite familiar. Thus, in reference to the block diagram presented above, we decided that a natural separation of work would be to perform all steps up to and including the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>in hardware, and then to compute the remaining steps using the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>II processor.</span></span></div><h5 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Verilog Design</span></span></h5><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The first step in hardware was to capture and store a sequence of audio samples such that they could be passed to the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>controller. Capturing samples is a straightforward process which involves communicating with the audio codec. The codec controller was already provided to us and is available in the code listing. The codec registers discussed in the data sheet were configured to meet our particular application requirements, and are summarized below. The most notable changes from the typical setup are the reduced sampling rate of 32kHz (and the corresponding de-emphasis) and the microphone input instead of line input.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/table1-12-1298918933.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:12" height="163" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-table1-12-1298918933-500x163.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 12 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The next step was to store a block sequence of samples such that they could be passed to the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>controller. We tried several storage methods before settling on one that worked well. The simplest approach here would be to store the samples in registers. But at a sample width of 16 bits, a lengthy block begins to quickly use up logic elements, which is undesirable for a large design. In response to this, we next attempted to use off-chip<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">SRAM</span>. Although this method worked in principle, it became increasingly difficult to arbitrate reading and writing. In addition,<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">SRAM</span><span class="Apple-converted-space"> </span>suffers from the inconvenience of setting up write enable and address a cycle before performing data operations. The final approach we settled on, then, was to use dedicated on-chip storage elements via the two-port<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>megafunction. This method enjoys the benefits of both previous methods, without their shortcomings. Specifically, the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>megafunction handles arbitration, so that the designer can read and write at the same time, but does not use up valuable logic elements.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The next step in the block diagram is to perform windowing on the audio sample block. In our implementation, this step is actually performed as the audio block is being filled, and is thus not a separate step. The weight value applied to the incoming sample is provided by a<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">ROM</span><span class="Apple-converted-space"> </span>of precomputed values. The<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MATLAB</span><span class="Apple-converted-space"> </span>script to compute this<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">ROM</span><span class="Apple-converted-space"> </span>is provided in the code listing.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Once the windowed audio sample block has been obtained, we must now interface with the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>megafunction. The bulk of the hardware design is in this interface module. The<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>megafunction data sheet is listed in the references section and discusses the various possible parameterizations of the module. As one would expect, the megafunction allows you to specify the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>length, bit width, and whether it is a forward or inverse<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span>. Of particular interest, the megafunction also allows you to specify one of four implementations, which determine the extent to which you may provide streaming input samples. For example, the “Streaming” data flow architecture allows you to continuously provide input samples, whereas the “Block” architecture requires that you wait for the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>to complete and the output buffer to be clear before another transform can begin. Fortunately, the interface signals (which adhere to the Avalon ST specifications) remain virtually unchanged between the various architectures. Thus, we wrote the controller before having decided which implementation we would use.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The particulars of the controller design follow from the timing diagram provided in the data sheet, and are not terribly instructive to discuss. The interested reader may find the commented code in the code listing appendix. Suffice it to say that there are two state machines, one for the input samples and one for the output samples, which clock data into and out of the megafunction by asserting the Avalon signals as prescribed by the data sheet. A transform is initiated by filling a<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>with input samples and then signaling the controller to start. When the transform is complete, a done signal is raised and the output samples are available in a two port<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>similar to that used to store the input. As a convenience to the user, the three relevant clock rates (input sample<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>clock, controller state machine clock, and output sample<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>clock) may all be different. Achieving this goal was the source of many frustrations, but the result is pretty rad.</span></span></div><h5 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>II Design</span></span></h5><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>II that we used for our application was actually rather simple (though powerful). We employed the largest and most powerful<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">CPU</span><span class="Apple-converted-space"> </span>in order that our software classification algorithms would run as quickly as possible. In addition, we phase locked the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>to 100 MHz from the base clock of 50 MHz. When parameterizing the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">CPU</span>, we made sure that it had plenty of instruction and data cache (4KB of each) and we enabled hardware division. We also enabled the hardware floating point multiply and divide. We used a<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">JTAG</span><span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">UART</span><span class="Apple-converted-space"> </span>interface and<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LCD</span><span class="Apple-converted-space"> </span>for display during debugging, but they are not used for the final applications.<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">SDRAM</span><span class="Apple-converted-space"> </span>was used for storing the program because it is large enough to hold our code base. We were also not sure how much code we would be writing so we thought we would be safe and use the largest memory storage for program memory.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Communication between the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">CPU</span><span class="Apple-converted-space"> </span>and hardware is performed using only parallel I/O (<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span>) ports. The first set of<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span>s are for the interface with the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>controller. One bit is required to signal the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>Controller to begin sampling and applying the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>transform (this is a single line output<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>called<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFTS</span>tart). Another bit is driven by the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>controller and indicates that a transform is complete (this is a single line input<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>called<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFTD</span>one). In addition, we need a way to read the transform results from the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>in the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>controller (this<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>stores the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>power spectrum after a transform is complete). We accomplish this using two<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>busses. The first (<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFTA</span>ddr) is an output bus that specifies the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span><span class="Apple-converted-space"> </span>address to read. The address is a number between 0 and 511 (the first half of the 1024 point<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>result) and is thus 9 bits wide. The second (<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFTP</span>ower) is an input bus that returns the 16 bit value at the specified address in the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">RAM</span>. Finally, we have a<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span>input bus from the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>controller which returns the exponent associated with last<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span>. (The exponent is an output from the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>megafunction and indicates the overall gain necessary to apply to the tranform in order for it to be the proper magnitude.) The exponent was employed here to detect whether there was anything being spoken (or any noise) by detecting deviations from a silence value of the exponent. For our<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span>implementation it is 6 bits wide.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/UI-13-1298918934.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:13" height="356" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-UI-13-1298918934-500x356.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 13 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The DE2 user interface (UI) is outlined above. Board signals are communicated with the<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>via<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span>s (excluding reset, which is only used in hardware). Application Mode selection consists of two switches encoded as shown. This is accomplished using a 2 bit<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>bus input named AppSwitches. For nearest neighbor speaker identification we require two additional inputs. First, we need a signal that indicates whether the system is supposed to use the audio input for training or testing. The training/testing signal is implemented using a single line<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>input called Train (negated the signal for positive logic). Second, we need an input to specify the ID of the thing being trained. The ID is a 4 line<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>bus called VowelID. We arbitrarily decided to allow 4 different training “classes” (these could be speakers, vowels, etc). The bus is driven by 4 switches on the DE2 encoded as one-hot. That is, we assume only one switch is enabled at a time during training (to be safe, we also employ a priority encoding scheme in software). We chose 4 adjacent switches so that we could light the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span>s above each one when in identification mode. The final IO is for<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>feedback, and consists of a 4 bit<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>output bus (VowelLEDs) for the nearest neighbor identification. We only ever activated one of the bits on this bus to light one of the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span>s above the switches used for training. For the other application modes, we needed a nice way to indicate “accepted” or “not accepted.” For instance, to tell whether something spoken is a vowel or not, or whether the person speaking is the training target (in our case Parker). This was done using two<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>single bit output lines, one connected to a green<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>(cleverly named GreenLED) and one to a red<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>(RedLED). As one would expect, the green<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>indicates “accepted” and the red, “not accepted.”</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The final<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">SOPC</span><span class="Apple-converted-space"> </span>builder setup for the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>can be seen below.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/SOPC-14-1298918960.PNG" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:14" height="323" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-SOPC-14-1298918960-500x324.PNG" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 14 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Interfacing the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">SOPC</span><span class="Apple-converted-space"> </span>with hardware was straighforward and can be seen in the verilog code of DE2_TOP.v below. Essentially, we hooked the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>as described above, made a 100MHz<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PLL</span><span class="Apple-converted-space"> </span>line for the clock and hooked that up, hooked our reset button up to the active low reset, and hooked all the IO appropriately to our<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>controller. We also had to hook up the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">SDRAM</span><span class="Apple-converted-space"> </span>signals and make sure to phase delay the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">SDRAM</span><span class="Apple-converted-space"> </span>clock by 3ns as described in various documentation.</span></span></div><h5 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>II C Application</span></span></h5><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The code running on the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>II executes our algorithms on the raw<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>power spectrum data. The full commented code is presented in the code listing, but we will summarize it here. At the highest level, the code runs in an infinite loop. At the beginning of the loop, an<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>transform is initiated in hardware and the code waits for the signal that it is complete. The waiting is performed by spinning on the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFTD</span>one flag. Once the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span>is complete, we check the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>exponent to see if appreciable input was recorded on the Mic input line. This tells us whether someone is speaking (although one often has to speak up for it to register). We determined experimentally that the value of the exponent when subjected to silence is 62 (unsigned) and we check whether the unsigned exponent value is less than this to determine if we should continue to the analysis. If we decide that there is only silence on the line, we clear all<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>feedback that may be currently active (we don’t want feedback if there is silence on the line). If there is a deviation from the silence value, we continue with the body of the processing.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The first step is to load the power spectrum into memory and convert it to floating point (the conversion is not strictly necessary, but was convenient for our analysis since our algorithms were floating point algorithms and we were not too pressed for time). Since we included hardware floating point in our<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">CPU</span>, floating point operations are quick. We use the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>interface that we created to set up each address (0-511) and then read the value of the spectrum on the data line. We cast this to a short (since it is 16 bits) and then cast to a floating point number storing the result in a floating point array. At this point, we have the power spectrum of the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>(of something that is non-silence) in memory. Now we can proceed to process it.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">We begin our processing by shifting the spectrum to the Mel scale using a call to our “melshift” routine with the current power spectrum and several parameters including the length of the spectrum (512), the destination array to store the shifted spectrum, the number of frequencies to do (the first 12), and the sampling rate with which the samples were taken which were used as input to the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>(32KHz). The shifting is described in the theory section above and the details of how we accomplished this algorithmically can be seen in the code listing below.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">We next compute the discrete cosine transform of these spectral points to obtain the<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span>s using the “dct” funtion, passing a pointer to the Mel shifted power spectrum (the first 12 components anyway), a pointer to an array to store the results, and the number of cepstral coefficients to produce (again 12). As with the shifting, this is described in the theory section above and can be seen in detail in the code listing. The<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">DCT</span><span class="Apple-converted-space"> </span>computation is less efficient than other known methods but as we only need 12 points for our particular application, this was considered acceptable. At this point in the code, we have an array of 12 floating point<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span>s. We can now perform the selected application (based on the application mode switches).</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The first (0) application is<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">APP</span>_VOWEL_RECOGNITION. This is an application which tries to decide whether the current thing being input through the Mic is a spoken vowel. The first thing this does in the case statement is to clear any<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>feedback for another application. This application uses the green and red<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span>s for feedback as described in the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">NIOS</span><span class="Apple-converted-space"> </span>II Design section above. Thus we want to clear the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>feedback for the nearest neighbor application. We then call a function “vowelCheck” which determines if the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array respresents a vowel or not and provides the appropriate feedback. Then the program loops to the beginning again. The “vowelCheck” routine is actually rather obscure. We perform the vowel detection using a two layer feed forward neural network that we trained in Matlab using the Neural Network Toolbox’s nftool application. The resulting network has the form shown below.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/VowelNet-15-1298918962.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:15" height="533" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-VowelNet-15-1298918962-500x533.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 15 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">We took the input weights and layer weights from the Matlab structure as well as the input node biases and ouput bias. All of this is stored in memory and can be seen at the top of the program with appropriate commenting (“Neural net for vowels”). We also emulate the transfer function for each node which is a hyperbolic tangent. The routine for the hyperbolic tangent (tanh) is taken from the math.h standard library package. All the vowelCheck function actually does is evaluate the neural net for the input<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>vector and say yes or no based on an arbitrary cutoff that we specified (a value from the net greater than 0.4 means a vowel, otherwise not). The evaluation of the net is done by first normalizing the array of<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span>s to values in the range of [-1,1]. This is done using the data that we trained on and some helpful coefficients that we generated in matlab for this purpose. The reason this is done is because Matlab’s nftool automatically preprocesses training data to be in this range when it is training the network. Thus we needed to do this to have appropriate data for the net to classify. We then weight each input by the input weight and sum them together for each input neuron. Next, we add the bias and apply the transfer function (tanh) on the output of this function to obtain the output of the neurons. For the output of the network we apply the weights of each input neuron to its output and sum all of these together, then add the output bias and apply the transfer function. This is our network output. Then we just check if the output is above 0.4 and ouput a 1 for yes and a 0 for no. We then use this as logic values from the function and do the feedback as described previously.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The second (1) application is<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">APP</span>_VOWEL_IDENTIFICATION. This is a little misleading because it does not have to be vowels, it just seems to work best with them. This application uses three functions which were written to do 1-Nearest-Neighbor machine learning which is discussed in the background section above. The first of these functions is the “initdbase” function which clears all of the previously stored<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span>s and is called at the beginning of the program. Essentially this means we have to reset the system to clear the training samples. We could have chosed to do this a different way, such as when another application was run, but it was decided that this would be more overhead than it was worth. At the beginning of this application’s case statement we clear the red/green<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>feedback because we are going to use the 4 vowel identification<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span>s instead. We then look to see if the training button is being held (this is a<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">PIO</span><span class="Apple-converted-space"> </span>input which is high when the fourth button on the DE2 is being pressed). If it is, then we should use the current<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array for training the 1NN method. We then look to see what the highest numbered active training ID switch is. If none of them are up, we do nothing. Otherwise, we call the “addtrain” function with the number of the switch (3 for the highest, 0 for the lowest). The “addtrain” function essentially just adds the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array to a database with the associated label (specified by the ID switches) if there is room in the database (there is a maximum number of examples per ID). The function also stores some other values so that normalizing the coefficients and finding the closest “point” will be easier and quicker when we do classification. This code can be seen in full detail in the code listing below if the reader is interested to see exactly what values are calculated and stored during training. Finally, in this application, if the user is not pressing the training button, we try to classify the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array to one of the ID’s used in training. This is accomplished by calling the “nearestneighbor” function with the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array. This function does the grunt work of the algorithm. It first normalizes the coefficients by finding the mean, variance, and standard deviation of each coefficient seen so far and then normalizing with these values by taking the difference of each of the values from the mean and dividing by the standard deviation. Once the coefficients are normalized, we then find the normalized trained coefficient array with the lowest “Manhattan Distance” from the provided<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array. We then return the label on this<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array as the label to the provided example. The details of the implementation of the algorithm to find the trained<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array with minimum distance can be seen in the code listing below. This algorithm is called 1 Nearest Neighbor because it classifies a new example with the same label as its one nearest neighbor.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The third (2) application is<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">APP</span>_SPEAKER_VERIFICATION. This is our attempt at verifying a speaker. We used Parker as the speaker to be verified and trained a three layer feed forward neural network in Matlab in the same manner as the vowel recognition network (but with a slightly different tool – nntool instead of nftool). This network, shown below, has 5 input neurons, 4 inner neurons, and one output neuron.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/SpeakerNet-16-1298918979.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:16" height="403" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-SpeakerNet-16-1298918979-500x403.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 16 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">After testing with this network, we realized that it was not performing well and had to replace it. In order to improve our results, we decided to build a larger data set of speech samples. Jordan and I each spoke for 10-15 minutes generating hundreds of samples representing positive and negative examples of “Parker” speech. We then trained a simpler network but with more input nodes (20 input nodes) which has the same structure as the one for identifying vowels. We put the network into the code in place of the three layer network described above.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">We trained the network on only<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>arrays that pass the vowel recognition test. We noticed through our testing that vowels seem to work best for classification. Sounds like “sh” and plosives have rather undefined and noisy spectrums. After training the network, we put the weights, biases, and necessary constants into Matlab as before and made a function “classify” which evaluated the network. Additionally, the output was deemed to indicate a positive “Parker” verification when it was above 0.9. The code in the case statement for this application simply clears the nearest neighbor feedback as does the vowel recognition application and then calls this method on the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array, and then if it sees a 1, lights the green (verified)<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span>, and otherwise lights the red<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span>.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Finally, we added an application (3) which combines the one nearest neighbor approach and the neural network in order to get a better verification result. Essentially what it does is call the classify method on the current<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array. If the classification neural network says that it is Parker, we ask the nearestneighbor method whether the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>array’s nearest neighbor has an ID of zero. This means that this application is intended to be used as follows: train ID 0 as Parker and then ID 1, 2, and 3 with other people, then use the application as if it is the same as the verification application above. This application has the same<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">LED</span><span class="Apple-converted-space"> </span>feedback as the verification application and has the same training interface as the vowel identification application.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Additionally, we found it useful throughout debugging to have the program print out various values and arrays of coefficients so our code is littered with debugging code. This code however is encompassed in preprocessor directives and is only included for certain debugging levels defined at the top of our code. Thus for non-debugging versions, we set the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">DEBUG</span><span class="Apple-converted-space"> </span>define to 0, and none of this code is actually compiled in (and thus not executed).</span></span></div><h5 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Results</span></span></h5><h4 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Vowel Recognition</span></span></h4><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The results for the vowel recognition application mode are summarized in the table below. Each of the authors uttered the phonemes in the first column several times (or for a reasonable duration), and the classification results are given in the body columns.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/table2-17-1298919001.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:17" height="338" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-table2-17-1298919001-500x338.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 17 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The truth table is easily computed and is shown below. We can see that the false positive rate is kept very low, as was desired, while keeping the true positive to true negative ratio at a healthy 2:1.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/table3-18-1298919002.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:18" height="86" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-table3-18-1298919002-314x86.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="314" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 18 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The results can be seen in the two tables above. Basically, it was fairly successful on the consonants and vowels with which we trained the neural net and slightly less successful on those that we didn’t such as “uh.” Also, the vowel “ee” seemed to prove difficult for our vowel recognizer. Essentially, what we took away from this part of the project was a tool which helped us to find vowels. The vowel recognizer was very good at not saying a non-vowel was a vowel which meant we could rely on it to pass mostly vowels. Since we used this in other parts of the project to filter vowels out of speech, this was very good. We could then assume that most of the<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MFCC</span><span class="Apple-converted-space"> </span>arrays that were classified as vowels were in fact vowels and could be treated as such for further analysis.</span></span></div><h4 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Vowel Identification</span></span></h4><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The results for the vowel identification application mode are summarized in the misclassification matrix below. The nearest neighbor database was trained on only one of the authors voices (Jordan’s) but was tested on both authors. The results are nearly perfect for both authors.</span></span></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/table4-19-1298919003.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:19" height="129" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-table4-19-1298919003-318x129.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="318" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 19 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">This application was the most successful of all of our applications. The table above speaks for itself. We do not know for sure why it performs so well other than to say that there are probably very disctinct differences between vowels in terms of frequency spectrum analysis. The nearest neighbor algorithm was able to pick up on these differences with very few points of training data.</span></span></div><h4 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Speaker Verification</span></span></h4><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><a class="blog_thumb thumb_lightbox" href="http://s.eeweb.com/members/jessica_shoemaker/projects/2011/02/28/VerificationLift-20-1298919004.png" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:20" height="403" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-jessica_shoemaker-projects-2011-02-28-VerificationLift-20-1298919004-500x404.png" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" width="500" /></a></span></span><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Figure 20 </span></span></span></h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">The graph above shows a comparison between the false positive and true positive rate of the neural network speaker classification. Many of the results of the scheme can be extracted from this chart. The method proved promising, as the number of false positives was quite low in comparison with the number of true positives at any given level of cutoff for the classification (based on the value output from the verification neural network). As we said before, we used 0.9 as our cutoff, but this was a rather arbitrary choice. One good thing about this cutoff is that there is a fairly low false positive rate which is what we wanted. The technique was not perfect however and there were many false negatives. Throughout the verification development, we were committed to the idea that, in a recognition system, false positives are much worse than false negatives (although we can imagine in something like a phone banking system having to say the same pass phrase over and over again could be very annoying).</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">In an attempt to improve the false positive rate of our speaker verification system, we used a fourth application which combined the one nearest neighbor approach with the neural network for speaker verification (of Parker). The application is described above. The result of one of our runs with this system was a true positive rate of 34/143 samples of Parker speech or 24% and a false positive rate of 16/143 samples of Jordan’s speech or 11%.</span></span></div><h5 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Conclusions</span></span></h5><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">We experienced mixed success with our various experiments. On the one hand, the vowel tests appear to work very well, especially the vowel identification. This may be due to the small database of vowels being used, but we expect that if extended to encompase futher phonemes, the performance would not suffer terribly. On the other hand, the speaker identification/recognition experiments performed poorly in general. This might be casually attributed to the inherent difficulty of the task. After all, humans still occasionally make mistakes when faced with this task, and we are highly evolved to handle it. But this is a rather unsatisfactory conclusion. We may propose some more specific reasons. For instance, the speaker identification application is built on top of the vowel recognition application, and thus suffers from any problems of this base task. It is also possible that we are not using the appropriate number of cepstral coefficients, or that the filters do not cover the optimal region of the spectrum. These are experiments that could have been performed given more time. Finally, it is possible that the underlying<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">FFT</span><span class="Apple-converted-space"> </span>length and audio sampling rate are not conducive to capturing the best periods of speech. We did however experience what we would deem modest success in this persuit and also were able to make some interesting applications to perform related functions like vowel recognition and identification.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">Given more time, we would have liked to persue more of our suspicions about what was causing our poor performance. In addition, we would have liked to try more machine learning techniques. Specifically, Hidden Markov Models (<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">HMM</span>s) and Support Vector Machines (<span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">SVM</span>s) may have performed well on this problem. Also, dynamic neural networks with feedback and time delay would have been very interesting to work with. It seems that they are used in many related problems where time varying patterns are classified and it would have been fun to attempt an implementation in software or hardware for this particular application. If we could build a library of such techniques, it is also possible that the problem would have cracked when subjected to a medley of solutions. As a final note, we would have liked to implement our own version of neural network training instead of relying on<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; font-size: 13px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">MATLAB</span>s training (whose implementation specifics we are still unsure of).</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;">We feel that the project was a success in terms of the knowledge and experienced gained as well as some noteworthy results. While our results did not necessarily live up to our expectations at the outset of the project, we are happy with what we have accomplished. We are confident that were we to begin a speech processing project in the future, we would be much better prepared.</span></span></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, 'Liberation Sans', FreeSans, sans-serif; font-size: 13px; line-height: 19px;"><span style="font-size: xx-small;">ref: eeweb.com/project/parker_evans/speaker-recognition </span></span></span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-29967707539560648872011-03-08T11:15:00.000+05:002011-03-08T11:15:13.666+05:00What is OBD?<div dir="ltr" style="text-align: left;" trbidi="on"><span style="font-size: x-small;"><span class="caps" style="background-color: transparent; border-width: 0px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">By:</span> Vitaliy Maksimov</span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif; font-size: 13px; line-height: 19px; text-align: center;"></span></span><br />
<br />
<span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span><span class="Apple-converted-space"> </span>stands for “<b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">O</b>n-<b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">B</b>oard<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">D</b>iagnostics.” It is a computer-based system originally designed to reduce emissions by monitoring the performance of major engine components.<span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-family: 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif; font-size: 13px; line-height: 19px;"><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">A basic<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span><span class="Apple-converted-space"> </span>system consists of an<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">ECU</span></b><span class="Apple-converted-space"> </span>(Electronic Control Unit), which uses input from various<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">sensors</b><span class="Apple-converted-space"> </span>(e.g., oxygen sensors) to control the<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">actuators</b><span class="Apple-converted-space"> </span>(e.g., fuel injectors) to get the desired performance. The “Check Engine” light, also known as the<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">MIL</span></b>(Malfunction Indicator Light), provides an early warning of malfunctions to the vehicle owner. A modern vehicle can support hundreds of parameters, which can be accessed via the<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">DLC</span></b><span class="Apple-converted-space"> </span>(Diagnostic Link Connector) using a device called a<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">scan tool.</b></div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><a class="blog_thumb" href="http://s.eeweb.com/members/vitaliy_maksimov/blog/2011/02/26/obd_system_components-1298705913.jpg" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:1 Basic OBD System" height="331" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-vitaliy_maksimov-blog-2011-02-26-obd_system_components-1298705913-500x331.jpg" style="background-color: transparent; border: 1px solid rgb(204, 204, 204); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" title="Basic OBD System" width="500" /></a><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span style="background-color: transparent; border-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">Figure 1 </span><span class="Apple-converted-space"> </span>Basic<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span><span class="Apple-converted-space"> </span>System</h4></div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">There are two kinds of on-board diagnostic systems:<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-I</b><span class="Apple-converted-space"> </span>and<span class="Apple-converted-space"> </span><b style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-II.</b></div><h2 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 18px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; text-transform: uppercase; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 12px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-I</h2><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-I refers to the first generation<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span><span class="Apple-converted-space"> </span>systems which were developed throughout the 1980s. These early systems use proprietary connectors, hardware interfaces, and protocols. A mechanic who wanted to access diagnostic information typically had to buy a tool for every different vehicle make.<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-I scan tools that support multiple protocols are supplied with an array of different adapter cables.</div><h2 style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 18px; margin: 0px; outline-width: 0px; padding: 0px 0px 10px; text-transform: uppercase; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 12px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-II</h2><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">In the early 1990s, Society of Automotive Engineers (<span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">SAE</span>) and International Standardization Organization (<span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">ISO</span>) issued a set of standards which described the interchange of digital information between<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">ECU</span>s and a diagnostic scan tool. All<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-II compliant vehicles were required to use a standard diagnostic connector (<span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">SAE</span><span class="Apple-converted-space"> </span>J1962), and communicate via one of the standard<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-II communication protocols.</div><div style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span>-II was first introduced in model year (MY) 1994 vehicles, and became a requirement for all cars and light trucks starting with MY1996.</div><div class="blog_image_wrapper" style="background-color: transparent; border-width: 0px; font-size: 13px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; text-align: center; vertical-align: baseline;"><a class="blog_thumb" href="http://s.eeweb.com/members/vitaliy_maksimov/blog/2011/02/26/obd_timeline-1298706090.jpg" style="background-color: transparent; border-width: 0px; color: #3a7dbe; font-size: 13px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"><img alt="Figure:1 OBD Timeline" height="129" src="http://www.eeweb.com/images/sized/images/sized/remote/s-eeweb-com-members-vitaliy_maksimov-blog-2011-02-26-obd_timeline-1298706090-500x130.jpg" style="background-color: transparent; border: 1px solid rgb(28, 104, 180); font-size: 13px; margin: 0px 0px 5px; outline-width: 0px; padding: 5px; vertical-align: baseline;" title="OBD Timeline" width="500" /></a><br />
<h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"><span style="background-color: transparent; border-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">Figure 2 </span><span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; font-size: 12px; font-style: italic; font-weight: bold; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OBD</span><span class="Apple-converted-space"> </span>Timeline</h4><h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; vertical-align: baseline;"> </h4><h4 class="blog_image_title" style="background-color: transparent; border-width: 0px; color: #333333; font-size: 12px; font-weight: bold; line-height: 14px; margin: 0px 0px 3px; outline-width: 0px; padding: 0px 0px 10px; text-align: left; vertical-align: baseline;"><span style="font-weight: normal;"> ref: eeweb.com/blog/vitaliy_maksimov/what-is-obd</span> </h4></div></span></span></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-38456043333459822782011-03-08T10:34:00.000+05:002011-03-08T10:34:20.190+05:00Cash & Energy Savings Using Wireless Sensor Networks<div dir="ltr" style="text-align: left;" trbidi="on"><div style="font-family: Verdana,sans-serif;"><span style="font-size: x-small;">By: Jody Singleton</span><span class="Apple-style-span" style="border-collapse: separate; color: black; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="font-size: 13px; line-height: 19px; text-align: center;"><h1 style="background-color: transparent; border-width: 0px; color: black; font-size: 22px; font-weight: normal; line-height: 24px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;"></h1></span></span><span style="font-size: small;"><br />
<span class="Apple-style-span" style="border-collapse: separate; color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="line-height: 19px;"></span></span></span></div><div style="font-family: Verdana,sans-serif;"><span style="font-size: small;"><span class="Apple-style-span" style="border-collapse: separate; color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span class="Apple-style-span" style="line-height: 19px;"><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">Industries everywhere are finding ways to save not only on energy and its costs but through the use of wireless networks and in numerous other ways too.</div><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">According to Oak Ridge National Laboratories, through the use of wireless sensor networks, savings on energy for motors used in industrial processes could improve efficiency by 20%, resulting in significant cost savings. Wayne Manges said: “With electric motor-driven systems accounting for nearly one-fourth of all electricity consumption in the United States, the potential for savings is huge.”</div><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">The Department of Energy’s Industrial Technologies Program works with US industry to improve environmental performance and energy efficiency. The<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">ITP</span><span class="Apple-converted-space"> </span>is distributing 15 million to support R&D specifically to improve energy efficiency in industrial processes. Already a number of new wireless sensor products are being developed together with the Department of Energy.</div><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">Cost savings with wireless systems are recognized in multiple areas including materials and labor where the cost of running wire in plants ranges between $155 and $3,700 per foot. The typical payback for wired systems is 24 months and less than a quarter of that for a wireless equivalent, only six months. Add in the on-going energy savings and the return on investment decision is very clear.</div><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">In a large number of industries, companies are recasting their product lines to implement wireless technologies. “We can’t think of any segment of the industry that isn’t going to be impacted by this,” states Honeywell’s<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">CTO</span><span class="Apple-converted-space"> </span>Dan Shiflin.</div><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">Wireless sensor networks of all varieties are exploding into our world. There is a massive amount of research & development, from academia to start-ups, pushing to create proverbial “better-faster-cheaper” products. A growing number of products are based on an emerging specification “ZigBee”. A majority of utility companies that have settled on a standard have identified ZigBee as their preference due in main to its inherent security capabilities. Real-time data from wireless sensors networks will enable companies to achieve greater productivity and efficiency by continually improving their processes.</div><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">Named BP International’s first Director of Technology & Sensory Networks, for the oil company’s Technology Office, Ken Douglas said “You don’t ask people ‘How would you use ZigBee?’ Because they don’t know, but if you ask them: ‘How would you use information that you can now access for the first time?’ They have to think about it for a bit, but then the ideas just starting pouring out.”</div><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">In addition to the benefits of ZigBee’s security layers, the mesh network is highly reliable, flexible and can connect a variety of sensors simultaneously including protocols such as<span class="caps" style="background-color: transparent; border-width: 0px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">OPC</span>, Modbus and<span class="Apple-converted-space"> </span><span class="caps" style="background-color: transparent; border-width: 0px; margin: 0px; outline-width: 0px; padding: 0px; vertical-align: baseline;">HART</span>.</div><div style="background-color: transparent; border-width: 0px; margin: 0px 0px 20px; outline-width: 0px; padding: 0px; vertical-align: baseline;">Companies whose product objectives include reducing costs or waste, more reliable equipment management; improved physical asset control or greater situational awareness should investigate the variety of capabilities wireless sensor systems can provide. In addition to the potential savings in energy, there are likely many additional cash benefits to be found.</div></span></span></span><span style="font-size: x-small;">Ref: eeweb.com/blog/jody_singleton/cash-energy-savings-using-wireless-sensor-networks</span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-91025439884826621022011-03-04T00:05:00.000+05:002011-03-04T00:05:28.930+05:00Intel's Thunderbolt Technology in Action<div dir="ltr" style="text-align: left;" trbidi="on">Intel’s Jason Ziller shows has fast and how much data can be transferred by Intel’s Thunderbolt technology, previously referred to its codename Light Peak. The new high-speed PC connection technology that brings together high-speed data transfer and high-definition (HD) display on to a single cable. Running at 10Gbps, Thunderbolt technology can transfer a full-length HD movie in less than 30 seconds. This Intel-developed technology first hit the market through a technical collaboration with Apple, and is available first on Apple’s line of MacBook Pro laptop computers. Photos and more details intel.<br />
<span style="font-size: large;"><b><a href="http://www.youtube.com/watch?v=gk69pCcVSSQ">Video</a></b></span><br />
<br />
<span style="font-size: x-small;">ref: ovido.net/117404/intels-thunderbolt-technology-in-action</span><br />
<br />
<br />
</div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-10729490456811305932011-02-24T23:05:00.000+05:002011-02-24T23:05:09.628+05:00How To Check and Use Serial Ports Under Linux - (Serial port interfaceing in LINUX)<div dir="ltr" style="text-align: left;" trbidi="on"><h1 class="entry-title">How To Check and Use Serial Ports Under Linux</h1><div class="headline_meta">by <span class="author vcard fn">Vivek Gite</span><abbr class="published" title="2008-01-30"></abbr><span><a href="http://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/#comments" rel="nofollow"></a></span></div><div style="float: right; margin-left: 5px; margin-top: 0px;"><a href="http://www.cyberciti.biz/faq/category/linux/" title="See all GNU/Linux related FAQ"><img border="0" src="http://files.cyberciti.biz/cbzcache/3rdparty/linux-logo.png" /></a></div><span class="drop_cap">H</span>ow do I check and configure serial ports under Linux for various purposes such as modem, connecting null modems or connect a dumb terminal?<br />
<span id="more-935"></span><br />
Linux offers various tools. Linux uses ttySx for a serial port device name. For example, COM1 (DOS/Windows name) is ttyS0, COM2 is ttyS1 and so on.<br />
<h2>Task: Display Detected System's Serial Support</h2>Simple run dmesg command<br />
<code>$ dmesg | grep tty</code><br />
Output:<br />
<pre>[ 37.531286] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.531841] 00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 37.532138] 0000:04:00.3: ttyS1 at I/O 0x1020 (irq = 18) is a 16550A</pre><h3>setserial command</h3>setserial is a program designed to set and/or report the configuration information associated with a serial port. This information includes what I/O port and IRQ a particular serial port is using, and whether or not the break key should be interpreted as the Secure Attention Key, and so on. Just type the following command:<br />
<code>$ setserial -g /dev/ttyS[0123]</code><br />
Output:<br />
<pre>/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x1020, IRQ: 18
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3</pre>setserial with -g option help to find out what physical serial ports your Linux box has. <br />
<h2>Linux serial console programs</h2>Once serial ports identified you can configure Linux box using various utilities:<br />
<ol><li><strong><a href="http://www.cyberciti.biz/tips/connect-soekris-single-board-computer-using-minicom.html">minicom</a></strong>- The best friendly serial communication program for controlling modems and connecting to dump devices</li>
<li><strong><a href="http://www.cyberciti.biz/tips/linux-configure-modem-to-connect-to-the-internet-using-a-ppp-dialup-account.html">wvidial or other GUI dial</a> up networking program</strong> - a PPP dialer with built-in intelligence.</li>
<li><strong>getty / agetty</strong> - agetty opens a tty port, prompts for a login name and invokes the /bin/login command.</li>
<li><strong>grub / lilo configuration</strong> - To configure serial port as the system console</li>
</ol><br />
<span style="font-size: x-small;">Ref: cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial</span></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-34666738574913108092011-02-24T23:02:00.000+05:002011-02-24T23:02:14.299+05:00Telephone Switch For Phone Recorder Project<div dir="ltr" style="text-align: left;" trbidi="on"><div style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div style="font-family: "Trebuchet MS",sans-serif;"><b>Introduction To Phone Recorder</b> </div><div class="separator" style="clear: both; font-family: "Trebuchet MS",sans-serif; text-align: center;"><a href="http://www.electronics-project-design.com/images/phone.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="" border="0" height="151" src="http://www.electronics-project-design.com/images/phone.jpg" width="201" /></a></div><div style="font-family: "Trebuchet MS",sans-serif;">This <b>phone recorder</b> project will enable you to record both sides of your telephone conversations. One constructed, this switch will allows you to automatically turn on your tape recorder when you pick up the handset of your telephone. Note that your tape recorder must have both a MIC socket and a REMOTE socket on it so that this device can plug into the recorder and control it. This circuit is designed to work for the newer 1.5V and 3V tape recorders as well as the usual 6V or 12V ones. </div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div style="font-family: "Trebuchet MS",sans-serif;"><b>Phone Recorder Circuit Description</b> </div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div style="font-family: "Trebuchet MS",sans-serif;">The circuit falls into two parts and these can be easily seen in the diagram. On the left are the connections to each telephone line and to the MIC socket of the tape recorder. The diode and capacitors ensure that no DC voltages pass through to the input of the MIC while the RC network clips large transients. On the right is the circuit which detects when the handset has been lifted and which then turns on the FET. The trim pot adjusts the voltage level of this circuit. </div><div style="font-family: "Trebuchet MS",sans-serif;">The voltage of the normal telephone line is between 40 to 60 volts (depending on country and telephone system.) When you pick up the handset of the telephone the voltage falls to between 6 and 12 volts. It is this drop in voltage which is used to control the tape recorder through the REMOTE connector. When the line voltage is high the base of the BC548 is pulled high so the transistor is turned on. This pulls the gate of the FET down to less than 1 volt. This shuts off the FET. (N channel enhancement mode FET's need drain bias positive and a positive gate to turn on.) </div><div style="font-family: "Trebuchet MS",sans-serif;">When the line voltage falls (that is, the handset is picked up) the BC548 will turn off; adjust the trimpot if it does not. So the FET gate potential rises to the 10 volts set by the zener diode. This turns the FET on to high efficiency conduction mode. Different recorders may have different polarities in their REMOTE sockets. To allow for this a PCB mounted switch has to be added to the board which will reverse the polarity of the REMOTE switch just by switching it. </div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div style="font-family: "Trebuchet MS",sans-serif;">Once completed, place your tape recorder next to the phone. Plug in the 2 sockets (MIC & REMOTE) into the recorder. Put in a casette tape and push 'play'. If the device has been put together correctly either of two things will happen: the tape in the recorder will start to play or it will not. </div><div style="font-family: "Trebuchet MS",sans-serif;">1. If it does not play then pick up the phone handset. If the tape now starts to play then the device is working. Put the handset down, depress the play and record buttons and the tape will now record when the handset is raised. </div><div style="font-family: "Trebuchet MS",sans-serif;">2. If the tape plays then either of two things need adjustment: </div><div style="font-family: "Trebuchet MS",sans-serif;">a) move the position of the trimpot across its range of positions and see if this stops the playing. If it does then lift the handset to see if the playing starts. It should. The device is ready for use. </div><div style="font-family: "Trebuchet MS",sans-serif;">b) if adjustment of the trimpot does nothing then the REMOTE switch needs to be switched to the other position. Do this and repeat the steps as outlined above.The device should now work. </div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
<br />
<br />
</div><img alt="" border="0" height="253" src="http://www.electronics-project-design.com/images/PhoneRecorderSchematic1.gif" style="font-family: "Trebuchet MS",sans-serif;" width="531" /> <br />
<br />
<b style="font-family: "Trebuchet MS",sans-serif;">Phone Recorder Parts List</b> <br />
<br />
<div style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div style="font-family: "Trebuchet MS",sans-serif;"><img alt="" border="0" height="303" src="http://www.electronics-project-design.com/images/PhoneRecorderPartsList.gif" width="397" /></div><div style="font-family: "Trebuchet MS",sans-serif;"><span style="font-size: x-small;">ref: electronics-project-design.com/PhoneRecorder.html</span></div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com0tag:blogger.com,1999:blog-1864599878947786465.post-59953147910104492692011-02-22T01:09:00.000+05:002011-02-22T01:09:13.007+05:00Electronic Timer Switch<div dir="ltr" style="text-align: left;" trbidi="on"><div style="font-family: "Trebuchet MS",sans-serif;"><img alt="" border="0" height="210" src="http://www.electronics-project-design.com/images/kitchentimer.jpg" width="203" /></div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
<br />
</div><div style="font-family: "Trebuchet MS",sans-serif;"><span style="color: blue;">Electronic Timer Switch</span> </div><div style="font-family: "Trebuchet MS",sans-serif;">This electronic timer switch project is a good project to build to simulate the presence of occupants in a house. In these days when security is becoming more of a concern when no one is at home, having this device will deter the thief from breaking in. When power up, after 60 minutes, the relay will turn ON for 100 secs, OFF for the next 100 secs, and ON again for 100 secs before OFF again for the next 60 mins. This sequence will be repeated. A device such as a lamp that is connected to the relay will turn ON and OFF according to this timing. </div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
<br />
<span style="color: blue;">Schematic Diagram</span> <br />
<br />
</div><div style="font-family: "Trebuchet MS",sans-serif;">The schematic of the project is as shown below. </div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
<br />
<br />
</div><div style="font-family: "Trebuchet MS",sans-serif;"><img alt="" border="0" height="325" src="http://www.electronics-project-design.com/images/electronictimerswitchcircuit.gif" width="462" /></div><div style="font-family: "Trebuchet MS",sans-serif;">The core of this electronic timer switch project uses a CD4060B binary counter. The binary counter has 10 outputs and the counter are counted by configuring the oscillator. Every negative clock will trigger the counter of the IC internally. </div><div style="font-family: "Trebuchet MS",sans-serif;">The timing of the circuit is affected by resistor R3(1M ohm) and capacitor C2(0.1uF). By connecting the four outputs in an AND configuration, the transistor Q1 will only turn ON if all the 4 outputs are in logic "1". If any of the logic is "0", the transistor will remain OFF. </div><div style="font-family: "Trebuchet MS",sans-serif;">For a complete cycle, the transistor will be ON twice when the output at pin 15, QJ goes to logic "1" and "0" twice when the other outputs QL, QM and QN remain at "1". When this happen, the relay K1 will switch status accordingly. The timing of the switching can be changed by changing the resistor values R2, R3 and C2. Download the data sheet of CD4060B from <a href="http://focus.ti.com/lit/ds/symlink/cd4060b.pdf" onclick="window.open('/cgi-bin/counter.pl?url=http%3A%2F%2Ffocus%2Eti%2Ecom%2Flit%2Fds%2Fsymlink%2Fcd4060b%2Epdf&referrer=http%3A%2F%2Fwww%2Eelectronics-project-design%2Ecom%2Felectronictimerswitch%2Ehtml'); return false;">Texas Instrument</a> website for more details. </div><div style="font-family: "Trebuchet MS",sans-serif;">Note that since the oscillator is not using crystal, the timing may not be as accurate compared to the ideal calculation. In most cases, fine tuning the resistor and capacitor are good enough to make this project a success. To check whether the circuit is working, connect a LED in series with a 390 ohm resistor at output QD. It will flash ON and OFF as the oscillator oscillates. </div><div style="font-family: "Trebuchet MS",sans-serif;"><br />
<br />
<span style="color: blue;">Parts List</span> </div><div class="separator" style="clear: both; font-family: "Trebuchet MS",sans-serif; text-align: center;"><a href="http://www.electronics-project-design.com/images/electronictimerswitchpartslist.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" height="341" src="http://www.electronics-project-design.com/images/electronictimerswitchpartslist.gif" width="438" /></a></div><div style="font-family: "Trebuchet MS",sans-serif;"><span style="font-size: x-small;">ref: electronics-project-design.com/electronictimerswitch.html</span></div><div align="center" style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div align="center" style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div align="center" style="font-family: "Trebuchet MS",sans-serif;"><br />
</div><div align="center" style="font-family: "Trebuchet MS",sans-serif;"><br />
</div></div>Ali Nisarhttp://www.blogger.com/profile/18172915839138108375noreply@blogger.com2