<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://fweb.wallawalla.edu/class-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Codlor</id>
	<title>Class Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://fweb.wallawalla.edu/class-wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Codlor"/>
	<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php/Special:Contributions/Codlor"/>
	<updated>2026-06-07T18:26:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Power_Electronics&amp;diff=10483</id>
		<title>Power Electronics</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Power_Electronics&amp;diff=10483"/>
		<updated>2012-04-23T06:55:39Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* KiCAD Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[http://people.wallawalla.edu/~Rob.Frohne/ClassNotes/engr460index.htm Class Notes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00253868.pdf A Grid Tie Inverter Design]&lt;br /&gt;
*[http://www.edn.com/article/521396-Understand_and_reduce_dc_dc_switching_converter_ground_noise.php?cid=EDNToday_20120410 Reduce Ground Noise in DC to DC Converters]&lt;br /&gt;
*[http://www.ti.com/lit/an/snva168d/snva168d.pdf Design Guide for SEPIC Converters]&lt;br /&gt;
**[http://www.eetimes.com/design/power-management-design/4370598/Benefits-of-a-coupled-inductor-SEPIC-converter?pageNumber=0&amp;amp;Ecosystem=power-management-design Coupled Inductor Improves Efficiency and Control in SEPIC Converter]&lt;br /&gt;
*[http://www.how2power.com/newsletters/0911/articles/H2PToday_National_Wong&amp;amp;Man111809.pdf Current Mode Control using SEPIC Converter and Linear Current Regulator (80% Efficiency)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Reliability====&lt;br /&gt;
[http://www.pvmips.org/publications/017.pdf Grid Tie Inverter Reliability]  (Electrolytics and IGBTs have poor reliability.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feedback Analysis of Switched Mode Power Supplies===&lt;br /&gt;
====LTSpice Tutorials====&lt;br /&gt;
*[http://www.simonbramble.co.uk/lt_spice/ltspice_lt_spice.htm Nice Tutorials]&lt;br /&gt;
&lt;br /&gt;
====How to Use LTSpice with the supplied PSpice Models====&lt;br /&gt;
*[[http://denethor.wlu.ca/ltspice/#models A page showing how to import models]]&lt;br /&gt;
*[[http://www.electronicspoint.com/pspice-ltspice-switchercad-schematic-conversion-t28041.html Forum results that cued me in to the fact you can open PSpice .sch schematics in LTSpice.]]  (You need to select *.* (All Files) in the navigator window.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Class Project 2011===&lt;br /&gt;
*[http://mtjungle.com/pe/ 120 VAC LED Light Project]&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
*I thought this might be a helpful resource [http://www.ti.com/lit/an/slva057/slva057.pdf Buck SMPS Converter Page] ~Matthew&lt;br /&gt;
&lt;br /&gt;
==Class Contribution 2012==&lt;br /&gt;
*[[Matthew Blaire]]&lt;br /&gt;
&lt;br /&gt;
*[[Christopher Garrison Lau I]]&lt;br /&gt;
&lt;br /&gt;
==KiCAD Tutorials==&lt;br /&gt;
*The following links are to the best KiCAD Tutorials that I&#039;ve found. They&#039;re the only ones with voice narration. Unfortunately, the video&#039;s creator thought it would be better to use a synthesized voice. It can be quite tiresome. (Posted by Chris Lau 4/9/12)&lt;br /&gt;
**[http://www.youtube.com/watch?v=rkQ0nVX1q1k Tutorial 1]&lt;br /&gt;
**[http://www.youtube.com/watch?v=8HNMihqa844&amp;amp;feature=plcp&amp;amp;context=C46c7c99VDvjVQa1PpcFOo1yAmios_qLe59l30SDJc8OLz1rz8GQs%3D Tutorial 2]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*I enjoyed the Tutorials 1 and 2 that Chris put on the page it is very good at specifying the basics. (Matthew Blaire 4/10/12)&lt;br /&gt;
**I also Have found a helpful tutorial on creating components [http://www.youtube.com/watch?v=xOHGv8pQDSg&amp;amp;feature=relmfu Add Component Tutorial]&lt;br /&gt;
**All of the relating tutorials to this one are pretty decent as well, but most of the material is covered in the tutorials that Chris posted&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*KiCAD step by step tutorial (Posted by Trent Fleming 4/15/12)&lt;br /&gt;
**[http://www.kicadlib.org/Fichiers/KiCad_Tutorial.pdf Step by Step tutorial]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Video on how to install KiCad onto Windows and how to use KiCad  (Posted by Trent Fleming 4/17/12) &lt;br /&gt;
**[http://www.youtube.com/watch?v=xRXEc7pB0o0 Video]&lt;br /&gt;
&lt;br /&gt;
*A FAQ page on many different parts of of KiCAD.  From creating parts to schematic to PCB layout.  (Cody Lorenz.  Posted millions of years after the class ended.  Actually 4/22/2012)&lt;br /&gt;
**[http://en.wikibooks.org/wiki/Kicad/FAQ FAQ]&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Power_Electronics&amp;diff=10482</id>
		<title>Power Electronics</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Power_Electronics&amp;diff=10482"/>
		<updated>2012-04-23T06:55:14Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* KiCAD Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[http://people.wallawalla.edu/~Rob.Frohne/ClassNotes/engr460index.htm Class Notes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00253868.pdf A Grid Tie Inverter Design]&lt;br /&gt;
*[http://www.edn.com/article/521396-Understand_and_reduce_dc_dc_switching_converter_ground_noise.php?cid=EDNToday_20120410 Reduce Ground Noise in DC to DC Converters]&lt;br /&gt;
*[http://www.ti.com/lit/an/snva168d/snva168d.pdf Design Guide for SEPIC Converters]&lt;br /&gt;
**[http://www.eetimes.com/design/power-management-design/4370598/Benefits-of-a-coupled-inductor-SEPIC-converter?pageNumber=0&amp;amp;Ecosystem=power-management-design Coupled Inductor Improves Efficiency and Control in SEPIC Converter]&lt;br /&gt;
*[http://www.how2power.com/newsletters/0911/articles/H2PToday_National_Wong&amp;amp;Man111809.pdf Current Mode Control using SEPIC Converter and Linear Current Regulator (80% Efficiency)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Reliability====&lt;br /&gt;
[http://www.pvmips.org/publications/017.pdf Grid Tie Inverter Reliability]  (Electrolytics and IGBTs have poor reliability.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feedback Analysis of Switched Mode Power Supplies===&lt;br /&gt;
====LTSpice Tutorials====&lt;br /&gt;
*[http://www.simonbramble.co.uk/lt_spice/ltspice_lt_spice.htm Nice Tutorials]&lt;br /&gt;
&lt;br /&gt;
====How to Use LTSpice with the supplied PSpice Models====&lt;br /&gt;
*[[http://denethor.wlu.ca/ltspice/#models A page showing how to import models]]&lt;br /&gt;
*[[http://www.electronicspoint.com/pspice-ltspice-switchercad-schematic-conversion-t28041.html Forum results that cued me in to the fact you can open PSpice .sch schematics in LTSpice.]]  (You need to select *.* (All Files) in the navigator window.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Class Project 2011===&lt;br /&gt;
*[http://mtjungle.com/pe/ 120 VAC LED Light Project]&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
*I thought this might be a helpful resource [http://www.ti.com/lit/an/slva057/slva057.pdf Buck SMPS Converter Page] ~Matthew&lt;br /&gt;
&lt;br /&gt;
==Class Contribution 2012==&lt;br /&gt;
*[[Matthew Blaire]]&lt;br /&gt;
&lt;br /&gt;
*[[Christopher Garrison Lau I]]&lt;br /&gt;
&lt;br /&gt;
==KiCAD Tutorials==&lt;br /&gt;
*The following links are to the best KiCAD Tutorials that I&#039;ve found. They&#039;re the only ones with voice narration. Unfortunately, the video&#039;s creator thought it would be better to use a synthesized voice. It can be quite tiresome. (Posted by Chris Lau 4/9/12)&lt;br /&gt;
**[http://www.youtube.com/watch?v=rkQ0nVX1q1k Tutorial 1]&lt;br /&gt;
**[http://www.youtube.com/watch?v=8HNMihqa844&amp;amp;feature=plcp&amp;amp;context=C46c7c99VDvjVQa1PpcFOo1yAmios_qLe59l30SDJc8OLz1rz8GQs%3D Tutorial 2]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*I enjoyed the Tutorials 1 and 2 that Chris put on the page it is very good at specifying the basics. (Matthew Blaire 4/10/12)&lt;br /&gt;
**I also Have found a helpful tutorial on creating components [http://www.youtube.com/watch?v=xOHGv8pQDSg&amp;amp;feature=relmfu Add Component Tutorial]&lt;br /&gt;
**All of the relating tutorials to this one are pretty decent as well, but most of the material is covered in the tutorials that Chris posted&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*KiCAD step by step tutorial (Posted by Trent Fleming 4/15/12)&lt;br /&gt;
**[http://www.kicadlib.org/Fichiers/KiCad_Tutorial.pdf Step by Step tutorial]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Video on how to install KiCad onto Windows and how to use KiCad  (Posted by Trent Fleming 4/17/12) &lt;br /&gt;
**[http://www.youtube.com/watch?v=xRXEc7pB0o0 Video]&lt;br /&gt;
&lt;br /&gt;
*A FAQ page on many different parts of of KiCAD.  From creating parts to schematic to PCB layout.  (Cody Lorenz million years after the class ended.  Actually 4/22/2012)&lt;br /&gt;
**[http://en.wikibooks.org/wiki/Kicad/FAQ FAQ]&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Power_Electronics&amp;diff=10481</id>
		<title>Power Electronics</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Power_Electronics&amp;diff=10481"/>
		<updated>2012-04-23T06:53:33Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* KiCAD Tutorials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[http://people.wallawalla.edu/~Rob.Frohne/ClassNotes/engr460index.htm Class Notes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00253868.pdf A Grid Tie Inverter Design]&lt;br /&gt;
*[http://www.edn.com/article/521396-Understand_and_reduce_dc_dc_switching_converter_ground_noise.php?cid=EDNToday_20120410 Reduce Ground Noise in DC to DC Converters]&lt;br /&gt;
*[http://www.ti.com/lit/an/snva168d/snva168d.pdf Design Guide for SEPIC Converters]&lt;br /&gt;
**[http://www.eetimes.com/design/power-management-design/4370598/Benefits-of-a-coupled-inductor-SEPIC-converter?pageNumber=0&amp;amp;Ecosystem=power-management-design Coupled Inductor Improves Efficiency and Control in SEPIC Converter]&lt;br /&gt;
*[http://www.how2power.com/newsletters/0911/articles/H2PToday_National_Wong&amp;amp;Man111809.pdf Current Mode Control using SEPIC Converter and Linear Current Regulator (80% Efficiency)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Reliability====&lt;br /&gt;
[http://www.pvmips.org/publications/017.pdf Grid Tie Inverter Reliability]  (Electrolytics and IGBTs have poor reliability.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feedback Analysis of Switched Mode Power Supplies===&lt;br /&gt;
====LTSpice Tutorials====&lt;br /&gt;
*[http://www.simonbramble.co.uk/lt_spice/ltspice_lt_spice.htm Nice Tutorials]&lt;br /&gt;
&lt;br /&gt;
====How to Use LTSpice with the supplied PSpice Models====&lt;br /&gt;
*[[http://denethor.wlu.ca/ltspice/#models A page showing how to import models]]&lt;br /&gt;
*[[http://www.electronicspoint.com/pspice-ltspice-switchercad-schematic-conversion-t28041.html Forum results that cued me in to the fact you can open PSpice .sch schematics in LTSpice.]]  (You need to select *.* (All Files) in the navigator window.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Class Project 2011===&lt;br /&gt;
*[http://mtjungle.com/pe/ 120 VAC LED Light Project]&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
*I thought this might be a helpful resource [http://www.ti.com/lit/an/slva057/slva057.pdf Buck SMPS Converter Page] ~Matthew&lt;br /&gt;
&lt;br /&gt;
==Class Contribution 2012==&lt;br /&gt;
*[[Matthew Blaire]]&lt;br /&gt;
&lt;br /&gt;
*[[Christopher Garrison Lau I]]&lt;br /&gt;
&lt;br /&gt;
==KiCAD Tutorials==&lt;br /&gt;
*The following links are to the best KiCAD Tutorials that I&#039;ve found. They&#039;re the only ones with voice narration. Unfortunately, the video&#039;s creator thought it would be better to use a synthesized voice. It can be quite tiresome. (Posted by Chris Lau 4/9/12)&lt;br /&gt;
**[http://www.youtube.com/watch?v=rkQ0nVX1q1k Tutorial 1]&lt;br /&gt;
**[http://www.youtube.com/watch?v=8HNMihqa844&amp;amp;feature=plcp&amp;amp;context=C46c7c99VDvjVQa1PpcFOo1yAmios_qLe59l30SDJc8OLz1rz8GQs%3D Tutorial 2]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*I enjoyed the Tutorials 1 and 2 that Chris put on the page it is very good at specifying the basics. (Matthew Blaire 4/10/12)&lt;br /&gt;
**I also Have found a helpful tutorial on creating components [http://www.youtube.com/watch?v=xOHGv8pQDSg&amp;amp;feature=relmfu Add Component Tutorial]&lt;br /&gt;
**All of the relating tutorials to this one are pretty decent as well, but most of the material is covered in the tutorials that Chris posted&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*KiCAD step by step tutorial (Posted by Trent Fleming 4/15/12)&lt;br /&gt;
**[http://www.kicadlib.org/Fichiers/KiCad_Tutorial.pdf Step by Step tutorial]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Video on how to install KiCad onto Windows and how to use KiCad  (Posted by Trent Fleming 4/17/12) &lt;br /&gt;
**[http://www.youtube.com/watch?v=xRXEc7pB0o0 Video]&lt;br /&gt;
&lt;br /&gt;
**[http://en.wikibooks.org/wiki/Kicad/FAQ FAQ]&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Morse.m_This_is_the_one_from_mathworks&amp;diff=10356</id>
		<title>Morse.m This is the one from mathworks</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Morse.m_This_is_the_one_from_mathworks&amp;diff=10356"/>
		<updated>2011-12-01T19:56:53Z</updated>

		<summary type="html">&lt;p&gt;Codlor: Created page with &amp;#039;Matlab/Octave script used to convert text to morse code, and outputed as a wav file. &amp;#039;&amp;#039;&amp;#039; morse.m&amp;#039;&amp;#039;&amp;#039;  &amp;lt;pre&amp;gt; function morse(varargin)   % MORSE converts text to playable morse code…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Matlab/Octave script used to convert text to morse code, and outputed as a wav file.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
morse.m&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function morse(varargin)&lt;br /&gt;
 &lt;br /&gt;
% MORSE converts text to playable morse code in wav format&lt;br /&gt;
% &lt;br /&gt;
% SYNTAX&lt;br /&gt;
% morse(text)&lt;br /&gt;
% morse(text,file);&lt;br /&gt;
% &lt;br /&gt;
% Description:&lt;br /&gt;
% &lt;br /&gt;
%   If the wave file name is specified, then the funtion will output a wav&lt;br /&gt;
%   file with that file name.  If only text is specified, then the function&lt;br /&gt;
%   will only play the morse code wav file without saving it to a wav file.&lt;br /&gt;
%&lt;br /&gt;
% Examples:&lt;br /&gt;
% &lt;br /&gt;
%   morse(&#039;Hello&#039;);&lt;br /&gt;
%   morse(&#039;How are you doing my friend?&#039;,&#039;morsecode.wav&#039;);&lt;br /&gt;
%&lt;br /&gt;
%   Copyright 2005 Fahad Al Mahmood&lt;br /&gt;
%   Version: 1.0 $  $Date: 05-Jun-2005&lt;br /&gt;
 &lt;br /&gt;
text = varargin{1};&lt;br /&gt;
if nargin==2&lt;br /&gt;
    file = varargin{2};&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
Fs=11025;&lt;br /&gt;
load wav;&lt;br /&gt;
Dit = wav(1106:2121);&lt;br /&gt;
ssp = wav(2121:3133);&lt;br /&gt;
Dah = wav(3133:6176);&lt;br /&gt;
lsp = wav(6176:23022);&lt;br /&gt;
 &lt;br /&gt;
% Defining Characters &amp;amp; Numbers&lt;br /&gt;
A = [Dit;ssp;Dah];&lt;br /&gt;
B = [Dah;ssp;Dit;ssp;Dit;ssp;Dit];&lt;br /&gt;
C = [Dah;ssp;Dit;ssp;Dah;ssp;Dit];&lt;br /&gt;
D = [Dah;ssp;Dit;ssp;Dit];&lt;br /&gt;
E = [Dit];&lt;br /&gt;
F = [Dit;ssp;Dit;ssp;Dah;ssp;Dit];&lt;br /&gt;
G = [Dah;ssp;Dah;ssp;Dit];&lt;br /&gt;
H = [Dit;ssp;Dit;ssp;Dit;ssp;Dit];&lt;br /&gt;
I = [Dit;ssp;Dit];&lt;br /&gt;
J = [Dit;ssp;Dah;ssp;Dah;ssp;Dah];&lt;br /&gt;
K = [Dah;ssp;Dit;ssp;Dah];&lt;br /&gt;
L = [Dit;ssp;Dah;ssp;Dit;ssp;Dit];&lt;br /&gt;
M = [Dah;ssp;Dah];&lt;br /&gt;
N = [Dah;ssp;Dit];&lt;br /&gt;
O = [Dah;ssp;Dah;ssp;Dah];&lt;br /&gt;
P = [Dit;ssp;Dah;ssp;Dah;ssp;Dit];&lt;br /&gt;
Q = [Dah;ssp;Dah;ssp;Dit;ssp;Dah];&lt;br /&gt;
R = [Dit;ssp;Dah;ssp;Dit];&lt;br /&gt;
S = [Dit;ssp;Dit;ssp;Dit];&lt;br /&gt;
T = [Dah];&lt;br /&gt;
U = [Dit;ssp;Dit;ssp;Dah];&lt;br /&gt;
V = [Dit;ssp;Dit;ssp;Dit;ssp;Dah];&lt;br /&gt;
W = [Dit;ssp;Dah;ssp;Dah];&lt;br /&gt;
X = [Dah;ssp;Dit;ssp;Dit;ssp;Dah];&lt;br /&gt;
Y = [Dah;ssp;Dit;ssp;Dah;ssp;Dah];&lt;br /&gt;
Z = [Dah;ssp;Dah;ssp;Dit;ssp;Dit];&lt;br /&gt;
period = [Dit;ssp;Dah;ssp;Dit;ssp;Dah;ssp;Dit;ssp;Dah];&lt;br /&gt;
comma = [Dah;ssp;Dah;ssp;Dit;ssp;Dit;ssp;Dah;ssp;Dah];&lt;br /&gt;
question = [Dit;ssp;Dit;ssp;Dah;ssp;Dah;ssp;Dit;ssp;Dit];&lt;br /&gt;
slash_ = [Dah;ssp;Dit;ssp;Dit;ssp;Dah;ssp;Dit];&lt;br /&gt;
n1 = [Dit;ssp;Dah;ssp;Dah;ssp;Dah;ssp;Dah];&lt;br /&gt;
n2 = [Dit;ssp;Dit;ssp;Dah;ssp;Dah;ssp;Dah];&lt;br /&gt;
n3 = [Dit;ssp;Dit;ssp;Dit;ssp;Dah;ssp;Dah];&lt;br /&gt;
n4 = [Dit;ssp;Dit;ssp;Dit;ssp;Dit;ssp;Dah];&lt;br /&gt;
n5 = [Dit;ssp;Dit;ssp;Dit;ssp;Dit;ssp;Dit];&lt;br /&gt;
n6 = [Dah;ssp;Dit;ssp;Dit;ssp;Dit;ssp;Dit];&lt;br /&gt;
n7 = [Dah;ssp;Dah;ssp;Dit;ssp;Dit;ssp;Dit];&lt;br /&gt;
n8 = [Dah;ssp;Dah;ssp;Dah;ssp;Dit;ssp;Dit];&lt;br /&gt;
n9 = [Dah;ssp;Dah;ssp;Dah;ssp;Dah;ssp;Dit];&lt;br /&gt;
n0 = [Dah;ssp;Dah;ssp;Dah;ssp;Dah;ssp;Dah];&lt;br /&gt;
 &lt;br /&gt;
text = upper(text);&lt;br /&gt;
vars ={&#039;period&#039;,&#039;comma&#039;,&#039;question&#039;,&#039;slash_&#039;};&lt;br /&gt;
morsecode=[];&lt;br /&gt;
for i=1:length(text)&lt;br /&gt;
    if isvarname(text(i))&lt;br /&gt;
    morsecode = [morsecode;eval(text(i))];&lt;br /&gt;
    elseif ismember(text(i),&#039;.,?/&#039;)&lt;br /&gt;
        x = findstr(text(i),&#039;.,?/&#039;);&lt;br /&gt;
        morsecode = [morsecode;eval(vars{x})];&lt;br /&gt;
    elseif ~isempty(str2num(text(i)))&lt;br /&gt;
        morsecode = [morsecode;eval([&#039;n&#039; text(i)])];&lt;br /&gt;
    elseif text(i)==&#039; &#039;&lt;br /&gt;
        morsecode = [morsecode;ssp;ssp;ssp];&lt;br /&gt;
    end&lt;br /&gt;
    morsecode = [morsecode;lsp];&lt;br /&gt;
end&lt;br /&gt;
if exist(&#039;file&#039;,&#039;var&#039;)&lt;br /&gt;
    wavwrite(morsecode,11025,16,file);&lt;br /&gt;
else&lt;br /&gt;
    wavplay(morsecode);&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the license that comes with the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Copyright (c) 2009, Fahad Al Mahmood&lt;br /&gt;
All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Redistribution and use in source and binary forms, with or without&lt;br /&gt;
modification, are permitted provided that the following conditions are&lt;br /&gt;
met:&lt;br /&gt;
&lt;br /&gt;
    * Redistributions of source code must retain the above copyright&lt;br /&gt;
      notice, this list of conditions and the following disclaimer.&lt;br /&gt;
    * Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
      notice, this list of conditions and the following disclaimer in&lt;br /&gt;
      the documentation and/or other materials provided with the distribution&lt;br /&gt;
     &lt;br /&gt;
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &amp;quot;AS IS&amp;quot;&lt;br /&gt;
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE&lt;br /&gt;
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE&lt;br /&gt;
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR&lt;br /&gt;
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF&lt;br /&gt;
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS&lt;br /&gt;
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN&lt;br /&gt;
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)&lt;br /&gt;
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE&lt;br /&gt;
POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Signals_and_Systems&amp;diff=10355</id>
		<title>Signals and Systems</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Signals_and_Systems&amp;diff=10355"/>
		<updated>2011-12-01T19:53:10Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* Final Project (2011) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Topics ==&lt;br /&gt;
[[Fourier series - by Ray Betz|Overview of Signals and Systems]]&lt;br /&gt;
&lt;br /&gt;
===Individual Subjects===&lt;br /&gt;
*[[Linear Time Invariant System|Linear Time Invariant Systems]]&lt;br /&gt;
**[[The Game|&amp;quot;The Game&amp;quot;]]&lt;br /&gt;
*[[Orthogonal functions|Orthogonal Functions]]&lt;br /&gt;
*[[Energy in a signal|Finding the Energy in a Signal]]&lt;br /&gt;
**[[Rayleigh&#039;s Theorem]]&lt;br /&gt;
*[[Fourier series|Fourier Series]]&lt;br /&gt;
*[[Fourier transform|Fourier Transforms]]&lt;br /&gt;
**[[Discrete Fourier transform]]&lt;br /&gt;
*[[Sampling]]&lt;br /&gt;
*[[FIR Filter Example]]&lt;br /&gt;
*[[Relationship between e, sin and cos]]&lt;br /&gt;
&lt;br /&gt;
== Some Useful Links to Suppliment or Substitute for a Textbook ==&lt;br /&gt;
===Books on Signal Processing===&lt;br /&gt;
*[https://ccrma.stanford.edu/~jos/sasp/sasp.html Spectral Audio Signal Processing, by Julius O. Smith III]&lt;br /&gt;
*[http://www.dspguide.com/ The Scientist and Engineer&#039;s Guide to Digital Signal Processing by Steven W. Smith, Ph.D.]  The professor likes this one.&lt;br /&gt;
&lt;br /&gt;
===Fourier Series===&lt;br /&gt;
*[http://www.intmath.com/Fourier-series/Fourier-intro.php Interactive Mathematics (like a textbook with some examples)]&lt;br /&gt;
*[http://mathworld.wolfram.com/FourierSeries.html Mathworld]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Fourier_series Wikipedia]&lt;br /&gt;
*[http://web.mit.edu/2.14/www/Handouts/FreqDom.pdf MIT handout on Fourier Series, Fourier Transform, and Laplace Transform]&lt;br /&gt;
*[http://www.maths.mq.edu.au/~bon/Fourier%20Theory.pdf Fourier Theory B..M..N.. Clarke]&lt;br /&gt;
&lt;br /&gt;
===Dirac Delta Function and Convolution===&lt;br /&gt;
*[http://web.mit.edu/2.14/www/Handouts/Convolution.pdf MIT handout on Dirac Delta Function and Convolution]&lt;br /&gt;
&lt;br /&gt;
===Multi-rate Filtering===&lt;br /&gt;
&lt;br /&gt;
[http://www.google.com/url?url=http://www.mds.com/tech/filter/multirate_article.pdf&amp;amp;rct=j&amp;amp;sa=U&amp;amp;ei=pD_UTJqtKY6ksQPbzPWMCw&amp;amp;ved=0CBUQFjAA&amp;amp;q=Purcell+Multirate+Filters&amp;amp;usg=AFQjCNFsHM7ROpUdrQ6py9ZH_RhQ_BeigA Multirate Filters Introduction]&lt;br /&gt;
&lt;br /&gt;
[http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521_files/IV-05%20Polyphase%20FIlters_2007.pdf Slides from a Presentation on Polyphase Decimation and Interpolation by Mark Fowler]&lt;br /&gt;
&lt;br /&gt;
===FIR Filters===&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/fir This is a very easy-to-understand summary of FIR basics, properties, design, and implementation]&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/multirate/decimation Another easy-to-understand article about decimation]&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/multirate/interpolation Another easy-to-understand article about interpolation]&lt;br /&gt;
&lt;br /&gt;
===Adaptive FIR Filters===&lt;br /&gt;
[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.6386&amp;amp;rep=rep1&amp;amp;type=pdf Introduction to Adaptive Filters, Simon Haykin]&lt;br /&gt;
&lt;br /&gt;
[http://saba.kntu.ac.ir/eecd/taghirad/E%20books/TOC/Adaptive%20Filters.pdf Simon Haykin&#039;s book chapter]&lt;br /&gt;
&lt;br /&gt;
[http://www.latticesemi.com/documents/doc22982x20.pdf?jsessionid=f0308ccf0f735471e49a6054323c5c177969 Adaptive LMS it an FPGA]&lt;br /&gt;
&lt;br /&gt;
====Constant Modulus Algorythm====&lt;br /&gt;
[http://ens.ewi.tudelft.nl/Education/courses/et4147/sheets/cma_leus.pdf Using the CMA on antenna arrays]&lt;br /&gt;
&lt;br /&gt;
===Course Pages===&lt;br /&gt;
[[2005-2006 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2006-2007 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2008-2009 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2009-2010 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[http://people.wallawalla.edu/~Rob.Frohne/ClassNotes/engr455index.htm Class notes for Signals &amp;amp; Systems]&lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
&lt;br /&gt;
===Octave Tutorials===&lt;br /&gt;
[[Installing Octave on a Mac]] (Chris Lau)&lt;br /&gt;
&lt;br /&gt;
[[Octave and Scilab on a Mac]] (Ben Henry)&lt;br /&gt;
&lt;br /&gt;
[[ASN2 - Octave Tutorial]] (Jodi S. Hodge)&lt;br /&gt;
&lt;br /&gt;
[[A u(t) function example]]&lt;br /&gt;
&lt;br /&gt;
[[FIR Filter Example Code for Octave]]&lt;br /&gt;
&lt;br /&gt;
[[Leakage Example Octave Script]]&lt;br /&gt;
&lt;br /&gt;
[[Interpolation using the DFT Example Script]]&lt;br /&gt;
&lt;br /&gt;
[[Tuner Upper Removal Demonstration]]&lt;br /&gt;
&lt;br /&gt;
[[Airplane Noise Removal Demonstration]]&lt;br /&gt;
&lt;br /&gt;
===Final Project (2011)===&lt;br /&gt;
[[Matlab/Octave deMorse.m]]&lt;br /&gt;
&lt;br /&gt;
[[morse.m  This is the one from mathworks]]&lt;br /&gt;
&lt;br /&gt;
===[[Table of Fourier Transform Properties]]===&lt;br /&gt;
&lt;br /&gt;
==Homework Assignments==&lt;br /&gt;
Please put your name next to the assignment, linking it to your submission&lt;br /&gt;
* HW #1 - Make a personal page on this wiki ([[Christopher Garrison Lau I|Chris Lau]])([[Jodi S. Hodge]])([[user:chris.wills|Chris Wills]])[[Shepherd,Victor|(Victor Shepherd)]]&lt;br /&gt;
* HW #2 - Write a tutorial about installing and/or using Octave ([[Installing Octave on a Mac|Chris Lau]])([[Jodi S. Hodge]])([[Octave|Victor Shepherd]])&lt;br /&gt;
* HW #3 - Show graphically that &amp;lt;math&amp;gt; \int_{-\infty}^{\infty} e^{j2\pi f(t-u)}\, df = \delta (t-u)&amp;lt;/math&amp;gt; ([[HW 3|Chris Lau]])([[Jodi S. Hodge]])([[user:chris.wills/HW3|Chris Wills]])([[Hw3|Victor Shepherd)]]&lt;br /&gt;
&lt;br /&gt;
* HW #4 - Given a linear time-invariant system where &amp;lt;math&amp;gt;\ u(t) &amp;lt;/math&amp;gt; produces an output &amp;lt;math&amp;gt;\ w(t) &amp;lt;/math&amp;gt;, find the output due to any function &amp;lt;math&amp;gt;\ x(t) &amp;lt;/math&amp;gt; ([[HW 4|Chris Lau]])&lt;br /&gt;
* HW #5: ([[HW 5|Chris Lau]])&lt;br /&gt;
** Part 1 -  Find &amp;lt;math&amp;gt; \mathcal{F}[e^{- \sigma t} x(t)u(t)] &amp;lt;/math&amp;gt; and relate it to the Laplace Transform. Derive the Inverse Laplace Transform of this from the inverse Fourier Transform.&lt;br /&gt;
** Part 2 - [[Image:20101006KeyDSCN3161.jpg|thumb|300px|center]]&lt;br /&gt;
&lt;br /&gt;
* HW #6 - Pick a property of the Fourier Transform &amp;amp; present it on the Wiki. Make a table with all your properties. Interpret your property. ([[HW 6|Ben Henry]])([[Table of Fourier Transform Properties|Chris Lau]])([[Table of Fourier Transform Properties|Victor Shepherd]])&lt;br /&gt;
* HW #7 - Finish the practice tests&lt;br /&gt;
* HW #8 - Make a page about interpolating FIR filters. Note how many multiply/add operations.([[Jodi S. Hodge]])([[Interpolating FIR filters|Chris Lau]])([[Hw8|Victor Shepherd]])&lt;br /&gt;
* HW #9 - Add to #8 writeup how to do a decimating filter and figure out how many multiply &amp;amp; adds are needed for a n/2 decimating low pass filter.([[Jodi S. Hodge]])([[Decimating FIR filters|Chris Lau]])([[Hw9|Victor Shepherd)]]&lt;br /&gt;
* HW #10 - Use Octave (or Mathlab or Silab) to plot the frequency response of low pass filters with cut off frequencies of 1/32T, 1/8T, and 1/4T and compare how many coeffficients are needed with an eye to answer the question &amp;quot;Is it less calculation to decimate and then filter, or better to put the filter in the pre-decimation filter?&amp;quot; ([[Jodi S. Hodge]])([[Hw10|Victor Shepherd)]]&lt;br /&gt;
* HW #11 - Is our method the same as Mark Fowler&#039;s? See &lt;br /&gt;
[http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521_files/IV-05%20Polyphase%20FIlters_2007.pdf Wiki]. Same # multiply and adds? See Notes 11/3/10. ([[Jodi S. Hodge]])([[Hw11|Victor Shepherd)]]&lt;br /&gt;
* HW #12 - Experiment with a variety of signals having a 3Khz bandwidth to determine the resolution you can get when doing a cross correlation &amp;lt;math&amp;gt; \ r(m) =&lt;br /&gt;
&lt;br /&gt;
\displaystyle\sum\limits_{n=0}^{N-1} x(n) x(n+m) &amp;lt;/math&amp;gt;. You can generate the signals randomly and filter them to obtain the band-limited signals.  ([[Jodi S. Hodge]])&lt;br /&gt;
* HW #13 - Derive the following realtions:&lt;br /&gt;
**a)      &amp;lt;math&amp;gt;DFT(x(k-l))\!&amp;lt;/math&amp;gt;&lt;br /&gt;
**b)      &amp;lt;math&amp;gt; DFT(e^{j2 \pi lk/N}x(k)\!&amp;lt;/math&amp;gt;&lt;br /&gt;
**c)      &amp;lt;math&amp;gt;\sum\limits_{k=0}^{N-1} x(k)y(k)^{*}=c\sum\limits_{k=0}^{N-1} X(n)Y(n)^{*}&amp;lt;/math&amp;gt;  ([[Hw13|Victor Shepherd)]]&lt;br /&gt;
&lt;br /&gt;
* HW #14 - Come up with a use for an adaptiveFIR filter and make an Octave script to demonstrate it.  ([[Jodi S. Hodge]])([[Hw14|Victor Shepherd)]]&lt;br /&gt;
* HW #15 - Do Practice Exam II ([[Hw15|Victor Shepherd)]]&lt;br /&gt;
* [[CW-Robot Octave Simulation]]&lt;br /&gt;
&lt;br /&gt;
==People Involved with this Wiki==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2010-2011 Contributors===&lt;br /&gt;
[[Ben Henry|Ben Henry]]&lt;br /&gt;
&lt;br /&gt;
[[Christopher Garrison Lau I]]&lt;br /&gt;
&lt;br /&gt;
[[user:chris.wills|Chris Wills]]&lt;br /&gt;
&lt;br /&gt;
[[Jodi S. Hodge]]&lt;br /&gt;
&lt;br /&gt;
[[Luke Chilson]]&lt;br /&gt;
&lt;br /&gt;
[[Shepherd,Victor|Victor Shepherd]]&lt;br /&gt;
&lt;br /&gt;
===2009-2010 Contributors===&lt;br /&gt;
[[Nick Christman]]&lt;br /&gt;
&lt;br /&gt;
[[Joshua Sarris]]&lt;br /&gt;
&lt;br /&gt;
[[Kevin Starkey]]&lt;br /&gt;
&lt;br /&gt;
[[Max Woesner]]&lt;br /&gt;
&lt;br /&gt;
[[Jodi Hodge]]&lt;br /&gt;
&lt;br /&gt;
[[Corneliu Turturica]]&lt;br /&gt;
&lt;br /&gt;
===2008-2009 Contributors===&lt;br /&gt;
[[User:eric.clay|Eric Clay]]&lt;br /&gt;
&lt;br /&gt;
[[User:tsung-lin.yang|Chuck Yang]]&lt;br /&gt;
&lt;br /&gt;
[[User:elton.zebron|Elton Zebron]]&lt;br /&gt;
&lt;br /&gt;
[[User:Luke.chilson|Luke Chilson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Brandon.price|Brandon Price]]&lt;br /&gt;
&lt;br /&gt;
[[User:Fonggr|Greg Fong]]&lt;br /&gt;
&lt;br /&gt;
===2007-2008 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:baldwin.britton|Baldwin Britton]]&lt;br /&gt;
&lt;br /&gt;
[[User:Harrde|Denver Harris]]&lt;br /&gt;
&lt;br /&gt;
[[User:Pridma|Mark Priddy]]&lt;br /&gt;
&lt;br /&gt;
[[User:ChrisRas|Chris Rasmussen]]&lt;br /&gt;
&lt;br /&gt;
[[User:RothMi|Michael Roth]]&lt;br /&gt;
&lt;br /&gt;
[[User:Rothsa|Sally Roth]]&lt;br /&gt;
&lt;br /&gt;
===2006-2007 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:Smitry|Ryan J Smith]]&lt;br /&gt;
&lt;br /&gt;
[[User:Nathan|Nathan Ferch]]&lt;br /&gt;
&lt;br /&gt;
[[User:Andrew|Andrew Lopez]]&lt;br /&gt;
&lt;br /&gt;
[[User:Sherna|Nathan Sherman]]&lt;br /&gt;
&lt;br /&gt;
[[User:Adkich|Chris Adkins]]&lt;br /&gt;
&lt;br /&gt;
===2005-2006 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:GabrielaV|Gabriela Valdivia]]&lt;br /&gt;
&lt;br /&gt;
[[User:SDiver|Raymond Betz]]&lt;br /&gt;
&lt;br /&gt;
[[User:chrijen|Jenni Christensen]]&lt;br /&gt;
&lt;br /&gt;
[[User:wonoje|Jeffrey Wonoprabowo]]&lt;br /&gt;
&lt;br /&gt;
[[User:wilspa|Paul Wilson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Frohro|Instructor: Rob Frohne]]&lt;br /&gt;
&lt;br /&gt;
===2004-2005 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:Barnsa|Sam Barnes]]&lt;br /&gt;
&lt;br /&gt;
[[User:Santsh|Shawn Santana]]&lt;br /&gt;
&lt;br /&gt;
[[User:Goeari|Aric Goe]]&lt;br /&gt;
&lt;br /&gt;
[[User:Caswto|Todd Caswell]]&lt;br /&gt;
&lt;br /&gt;
[[User:Andeda|David Anderson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Guenan|Anthony Guenterberg]]&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Signals_and_Systems&amp;diff=10354</id>
		<title>Signals and Systems</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Signals_and_Systems&amp;diff=10354"/>
		<updated>2011-12-01T19:52:52Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* Final Project (2011) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Topics ==&lt;br /&gt;
[[Fourier series - by Ray Betz|Overview of Signals and Systems]]&lt;br /&gt;
&lt;br /&gt;
===Individual Subjects===&lt;br /&gt;
*[[Linear Time Invariant System|Linear Time Invariant Systems]]&lt;br /&gt;
**[[The Game|&amp;quot;The Game&amp;quot;]]&lt;br /&gt;
*[[Orthogonal functions|Orthogonal Functions]]&lt;br /&gt;
*[[Energy in a signal|Finding the Energy in a Signal]]&lt;br /&gt;
**[[Rayleigh&#039;s Theorem]]&lt;br /&gt;
*[[Fourier series|Fourier Series]]&lt;br /&gt;
*[[Fourier transform|Fourier Transforms]]&lt;br /&gt;
**[[Discrete Fourier transform]]&lt;br /&gt;
*[[Sampling]]&lt;br /&gt;
*[[FIR Filter Example]]&lt;br /&gt;
*[[Relationship between e, sin and cos]]&lt;br /&gt;
&lt;br /&gt;
== Some Useful Links to Suppliment or Substitute for a Textbook ==&lt;br /&gt;
===Books on Signal Processing===&lt;br /&gt;
*[https://ccrma.stanford.edu/~jos/sasp/sasp.html Spectral Audio Signal Processing, by Julius O. Smith III]&lt;br /&gt;
*[http://www.dspguide.com/ The Scientist and Engineer&#039;s Guide to Digital Signal Processing by Steven W. Smith, Ph.D.]  The professor likes this one.&lt;br /&gt;
&lt;br /&gt;
===Fourier Series===&lt;br /&gt;
*[http://www.intmath.com/Fourier-series/Fourier-intro.php Interactive Mathematics (like a textbook with some examples)]&lt;br /&gt;
*[http://mathworld.wolfram.com/FourierSeries.html Mathworld]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Fourier_series Wikipedia]&lt;br /&gt;
*[http://web.mit.edu/2.14/www/Handouts/FreqDom.pdf MIT handout on Fourier Series, Fourier Transform, and Laplace Transform]&lt;br /&gt;
*[http://www.maths.mq.edu.au/~bon/Fourier%20Theory.pdf Fourier Theory B..M..N.. Clarke]&lt;br /&gt;
&lt;br /&gt;
===Dirac Delta Function and Convolution===&lt;br /&gt;
*[http://web.mit.edu/2.14/www/Handouts/Convolution.pdf MIT handout on Dirac Delta Function and Convolution]&lt;br /&gt;
&lt;br /&gt;
===Multi-rate Filtering===&lt;br /&gt;
&lt;br /&gt;
[http://www.google.com/url?url=http://www.mds.com/tech/filter/multirate_article.pdf&amp;amp;rct=j&amp;amp;sa=U&amp;amp;ei=pD_UTJqtKY6ksQPbzPWMCw&amp;amp;ved=0CBUQFjAA&amp;amp;q=Purcell+Multirate+Filters&amp;amp;usg=AFQjCNFsHM7ROpUdrQ6py9ZH_RhQ_BeigA Multirate Filters Introduction]&lt;br /&gt;
&lt;br /&gt;
[http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521_files/IV-05%20Polyphase%20FIlters_2007.pdf Slides from a Presentation on Polyphase Decimation and Interpolation by Mark Fowler]&lt;br /&gt;
&lt;br /&gt;
===FIR Filters===&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/fir This is a very easy-to-understand summary of FIR basics, properties, design, and implementation]&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/multirate/decimation Another easy-to-understand article about decimation]&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/multirate/interpolation Another easy-to-understand article about interpolation]&lt;br /&gt;
&lt;br /&gt;
===Adaptive FIR Filters===&lt;br /&gt;
[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.6386&amp;amp;rep=rep1&amp;amp;type=pdf Introduction to Adaptive Filters, Simon Haykin]&lt;br /&gt;
&lt;br /&gt;
[http://saba.kntu.ac.ir/eecd/taghirad/E%20books/TOC/Adaptive%20Filters.pdf Simon Haykin&#039;s book chapter]&lt;br /&gt;
&lt;br /&gt;
[http://www.latticesemi.com/documents/doc22982x20.pdf?jsessionid=f0308ccf0f735471e49a6054323c5c177969 Adaptive LMS it an FPGA]&lt;br /&gt;
&lt;br /&gt;
====Constant Modulus Algorythm====&lt;br /&gt;
[http://ens.ewi.tudelft.nl/Education/courses/et4147/sheets/cma_leus.pdf Using the CMA on antenna arrays]&lt;br /&gt;
&lt;br /&gt;
===Course Pages===&lt;br /&gt;
[[2005-2006 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2006-2007 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2008-2009 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2009-2010 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[http://people.wallawalla.edu/~Rob.Frohne/ClassNotes/engr455index.htm Class notes for Signals &amp;amp; Systems]&lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
&lt;br /&gt;
===Octave Tutorials===&lt;br /&gt;
[[Installing Octave on a Mac]] (Chris Lau)&lt;br /&gt;
&lt;br /&gt;
[[Octave and Scilab on a Mac]] (Ben Henry)&lt;br /&gt;
&lt;br /&gt;
[[ASN2 - Octave Tutorial]] (Jodi S. Hodge)&lt;br /&gt;
&lt;br /&gt;
[[A u(t) function example]]&lt;br /&gt;
&lt;br /&gt;
[[FIR Filter Example Code for Octave]]&lt;br /&gt;
&lt;br /&gt;
[[Leakage Example Octave Script]]&lt;br /&gt;
&lt;br /&gt;
[[Interpolation using the DFT Example Script]]&lt;br /&gt;
&lt;br /&gt;
[[Tuner Upper Removal Demonstration]]&lt;br /&gt;
&lt;br /&gt;
[[Airplane Noise Removal Demonstration]]&lt;br /&gt;
&lt;br /&gt;
===Final Project (2011)===&lt;br /&gt;
[[Matlab/Octave deMorse.m]]&lt;br /&gt;
[[morse.m  This is the one from mathworks]]&lt;br /&gt;
&lt;br /&gt;
===[[Table of Fourier Transform Properties]]===&lt;br /&gt;
&lt;br /&gt;
==Homework Assignments==&lt;br /&gt;
Please put your name next to the assignment, linking it to your submission&lt;br /&gt;
* HW #1 - Make a personal page on this wiki ([[Christopher Garrison Lau I|Chris Lau]])([[Jodi S. Hodge]])([[user:chris.wills|Chris Wills]])[[Shepherd,Victor|(Victor Shepherd)]]&lt;br /&gt;
* HW #2 - Write a tutorial about installing and/or using Octave ([[Installing Octave on a Mac|Chris Lau]])([[Jodi S. Hodge]])([[Octave|Victor Shepherd]])&lt;br /&gt;
* HW #3 - Show graphically that &amp;lt;math&amp;gt; \int_{-\infty}^{\infty} e^{j2\pi f(t-u)}\, df = \delta (t-u)&amp;lt;/math&amp;gt; ([[HW 3|Chris Lau]])([[Jodi S. Hodge]])([[user:chris.wills/HW3|Chris Wills]])([[Hw3|Victor Shepherd)]]&lt;br /&gt;
&lt;br /&gt;
* HW #4 - Given a linear time-invariant system where &amp;lt;math&amp;gt;\ u(t) &amp;lt;/math&amp;gt; produces an output &amp;lt;math&amp;gt;\ w(t) &amp;lt;/math&amp;gt;, find the output due to any function &amp;lt;math&amp;gt;\ x(t) &amp;lt;/math&amp;gt; ([[HW 4|Chris Lau]])&lt;br /&gt;
* HW #5: ([[HW 5|Chris Lau]])&lt;br /&gt;
** Part 1 -  Find &amp;lt;math&amp;gt; \mathcal{F}[e^{- \sigma t} x(t)u(t)] &amp;lt;/math&amp;gt; and relate it to the Laplace Transform. Derive the Inverse Laplace Transform of this from the inverse Fourier Transform.&lt;br /&gt;
** Part 2 - [[Image:20101006KeyDSCN3161.jpg|thumb|300px|center]]&lt;br /&gt;
&lt;br /&gt;
* HW #6 - Pick a property of the Fourier Transform &amp;amp; present it on the Wiki. Make a table with all your properties. Interpret your property. ([[HW 6|Ben Henry]])([[Table of Fourier Transform Properties|Chris Lau]])([[Table of Fourier Transform Properties|Victor Shepherd]])&lt;br /&gt;
* HW #7 - Finish the practice tests&lt;br /&gt;
* HW #8 - Make a page about interpolating FIR filters. Note how many multiply/add operations.([[Jodi S. Hodge]])([[Interpolating FIR filters|Chris Lau]])([[Hw8|Victor Shepherd]])&lt;br /&gt;
* HW #9 - Add to #8 writeup how to do a decimating filter and figure out how many multiply &amp;amp; adds are needed for a n/2 decimating low pass filter.([[Jodi S. Hodge]])([[Decimating FIR filters|Chris Lau]])([[Hw9|Victor Shepherd)]]&lt;br /&gt;
* HW #10 - Use Octave (or Mathlab or Silab) to plot the frequency response of low pass filters with cut off frequencies of 1/32T, 1/8T, and 1/4T and compare how many coeffficients are needed with an eye to answer the question &amp;quot;Is it less calculation to decimate and then filter, or better to put the filter in the pre-decimation filter?&amp;quot; ([[Jodi S. Hodge]])([[Hw10|Victor Shepherd)]]&lt;br /&gt;
* HW #11 - Is our method the same as Mark Fowler&#039;s? See &lt;br /&gt;
[http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521_files/IV-05%20Polyphase%20FIlters_2007.pdf Wiki]. Same # multiply and adds? See Notes 11/3/10. ([[Jodi S. Hodge]])([[Hw11|Victor Shepherd)]]&lt;br /&gt;
* HW #12 - Experiment with a variety of signals having a 3Khz bandwidth to determine the resolution you can get when doing a cross correlation &amp;lt;math&amp;gt; \ r(m) =&lt;br /&gt;
&lt;br /&gt;
\displaystyle\sum\limits_{n=0}^{N-1} x(n) x(n+m) &amp;lt;/math&amp;gt;. You can generate the signals randomly and filter them to obtain the band-limited signals.  ([[Jodi S. Hodge]])&lt;br /&gt;
* HW #13 - Derive the following realtions:&lt;br /&gt;
**a)      &amp;lt;math&amp;gt;DFT(x(k-l))\!&amp;lt;/math&amp;gt;&lt;br /&gt;
**b)      &amp;lt;math&amp;gt; DFT(e^{j2 \pi lk/N}x(k)\!&amp;lt;/math&amp;gt;&lt;br /&gt;
**c)      &amp;lt;math&amp;gt;\sum\limits_{k=0}^{N-1} x(k)y(k)^{*}=c\sum\limits_{k=0}^{N-1} X(n)Y(n)^{*}&amp;lt;/math&amp;gt;  ([[Hw13|Victor Shepherd)]]&lt;br /&gt;
&lt;br /&gt;
* HW #14 - Come up with a use for an adaptiveFIR filter and make an Octave script to demonstrate it.  ([[Jodi S. Hodge]])([[Hw14|Victor Shepherd)]]&lt;br /&gt;
* HW #15 - Do Practice Exam II ([[Hw15|Victor Shepherd)]]&lt;br /&gt;
* [[CW-Robot Octave Simulation]]&lt;br /&gt;
&lt;br /&gt;
==People Involved with this Wiki==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2010-2011 Contributors===&lt;br /&gt;
[[Ben Henry|Ben Henry]]&lt;br /&gt;
&lt;br /&gt;
[[Christopher Garrison Lau I]]&lt;br /&gt;
&lt;br /&gt;
[[user:chris.wills|Chris Wills]]&lt;br /&gt;
&lt;br /&gt;
[[Jodi S. Hodge]]&lt;br /&gt;
&lt;br /&gt;
[[Luke Chilson]]&lt;br /&gt;
&lt;br /&gt;
[[Shepherd,Victor|Victor Shepherd]]&lt;br /&gt;
&lt;br /&gt;
===2009-2010 Contributors===&lt;br /&gt;
[[Nick Christman]]&lt;br /&gt;
&lt;br /&gt;
[[Joshua Sarris]]&lt;br /&gt;
&lt;br /&gt;
[[Kevin Starkey]]&lt;br /&gt;
&lt;br /&gt;
[[Max Woesner]]&lt;br /&gt;
&lt;br /&gt;
[[Jodi Hodge]]&lt;br /&gt;
&lt;br /&gt;
[[Corneliu Turturica]]&lt;br /&gt;
&lt;br /&gt;
===2008-2009 Contributors===&lt;br /&gt;
[[User:eric.clay|Eric Clay]]&lt;br /&gt;
&lt;br /&gt;
[[User:tsung-lin.yang|Chuck Yang]]&lt;br /&gt;
&lt;br /&gt;
[[User:elton.zebron|Elton Zebron]]&lt;br /&gt;
&lt;br /&gt;
[[User:Luke.chilson|Luke Chilson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Brandon.price|Brandon Price]]&lt;br /&gt;
&lt;br /&gt;
[[User:Fonggr|Greg Fong]]&lt;br /&gt;
&lt;br /&gt;
===2007-2008 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:baldwin.britton|Baldwin Britton]]&lt;br /&gt;
&lt;br /&gt;
[[User:Harrde|Denver Harris]]&lt;br /&gt;
&lt;br /&gt;
[[User:Pridma|Mark Priddy]]&lt;br /&gt;
&lt;br /&gt;
[[User:ChrisRas|Chris Rasmussen]]&lt;br /&gt;
&lt;br /&gt;
[[User:RothMi|Michael Roth]]&lt;br /&gt;
&lt;br /&gt;
[[User:Rothsa|Sally Roth]]&lt;br /&gt;
&lt;br /&gt;
===2006-2007 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:Smitry|Ryan J Smith]]&lt;br /&gt;
&lt;br /&gt;
[[User:Nathan|Nathan Ferch]]&lt;br /&gt;
&lt;br /&gt;
[[User:Andrew|Andrew Lopez]]&lt;br /&gt;
&lt;br /&gt;
[[User:Sherna|Nathan Sherman]]&lt;br /&gt;
&lt;br /&gt;
[[User:Adkich|Chris Adkins]]&lt;br /&gt;
&lt;br /&gt;
===2005-2006 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:GabrielaV|Gabriela Valdivia]]&lt;br /&gt;
&lt;br /&gt;
[[User:SDiver|Raymond Betz]]&lt;br /&gt;
&lt;br /&gt;
[[User:chrijen|Jenni Christensen]]&lt;br /&gt;
&lt;br /&gt;
[[User:wonoje|Jeffrey Wonoprabowo]]&lt;br /&gt;
&lt;br /&gt;
[[User:wilspa|Paul Wilson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Frohro|Instructor: Rob Frohne]]&lt;br /&gt;
&lt;br /&gt;
===2004-2005 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:Barnsa|Sam Barnes]]&lt;br /&gt;
&lt;br /&gt;
[[User:Santsh|Shawn Santana]]&lt;br /&gt;
&lt;br /&gt;
[[User:Goeari|Aric Goe]]&lt;br /&gt;
&lt;br /&gt;
[[User:Caswto|Todd Caswell]]&lt;br /&gt;
&lt;br /&gt;
[[User:Andeda|David Anderson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Guenan|Anthony Guenterberg]]&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10353</id>
		<title>Matlab/Octave deMorse.m</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10353"/>
		<updated>2011-12-01T19:51:17Z</updated>

		<summary type="html">&lt;p&gt;Codlor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This file is preloaded into the octave versions that are on the red hat machines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function outstring =  demorse(wavfile);&lt;br /&gt;
&lt;br /&gt;
%demorse a morsed input wav file&lt;br /&gt;
&lt;br /&gt;
vis_on = 0;&lt;br /&gt;
&lt;br /&gt;
threshold = 0.05;&lt;br /&gt;
&lt;br /&gt;
x = wavread(wavfile);&lt;br /&gt;
&lt;br /&gt;
% half-wave rectify x&lt;br /&gt;
x2 = abs(x);&lt;br /&gt;
&lt;br /&gt;
% slow-wave filter &lt;br /&gt;
y = filter(ones(1,20)/20,1, x2);&lt;br /&gt;
&lt;br /&gt;
% threshold (digitize) y&lt;br /&gt;
z = y &amp;gt; threshold;&lt;br /&gt;
% z is now effectively our morse signal&lt;br /&gt;
&lt;br /&gt;
if vis_on&lt;br /&gt;
   figure(1);&lt;br /&gt;
   subplot(3,1,1);&lt;br /&gt;
   plot(x, &#039;r&#039;);&lt;br /&gt;
   title(&#039;original signal&#039;);&lt;br /&gt;
   &lt;br /&gt;
   subplot(3,1,2);&lt;br /&gt;
   plot(y);&lt;br /&gt;
   title(&#039;HWR + Slow-wave filter -&amp;gt; envelope&#039;);&lt;br /&gt;
   subplot(3,1,3);&lt;br /&gt;
   plot(z, &#039;o&#039;, &#039;MarkerSize&#039;, 2);&lt;br /&gt;
   title(&#039;Digitized Morse signal&#039;)&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%zero pad z so we always start with an onset&lt;br /&gt;
z = [zeros(10,1); z];&lt;br /&gt;
&lt;br /&gt;
% id tones/spaces   -----------------------&lt;br /&gt;
% --&amp;gt; find changes between 0/1 and 1/0&lt;br /&gt;
&lt;br /&gt;
b = diff(z);&lt;br /&gt;
% figure(3); plot(b, &#039;.&#039;);&lt;br /&gt;
% 1: change from 1 to 0&lt;br /&gt;
% 0: no change&lt;br /&gt;
% -1: change from 0 to 1&lt;br /&gt;
&lt;br /&gt;
c = b(b~=0);&lt;br /&gt;
c2 = find(b~=0);&lt;br /&gt;
&lt;br /&gt;
tokens = -c .* diff([0; c2]);&lt;br /&gt;
% value == length of token&lt;br /&gt;
% sign == tone/space&lt;br /&gt;
&lt;br /&gt;
% id shorts/longs  -----------------------&lt;br /&gt;
&lt;br /&gt;
% since short/long should be bi-modal dist, a regular average should give&lt;br /&gt;
% us a good cutoff point to distinguish between the two? (assuming equal&lt;br /&gt;
% counts of short and long...)&lt;br /&gt;
% use mean as simple cutoff point; smarter algorithms can get smarter about&lt;br /&gt;
% this classification if they want to.&lt;br /&gt;
&lt;br /&gt;
% 1: short, 2: long, +: tone, -: space&lt;br /&gt;
tokens2 = tokens;&lt;br /&gt;
&lt;br /&gt;
% cutoff tones, cutoff spaces;&lt;br /&gt;
cut_t = mean(tokens2(tokens2&amp;gt;0));&lt;br /&gt;
cut_s = mean(tokens2(tokens2&amp;lt;0));&lt;br /&gt;
&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;lt; cut_t) = 1;&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;gt; cut_t) = 2;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;gt; cut_s) = -1;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;lt; cut_s) = -2;&lt;br /&gt;
&lt;br /&gt;
% now tokens 2 is a string of -1s, -2s, 1s, 2s, can trim first known space;&lt;br /&gt;
% put final endstop at end&lt;br /&gt;
tokens2 = [tokens2(2:end); -2];&lt;br /&gt;
&lt;br /&gt;
% can drop little spaces, b/c they don&#039;t matter when parsing;&lt;br /&gt;
tokens2(tokens2 == -1) = [];&lt;br /&gt;
tokens3 = tokens2;&lt;br /&gt;
tokens4 = {};&lt;br /&gt;
ctr = 1;&lt;br /&gt;
start_idx = 1;&lt;br /&gt;
&lt;br /&gt;
%parse&lt;br /&gt;
toparse = find(tokens3(start_idx:end) == -2);&lt;br /&gt;
&lt;br /&gt;
for j=1:length(toparse)&lt;br /&gt;
   a = toparse(j);&lt;br /&gt;
   temp = tokens3(start_idx:a-1);&lt;br /&gt;
   tokens4{j} = temp;&lt;br /&gt;
   % zeropad for easy comparison&lt;br /&gt;
   %tokens4{j} = [tokens4{j}; zeros(length(tokens4{j}), 1)];&lt;br /&gt;
   start_idx = a+1;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
    &lt;br /&gt;
% now tokens4 is de-codeable tokens... proceed to setup lookups&lt;br /&gt;
% letters&lt;br /&gt;
code{1} = [1 2 ];&lt;br /&gt;
code{2} = [2 1 1 1];&lt;br /&gt;
code{3} = [2 1 2 1];&lt;br /&gt;
code{4} = [2 1 1];&lt;br /&gt;
code{5} = [1];&lt;br /&gt;
code{6} = [1 1 2 1];&lt;br /&gt;
code{7} = [2 2 1];&lt;br /&gt;
code{8} = [1 1 1 1];&lt;br /&gt;
code{9} = [1 1];&lt;br /&gt;
code{10} = [1 2 2 2];&lt;br /&gt;
code{11} = [2 1 2];&lt;br /&gt;
code{12} = [1 2 1 1];&lt;br /&gt;
code{13} = [2 2];&lt;br /&gt;
code{14} = [2 1];&lt;br /&gt;
code{15} = [2 2 2];&lt;br /&gt;
code{16} = [1 2 2 1];&lt;br /&gt;
code{17} = [1 2 1 2];&lt;br /&gt;
code{18} = [1 2 1];&lt;br /&gt;
code{19} = [1 1 1];&lt;br /&gt;
code{20} = [2];&lt;br /&gt;
code{21} = [1 1 2]; &lt;br /&gt;
code{22} = [1 1 1 2];&lt;br /&gt;
code{23} = [1 2 2];&lt;br /&gt;
code{24} = [2 1 1 2];&lt;br /&gt;
code{25} = [2 1 2 2];&lt;br /&gt;
code{26} = [2 2 1 1];&lt;br /&gt;
&lt;br /&gt;
% punct&lt;br /&gt;
code{27} = [1 2 1 2 1 2];&lt;br /&gt;
code{28} = [2 2 1 1 2 2];&lt;br /&gt;
code{29} = [1 1 2 2 1 1];    &lt;br /&gt;
code{30} = [2 1 1 2 1];&lt;br /&gt;
&lt;br /&gt;
% numbers&lt;br /&gt;
&lt;br /&gt;
code{31} = [1 2 2 2 2];&lt;br /&gt;
code{32} = [1 1 2 2 2];&lt;br /&gt;
code{33} = [1 1 1 2 2];&lt;br /&gt;
code{34} = [1 1 1 1 2];&lt;br /&gt;
code{35} = [1 1 1 1 1];&lt;br /&gt;
code{36} = [2 1 1 1 1];&lt;br /&gt;
code{37} = [2 2 1 1 1];&lt;br /&gt;
code{38} = [2 2 2 1 1];&lt;br /&gt;
code{39} = [2 2 2 2 1];&lt;br /&gt;
code{40} = [2 2 2 2 2];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
decode{1} = &#039;A&#039;;&lt;br /&gt;
decode{2} = &#039;B&#039;;&lt;br /&gt;
decode{3} = &#039;C&#039;;&lt;br /&gt;
decode{4} = &#039;D&#039;;&lt;br /&gt;
decode{5} = &#039;E&#039;;&lt;br /&gt;
decode{6} = &#039;F&#039;;&lt;br /&gt;
decode{7} = &#039;G&#039;;&lt;br /&gt;
decode{8} = &#039;H&#039;;&lt;br /&gt;
decode{9} = &#039;I&#039;;&lt;br /&gt;
decode{10} = &#039;J&#039;;&lt;br /&gt;
decode{11} = &#039;K&#039;;&lt;br /&gt;
decode{12} = &#039;L&#039;;&lt;br /&gt;
decode{13} = &#039;M&#039;;&lt;br /&gt;
decode{14} = &#039;N&#039;;&lt;br /&gt;
decode{15} = &#039;O&#039;;&lt;br /&gt;
decode{16} = &#039;P&#039;;&lt;br /&gt;
decode{17} = &#039;Q&#039;;&lt;br /&gt;
decode{18} = &#039;R&#039;;&lt;br /&gt;
decode{19} = &#039;S&#039;;&lt;br /&gt;
decode{20} = &#039;T&#039;;&lt;br /&gt;
decode{21} = &#039;U&#039;;&lt;br /&gt;
decode{22} = &#039;V&#039;;&lt;br /&gt;
decode{23} = &#039;W&#039;;&lt;br /&gt;
decode{24} = &#039;X&#039;;&lt;br /&gt;
decode{25} = &#039;Y&#039;;&lt;br /&gt;
decode{26} = &#039;Z&#039;;&lt;br /&gt;
decode{27} = &#039;.&#039;;&lt;br /&gt;
decode{28} = &#039;,&#039;;&lt;br /&gt;
decode{29} = &#039;?&#039;;&lt;br /&gt;
decode{30} = &#039;/&#039;;&lt;br /&gt;
decode{31} = &#039;1&#039;;&lt;br /&gt;
decode{32} = &#039;2&#039;;&lt;br /&gt;
decode{33} = &#039;3&#039;;&lt;br /&gt;
decode{34} = &#039;4&#039;;&lt;br /&gt;
decode{35} = &#039;5&#039;;&lt;br /&gt;
decode{36} = &#039;6&#039;;&lt;br /&gt;
decode{37} = &#039;7&#039;;&lt;br /&gt;
decode{38} = &#039;8&#039;;&lt;br /&gt;
decode{39} = &#039;9&#039;;&lt;br /&gt;
decode{40} = &#039;0&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% compare tokens to tables&lt;br /&gt;
&lt;br /&gt;
out1 = [];&lt;br /&gt;
&lt;br /&gt;
for j = 1:length(tokens4)&lt;br /&gt;
    %zero pad temp_tok&lt;br /&gt;
    temp_tok = [tokens4{j}; zeros(6 - length(tokens4{j}), 1)];&lt;br /&gt;
    for k = 1:length(code)&lt;br /&gt;
        if (temp_tok == [code{k}&#039;; zeros(6 - length(code{k}), 1)]);&lt;br /&gt;
            out1(j) = char(decode{k});&lt;br /&gt;
            %display(decode{k})&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % if didn&#039;t find a match&lt;br /&gt;
    if isempty(out1(j))&lt;br /&gt;
        out1(j) = &#039;_&#039;;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% semi-prettify&lt;br /&gt;
outstring = 32*ones(2*length(out1),1);&lt;br /&gt;
outstring(2:2:end) = out1;&lt;br /&gt;
outstring = char(outstring&#039;);&lt;br /&gt;
&lt;br /&gt;
%display(&#039;demorsed message:&#039;)&lt;br /&gt;
%display(outstring);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10352</id>
		<title>Matlab/Octave deMorse.m</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10352"/>
		<updated>2011-12-01T19:46:54Z</updated>

		<summary type="html">&lt;p&gt;Codlor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
function outstring =  demorse(wavfile);&lt;br /&gt;
&lt;br /&gt;
%demorse a morsed input wav file&lt;br /&gt;
&lt;br /&gt;
vis_on = 0;&lt;br /&gt;
&lt;br /&gt;
threshold = 0.05;&lt;br /&gt;
&lt;br /&gt;
x = wavread(wavfile);&lt;br /&gt;
&lt;br /&gt;
% half-wave rectify x&lt;br /&gt;
x2 = abs(x);&lt;br /&gt;
&lt;br /&gt;
% slow-wave filter &lt;br /&gt;
y = filter(ones(1,20)/20,1, x2);&lt;br /&gt;
&lt;br /&gt;
% threshold (digitize) y&lt;br /&gt;
z = y &amp;gt; threshold;&lt;br /&gt;
% z is now effectively our morse signal&lt;br /&gt;
&lt;br /&gt;
if vis_on&lt;br /&gt;
   figure(1);&lt;br /&gt;
   subplot(3,1,1);&lt;br /&gt;
   plot(x, &#039;r&#039;);&lt;br /&gt;
   title(&#039;original signal&#039;);&lt;br /&gt;
   &lt;br /&gt;
   subplot(3,1,2);&lt;br /&gt;
   plot(y);&lt;br /&gt;
   title(&#039;HWR + Slow-wave filter -&amp;gt; envelope&#039;);&lt;br /&gt;
   subplot(3,1,3);&lt;br /&gt;
   plot(z, &#039;o&#039;, &#039;MarkerSize&#039;, 2);&lt;br /&gt;
   title(&#039;Digitized Morse signal&#039;)&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%zero pad z so we always start with an onset&lt;br /&gt;
z = [zeros(10,1); z];&lt;br /&gt;
&lt;br /&gt;
% id tones/spaces   -----------------------&lt;br /&gt;
% --&amp;gt; find changes between 0/1 and 1/0&lt;br /&gt;
&lt;br /&gt;
b = diff(z);&lt;br /&gt;
% figure(3); plot(b, &#039;.&#039;);&lt;br /&gt;
% 1: change from 1 to 0&lt;br /&gt;
% 0: no change&lt;br /&gt;
% -1: change from 0 to 1&lt;br /&gt;
&lt;br /&gt;
c = b(b~=0);&lt;br /&gt;
c2 = find(b~=0);&lt;br /&gt;
&lt;br /&gt;
tokens = -c .* diff([0; c2]);&lt;br /&gt;
% value == length of token&lt;br /&gt;
% sign == tone/space&lt;br /&gt;
&lt;br /&gt;
% id shorts/longs  -----------------------&lt;br /&gt;
&lt;br /&gt;
% since short/long should be bi-modal dist, a regular average should give&lt;br /&gt;
% us a good cutoff point to distinguish between the two? (assuming equal&lt;br /&gt;
% counts of short and long...)&lt;br /&gt;
% use mean as simple cutoff point; smarter algorithms can get smarter about&lt;br /&gt;
% this classification if they want to.&lt;br /&gt;
&lt;br /&gt;
% 1: short, 2: long, +: tone, -: space&lt;br /&gt;
tokens2 = tokens;&lt;br /&gt;
&lt;br /&gt;
% cutoff tones, cutoff spaces;&lt;br /&gt;
cut_t = mean(tokens2(tokens2&amp;gt;0));&lt;br /&gt;
cut_s = mean(tokens2(tokens2&amp;lt;0));&lt;br /&gt;
&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;lt; cut_t) = 1;&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;gt; cut_t) = 2;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;gt; cut_s) = -1;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;lt; cut_s) = -2;&lt;br /&gt;
&lt;br /&gt;
% now tokens 2 is a string of -1s, -2s, 1s, 2s, can trim first known space;&lt;br /&gt;
% put final endstop at end&lt;br /&gt;
tokens2 = [tokens2(2:end); -2];&lt;br /&gt;
&lt;br /&gt;
% can drop little spaces, b/c they don&#039;t matter when parsing;&lt;br /&gt;
tokens2(tokens2 == -1) = [];&lt;br /&gt;
tokens3 = tokens2;&lt;br /&gt;
tokens4 = {};&lt;br /&gt;
ctr = 1;&lt;br /&gt;
start_idx = 1;&lt;br /&gt;
&lt;br /&gt;
%parse&lt;br /&gt;
toparse = find(tokens3(start_idx:end) == -2);&lt;br /&gt;
&lt;br /&gt;
for j=1:length(toparse)&lt;br /&gt;
   a = toparse(j);&lt;br /&gt;
   temp = tokens3(start_idx:a-1);&lt;br /&gt;
   tokens4{j} = temp;&lt;br /&gt;
   % zeropad for easy comparison&lt;br /&gt;
   %tokens4{j} = [tokens4{j}; zeros(length(tokens4{j}), 1)];&lt;br /&gt;
   start_idx = a+1;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
    &lt;br /&gt;
% now tokens4 is de-codeable tokens... proceed to setup lookups&lt;br /&gt;
% letters&lt;br /&gt;
code{1} = [1 2 ];&lt;br /&gt;
code{2} = [2 1 1 1];&lt;br /&gt;
code{3} = [2 1 2 1];&lt;br /&gt;
code{4} = [2 1 1];&lt;br /&gt;
code{5} = [1];&lt;br /&gt;
code{6} = [1 1 2 1];&lt;br /&gt;
code{7} = [2 2 1];&lt;br /&gt;
code{8} = [1 1 1 1];&lt;br /&gt;
code{9} = [1 1];&lt;br /&gt;
code{10} = [1 2 2 2];&lt;br /&gt;
code{11} = [2 1 2];&lt;br /&gt;
code{12} = [1 2 1 1];&lt;br /&gt;
code{13} = [2 2];&lt;br /&gt;
code{14} = [2 1];&lt;br /&gt;
code{15} = [2 2 2];&lt;br /&gt;
code{16} = [1 2 2 1];&lt;br /&gt;
code{17} = [1 2 1 2];&lt;br /&gt;
code{18} = [1 2 1];&lt;br /&gt;
code{19} = [1 1 1];&lt;br /&gt;
code{20} = [2];&lt;br /&gt;
code{21} = [1 1 2]; &lt;br /&gt;
code{22} = [1 1 1 2];&lt;br /&gt;
code{23} = [1 2 2];&lt;br /&gt;
code{24} = [2 1 1 2];&lt;br /&gt;
code{25} = [2 1 2 2];&lt;br /&gt;
code{26} = [2 2 1 1];&lt;br /&gt;
&lt;br /&gt;
% punct&lt;br /&gt;
code{27} = [1 2 1 2 1 2];&lt;br /&gt;
code{28} = [2 2 1 1 2 2];&lt;br /&gt;
code{29} = [1 1 2 2 1 1];    &lt;br /&gt;
code{30} = [2 1 1 2 1];&lt;br /&gt;
&lt;br /&gt;
% numbers&lt;br /&gt;
&lt;br /&gt;
code{31} = [1 2 2 2 2];&lt;br /&gt;
code{32} = [1 1 2 2 2];&lt;br /&gt;
code{33} = [1 1 1 2 2];&lt;br /&gt;
code{34} = [1 1 1 1 2];&lt;br /&gt;
code{35} = [1 1 1 1 1];&lt;br /&gt;
code{36} = [2 1 1 1 1];&lt;br /&gt;
code{37} = [2 2 1 1 1];&lt;br /&gt;
code{38} = [2 2 2 1 1];&lt;br /&gt;
code{39} = [2 2 2 2 1];&lt;br /&gt;
code{40} = [2 2 2 2 2];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
decode{1} = &#039;A&#039;;&lt;br /&gt;
decode{2} = &#039;B&#039;;&lt;br /&gt;
decode{3} = &#039;C&#039;;&lt;br /&gt;
decode{4} = &#039;D&#039;;&lt;br /&gt;
decode{5} = &#039;E&#039;;&lt;br /&gt;
decode{6} = &#039;F&#039;;&lt;br /&gt;
decode{7} = &#039;G&#039;;&lt;br /&gt;
decode{8} = &#039;H&#039;;&lt;br /&gt;
decode{9} = &#039;I&#039;;&lt;br /&gt;
decode{10} = &#039;J&#039;;&lt;br /&gt;
decode{11} = &#039;K&#039;;&lt;br /&gt;
decode{12} = &#039;L&#039;;&lt;br /&gt;
decode{13} = &#039;M&#039;;&lt;br /&gt;
decode{14} = &#039;N&#039;;&lt;br /&gt;
decode{15} = &#039;O&#039;;&lt;br /&gt;
decode{16} = &#039;P&#039;;&lt;br /&gt;
decode{17} = &#039;Q&#039;;&lt;br /&gt;
decode{18} = &#039;R&#039;;&lt;br /&gt;
decode{19} = &#039;S&#039;;&lt;br /&gt;
decode{20} = &#039;T&#039;;&lt;br /&gt;
decode{21} = &#039;U&#039;;&lt;br /&gt;
decode{22} = &#039;V&#039;;&lt;br /&gt;
decode{23} = &#039;W&#039;;&lt;br /&gt;
decode{24} = &#039;X&#039;;&lt;br /&gt;
decode{25} = &#039;Y&#039;;&lt;br /&gt;
decode{26} = &#039;Z&#039;;&lt;br /&gt;
decode{27} = &#039;.&#039;;&lt;br /&gt;
decode{28} = &#039;,&#039;;&lt;br /&gt;
decode{29} = &#039;?&#039;;&lt;br /&gt;
decode{30} = &#039;/&#039;;&lt;br /&gt;
decode{31} = &#039;1&#039;;&lt;br /&gt;
decode{32} = &#039;2&#039;;&lt;br /&gt;
decode{33} = &#039;3&#039;;&lt;br /&gt;
decode{34} = &#039;4&#039;;&lt;br /&gt;
decode{35} = &#039;5&#039;;&lt;br /&gt;
decode{36} = &#039;6&#039;;&lt;br /&gt;
decode{37} = &#039;7&#039;;&lt;br /&gt;
decode{38} = &#039;8&#039;;&lt;br /&gt;
decode{39} = &#039;9&#039;;&lt;br /&gt;
decode{40} = &#039;0&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% compare tokens to tables&lt;br /&gt;
&lt;br /&gt;
out1 = [];&lt;br /&gt;
&lt;br /&gt;
for j = 1:length(tokens4)&lt;br /&gt;
    %zero pad temp_tok&lt;br /&gt;
    temp_tok = [tokens4{j}; zeros(6 - length(tokens4{j}), 1)];&lt;br /&gt;
    for k = 1:length(code)&lt;br /&gt;
        if (temp_tok == [code{k}&#039;; zeros(6 - length(code{k}), 1)]);&lt;br /&gt;
            out1(j) = char(decode{k});&lt;br /&gt;
            %display(decode{k})&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % if didn&#039;t find a match&lt;br /&gt;
    if isempty(out1(j))&lt;br /&gt;
        out1(j) = &#039;_&#039;;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% semi-prettify&lt;br /&gt;
outstring = 32*ones(2*length(out1),1);&lt;br /&gt;
outstring(2:2:end) = out1;&lt;br /&gt;
outstring = char(outstring&#039;);&lt;br /&gt;
&lt;br /&gt;
%display(&#039;demorsed message:&#039;)&lt;br /&gt;
%display(outstring);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10351</id>
		<title>Matlab/Octave deMorse.m</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10351"/>
		<updated>2011-12-01T19:44:19Z</updated>

		<summary type="html">&lt;p&gt;Codlor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;function outstring =  demorse(wavfile);&lt;br /&gt;
&lt;br /&gt;
%demorse a morsed input wav file&lt;br /&gt;
&lt;br /&gt;
vis_on = 0;&lt;br /&gt;
&lt;br /&gt;
threshold = 0.05;&lt;br /&gt;
&lt;br /&gt;
x = wavread(wavfile);&lt;br /&gt;
&lt;br /&gt;
% half-wave rectify x&lt;br /&gt;
x2 = abs(x);&lt;br /&gt;
&lt;br /&gt;
% slow-wave filter&lt;br /&gt;
y = filter(ones(1,20)/20,1, x2);&lt;br /&gt;
&lt;br /&gt;
% threshold (digitize) y&lt;br /&gt;
z = y &amp;gt; threshold;&lt;br /&gt;
% z is now effectively our morse signal&lt;br /&gt;
&lt;br /&gt;
if vis_on&lt;br /&gt;
   figure(1);&lt;br /&gt;
   subplot(3,1,1);&lt;br /&gt;
   plot(x, &#039;r&#039;);&lt;br /&gt;
   title(&#039;original signal&#039;);&lt;br /&gt;
  &lt;br /&gt;
   subplot(3,1,2);&lt;br /&gt;
   plot(y);&lt;br /&gt;
   title(&#039;HWR + Slow-wave filter -&amp;gt; envelope&#039;);&lt;br /&gt;
   subplot(3,1,3);&lt;br /&gt;
   plot(z, &#039;o&#039;, &#039;MarkerSize&#039;, 2);&lt;br /&gt;
   title(&#039;Digitized Morse signal&#039;)&lt;br /&gt;
  &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%zero pad z so we always start with an onset&lt;br /&gt;
z = [zeros(10,1); z];&lt;br /&gt;
&lt;br /&gt;
% id tones/spaces   -----------------------&lt;br /&gt;
% --&amp;gt; find changes between 0/1 and 1/0&lt;br /&gt;
&lt;br /&gt;
b = diff(z);&lt;br /&gt;
% figure(3); plot(b, &#039;.&#039;);&lt;br /&gt;
% 1: change from 1 to 0&lt;br /&gt;
% 0: no change&lt;br /&gt;
% -1: change from 0 to 1&lt;br /&gt;
&lt;br /&gt;
c = b(b~=0);&lt;br /&gt;
c2 = find(b~=0);&lt;br /&gt;
&lt;br /&gt;
tokens = -c .* diff([0; c2]);&lt;br /&gt;
% value == length of token&lt;br /&gt;
% sign == tone/space&lt;br /&gt;
&lt;br /&gt;
% id shorts/longs  -----------------------&lt;br /&gt;
&lt;br /&gt;
% since short/long should be bi-modal dist, a regular average should give&lt;br /&gt;
% us a good cutoff point to distinguish between the two? (assuming equal&lt;br /&gt;
% counts of short and long...)&lt;br /&gt;
% use mean as simple cutoff point; smarter algorithms can get smarter about&lt;br /&gt;
% this classification if they want to.&lt;br /&gt;
&lt;br /&gt;
% 1: short, 2: long, +: tone, -: space&lt;br /&gt;
tokens2 = tokens;&lt;br /&gt;
&lt;br /&gt;
% cutoff tones, cutoff spaces;&lt;br /&gt;
cut_t = mean(tokens2(tokens2&amp;gt;0));&lt;br /&gt;
cut_s = mean(tokens2(tokens2&amp;lt;0));&lt;br /&gt;
&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;lt; cut_t) = 1;&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;gt; cut_t) = 2;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;gt; cut_s) = -1;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;lt; cut_s) = -2;&lt;br /&gt;
&lt;br /&gt;
% now tokens 2 is a string of -1s, -2s, 1s, 2s, can trim first known space;&lt;br /&gt;
% put final endstop at end&lt;br /&gt;
tokens2 = [tokens2(2:end); -2];&lt;br /&gt;
&lt;br /&gt;
% can drop little spaces, b/c they don&#039;t matter when parsing;&lt;br /&gt;
tokens2(tokens2 == -1) = [];&lt;br /&gt;
tokens3 = tokens2;&lt;br /&gt;
tokens4 = {};&lt;br /&gt;
ctr = 1;&lt;br /&gt;
start_idx = 1;&lt;br /&gt;
&lt;br /&gt;
%parse&lt;br /&gt;
toparse = find(tokens3(start_idx:end) == -2);&lt;br /&gt;
&lt;br /&gt;
for j=1:length(toparse)&lt;br /&gt;
   a = toparse(j);&lt;br /&gt;
   temp = tokens3(start_idx:a-1);&lt;br /&gt;
   tokens4{j} = temp;&lt;br /&gt;
   % zeropad for easy comparison&lt;br /&gt;
   %tokens4{j} = [tokens4{j}; zeros(length(tokens4{j}), 1)];&lt;br /&gt;
   start_idx = a+1;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
   &lt;br /&gt;
% now tokens4 is de-codeable tokens... proceed to setup lookups&lt;br /&gt;
% letters&lt;br /&gt;
code{1} = [1 2 ];&lt;br /&gt;
code{2} = [2 1 1 1];&lt;br /&gt;
code{3} = [2 1 2 1];&lt;br /&gt;
code{4} = [2 1 1];&lt;br /&gt;
code{5} = [1];&lt;br /&gt;
code{6} = [1 1 2 1];&lt;br /&gt;
code{7} = [2 2 1];&lt;br /&gt;
code{8} = [1 1 1 1];&lt;br /&gt;
code{9} = [1 1];&lt;br /&gt;
code{10} = [1 2 2 2];&lt;br /&gt;
code{11} = [2 1 2];&lt;br /&gt;
code{12} = [1 2 1 1];&lt;br /&gt;
code{13} = [2 2];&lt;br /&gt;
code{14} = [2 1];&lt;br /&gt;
code{15} = [2 2 2];&lt;br /&gt;
code{16} = [1 2 2 1];&lt;br /&gt;
code{17} = [1 2 1 2];&lt;br /&gt;
code{18} = [1 2 1];&lt;br /&gt;
code{19} = [1 1 1];&lt;br /&gt;
code{20} = [2];&lt;br /&gt;
code{21} = [1 1 2];&lt;br /&gt;
code{22} = [1 1 1 2];&lt;br /&gt;
code{23} = [1 2 2];&lt;br /&gt;
code{24} = [2 1 1 2];&lt;br /&gt;
code{25} = [2 1 2 2];&lt;br /&gt;
code{26} = [2 2 1 1];&lt;br /&gt;
&lt;br /&gt;
% punct&lt;br /&gt;
code{27} = [1 2 1 2 1 2];&lt;br /&gt;
code{28} = [2 2 1 1 2 2];&lt;br /&gt;
code{29} = [1 1 2 2 1 1];   &lt;br /&gt;
code{30} = [2 1 1 2 1];&lt;br /&gt;
&lt;br /&gt;
% numbers&lt;br /&gt;
&lt;br /&gt;
code{31} = [1 2 2 2 2];&lt;br /&gt;
code{32} = [1 1 2 2 2];&lt;br /&gt;
code{33} = [1 1 1 2 2];&lt;br /&gt;
code{34} = [1 1 1 1 2];&lt;br /&gt;
code{35} = [1 1 1 1 1];&lt;br /&gt;
code{36} = [2 1 1 1 1];&lt;br /&gt;
code{37} = [2 2 1 1 1];&lt;br /&gt;
code{38} = [2 2 2 1 1];&lt;br /&gt;
code{39} = [2 2 2 2 1];&lt;br /&gt;
code{40} = [2 2 2 2 2];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
decode{1} = &#039;A&#039;;&lt;br /&gt;
decode{2} = &#039;B&#039;;&lt;br /&gt;
decode{3} = &#039;C&#039;;&lt;br /&gt;
decode{4} = &#039;D&#039;;&lt;br /&gt;
decode{5} = &#039;E&#039;;&lt;br /&gt;
decode{6} = &#039;F&#039;;&lt;br /&gt;
decode{7} = &#039;G&#039;;&lt;br /&gt;
decode{8} = &#039;H&#039;;&lt;br /&gt;
decode{9} = &#039;I&#039;;&lt;br /&gt;
decode{10} = &#039;J&#039;;&lt;br /&gt;
decode{11} = &#039;K&#039;;&lt;br /&gt;
decode{12} = &#039;L&#039;;&lt;br /&gt;
decode{13} = &#039;M&#039;;&lt;br /&gt;
decode{14} = &#039;N&#039;;&lt;br /&gt;
decode{15} = &#039;O&#039;;&lt;br /&gt;
decode{16} = &#039;P&#039;;&lt;br /&gt;
decode{17} = &#039;Q&#039;;&lt;br /&gt;
decode{18} = &#039;R&#039;;&lt;br /&gt;
decode{19} = &#039;S&#039;;&lt;br /&gt;
decode{20} = &#039;T&#039;;&lt;br /&gt;
decode{21} = &#039;U&#039;;&lt;br /&gt;
decode{22} = &#039;V&#039;;&lt;br /&gt;
decode{23} = &#039;W&#039;;&lt;br /&gt;
decode{24} = &#039;X&#039;;&lt;br /&gt;
decode{25} = &#039;Y&#039;;&lt;br /&gt;
decode{26} = &#039;Z&#039;;&lt;br /&gt;
decode{27} = &#039;.&#039;;&lt;br /&gt;
decode{28} = &#039;,&#039;;&lt;br /&gt;
decode{29} = &#039;?&#039;;&lt;br /&gt;
decode{30} = &#039;/&#039;;&lt;br /&gt;
decode{31} = &#039;1&#039;;&lt;br /&gt;
decode{32} = &#039;2&#039;;&lt;br /&gt;
decode{33} = &#039;3&#039;;&lt;br /&gt;
decode{34} = &#039;4&#039;;&lt;br /&gt;
decode{35} = &#039;5&#039;;&lt;br /&gt;
decode{36} = &#039;6&#039;;&lt;br /&gt;
decode{37} = &#039;7&#039;;&lt;br /&gt;
decode{38} = &#039;8&#039;;&lt;br /&gt;
decode{39} = &#039;9&#039;;&lt;br /&gt;
decode{40} = &#039;0&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% compare tokens to tables&lt;br /&gt;
&lt;br /&gt;
out1 = [];&lt;br /&gt;
&lt;br /&gt;
for j = 1:length(tokens4)&lt;br /&gt;
    %zero pad temp_tok&lt;br /&gt;
    temp_tok = [tokens4{j}; zeros(6 - length(tokens4{j}), 1)];&lt;br /&gt;
    for k = 1:length(code)&lt;br /&gt;
        if (temp_tok == [code{k}&#039;; zeros(6 - length(code{k}), 1)]);&lt;br /&gt;
            out1(j) = char(decode{k});&lt;br /&gt;
            %display(decode{k})&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % if didn&#039;t find a match&lt;br /&gt;
    if isempty(out1(j))&lt;br /&gt;
        out1(j) = &#039;_&#039;;&lt;br /&gt;
    end&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% semi-prettify&lt;br /&gt;
outstring = 32*ones(2*length(out1),1);&lt;br /&gt;
outstring(2:2:end) = out1;&lt;br /&gt;
outstring = char(outstring&#039;);&lt;br /&gt;
&lt;br /&gt;
%display(&#039;demorsed message:&#039;)&lt;br /&gt;
%display(outstring);&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10350</id>
		<title>Matlab/Octave deMorse.m</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10350"/>
		<updated>2011-12-01T19:43:35Z</updated>

		<summary type="html">&lt;p&gt;Codlor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;math&amp;gt;function outstring =  demorse(wavfile);&lt;br /&gt;
&lt;br /&gt;
%demorse a morsed input wav file&lt;br /&gt;
&lt;br /&gt;
vis_on = 0;&lt;br /&gt;
&lt;br /&gt;
threshold = 0.05;&lt;br /&gt;
&lt;br /&gt;
x = wavread(wavfile);&lt;br /&gt;
&lt;br /&gt;
% half-wave rectify x&lt;br /&gt;
x2 = abs(x);&lt;br /&gt;
&lt;br /&gt;
% slow-wave filter&lt;br /&gt;
y = filter(ones(1,20)/20,1, x2);&lt;br /&gt;
&lt;br /&gt;
% threshold (digitize) y&lt;br /&gt;
z = y &amp;gt; threshold;&lt;br /&gt;
% z is now effectively our morse signal&lt;br /&gt;
&lt;br /&gt;
if vis_on&lt;br /&gt;
   figure(1);&lt;br /&gt;
   subplot(3,1,1);&lt;br /&gt;
   plot(x, &#039;r&#039;);&lt;br /&gt;
   title(&#039;original signal&#039;);&lt;br /&gt;
  &lt;br /&gt;
   subplot(3,1,2);&lt;br /&gt;
   plot(y);&lt;br /&gt;
   title(&#039;HWR + Slow-wave filter -&amp;gt; envelope&#039;);&lt;br /&gt;
   subplot(3,1,3);&lt;br /&gt;
   plot(z, &#039;o&#039;, &#039;MarkerSize&#039;, 2);&lt;br /&gt;
   title(&#039;Digitized Morse signal&#039;)&lt;br /&gt;
  &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%zero pad z so we always start with an onset&lt;br /&gt;
z = [zeros(10,1); z];&lt;br /&gt;
&lt;br /&gt;
% id tones/spaces   -----------------------&lt;br /&gt;
% --&amp;gt; find changes between 0/1 and 1/0&lt;br /&gt;
&lt;br /&gt;
b = diff(z);&lt;br /&gt;
% figure(3); plot(b, &#039;.&#039;);&lt;br /&gt;
% 1: change from 1 to 0&lt;br /&gt;
% 0: no change&lt;br /&gt;
% -1: change from 0 to 1&lt;br /&gt;
&lt;br /&gt;
c = b(b~=0);&lt;br /&gt;
c2 = find(b~=0);&lt;br /&gt;
&lt;br /&gt;
tokens = -c .* diff([0; c2]);&lt;br /&gt;
% value == length of token&lt;br /&gt;
% sign == tone/space&lt;br /&gt;
&lt;br /&gt;
% id shorts/longs  -----------------------&lt;br /&gt;
&lt;br /&gt;
% since short/long should be bi-modal dist, a regular average should give&lt;br /&gt;
% us a good cutoff point to distinguish between the two? (assuming equal&lt;br /&gt;
% counts of short and long...)&lt;br /&gt;
% use mean as simple cutoff point; smarter algorithms can get smarter about&lt;br /&gt;
% this classification if they want to.&lt;br /&gt;
&lt;br /&gt;
% 1: short, 2: long, +: tone, -: space&lt;br /&gt;
tokens2 = tokens;&lt;br /&gt;
&lt;br /&gt;
% cutoff tones, cutoff spaces;&lt;br /&gt;
cut_t = mean(tokens2(tokens2&amp;gt;0));&lt;br /&gt;
cut_s = mean(tokens2(tokens2&amp;lt;0));&lt;br /&gt;
&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;lt; cut_t) = 1;&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;gt; cut_t) = 2;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;gt; cut_s) = -1;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;lt; cut_s) = -2;&lt;br /&gt;
&lt;br /&gt;
% now tokens 2 is a string of -1s, -2s, 1s, 2s, can trim first known space;&lt;br /&gt;
% put final endstop at end&lt;br /&gt;
tokens2 = [tokens2(2:end); -2];&lt;br /&gt;
&lt;br /&gt;
% can drop little spaces, b/c they don&#039;t matter when parsing;&lt;br /&gt;
tokens2(tokens2 == -1) = [];&lt;br /&gt;
tokens3 = tokens2;&lt;br /&gt;
tokens4 = {};&lt;br /&gt;
ctr = 1;&lt;br /&gt;
start_idx = 1;&lt;br /&gt;
&lt;br /&gt;
%parse&lt;br /&gt;
toparse = find(tokens3(start_idx:end) == -2);&lt;br /&gt;
&lt;br /&gt;
for j=1:length(toparse)&lt;br /&gt;
   a = toparse(j);&lt;br /&gt;
   temp = tokens3(start_idx:a-1);&lt;br /&gt;
   tokens4{j} = temp;&lt;br /&gt;
   % zeropad for easy comparison&lt;br /&gt;
   %tokens4{j} = [tokens4{j}; zeros(length(tokens4{j}), 1)];&lt;br /&gt;
   start_idx = a+1;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
   &lt;br /&gt;
% now tokens4 is de-codeable tokens... proceed to setup lookups&lt;br /&gt;
% letters&lt;br /&gt;
code{1} = [1 2 ];&lt;br /&gt;
code{2} = [2 1 1 1];&lt;br /&gt;
code{3} = [2 1 2 1];&lt;br /&gt;
code{4} = [2 1 1];&lt;br /&gt;
code{5} = [1];&lt;br /&gt;
code{6} = [1 1 2 1];&lt;br /&gt;
code{7} = [2 2 1];&lt;br /&gt;
code{8} = [1 1 1 1];&lt;br /&gt;
code{9} = [1 1];&lt;br /&gt;
code{10} = [1 2 2 2];&lt;br /&gt;
code{11} = [2 1 2];&lt;br /&gt;
code{12} = [1 2 1 1];&lt;br /&gt;
code{13} = [2 2];&lt;br /&gt;
code{14} = [2 1];&lt;br /&gt;
code{15} = [2 2 2];&lt;br /&gt;
code{16} = [1 2 2 1];&lt;br /&gt;
code{17} = [1 2 1 2];&lt;br /&gt;
code{18} = [1 2 1];&lt;br /&gt;
code{19} = [1 1 1];&lt;br /&gt;
code{20} = [2];&lt;br /&gt;
code{21} = [1 1 2];&lt;br /&gt;
code{22} = [1 1 1 2];&lt;br /&gt;
code{23} = [1 2 2];&lt;br /&gt;
code{24} = [2 1 1 2];&lt;br /&gt;
code{25} = [2 1 2 2];&lt;br /&gt;
code{26} = [2 2 1 1];&lt;br /&gt;
&lt;br /&gt;
% punct&lt;br /&gt;
code{27} = [1 2 1 2 1 2];&lt;br /&gt;
code{28} = [2 2 1 1 2 2];&lt;br /&gt;
code{29} = [1 1 2 2 1 1];   &lt;br /&gt;
code{30} = [2 1 1 2 1];&lt;br /&gt;
&lt;br /&gt;
% numbers&lt;br /&gt;
&lt;br /&gt;
code{31} = [1 2 2 2 2];&lt;br /&gt;
code{32} = [1 1 2 2 2];&lt;br /&gt;
code{33} = [1 1 1 2 2];&lt;br /&gt;
code{34} = [1 1 1 1 2];&lt;br /&gt;
code{35} = [1 1 1 1 1];&lt;br /&gt;
code{36} = [2 1 1 1 1];&lt;br /&gt;
code{37} = [2 2 1 1 1];&lt;br /&gt;
code{38} = [2 2 2 1 1];&lt;br /&gt;
code{39} = [2 2 2 2 1];&lt;br /&gt;
code{40} = [2 2 2 2 2];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
decode{1} = &#039;A&#039;;&lt;br /&gt;
decode{2} = &#039;B&#039;;&lt;br /&gt;
decode{3} = &#039;C&#039;;&lt;br /&gt;
decode{4} = &#039;D&#039;;&lt;br /&gt;
decode{5} = &#039;E&#039;;&lt;br /&gt;
decode{6} = &#039;F&#039;;&lt;br /&gt;
decode{7} = &#039;G&#039;;&lt;br /&gt;
decode{8} = &#039;H&#039;;&lt;br /&gt;
decode{9} = &#039;I&#039;;&lt;br /&gt;
decode{10} = &#039;J&#039;;&lt;br /&gt;
decode{11} = &#039;K&#039;;&lt;br /&gt;
decode{12} = &#039;L&#039;;&lt;br /&gt;
decode{13} = &#039;M&#039;;&lt;br /&gt;
decode{14} = &#039;N&#039;;&lt;br /&gt;
decode{15} = &#039;O&#039;;&lt;br /&gt;
decode{16} = &#039;P&#039;;&lt;br /&gt;
decode{17} = &#039;Q&#039;;&lt;br /&gt;
decode{18} = &#039;R&#039;;&lt;br /&gt;
decode{19} = &#039;S&#039;;&lt;br /&gt;
decode{20} = &#039;T&#039;;&lt;br /&gt;
decode{21} = &#039;U&#039;;&lt;br /&gt;
decode{22} = &#039;V&#039;;&lt;br /&gt;
decode{23} = &#039;W&#039;;&lt;br /&gt;
decode{24} = &#039;X&#039;;&lt;br /&gt;
decode{25} = &#039;Y&#039;;&lt;br /&gt;
decode{26} = &#039;Z&#039;;&lt;br /&gt;
decode{27} = &#039;.&#039;;&lt;br /&gt;
decode{28} = &#039;,&#039;;&lt;br /&gt;
decode{29} = &#039;?&#039;;&lt;br /&gt;
decode{30} = &#039;/&#039;;&lt;br /&gt;
decode{31} = &#039;1&#039;;&lt;br /&gt;
decode{32} = &#039;2&#039;;&lt;br /&gt;
decode{33} = &#039;3&#039;;&lt;br /&gt;
decode{34} = &#039;4&#039;;&lt;br /&gt;
decode{35} = &#039;5&#039;;&lt;br /&gt;
decode{36} = &#039;6&#039;;&lt;br /&gt;
decode{37} = &#039;7&#039;;&lt;br /&gt;
decode{38} = &#039;8&#039;;&lt;br /&gt;
decode{39} = &#039;9&#039;;&lt;br /&gt;
decode{40} = &#039;0&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% compare tokens to tables&lt;br /&gt;
&lt;br /&gt;
out1 = [];&lt;br /&gt;
&lt;br /&gt;
for j = 1:length(tokens4)&lt;br /&gt;
    %zero pad temp_tok&lt;br /&gt;
    temp_tok = [tokens4{j}; zeros(6 - length(tokens4{j}), 1)];&lt;br /&gt;
    for k = 1:length(code)&lt;br /&gt;
        if (temp_tok == [code{k}&#039;; zeros(6 - length(code{k}), 1)]);&lt;br /&gt;
            out1(j) = char(decode{k});&lt;br /&gt;
            %display(decode{k})&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % if didn&#039;t find a match&lt;br /&gt;
    if isempty(out1(j))&lt;br /&gt;
        out1(j) = &#039;_&#039;;&lt;br /&gt;
    end&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% semi-prettify&lt;br /&gt;
outstring = 32*ones(2*length(out1),1);&lt;br /&gt;
outstring(2:2:end) = out1;&lt;br /&gt;
outstring = char(outstring&#039;);&lt;br /&gt;
&lt;br /&gt;
%display(&#039;demorsed message:&#039;)&lt;br /&gt;
%display(outstring);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10349</id>
		<title>Matlab/Octave deMorse.m</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Matlab/Octave_deMorse.m&amp;diff=10349"/>
		<updated>2011-12-01T19:42:57Z</updated>

		<summary type="html">&lt;p&gt;Codlor: Created page with &amp;#039;  function outstring =  demorse(wavfile);  %demorse a morsed input wav file  vis_on = 0;  threshold = 0.05;  x = wavread(wavfile);  % half-wave rectify x x2 = abs(x);  % slow-wav…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
function outstring =  demorse(wavfile);&lt;br /&gt;
&lt;br /&gt;
%demorse a morsed input wav file&lt;br /&gt;
&lt;br /&gt;
vis_on = 0;&lt;br /&gt;
&lt;br /&gt;
threshold = 0.05;&lt;br /&gt;
&lt;br /&gt;
x = wavread(wavfile);&lt;br /&gt;
&lt;br /&gt;
% half-wave rectify x&lt;br /&gt;
x2 = abs(x);&lt;br /&gt;
&lt;br /&gt;
% slow-wave filter&lt;br /&gt;
y = filter(ones(1,20)/20,1, x2);&lt;br /&gt;
&lt;br /&gt;
% threshold (digitize) y&lt;br /&gt;
z = y &amp;gt; threshold;&lt;br /&gt;
% z is now effectively our morse signal&lt;br /&gt;
&lt;br /&gt;
if vis_on&lt;br /&gt;
   figure(1);&lt;br /&gt;
   subplot(3,1,1);&lt;br /&gt;
   plot(x, &#039;r&#039;);&lt;br /&gt;
   title(&#039;original signal&#039;);&lt;br /&gt;
   &lt;br /&gt;
   subplot(3,1,2);&lt;br /&gt;
   plot(y);&lt;br /&gt;
   title(&#039;HWR + Slow-wave filter -&amp;gt; envelope&#039;);&lt;br /&gt;
   subplot(3,1,3);&lt;br /&gt;
   plot(z, &#039;o&#039;, &#039;MarkerSize&#039;, 2);&lt;br /&gt;
   title(&#039;Digitized Morse signal&#039;)&lt;br /&gt;
   &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
%zero pad z so we always start with an onset&lt;br /&gt;
z = [zeros(10,1); z];&lt;br /&gt;
&lt;br /&gt;
% id tones/spaces   -----------------------&lt;br /&gt;
% --&amp;gt; find changes between 0/1 and 1/0&lt;br /&gt;
&lt;br /&gt;
b = diff(z);&lt;br /&gt;
% figure(3); plot(b, &#039;.&#039;);&lt;br /&gt;
% 1: change from 1 to 0&lt;br /&gt;
% 0: no change&lt;br /&gt;
% -1: change from 0 to 1&lt;br /&gt;
&lt;br /&gt;
c = b(b~=0);&lt;br /&gt;
c2 = find(b~=0);&lt;br /&gt;
&lt;br /&gt;
tokens = -c .* diff([0; c2]);&lt;br /&gt;
% value == length of token&lt;br /&gt;
% sign == tone/space&lt;br /&gt;
&lt;br /&gt;
% id shorts/longs  -----------------------&lt;br /&gt;
&lt;br /&gt;
% since short/long should be bi-modal dist, a regular average should give&lt;br /&gt;
% us a good cutoff point to distinguish between the two? (assuming equal&lt;br /&gt;
% counts of short and long...)&lt;br /&gt;
% use mean as simple cutoff point; smarter algorithms can get smarter about&lt;br /&gt;
% this classification if they want to.&lt;br /&gt;
&lt;br /&gt;
% 1: short, 2: long, +: tone, -: space&lt;br /&gt;
tokens2 = tokens;&lt;br /&gt;
&lt;br /&gt;
% cutoff tones, cutoff spaces;&lt;br /&gt;
cut_t = mean(tokens2(tokens2&amp;gt;0));&lt;br /&gt;
cut_s = mean(tokens2(tokens2&amp;lt;0));&lt;br /&gt;
&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;lt; cut_t) = 1;&lt;br /&gt;
tokens2(tokens &amp;gt; 0 &amp;amp; tokens &amp;gt; cut_t) = 2;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;gt; cut_s) = -1;&lt;br /&gt;
tokens2(tokens &amp;lt; 0 &amp;amp; tokens &amp;lt; cut_s) = -2;&lt;br /&gt;
&lt;br /&gt;
% now tokens 2 is a string of -1s, -2s, 1s, 2s, can trim first known space;&lt;br /&gt;
% put final endstop at end&lt;br /&gt;
tokens2 = [tokens2(2:end); -2];&lt;br /&gt;
&lt;br /&gt;
% can drop little spaces, b/c they don&#039;t matter when parsing;&lt;br /&gt;
tokens2(tokens2 == -1) = [];&lt;br /&gt;
tokens3 = tokens2;&lt;br /&gt;
tokens4 = {};&lt;br /&gt;
ctr = 1;&lt;br /&gt;
start_idx = 1;&lt;br /&gt;
&lt;br /&gt;
%parse&lt;br /&gt;
toparse = find(tokens3(start_idx:end) == -2);&lt;br /&gt;
&lt;br /&gt;
for j=1:length(toparse)&lt;br /&gt;
   a = toparse(j);&lt;br /&gt;
   temp = tokens3(start_idx:a-1);&lt;br /&gt;
   tokens4{j} = temp;&lt;br /&gt;
   % zeropad for easy comparison&lt;br /&gt;
   %tokens4{j} = [tokens4{j}; zeros(length(tokens4{j}), 1)];&lt;br /&gt;
   start_idx = a+1;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
    &lt;br /&gt;
% now tokens4 is de-codeable tokens... proceed to setup lookups&lt;br /&gt;
% letters&lt;br /&gt;
code{1} = [1 2 ];&lt;br /&gt;
code{2} = [2 1 1 1];&lt;br /&gt;
code{3} = [2 1 2 1];&lt;br /&gt;
code{4} = [2 1 1];&lt;br /&gt;
code{5} = [1];&lt;br /&gt;
code{6} = [1 1 2 1];&lt;br /&gt;
code{7} = [2 2 1];&lt;br /&gt;
code{8} = [1 1 1 1];&lt;br /&gt;
code{9} = [1 1];&lt;br /&gt;
code{10} = [1 2 2 2];&lt;br /&gt;
code{11} = [2 1 2];&lt;br /&gt;
code{12} = [1 2 1 1];&lt;br /&gt;
code{13} = [2 2];&lt;br /&gt;
code{14} = [2 1];&lt;br /&gt;
code{15} = [2 2 2];&lt;br /&gt;
code{16} = [1 2 2 1];&lt;br /&gt;
code{17} = [1 2 1 2];&lt;br /&gt;
code{18} = [1 2 1];&lt;br /&gt;
code{19} = [1 1 1];&lt;br /&gt;
code{20} = [2];&lt;br /&gt;
code{21} = [1 1 2];&lt;br /&gt;
code{22} = [1 1 1 2];&lt;br /&gt;
code{23} = [1 2 2];&lt;br /&gt;
code{24} = [2 1 1 2];&lt;br /&gt;
code{25} = [2 1 2 2];&lt;br /&gt;
code{26} = [2 2 1 1];&lt;br /&gt;
&lt;br /&gt;
% punct&lt;br /&gt;
code{27} = [1 2 1 2 1 2];&lt;br /&gt;
code{28} = [2 2 1 1 2 2];&lt;br /&gt;
code{29} = [1 1 2 2 1 1];    &lt;br /&gt;
code{30} = [2 1 1 2 1];&lt;br /&gt;
&lt;br /&gt;
% numbers&lt;br /&gt;
&lt;br /&gt;
code{31} = [1 2 2 2 2];&lt;br /&gt;
code{32} = [1 1 2 2 2];&lt;br /&gt;
code{33} = [1 1 1 2 2];&lt;br /&gt;
code{34} = [1 1 1 1 2];&lt;br /&gt;
code{35} = [1 1 1 1 1];&lt;br /&gt;
code{36} = [2 1 1 1 1];&lt;br /&gt;
code{37} = [2 2 1 1 1];&lt;br /&gt;
code{38} = [2 2 2 1 1];&lt;br /&gt;
code{39} = [2 2 2 2 1];&lt;br /&gt;
code{40} = [2 2 2 2 2];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
decode{1} = &#039;A&#039;;&lt;br /&gt;
decode{2} = &#039;B&#039;;&lt;br /&gt;
decode{3} = &#039;C&#039;;&lt;br /&gt;
decode{4} = &#039;D&#039;;&lt;br /&gt;
decode{5} = &#039;E&#039;;&lt;br /&gt;
decode{6} = &#039;F&#039;;&lt;br /&gt;
decode{7} = &#039;G&#039;;&lt;br /&gt;
decode{8} = &#039;H&#039;;&lt;br /&gt;
decode{9} = &#039;I&#039;;&lt;br /&gt;
decode{10} = &#039;J&#039;;&lt;br /&gt;
decode{11} = &#039;K&#039;;&lt;br /&gt;
decode{12} = &#039;L&#039;;&lt;br /&gt;
decode{13} = &#039;M&#039;;&lt;br /&gt;
decode{14} = &#039;N&#039;;&lt;br /&gt;
decode{15} = &#039;O&#039;;&lt;br /&gt;
decode{16} = &#039;P&#039;;&lt;br /&gt;
decode{17} = &#039;Q&#039;;&lt;br /&gt;
decode{18} = &#039;R&#039;;&lt;br /&gt;
decode{19} = &#039;S&#039;;&lt;br /&gt;
decode{20} = &#039;T&#039;;&lt;br /&gt;
decode{21} = &#039;U&#039;;&lt;br /&gt;
decode{22} = &#039;V&#039;;&lt;br /&gt;
decode{23} = &#039;W&#039;;&lt;br /&gt;
decode{24} = &#039;X&#039;;&lt;br /&gt;
decode{25} = &#039;Y&#039;;&lt;br /&gt;
decode{26} = &#039;Z&#039;;&lt;br /&gt;
decode{27} = &#039;.&#039;;&lt;br /&gt;
decode{28} = &#039;,&#039;;&lt;br /&gt;
decode{29} = &#039;?&#039;;&lt;br /&gt;
decode{30} = &#039;/&#039;;&lt;br /&gt;
decode{31} = &#039;1&#039;;&lt;br /&gt;
decode{32} = &#039;2&#039;;&lt;br /&gt;
decode{33} = &#039;3&#039;;&lt;br /&gt;
decode{34} = &#039;4&#039;;&lt;br /&gt;
decode{35} = &#039;5&#039;;&lt;br /&gt;
decode{36} = &#039;6&#039;;&lt;br /&gt;
decode{37} = &#039;7&#039;;&lt;br /&gt;
decode{38} = &#039;8&#039;;&lt;br /&gt;
decode{39} = &#039;9&#039;;&lt;br /&gt;
decode{40} = &#039;0&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
% compare tokens to tables&lt;br /&gt;
&lt;br /&gt;
out1 = [];&lt;br /&gt;
&lt;br /&gt;
for j = 1:length(tokens4)&lt;br /&gt;
    %zero pad temp_tok&lt;br /&gt;
    temp_tok = [tokens4{j}; zeros(6 - length(tokens4{j}), 1)];&lt;br /&gt;
    for k = 1:length(code)&lt;br /&gt;
        if (temp_tok == [code{k}&#039;; zeros(6 - length(code{k}), 1)]);&lt;br /&gt;
            out1(j) = char(decode{k});&lt;br /&gt;
            %display(decode{k})&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    % if didn&#039;t find a match&lt;br /&gt;
    if isempty(out1(j))&lt;br /&gt;
        out1(j) = &#039;_&#039;;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
% semi-prettify&lt;br /&gt;
outstring = 32*ones(2*length(out1),1);&lt;br /&gt;
outstring(2:2:end) = out1;&lt;br /&gt;
outstring = char(outstring&#039;);&lt;br /&gt;
&lt;br /&gt;
%display(&#039;demorsed message:&#039;)&lt;br /&gt;
%display(outstring);&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Signals_and_Systems&amp;diff=10348</id>
		<title>Signals and Systems</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Signals_and_Systems&amp;diff=10348"/>
		<updated>2011-12-01T19:40:02Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Topics ==&lt;br /&gt;
[[Fourier series - by Ray Betz|Overview of Signals and Systems]]&lt;br /&gt;
&lt;br /&gt;
===Individual Subjects===&lt;br /&gt;
*[[Linear Time Invariant System|Linear Time Invariant Systems]]&lt;br /&gt;
**[[The Game|&amp;quot;The Game&amp;quot;]]&lt;br /&gt;
*[[Orthogonal functions|Orthogonal Functions]]&lt;br /&gt;
*[[Energy in a signal|Finding the Energy in a Signal]]&lt;br /&gt;
**[[Rayleigh&#039;s Theorem]]&lt;br /&gt;
*[[Fourier series|Fourier Series]]&lt;br /&gt;
*[[Fourier transform|Fourier Transforms]]&lt;br /&gt;
**[[Discrete Fourier transform]]&lt;br /&gt;
*[[Sampling]]&lt;br /&gt;
*[[FIR Filter Example]]&lt;br /&gt;
*[[Relationship between e, sin and cos]]&lt;br /&gt;
&lt;br /&gt;
== Some Useful Links to Suppliment or Substitute for a Textbook ==&lt;br /&gt;
===Books on Signal Processing===&lt;br /&gt;
*[https://ccrma.stanford.edu/~jos/sasp/sasp.html Spectral Audio Signal Processing, by Julius O. Smith III]&lt;br /&gt;
*[http://www.dspguide.com/ The Scientist and Engineer&#039;s Guide to Digital Signal Processing by Steven W. Smith, Ph.D.]  The professor likes this one.&lt;br /&gt;
&lt;br /&gt;
===Fourier Series===&lt;br /&gt;
*[http://www.intmath.com/Fourier-series/Fourier-intro.php Interactive Mathematics (like a textbook with some examples)]&lt;br /&gt;
*[http://mathworld.wolfram.com/FourierSeries.html Mathworld]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Fourier_series Wikipedia]&lt;br /&gt;
*[http://web.mit.edu/2.14/www/Handouts/FreqDom.pdf MIT handout on Fourier Series, Fourier Transform, and Laplace Transform]&lt;br /&gt;
*[http://www.maths.mq.edu.au/~bon/Fourier%20Theory.pdf Fourier Theory B..M..N.. Clarke]&lt;br /&gt;
&lt;br /&gt;
===Dirac Delta Function and Convolution===&lt;br /&gt;
*[http://web.mit.edu/2.14/www/Handouts/Convolution.pdf MIT handout on Dirac Delta Function and Convolution]&lt;br /&gt;
&lt;br /&gt;
===Multi-rate Filtering===&lt;br /&gt;
&lt;br /&gt;
[http://www.google.com/url?url=http://www.mds.com/tech/filter/multirate_article.pdf&amp;amp;rct=j&amp;amp;sa=U&amp;amp;ei=pD_UTJqtKY6ksQPbzPWMCw&amp;amp;ved=0CBUQFjAA&amp;amp;q=Purcell+Multirate+Filters&amp;amp;usg=AFQjCNFsHM7ROpUdrQ6py9ZH_RhQ_BeigA Multirate Filters Introduction]&lt;br /&gt;
&lt;br /&gt;
[http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521_files/IV-05%20Polyphase%20FIlters_2007.pdf Slides from a Presentation on Polyphase Decimation and Interpolation by Mark Fowler]&lt;br /&gt;
&lt;br /&gt;
===FIR Filters===&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/fir This is a very easy-to-understand summary of FIR basics, properties, design, and implementation]&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/multirate/decimation Another easy-to-understand article about decimation]&lt;br /&gt;
&lt;br /&gt;
[http://www.dspguru.com/dsp/faqs/multirate/interpolation Another easy-to-understand article about interpolation]&lt;br /&gt;
&lt;br /&gt;
===Adaptive FIR Filters===&lt;br /&gt;
[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.6386&amp;amp;rep=rep1&amp;amp;type=pdf Introduction to Adaptive Filters, Simon Haykin]&lt;br /&gt;
&lt;br /&gt;
[http://saba.kntu.ac.ir/eecd/taghirad/E%20books/TOC/Adaptive%20Filters.pdf Simon Haykin&#039;s book chapter]&lt;br /&gt;
&lt;br /&gt;
[http://www.latticesemi.com/documents/doc22982x20.pdf?jsessionid=f0308ccf0f735471e49a6054323c5c177969 Adaptive LMS it an FPGA]&lt;br /&gt;
&lt;br /&gt;
====Constant Modulus Algorythm====&lt;br /&gt;
[http://ens.ewi.tudelft.nl/Education/courses/et4147/sheets/cma_leus.pdf Using the CMA on antenna arrays]&lt;br /&gt;
&lt;br /&gt;
===Course Pages===&lt;br /&gt;
[[2005-2006 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2006-2007 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2008-2009 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[[2009-2010 Assignments]]&lt;br /&gt;
&lt;br /&gt;
[http://people.wallawalla.edu/~Rob.Frohne/ClassNotes/engr455index.htm Class notes for Signals &amp;amp; Systems]&lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
&lt;br /&gt;
===Octave Tutorials===&lt;br /&gt;
[[Installing Octave on a Mac]] (Chris Lau)&lt;br /&gt;
&lt;br /&gt;
[[Octave and Scilab on a Mac]] (Ben Henry)&lt;br /&gt;
&lt;br /&gt;
[[ASN2 - Octave Tutorial]] (Jodi S. Hodge)&lt;br /&gt;
&lt;br /&gt;
[[A u(t) function example]]&lt;br /&gt;
&lt;br /&gt;
[[FIR Filter Example Code for Octave]]&lt;br /&gt;
&lt;br /&gt;
[[Leakage Example Octave Script]]&lt;br /&gt;
&lt;br /&gt;
[[Interpolation using the DFT Example Script]]&lt;br /&gt;
&lt;br /&gt;
[[Tuner Upper Removal Demonstration]]&lt;br /&gt;
&lt;br /&gt;
[[Airplane Noise Removal Demonstration]]&lt;br /&gt;
&lt;br /&gt;
===Final Project (2011)===&lt;br /&gt;
[[Matlab/Octave deMorse.m]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Table of Fourier Transform Properties]]===&lt;br /&gt;
&lt;br /&gt;
==Homework Assignments==&lt;br /&gt;
Please put your name next to the assignment, linking it to your submission&lt;br /&gt;
* HW #1 - Make a personal page on this wiki ([[Christopher Garrison Lau I|Chris Lau]])([[Jodi S. Hodge]])([[user:chris.wills|Chris Wills]])[[Shepherd,Victor|(Victor Shepherd)]]&lt;br /&gt;
* HW #2 - Write a tutorial about installing and/or using Octave ([[Installing Octave on a Mac|Chris Lau]])([[Jodi S. Hodge]])([[Octave|Victor Shepherd]])&lt;br /&gt;
* HW #3 - Show graphically that &amp;lt;math&amp;gt; \int_{-\infty}^{\infty} e^{j2\pi f(t-u)}\, df = \delta (t-u)&amp;lt;/math&amp;gt; ([[HW 3|Chris Lau]])([[Jodi S. Hodge]])([[user:chris.wills/HW3|Chris Wills]])([[Hw3|Victor Shepherd)]]&lt;br /&gt;
&lt;br /&gt;
* HW #4 - Given a linear time-invariant system where &amp;lt;math&amp;gt;\ u(t) &amp;lt;/math&amp;gt; produces an output &amp;lt;math&amp;gt;\ w(t) &amp;lt;/math&amp;gt;, find the output due to any function &amp;lt;math&amp;gt;\ x(t) &amp;lt;/math&amp;gt; ([[HW 4|Chris Lau]])&lt;br /&gt;
* HW #5: ([[HW 5|Chris Lau]])&lt;br /&gt;
** Part 1 -  Find &amp;lt;math&amp;gt; \mathcal{F}[e^{- \sigma t} x(t)u(t)] &amp;lt;/math&amp;gt; and relate it to the Laplace Transform. Derive the Inverse Laplace Transform of this from the inverse Fourier Transform.&lt;br /&gt;
** Part 2 - [[Image:20101006KeyDSCN3161.jpg|thumb|300px|center]]&lt;br /&gt;
&lt;br /&gt;
* HW #6 - Pick a property of the Fourier Transform &amp;amp; present it on the Wiki. Make a table with all your properties. Interpret your property. ([[HW 6|Ben Henry]])([[Table of Fourier Transform Properties|Chris Lau]])([[Table of Fourier Transform Properties|Victor Shepherd]])&lt;br /&gt;
* HW #7 - Finish the practice tests&lt;br /&gt;
* HW #8 - Make a page about interpolating FIR filters. Note how many multiply/add operations.([[Jodi S. Hodge]])([[Interpolating FIR filters|Chris Lau]])([[Hw8|Victor Shepherd]])&lt;br /&gt;
* HW #9 - Add to #8 writeup how to do a decimating filter and figure out how many multiply &amp;amp; adds are needed for a n/2 decimating low pass filter.([[Jodi S. Hodge]])([[Decimating FIR filters|Chris Lau]])([[Hw9|Victor Shepherd)]]&lt;br /&gt;
* HW #10 - Use Octave (or Mathlab or Silab) to plot the frequency response of low pass filters with cut off frequencies of 1/32T, 1/8T, and 1/4T and compare how many coeffficients are needed with an eye to answer the question &amp;quot;Is it less calculation to decimate and then filter, or better to put the filter in the pre-decimation filter?&amp;quot; ([[Jodi S. Hodge]])([[Hw10|Victor Shepherd)]]&lt;br /&gt;
* HW #11 - Is our method the same as Mark Fowler&#039;s? See &lt;br /&gt;
[http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/EE521_files/IV-05%20Polyphase%20FIlters_2007.pdf Wiki]. Same # multiply and adds? See Notes 11/3/10. ([[Jodi S. Hodge]])([[Hw11|Victor Shepherd)]]&lt;br /&gt;
* HW #12 - Experiment with a variety of signals having a 3Khz bandwidth to determine the resolution you can get when doing a cross correlation &amp;lt;math&amp;gt; \ r(m) =&lt;br /&gt;
&lt;br /&gt;
\displaystyle\sum\limits_{n=0}^{N-1} x(n) x(n+m) &amp;lt;/math&amp;gt;. You can generate the signals randomly and filter them to obtain the band-limited signals.  ([[Jodi S. Hodge]])&lt;br /&gt;
* HW #13 - Derive the following realtions:&lt;br /&gt;
**a)      &amp;lt;math&amp;gt;DFT(x(k-l))\!&amp;lt;/math&amp;gt;&lt;br /&gt;
**b)      &amp;lt;math&amp;gt; DFT(e^{j2 \pi lk/N}x(k)\!&amp;lt;/math&amp;gt;&lt;br /&gt;
**c)      &amp;lt;math&amp;gt;\sum\limits_{k=0}^{N-1} x(k)y(k)^{*}=c\sum\limits_{k=0}^{N-1} X(n)Y(n)^{*}&amp;lt;/math&amp;gt;  ([[Hw13|Victor Shepherd)]]&lt;br /&gt;
&lt;br /&gt;
* HW #14 - Come up with a use for an adaptiveFIR filter and make an Octave script to demonstrate it.  ([[Jodi S. Hodge]])([[Hw14|Victor Shepherd)]]&lt;br /&gt;
* HW #15 - Do Practice Exam II ([[Hw15|Victor Shepherd)]]&lt;br /&gt;
* [[CW-Robot Octave Simulation]]&lt;br /&gt;
&lt;br /&gt;
==People Involved with this Wiki==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2010-2011 Contributors===&lt;br /&gt;
[[Ben Henry|Ben Henry]]&lt;br /&gt;
&lt;br /&gt;
[[Christopher Garrison Lau I]]&lt;br /&gt;
&lt;br /&gt;
[[user:chris.wills|Chris Wills]]&lt;br /&gt;
&lt;br /&gt;
[[Jodi S. Hodge]]&lt;br /&gt;
&lt;br /&gt;
[[Luke Chilson]]&lt;br /&gt;
&lt;br /&gt;
[[Shepherd,Victor|Victor Shepherd]]&lt;br /&gt;
&lt;br /&gt;
===2009-2010 Contributors===&lt;br /&gt;
[[Nick Christman]]&lt;br /&gt;
&lt;br /&gt;
[[Joshua Sarris]]&lt;br /&gt;
&lt;br /&gt;
[[Kevin Starkey]]&lt;br /&gt;
&lt;br /&gt;
[[Max Woesner]]&lt;br /&gt;
&lt;br /&gt;
[[Jodi Hodge]]&lt;br /&gt;
&lt;br /&gt;
[[Corneliu Turturica]]&lt;br /&gt;
&lt;br /&gt;
===2008-2009 Contributors===&lt;br /&gt;
[[User:eric.clay|Eric Clay]]&lt;br /&gt;
&lt;br /&gt;
[[User:tsung-lin.yang|Chuck Yang]]&lt;br /&gt;
&lt;br /&gt;
[[User:elton.zebron|Elton Zebron]]&lt;br /&gt;
&lt;br /&gt;
[[User:Luke.chilson|Luke Chilson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Brandon.price|Brandon Price]]&lt;br /&gt;
&lt;br /&gt;
[[User:Fonggr|Greg Fong]]&lt;br /&gt;
&lt;br /&gt;
===2007-2008 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:baldwin.britton|Baldwin Britton]]&lt;br /&gt;
&lt;br /&gt;
[[User:Harrde|Denver Harris]]&lt;br /&gt;
&lt;br /&gt;
[[User:Pridma|Mark Priddy]]&lt;br /&gt;
&lt;br /&gt;
[[User:ChrisRas|Chris Rasmussen]]&lt;br /&gt;
&lt;br /&gt;
[[User:RothMi|Michael Roth]]&lt;br /&gt;
&lt;br /&gt;
[[User:Rothsa|Sally Roth]]&lt;br /&gt;
&lt;br /&gt;
===2006-2007 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:Smitry|Ryan J Smith]]&lt;br /&gt;
&lt;br /&gt;
[[User:Nathan|Nathan Ferch]]&lt;br /&gt;
&lt;br /&gt;
[[User:Andrew|Andrew Lopez]]&lt;br /&gt;
&lt;br /&gt;
[[User:Sherna|Nathan Sherman]]&lt;br /&gt;
&lt;br /&gt;
[[User:Adkich|Chris Adkins]]&lt;br /&gt;
&lt;br /&gt;
===2005-2006 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:GabrielaV|Gabriela Valdivia]]&lt;br /&gt;
&lt;br /&gt;
[[User:SDiver|Raymond Betz]]&lt;br /&gt;
&lt;br /&gt;
[[User:chrijen|Jenni Christensen]]&lt;br /&gt;
&lt;br /&gt;
[[User:wonoje|Jeffrey Wonoprabowo]]&lt;br /&gt;
&lt;br /&gt;
[[User:wilspa|Paul Wilson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Frohro|Instructor: Rob Frohne]]&lt;br /&gt;
&lt;br /&gt;
===2004-2005 contributors===&lt;br /&gt;
&lt;br /&gt;
[[User:Barnsa|Sam Barnes]]&lt;br /&gt;
&lt;br /&gt;
[[User:Santsh|Shawn Santana]]&lt;br /&gt;
&lt;br /&gt;
[[User:Goeari|Aric Goe]]&lt;br /&gt;
&lt;br /&gt;
[[User:Caswto|Todd Caswell]]&lt;br /&gt;
&lt;br /&gt;
[[User:Andeda|David Anderson]]&lt;br /&gt;
&lt;br /&gt;
[[User:Guenan|Anthony Guenterberg]]&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Tuner_Upper_Removal_Demonstration&amp;diff=10343</id>
		<title>Tuner Upper Removal Demonstration</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Tuner_Upper_Removal_Demonstration&amp;diff=10343"/>
		<updated>2011-11-29T01:38:56Z</updated>

		<summary type="html">&lt;p&gt;Codlor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; % Demonstration of LMS algorithm for noise cancellation.&lt;br /&gt;
 % Rich Kozick, Spring 1997&lt;br /&gt;
 % Rob Frohne&#039;s  modifications for Macintosh 2000. &lt;br /&gt;
 % Desired signal &lt;br /&gt;
 clear all&lt;br /&gt;
 Totaltime=1;&lt;br /&gt;
speak(&#039;Hit a key and speak the signal.&#039;);&lt;br /&gt;
pause;&lt;br /&gt;
[st, Fs] = recordsound(Totaltime, 22050, 1);&lt;br /&gt;
s = st&#039;;&lt;br /&gt;
Ls = length(s); &lt;br /&gt;
% Interference + random noise&lt;br /&gt;
speak(&#039;Hit a key and make the noise!&#039;);&lt;br /&gt;
pause;&lt;br /&gt;
[nt,Fs] = recordsound(Totaltime, 22050, 1);&lt;br /&gt;
n = nt&#039;;&lt;br /&gt;
%Sign = 0.01;&lt;br /&gt;
%Dn=20;  % Delay of the noise that appears in y.&lt;br /&gt;
%n = n(1:Ls) + Sign*randn(Ls,1);&lt;br /&gt;
%an = [0 .01 -.5 1 -.5 .1 .01 0];&lt;br /&gt;
an = 4*[0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 1 .5];&lt;br /&gt;
bn = [1];&lt;br /&gt;
%sys = tf(an,bn,1/Fs);&lt;br /&gt;
%bode(sys);&lt;br /&gt;
%figure(1);&lt;br /&gt;
nf = filter(an,bn,n);&lt;br /&gt;
%nf = [nf(Dn:(Ls)); zeros(Dn-1,1)] + Sign*randn(Ls,1);  &lt;br /&gt;
y = s + nf; &lt;br /&gt;
Sigx = 0.01;&lt;br /&gt;
bx = [1];       % bx and ax are filtering on n to produce x&lt;br /&gt;
ax = [1];&lt;br /&gt;
Dx = 1;        % Delay of n that appears in x&lt;br /&gt;
x = filter(bx, ax, n);%x = [x(Dx:(Ls)); zeros(Dx-1,1)] + Sigx*randn(Ls,1);&lt;br /&gt;
%x = n + Sigx*randn(Ls,1);  &lt;br /&gt;
speak(&#039;Here is the noisy signal.&#039;)&lt;br /&gt;
soundsc(y,Fs); &lt;br /&gt;
N = 20;         % Length of adaptive filter &lt;br /&gt;
% LMS algorithm for adaptive noise cancellation &lt;br /&gt;
h = zeros(N,1);&lt;br /&gt;
mu = 1/(10*N*var(x));&lt;br /&gt;
%mu = 1.0;&lt;br /&gt;
for k=N:Ls     xk = x(k:-1:(k-N+1));     nhat(k) = h&#039;*xk;     e(k) = - y(k) + nhat(k);     h = h - mu*e(k)*xk;%/(xk&#039;*xk);&lt;br /&gt;
end &lt;br /&gt;
% The signal estimate is in the vector e&lt;br /&gt;
speak(&#039;Here is the cleaned signal.&#039;);&lt;br /&gt;
soundsc(e,Fs);&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Tuner_Upper_Removal_Demonstration&amp;diff=10342</id>
		<title>Tuner Upper Removal Demonstration</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Tuner_Upper_Removal_Demonstration&amp;diff=10342"/>
		<updated>2011-11-29T01:38:31Z</updated>

		<summary type="html">&lt;p&gt;Codlor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; % Demonstration of LMS algorithm for noise cancellation.&lt;br /&gt;
 % Rich Kozick, Spring 1997&lt;br /&gt;
 % Rob Frohne&#039;s  modifications for Macintosh 2000. &lt;br /&gt;
 % Desired signal &lt;br /&gt;
 clear all&lt;br /&gt;
 Totaltime=1;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;speak(&#039;Hit a key and speak the signal.&#039;);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
pause;&lt;br /&gt;
[st, Fs] = recordsound(Totaltime, 22050, 1);&lt;br /&gt;
s = st&#039;;&lt;br /&gt;
Ls = length(s); &lt;br /&gt;
% Interference + random noise&lt;br /&gt;
speak(&#039;Hit a key and make the noise!&#039;);&lt;br /&gt;
pause;&lt;br /&gt;
[nt,Fs] = recordsound(Totaltime, 22050, 1);&lt;br /&gt;
n = nt&#039;;&lt;br /&gt;
%Sign = 0.01;&lt;br /&gt;
%Dn=20;  % Delay of the noise that appears in y.&lt;br /&gt;
%n = n(1:Ls) + Sign*randn(Ls,1);&lt;br /&gt;
%an = [0 .01 -.5 1 -.5 .1 .01 0];&lt;br /&gt;
an = 4*[0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 1 .5];&lt;br /&gt;
bn = [1];&lt;br /&gt;
%sys = tf(an,bn,1/Fs);&lt;br /&gt;
%bode(sys);&lt;br /&gt;
%figure(1);&lt;br /&gt;
nf = filter(an,bn,n);&lt;br /&gt;
%nf = [nf(Dn:(Ls)); zeros(Dn-1,1)] + Sign*randn(Ls,1);  &lt;br /&gt;
y = s + nf; &lt;br /&gt;
Sigx = 0.01;&lt;br /&gt;
bx = [1];       % bx and ax are filtering on n to produce x&lt;br /&gt;
ax = [1];&lt;br /&gt;
Dx = 1;        % Delay of n that appears in x&lt;br /&gt;
x = filter(bx, ax, n);%x = [x(Dx:(Ls)); zeros(Dx-1,1)] + Sigx*randn(Ls,1);&lt;br /&gt;
%x = n + Sigx*randn(Ls,1);  &lt;br /&gt;
speak(&#039;Here is the noisy signal.&#039;)&lt;br /&gt;
soundsc(y,Fs); &lt;br /&gt;
N = 20;         % Length of adaptive filter &lt;br /&gt;
% LMS algorithm for adaptive noise cancellation &lt;br /&gt;
h = zeros(N,1);&lt;br /&gt;
mu = 1/(10*N*var(x));&lt;br /&gt;
%mu = 1.0;&lt;br /&gt;
for k=N:Ls     xk = x(k:-1:(k-N+1));     nhat(k) = h&#039;*xk;     e(k) = - y(k) + nhat(k);     h = h - mu*e(k)*xk;%/(xk&#039;*xk);&lt;br /&gt;
end &lt;br /&gt;
% The signal estimate is in the vector e&lt;br /&gt;
speak(&#039;Here is the cleaned signal.&#039;);&lt;br /&gt;
soundsc(e,Fs);&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Cody_Lorenz&amp;diff=10287</id>
		<title>Cody Lorenz</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Cody_Lorenz&amp;diff=10287"/>
		<updated>2011-05-30T06:25:22Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* Cody Lorenz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==== 2011 Contributions ====&lt;br /&gt;
&lt;br /&gt;
* United States Frequency Allocations&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Cody_Lorenz&amp;diff=10286</id>
		<title>Cody Lorenz</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Cody_Lorenz&amp;diff=10286"/>
		<updated>2011-05-30T06:25:06Z</updated>

		<summary type="html">&lt;p&gt;Codlor: Created page with &amp;#039;= Cody Lorenz =  ==== 2011 Contributions ====  * United States Frequency Allocations&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cody Lorenz =&lt;br /&gt;
&lt;br /&gt;
==== 2011 Contributions ====&lt;br /&gt;
&lt;br /&gt;
* United States Frequency Allocations&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10285</id>
		<title>Engineering Electronics</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10285"/>
		<updated>2011-05-30T06:19:50Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* 2011 Contributors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Publish or Perish Game==&lt;br /&gt;
*[[Electronics Score Pages]]&lt;br /&gt;
*[[Rules]]&lt;br /&gt;
*[[Conference Deadlines]]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.ntia.doc.gov/osmhome/allochrt.pdf United States Frequency Allocations]&lt;br /&gt;
*[http://www.wallawalla.edu/academics/departments/engineering/students/classes/engr357/pcbtut/index.htm Mentor Graphics PCB Design]&lt;br /&gt;
*[http://www.dspguru.com/sites/dspguru//files/QuadSignals.pdf Quadrature Signals Explained]&lt;br /&gt;
* Software Defined Radio Links&lt;br /&gt;
**[http://people.wallawalla.edu/~Rob.Frohne/R2_DSP/9804x040.pdf R2 DSP (an early software defined radio using a dedicated DSP)]&lt;br /&gt;
**[http://www.nonstopsystems.com/radio/frank_radio_sdr.htm Softrock and Theory]&lt;br /&gt;
**[http://www.wb5rvz.com/sdr/ Softrock Build Instructions and Notes]&lt;br /&gt;
**[http://groups.yahoo.com/group/softrock40/ Softrock Yahoo Interest Group]&lt;br /&gt;
**[http://www.flex-radio.com/News.aspx?topic=publications This collection of Software Defined Radio publications is fantastic.]&lt;br /&gt;
**[http://www.sdradio.eu/sdradio/ SDRadio]&lt;br /&gt;
**[http://openhpsdr.org/ Open High Performance Software Defined Radio]&lt;br /&gt;
**[http://www.norcalqrp.org/files/Tayloe_mixer_x3a.pdf Tayloe Mixer]&lt;br /&gt;
**[http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=1000001258-1%3Aepsg%3Atcn&amp;amp;lc=eng&amp;amp;cc=US Vector Network Analyzer Basics]&lt;br /&gt;
**[http://www.m-audio.com/images/global/manuals/Delta44_Manual.pdf M-Audio Delta 44 Sound Card Manual]  This manual has useful specifications for determining the gain necessary for your software designed radio project.&lt;br /&gt;
**[http://focus.ti.com/lit/an/sloa093/sloa093.pdf Filter Design in 30 seconds]&lt;br /&gt;
&lt;br /&gt;
*Wideband Transformers&lt;br /&gt;
**[http://www.electronics-tutorials.com/basics/wide-band-rf-transformers.htm wideband transformers]&lt;br /&gt;
**[http://www.semelab.com/rf/documents/Push-Pull%20Circuits%20and%20Wideband%20Transformers.pdf more wideband transformers (PDF)]&lt;br /&gt;
&lt;br /&gt;
*[http://www.pericom.com/pdf/applications/AN047.pdf LVDS to PECL Interface]&lt;br /&gt;
*[http://www.fairchildsemi.com/an/AN/AN-780.pdf Positive Supply for ECL logic]&lt;br /&gt;
&lt;br /&gt;
* Good links that explain how Radio originated&lt;br /&gt;
**[http://fcc.gov/omd/history/radio/ Radio Development]&lt;br /&gt;
**[http://transition.fcc.gov/pshs/techtopics/techtopics4.html Introduction to Software Defined Radio]&lt;br /&gt;
&lt;br /&gt;
==2010 Contributors==&lt;br /&gt;
&lt;br /&gt;
#[[Greg Fong|Fong, Greg]]&lt;br /&gt;
#[[Ben Henry|Henry, Ben]]&lt;br /&gt;
#[[Lau, Chris]]&lt;br /&gt;
#[[Shepherd,Victor]]&lt;br /&gt;
#[[Vier, Michael]]&lt;br /&gt;
&lt;br /&gt;
==2011 Contributors==&lt;br /&gt;
#[[Brian Haddad|Haddad, Brian]]&lt;br /&gt;
#[[Michael von Pohle|von Pohle, Michael]]&lt;br /&gt;
#[[Matthew Blaire|Blaire, Matthew (Included in my name tag is Experimentation with LTspice)]]&lt;br /&gt;
#[[Cody Lorenz]]&lt;br /&gt;
&lt;br /&gt;
==2010 Articles==&lt;br /&gt;
*[[Ideal vs. Nonideal Op Amps]]&lt;br /&gt;
*[[Chapter 1]]&lt;br /&gt;
*[[Chapter 2]]&lt;br /&gt;
*[[Basic Op Amp circuits]]&lt;br /&gt;
*[[Key Facts from  Reading Chapter 1]]&lt;br /&gt;
*[[Golden Rules]]&lt;br /&gt;
*[[Integrator_Amplifier]] (by [[Ben Henry|Ben]])&lt;br /&gt;
*[[Circuit Board Layout Wisdom]]&lt;br /&gt;
&lt;br /&gt;
==Draft Articles==&lt;br /&gt;
These articles are not ready for reading and error checking. They are listed so people will not simultaneously write about similar topics.&lt;br /&gt;
&lt;br /&gt;
*[[Chapter 3 Problems]] by [[Ben Henry|Ben]] &lt;br /&gt;
* Disecting an Instrumentation Amplifier via [[Superposition]]&lt;br /&gt;
*[[Reading from Chapter 4]]&lt;br /&gt;
&lt;br /&gt;
==Draft Articles awaiting review==&lt;br /&gt;
*[[Feedback in Amplifiers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contributing Articles==&lt;br /&gt;
&lt;br /&gt;
*[[Generalized Transmitter]] (in progress, Luke)&lt;br /&gt;
*[[Generalized Receiver]] (in progress, Luke)&lt;br /&gt;
*[[Electronics Receiver]] (in progress, Kevin)&lt;br /&gt;
*[[Christman_GeneralizedReceiver|Generalized Receiver]] (Nick Christman)&lt;br /&gt;
*[[Generalized Receiver Explanation]] (Jodi Hodge)&lt;br /&gt;
*[[Eric&#039;s Generalized Receiver Explanation]] (Eric Clay)&lt;br /&gt;
*[[Yet another Generalized Receiver Explanation]] (Joshua Sarris)&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10284</id>
		<title>Engineering Electronics</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10284"/>
		<updated>2011-05-30T06:19:06Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Publish or Perish Game==&lt;br /&gt;
*[[Electronics Score Pages]]&lt;br /&gt;
*[[Rules]]&lt;br /&gt;
*[[Conference Deadlines]]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.ntia.doc.gov/osmhome/allochrt.pdf United States Frequency Allocations]&lt;br /&gt;
*[http://www.wallawalla.edu/academics/departments/engineering/students/classes/engr357/pcbtut/index.htm Mentor Graphics PCB Design]&lt;br /&gt;
*[http://www.dspguru.com/sites/dspguru//files/QuadSignals.pdf Quadrature Signals Explained]&lt;br /&gt;
* Software Defined Radio Links&lt;br /&gt;
**[http://people.wallawalla.edu/~Rob.Frohne/R2_DSP/9804x040.pdf R2 DSP (an early software defined radio using a dedicated DSP)]&lt;br /&gt;
**[http://www.nonstopsystems.com/radio/frank_radio_sdr.htm Softrock and Theory]&lt;br /&gt;
**[http://www.wb5rvz.com/sdr/ Softrock Build Instructions and Notes]&lt;br /&gt;
**[http://groups.yahoo.com/group/softrock40/ Softrock Yahoo Interest Group]&lt;br /&gt;
**[http://www.flex-radio.com/News.aspx?topic=publications This collection of Software Defined Radio publications is fantastic.]&lt;br /&gt;
**[http://www.sdradio.eu/sdradio/ SDRadio]&lt;br /&gt;
**[http://openhpsdr.org/ Open High Performance Software Defined Radio]&lt;br /&gt;
**[http://www.norcalqrp.org/files/Tayloe_mixer_x3a.pdf Tayloe Mixer]&lt;br /&gt;
**[http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=1000001258-1%3Aepsg%3Atcn&amp;amp;lc=eng&amp;amp;cc=US Vector Network Analyzer Basics]&lt;br /&gt;
**[http://www.m-audio.com/images/global/manuals/Delta44_Manual.pdf M-Audio Delta 44 Sound Card Manual]  This manual has useful specifications for determining the gain necessary for your software designed radio project.&lt;br /&gt;
**[http://focus.ti.com/lit/an/sloa093/sloa093.pdf Filter Design in 30 seconds]&lt;br /&gt;
&lt;br /&gt;
*Wideband Transformers&lt;br /&gt;
**[http://www.electronics-tutorials.com/basics/wide-band-rf-transformers.htm wideband transformers]&lt;br /&gt;
**[http://www.semelab.com/rf/documents/Push-Pull%20Circuits%20and%20Wideband%20Transformers.pdf more wideband transformers (PDF)]&lt;br /&gt;
&lt;br /&gt;
*[http://www.pericom.com/pdf/applications/AN047.pdf LVDS to PECL Interface]&lt;br /&gt;
*[http://www.fairchildsemi.com/an/AN/AN-780.pdf Positive Supply for ECL logic]&lt;br /&gt;
&lt;br /&gt;
* Good links that explain how Radio originated&lt;br /&gt;
**[http://fcc.gov/omd/history/radio/ Radio Development]&lt;br /&gt;
**[http://transition.fcc.gov/pshs/techtopics/techtopics4.html Introduction to Software Defined Radio]&lt;br /&gt;
&lt;br /&gt;
==2010 Contributors==&lt;br /&gt;
&lt;br /&gt;
#[[Greg Fong|Fong, Greg]]&lt;br /&gt;
#[[Ben Henry|Henry, Ben]]&lt;br /&gt;
#[[Lau, Chris]]&lt;br /&gt;
#[[Shepherd,Victor]]&lt;br /&gt;
#[[Vier, Michael]]&lt;br /&gt;
&lt;br /&gt;
==2011 Contributors==&lt;br /&gt;
#[[Brian Haddad|Haddad, Brian]]&lt;br /&gt;
#[[Michael von Pohle|von Pohle, Michael]]&lt;br /&gt;
#[[Matthew Blaire|Blaire, Matthew (Included in my name tag is Experimentation with LTspice)]]&lt;br /&gt;
&lt;br /&gt;
==2010 Articles==&lt;br /&gt;
*[[Ideal vs. Nonideal Op Amps]]&lt;br /&gt;
*[[Chapter 1]]&lt;br /&gt;
*[[Chapter 2]]&lt;br /&gt;
*[[Basic Op Amp circuits]]&lt;br /&gt;
*[[Key Facts from  Reading Chapter 1]]&lt;br /&gt;
*[[Golden Rules]]&lt;br /&gt;
*[[Integrator_Amplifier]] (by [[Ben Henry|Ben]])&lt;br /&gt;
*[[Circuit Board Layout Wisdom]]&lt;br /&gt;
&lt;br /&gt;
==Draft Articles==&lt;br /&gt;
These articles are not ready for reading and error checking. They are listed so people will not simultaneously write about similar topics.&lt;br /&gt;
&lt;br /&gt;
*[[Chapter 3 Problems]] by [[Ben Henry|Ben]] &lt;br /&gt;
* Disecting an Instrumentation Amplifier via [[Superposition]]&lt;br /&gt;
*[[Reading from Chapter 4]]&lt;br /&gt;
&lt;br /&gt;
==Draft Articles awaiting review==&lt;br /&gt;
*[[Feedback in Amplifiers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contributing Articles==&lt;br /&gt;
&lt;br /&gt;
*[[Generalized Transmitter]] (in progress, Luke)&lt;br /&gt;
*[[Generalized Receiver]] (in progress, Luke)&lt;br /&gt;
*[[Electronics Receiver]] (in progress, Kevin)&lt;br /&gt;
*[[Christman_GeneralizedReceiver|Generalized Receiver]] (Nick Christman)&lt;br /&gt;
*[[Generalized Receiver Explanation]] (Jodi Hodge)&lt;br /&gt;
*[[Eric&#039;s Generalized Receiver Explanation]] (Eric Clay)&lt;br /&gt;
*[[Yet another Generalized Receiver Explanation]] (Joshua Sarris)&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10283</id>
		<title>Engineering Electronics</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10283"/>
		<updated>2011-05-30T06:18:10Z</updated>

		<summary type="html">&lt;p&gt;Codlor: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Publish or Perish Game==&lt;br /&gt;
*[[Electronics Score Pages]]&lt;br /&gt;
*[[Rules]]&lt;br /&gt;
*[[Conference Deadlines]]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.ntia.doc.gov/osmhome/allochrt.pdf]&lt;br /&gt;
*[http://www.wallawalla.edu/academics/departments/engineering/students/classes/engr357/pcbtut/index.htm Mentor Graphics PCB Design]&lt;br /&gt;
*[http://www.dspguru.com/sites/dspguru//files/QuadSignals.pdf Quadrature Signals Explained]&lt;br /&gt;
* Software Defined Radio Links&lt;br /&gt;
**[http://people.wallawalla.edu/~Rob.Frohne/R2_DSP/9804x040.pdf R2 DSP (an early software defined radio using a dedicated DSP)]&lt;br /&gt;
**[http://www.nonstopsystems.com/radio/frank_radio_sdr.htm Softrock and Theory]&lt;br /&gt;
**[http://www.wb5rvz.com/sdr/ Softrock Build Instructions and Notes]&lt;br /&gt;
**[http://groups.yahoo.com/group/softrock40/ Softrock Yahoo Interest Group]&lt;br /&gt;
**[http://www.flex-radio.com/News.aspx?topic=publications This collection of Software Defined Radio publications is fantastic.]&lt;br /&gt;
**[http://www.sdradio.eu/sdradio/ SDRadio]&lt;br /&gt;
**[http://openhpsdr.org/ Open High Performance Software Defined Radio]&lt;br /&gt;
**[http://www.norcalqrp.org/files/Tayloe_mixer_x3a.pdf Tayloe Mixer]&lt;br /&gt;
**[http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=1000001258-1%3Aepsg%3Atcn&amp;amp;lc=eng&amp;amp;cc=US Vector Network Analyzer Basics]&lt;br /&gt;
**[http://www.m-audio.com/images/global/manuals/Delta44_Manual.pdf M-Audio Delta 44 Sound Card Manual]  This manual has useful specifications for determining the gain necessary for your software designed radio project.&lt;br /&gt;
**[http://focus.ti.com/lit/an/sloa093/sloa093.pdf Filter Design in 30 seconds]&lt;br /&gt;
&lt;br /&gt;
*Wideband Transformers&lt;br /&gt;
**[http://www.electronics-tutorials.com/basics/wide-band-rf-transformers.htm wideband transformers]&lt;br /&gt;
**[http://www.semelab.com/rf/documents/Push-Pull%20Circuits%20and%20Wideband%20Transformers.pdf more wideband transformers (PDF)]&lt;br /&gt;
&lt;br /&gt;
*[http://www.pericom.com/pdf/applications/AN047.pdf LVDS to PECL Interface]&lt;br /&gt;
*[http://www.fairchildsemi.com/an/AN/AN-780.pdf Positive Supply for ECL logic]&lt;br /&gt;
&lt;br /&gt;
* Good links that explain how Radio originated&lt;br /&gt;
**[http://fcc.gov/omd/history/radio/ Radio Development]&lt;br /&gt;
**[http://transition.fcc.gov/pshs/techtopics/techtopics4.html Introduction to Software Defined Radio]&lt;br /&gt;
&lt;br /&gt;
==2010 Contributors==&lt;br /&gt;
&lt;br /&gt;
#[[Greg Fong|Fong, Greg]]&lt;br /&gt;
#[[Ben Henry|Henry, Ben]]&lt;br /&gt;
#[[Lau, Chris]]&lt;br /&gt;
#[[Shepherd,Victor]]&lt;br /&gt;
#[[Vier, Michael]]&lt;br /&gt;
&lt;br /&gt;
==2011 Contributors==&lt;br /&gt;
#[[Brian Haddad|Haddad, Brian]]&lt;br /&gt;
#[[Michael von Pohle|von Pohle, Michael]]&lt;br /&gt;
#[[Matthew Blaire|Blaire, Matthew (Included in my name tag is Experimentation with LTspice)]]&lt;br /&gt;
&lt;br /&gt;
==2010 Articles==&lt;br /&gt;
*[[Ideal vs. Nonideal Op Amps]]&lt;br /&gt;
*[[Chapter 1]]&lt;br /&gt;
*[[Chapter 2]]&lt;br /&gt;
*[[Basic Op Amp circuits]]&lt;br /&gt;
*[[Key Facts from  Reading Chapter 1]]&lt;br /&gt;
*[[Golden Rules]]&lt;br /&gt;
*[[Integrator_Amplifier]] (by [[Ben Henry|Ben]])&lt;br /&gt;
*[[Circuit Board Layout Wisdom]]&lt;br /&gt;
&lt;br /&gt;
==Draft Articles==&lt;br /&gt;
These articles are not ready for reading and error checking. They are listed so people will not simultaneously write about similar topics.&lt;br /&gt;
&lt;br /&gt;
*[[Chapter 3 Problems]] by [[Ben Henry|Ben]] &lt;br /&gt;
* Disecting an Instrumentation Amplifier via [[Superposition]]&lt;br /&gt;
*[[Reading from Chapter 4]]&lt;br /&gt;
&lt;br /&gt;
==Draft Articles awaiting review==&lt;br /&gt;
*[[Feedback in Amplifiers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contributing Articles==&lt;br /&gt;
&lt;br /&gt;
*[[Generalized Transmitter]] (in progress, Luke)&lt;br /&gt;
*[[Generalized Receiver]] (in progress, Luke)&lt;br /&gt;
*[[Electronics Receiver]] (in progress, Kevin)&lt;br /&gt;
*[[Christman_GeneralizedReceiver|Generalized Receiver]] (Nick Christman)&lt;br /&gt;
*[[Generalized Receiver Explanation]] (Jodi Hodge)&lt;br /&gt;
*[[Eric&#039;s Generalized Receiver Explanation]] (Eric Clay)&lt;br /&gt;
*[[Yet another Generalized Receiver Explanation]] (Joshua Sarris)&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10251</id>
		<title>Engineering Electronics</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10251"/>
		<updated>2011-05-12T23:31:49Z</updated>

		<summary type="html">&lt;p&gt;Codlor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Publish or Perish Game==&lt;br /&gt;
*[[Electronics Score Pages]]&lt;br /&gt;
*[[Rules]]&lt;br /&gt;
*[[Conference Deadlines]]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.dspguru.com/sites/dspguru//files/QuadSignals.pdf Quadrature Signals Explained]&lt;br /&gt;
* Software Defined Radio Links&lt;br /&gt;
**[http://people.wallawalla.edu/~Rob.Frohne/R2_DSP/9804x040.pdf R2 DSP (an early software defined radio using a dedicated DSP)]&lt;br /&gt;
**[http://www.nonstopsystems.com/radio/frank_radio_sdr.htm Softrock and Theory]&lt;br /&gt;
**[http://www.wb5rvz.com/sdr/ Softrock Build Instructions and Notes]&lt;br /&gt;
**[http://groups.yahoo.com/group/softrock40/ Softrock Yahoo Interest Group]&lt;br /&gt;
**[http://www.flex-radio.com/News.aspx?topic=publications This collection of Software Defined Radio publications is fantastic.]&lt;br /&gt;
**[http://www.sdradio.eu/sdradio/ SDRadio]&lt;br /&gt;
**[http://openhpsdr.org/ Open High Performance Software Defined Radio]&lt;br /&gt;
**[http://www.norcalqrp.org/files/Tayloe_mixer_x3a.pdf Tayloe Mixer]&lt;br /&gt;
**[http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=1000001258-1%3Aepsg%3Atcn&amp;amp;lc=eng&amp;amp;cc=US Vector Network Analyzer Basics]&lt;br /&gt;
**[http://www.m-audio.com/images/global/manuals/Delta44_Manual.pdf M-Audio Delta 44 Sound Card Manual]  This manual has useful specifications for determining the gain necessary for your software designed radio project.&lt;br /&gt;
**[http://focus.ti.com/lit/an/sloa093/sloa093.pdf Filter Design in 30 seconds]&lt;br /&gt;
*[[Circuit Board Layout Hints]]&lt;br /&gt;
*Wideband Transformers&lt;br /&gt;
**[http://www.electronics-tutorials.com/basics/wide-band-rf-transformers.htm wideband transformers]&lt;br /&gt;
**[http://www.semelab.com/rf/documents/Push-Pull%20Circuits%20and%20Wideband%20Transformers.pdf more wideband transformers (PDF)]&lt;br /&gt;
&lt;br /&gt;
*[http://www.pericom.com/pdf/applications/AN047.pdf LVDS to PECL Interface]&lt;br /&gt;
*[http://www.fairchildsemi.com/an/AN/AN-780.pdf Positive Supply for ECL logic]&lt;br /&gt;
&lt;br /&gt;
==2010 Contributors==&lt;br /&gt;
&lt;br /&gt;
#[[Greg Fong|Fong, Greg]]&lt;br /&gt;
#[[Ben Henry|Henry, Ben]]&lt;br /&gt;
#[[Lau, Chris]]&lt;br /&gt;
#[[Shepherd,Victor]]&lt;br /&gt;
#[[Vier, Michael]]&lt;br /&gt;
&lt;br /&gt;
==2011 Contributors==&lt;br /&gt;
#[[Brian Haddad|Haddad, Brian]]&lt;br /&gt;
#[[Michael von Pohle|von Pohle, Michael]]&lt;br /&gt;
&lt;br /&gt;
==2010 Articles==&lt;br /&gt;
*[[Ideal vs. Nonideal Op Amps]]&lt;br /&gt;
*[[Chapter 1]]&lt;br /&gt;
*[[Chapter 2]]&lt;br /&gt;
*[[Basic Op Amp circuits]]&lt;br /&gt;
*[[Key Facts from  Reading Chapter 1]]&lt;br /&gt;
*[[Golden Rules]]&lt;br /&gt;
*[[Integrator_Amplifier]] (by [[Ben Henry|Ben]])&lt;br /&gt;
&lt;br /&gt;
==Draft Articles==&lt;br /&gt;
These articles are not ready for reading and error checking. They are listed so people will not simultaneously write about similar topics.&lt;br /&gt;
&lt;br /&gt;
*[[Chapter 3 Problems]] by [[Ben Henry|Ben]] &lt;br /&gt;
* Disecting an Instrumentation Amplifier via [[Superposition]]&lt;br /&gt;
*[[Reading from Chapter 4]]&lt;br /&gt;
&lt;br /&gt;
==Draft Articles awaiting review==&lt;br /&gt;
*[[Feedback in Amplifiers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contributing Articles==&lt;br /&gt;
&lt;br /&gt;
*[[Generalized Transmitter]] (in progress, Luke)&lt;br /&gt;
*[[Generalized Receiver]] (in progress, Luke)&lt;br /&gt;
*[[Electronics Receiver]] (in progress, Kevin)&lt;br /&gt;
*[[Christman_GeneralizedReceiver|Generalized Receiver]] (Nick Christman)&lt;br /&gt;
*[[Generalized Receiver Explanation]] (Jodi Hodge)&lt;br /&gt;
*[[Eric&#039;s Generalized Receiver Explanation]] (Eric Clay)&lt;br /&gt;
*[[Yet another Generalized Receiver Explanation]] (Joshua Sarris)&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
	<entry>
		<id>https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10250</id>
		<title>Engineering Electronics</title>
		<link rel="alternate" type="text/html" href="https://fweb.wallawalla.edu/class-wiki/index.php?title=Engineering_Electronics&amp;diff=10250"/>
		<updated>2011-05-12T23:30:58Z</updated>

		<summary type="html">&lt;p&gt;Codlor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Publish or Perish Game==&lt;br /&gt;
*[[Electronics Score Pages]]&lt;br /&gt;
*[[Rules]]&lt;br /&gt;
*[[Conference Deadlines]]&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://www.dspguru.com/sites/dspguru//files/QuadSignals.pdf Quadrature Signals Explained]&lt;br /&gt;
* Software Defined Radio Links&lt;br /&gt;
**[http://people.wallawalla.edu/~Rob.Frohne/R2_DSP/9804x040.pdf R2 DSP (an early software defined radio using a dedicated DSP)]&lt;br /&gt;
**[http://www.nonstopsystems.com/radio/frank_radio_sdr.htm Softrock and Theory]&lt;br /&gt;
**[http://www.wb5rvz.com/sdr/ Softrock Build Instructions and Notes]&lt;br /&gt;
**[http://groups.yahoo.com/group/softrock40/ Softrock Yahoo Interest Group]&lt;br /&gt;
**[http://www.flex-radio.com/News.aspx?topic=publications This collection of Software Defined Radio publications is fantastic.]&lt;br /&gt;
**[http://www.sdradio.eu/sdradio/ SDRadio]&lt;br /&gt;
**[http://openhpsdr.org/ Open High Performance Software Defined Radio]&lt;br /&gt;
**[http://www.norcalqrp.org/files/Tayloe_mixer_x3a.pdf Tayloe Mixer]&lt;br /&gt;
**[http://www.home.agilent.com/agilent/redirector.jspx?action=ref&amp;amp;cname=AGILENT_EDITORIAL&amp;amp;ckey=1000001258-1%3Aepsg%3Atcn&amp;amp;lc=eng&amp;amp;cc=US Vector Network Analyzer Basics]&lt;br /&gt;
**[http://www.m-audio.com/images/global/manuals/Delta44_Manual.pdf M-Audio Delta 44 Sound Card Manual]  This manual has useful specifications for determining the gain necessary for your software designed radio project.&lt;br /&gt;
**[http://focus.ti.com/lit/an/sloa093/sloa093.pdf Filter Design in 30 seconds]&lt;br /&gt;
*[[Circuit Board Layout Hints]]&lt;br /&gt;
*Wideband Transformers&lt;br /&gt;
**[http://www.electronics-tutorials.com/basics/wide-band-rf-transformers.htm wideband transformers]&lt;br /&gt;
**[http://www.semelab.com/rf/documents/Push-Pull%20Circuits%20and%20Wideband%20Transformers.pdf more wideband transformers (PDF)]&lt;br /&gt;
&lt;br /&gt;
*[http://www.pericom.com/pdf/applications/AN047.pdf LVDS to PECL Interface]&lt;br /&gt;
&lt;br /&gt;
==2010 Contributors==&lt;br /&gt;
&lt;br /&gt;
#[[Greg Fong|Fong, Greg]]&lt;br /&gt;
#[[Ben Henry|Henry, Ben]]&lt;br /&gt;
#[[Lau, Chris]]&lt;br /&gt;
#[[Shepherd,Victor]]&lt;br /&gt;
#[[Vier, Michael]]&lt;br /&gt;
&lt;br /&gt;
==2011 Contributors==&lt;br /&gt;
#[[Brian Haddad|Haddad, Brian]]&lt;br /&gt;
#[[Michael von Pohle|von Pohle, Michael]]&lt;br /&gt;
&lt;br /&gt;
==2010 Articles==&lt;br /&gt;
*[[Ideal vs. Nonideal Op Amps]]&lt;br /&gt;
*[[Chapter 1]]&lt;br /&gt;
*[[Chapter 2]]&lt;br /&gt;
*[[Basic Op Amp circuits]]&lt;br /&gt;
*[[Key Facts from  Reading Chapter 1]]&lt;br /&gt;
*[[Golden Rules]]&lt;br /&gt;
*[[Integrator_Amplifier]] (by [[Ben Henry|Ben]])&lt;br /&gt;
&lt;br /&gt;
==Draft Articles==&lt;br /&gt;
These articles are not ready for reading and error checking. They are listed so people will not simultaneously write about similar topics.&lt;br /&gt;
&lt;br /&gt;
*[[Chapter 3 Problems]] by [[Ben Henry|Ben]] &lt;br /&gt;
* Disecting an Instrumentation Amplifier via [[Superposition]]&lt;br /&gt;
*[[Reading from Chapter 4]]&lt;br /&gt;
&lt;br /&gt;
==Draft Articles awaiting review==&lt;br /&gt;
*[[Feedback in Amplifiers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contributing Articles==&lt;br /&gt;
&lt;br /&gt;
*[[Generalized Transmitter]] (in progress, Luke)&lt;br /&gt;
*[[Generalized Receiver]] (in progress, Luke)&lt;br /&gt;
*[[Electronics Receiver]] (in progress, Kevin)&lt;br /&gt;
*[[Christman_GeneralizedReceiver|Generalized Receiver]] (Nick Christman)&lt;br /&gt;
*[[Generalized Receiver Explanation]] (Jodi Hodge)&lt;br /&gt;
*[[Eric&#039;s Generalized Receiver Explanation]] (Eric Clay)&lt;br /&gt;
*[[Yet another Generalized Receiver Explanation]] (Joshua Sarris)&lt;/div&gt;</summary>
		<author><name>Codlor</name></author>
	</entry>
</feed>