<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Vishal's Summer Research</title>
	<atom:link href="http://vishalk.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vishalk.wordpress.com</link>
	<description>Some assembly required. But hopefully not MIPS.</description>
	<lastBuildDate>Thu, 28 Aug 2008 07:13:42 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='vishalk.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/fc3defe4f91fa4fa93b7eef5f507fcb3?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Vishal's Summer Research</title>
		<link>http://vishalk.wordpress.com</link>
	</image>
			<item>
		<title>A News Article About Me</title>
		<link>http://vishalk.wordpress.com/2008/08/28/a-news-article-about-me/</link>
		<comments>http://vishalk.wordpress.com/2008/08/28/a-news-article-about-me/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 07:11:03 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/?p=155</guid>
		<description><![CDATA[Hi all. Calit2 has published a news article about me. The link is below:
http://calit2.net/newsroom/article.php?id=1372. 

I will have more later, so stay tuned!
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=155&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi all. Calit2 has published a news article about me. The link is below:</p>
<p><a class="alignleft" title="Calit2 News Article" href="http://calit2.net/newsroom/article.php?id=1372" target="_blank">http://calit2.net/newsroom/article.php?id=1372.</a><span class="alignleft"> </span><a class="alignleft" title="Calit2 News Article" href="http://calit2.net/newsroom/article.php?id=1372" target="_blank"><br />
</a></p>
<p>I will have more later, so stay tuned!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/155/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/155/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/155/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=155&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/08/28/a-news-article-about-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>
	</item>
		<item>
		<title>Adventures in the Smart Spaces Lab.</title>
		<link>http://vishalk.wordpress.com/2008/08/09/adventures-in-the-smart-spaces-lab/</link>
		<comments>http://vishalk.wordpress.com/2008/08/09/adventures-in-the-smart-spaces-lab/#comments</comments>
		<pubDate>Sat, 09 Aug 2008 00:06:32 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/08/09/adventures-in-the-smart-spaces-lab/</guid>
		<description><![CDATA[Introduction

Hello all. It&#8217;s been awhile since I&#8217;ve done any documentation, so I will go ahead and start by talking about the actual setup in the Smart Spaces Lab here at Calit2. I&#8217;ll post the results I&#8217;ve been getting in another post.

The Technology

First, I&#8217;ll go into detail about the sound equipment I am using.

I&#8217;m using production-quality [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=154&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Introduction<br />
</strong></span></p>
<p style="margin-left:1pt;">Hello all. It&#8217;s been awhile since I&#8217;ve done any documentation, so I will go ahead and start by talking about the actual setup in the Smart Spaces Lab here at Calit2. I&#8217;ll post the results I&#8217;ve been getting in another post.
</p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>The Technology<br />
</strong></span></p>
<p style="margin-left:1pt;">First, I&#8217;ll go into detail about the sound equipment I am using.
</p>
<p style="margin-left:1pt;">I&#8217;m using production-quality digital microphones for my project. Here&#8217;s a photo of one:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi1.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">I&#8217;m using 16 of them to make 4 clusters of 4 microphones. Here&#8217;s a shot of them.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi2.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">The microphones will connect to a sound card, shown below. (It&#8217;s the black box.)
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi3.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">The three steel boxes below it are called pre-amplifiers. Their job is to clean the signal from the microphones and send it to the sound card. The sound card then sends the signal to a computer, shown here:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi4.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">For those of you who are engineering-inclined, here&#8217;s a schematic showing all the connections.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi5.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Building It<br />
</strong></span></p>
<p style="margin-left:1pt;">It&#8217;s time to roll up our sleeves and have at it. First order of business is the extension cords. The microphone cable is about 5 feet long, but we&#8217;ll need a lot more wire than that for our experiment. But to avoid a tangled and potentially damaging mess, some preparation is required. That means turning this…
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi6.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">…into this.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi7.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">You might notice that I have color coded and labeled every connector. With 16 connections, this is essential, for organization. We will be mounting these clusters using a speaker stand:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi8.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">You can see that the stand has a strange-looking piece of aluminum on it. This piece is part of something called the Industrial Erector Set.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi9.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">The industrial erector set is just that&#8211;a set for building things.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi10.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">We&#8217;ll be building clusters with this set.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi11.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">Here&#8217;s a picture of the final product, waiting to be connected to our sound card.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi12.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">I have put foam caps over the microphones, to make sure they fit snugly and that they are insulated from any vibrations in the aluminum.
</p>
<p style="margin-left:1pt;">However, I found that the spacing in these clusters was too small, and I couldn&#8217;t measure the time delay, due to a resolution effect, which I will explain in another post. I rebuilt the cluster to have a much wider spacing.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi13.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">Currently, I&#8217;m running tests on the effectiveness of this new cluster at forming vectors towards a source.  My source of sound is a PC speaker connected to my laptop.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi14.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">From the desktop computer, I remotely play a music file on the laptop, and record the sounds the microphones pick up using a program called Adobe Audition. Here&#8217;s what a recording looks like
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi15.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;"> And that&#8217;s what I&#8217;m up to for now. See you later!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/154/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/154/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=154&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/08/09/adventures-in-the-smart-spaces-lab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi1.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi2.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi3.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi4.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi5.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi6.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi7.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi8.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi9.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi10.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi11.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi12.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi13.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi14.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/08/080908-0005-adventuresi15.png" medium="image" />
	</item>
		<item>
		<title>My Experiment Setup: The Non-Technical Version</title>
		<link>http://vishalk.wordpress.com/2008/07/24/my-experiment-setup-the-non-technical-version/</link>
		<comments>http://vishalk.wordpress.com/2008/07/24/my-experiment-setup-the-non-technical-version/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 08:15:39 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/07/24/my-experiment-setup-the-non-technical-version/</guid>
		<description><![CDATA[Introduction

This is the layout for my experiment. As you might remember, I am working on an acoustic localization project. By acoustic localization I mean the tracking of an object by the sound it makes. I&#8217;ve adapted the post from my own blog to make it friendly to even non-engineers. 

The Goal

We aim to test a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=138&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Introduction<br />
</strong></span></p>
<p style="margin-left:1pt;">This is the layout for my experiment. As you might remember, I am working on an acoustic localization project. By acoustic localization I mean the tracking of an object by the sound it makes. I&#8217;ve adapted the post from my own blog to make it friendly to even non-engineers. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
</p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>The Goal<br />
</strong></span></p>
<p style="margin-left:1pt;">We aim to test a localization network using a pseudo-testbed. When I say testbed, I mean a system that tests an idea (in this case, my theory of localization). When I say pseudo-testbed, I mean that the testbed can&#8217;t actually localize the sound; it just collects data for me to work with. The idea is to see how noise in the room will affect my localization theory. The experiment consists of 2 parts: Record, and Process.
</p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Part 1: Record<br />
</strong></span></p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen1.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">While this flow chart might look a little scary, it&#8217;s easy to understand. The orange dots represent microphones. I want a setup with 16 microphones arranged in 4 clusters, with 4 microphones per cluster. Each microphone will have its own channel of audio on a sound card. Most people know 2-channel audio as stereo:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen2.png">
	</p>
<p style="margin-left:1pt;"> I&#8217;ll need 16 channels of audio to record sound from my 16 microphones. The reason why I can&#8217;t do it with fewer channels is the same reason why you can&#8217;t fit 7 sodas into a six-pack—it simply won&#8217;t fit. Each microphone needs its own channel in the same way each bottle in the six-pack needs its own slot.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen3.png">
	</p>
<p style="margin-left:1pt;">We connect our 16 microphones to 16 channels on a sound card, like the one below:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen4.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">I will set up the sound card to output a computer file for every cluster. The file will have 4 channels, which will correspond to the individual members of the cluster.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen5.png">
	</p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Part 2: Process<br />
</strong></span></p>
<p style="margin-left:1pt;">
		<img src="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen6.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">Though this flowchart might look even scarier than its sibling, it&#8217;s very simple to explain. I open a program in MATLAB, which will read all my 4 files, and perform all the calculations required to get the location of the source. You might say that this process is similar to a high school physics lab, where you copy down all the data in the lab, and then figure out if your experiment worked (or didn&#8217;t work) the night before the lab is due . . . uh, I mean, after you collect the data. Hopefully I won&#8217;t get anything mixed up.
</p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Technical Layout<br />
</strong></span></p>
<p style="margin-left:1pt;">I will be recording in the Smart Spaces Lab on the 5th floor of Calit2. The space available for testing is 90&#8243; wide, 173&#8243; deep, and 120&#8243; in height. It&#8217;s a &#8220;glass house&#8221;- meaning that there are no actual walls, just tape marks on the floor. This will help us as we will not have to worry as much about echoes created when the sound bounces off real walls.
</p>
<p style="margin-left:1pt;">I will place microphones at the midpoints of the rectangle bounding the room for my first configuration.  The overhead view should look like the following:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen7.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">Each of the blocks represents a speaker stand outfitted to carry 4 microphones in a cross pattern.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen8.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">I&#8217;ll need to record about 5 sets of data to get a good idea of how my method is working. I&#8217;m also interested in trying out other microphone setups, to see how they handle the noise.
</p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Conclusion<br />
</strong></span></p>
<p style="margin-left:1pt;">This method isn&#8217;t as exciting as a real-time test bed, but analytically it&#8217;s a better setup, because it allows me to reprocess the same data in the same conditions multiple times, ensuring consistency. Please, if you have any questions, comment, or email me at <a href="mailto:vishal@ucsd.edu">vishal@ucsd.edu</a>. See ya!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/138/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/138/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=138&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/07/24/my-experiment-setup-the-non-technical-version/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen1.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen2.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen3.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen4.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen5.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen6.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen7.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072408-0815-myexperimen8.png" medium="image" />
	</item>
		<item>
		<title>Experiment Setup</title>
		<link>http://vishalk.wordpress.com/2008/07/23/experiment-setup/</link>
		<comments>http://vishalk.wordpress.com/2008/07/23/experiment-setup/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 23:34:26 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/07/23/experiment-setup/</guid>
		<description><![CDATA[Introduction

We aim to test a localization network using a pseudo-testbed. While it cannot localize in real-time, it will provide more meaningful data about noise and the impact it can have on localization, and will give us a better idea of performance.

The following flowcharts explain how the system works:


		
The orange dots represent omni-directional microphones. I want [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=113&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Introduction<br />
</strong></span></p>
<p style="margin-left:1pt;">We aim to test a localization network using a pseudo-testbed. While it cannot localize in real-time, it will provide more meaningful data about noise and the impact it can have on localization, and will give us a better idea of performance.
</p>
<p style="margin-left:1pt;">The following flowcharts explain how the system works:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments1.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">The orange dots represent omni-directional microphones. I want a setup with 16 microphones arranged in 4 clusters, with 4 microphones per cluster. Each microphone will have its own channel of audio on a sound card, like the one below:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments2.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">I will set up the sound card to output a .wav file for every cluster . The .wav file will have 4 channels, which will correspond to the individual members of the cluster. The rest of the process follows the following flowchart:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments3.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">We open the .wav files in MATLAB, and operate on them using a simulator, which creates a source estimate.  We can implement any simulator with the exact same data (.wav files), meaning we can run as many simulations as we want.
</p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Technical Layout<br />
</strong></span></p>
<p style="margin-left:1pt;">I will be recording in the Smart Spaces Lab on the 5th floor of Calit2. The space available for testing is 90&#8243; wide, 173&#8243; deep, and 120&#8243; in height. It&#8217;s a &#8220;glass house&#8221;- meaning that there are no actual walls, just tape marks on the floor. This will help us as we will not have to worry as much about reverberation.
</p>
<p style="margin-left:1pt;">I will place microphones at the midpoints of the rectangle bounding the room  for my first configuration.  The overhead view should look like the following:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments4.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">Each of the blocks represents a speaker stand outfitted to carry 4 microphones like so:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments5.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">I will make at least 5 separate recordings with varied source locations to test the method with, then try other localization schemes.
</p>
<p style="margin-left:1pt;"><span style="font-size:13pt;"><strong>Conclusion<br />
</strong></span></p>
<p style="margin-left:1pt;">This method isn&#8217;t as exciting as a real-time test bed, but analytically it&#8217;s a better setup, because it allows me to reprocess the same data in the same conditions multiple times, ensuring consistency.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/113/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/113/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/113/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=113&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/07/23/experiment-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments1.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments2.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments3.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments4.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/072308-2334-experiments5.png" medium="image" />
	</item>
		<item>
		<title>Project Reflection</title>
		<link>http://vishalk.wordpress.com/2008/07/16/project-reflection/</link>
		<comments>http://vishalk.wordpress.com/2008/07/16/project-reflection/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 02:09:57 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/07/16/project-reflection/</guid>
		<description><![CDATA[I figure I should document my achievements up to this point.

What Works


TDOA Simulator. I have built a simulator which will define a room with 4 microphone clusters. The simulator will then randomly pick a source location, and then calculate the time delays the microphone pairs would pick up. Then, each cluster generates a vector back [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=107&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:20pt;">I figure I should document my achievements up to this point.
</p>
<p style="margin-left:20pt;"><span style="font-size:13pt;"><strong>What Works<br />
</strong></span></p>
<ul>
<li><strong>TDOA Simulator.</strong> I have built a simulator which will define a room with 4 microphone clusters. The simulator will then randomly pick a source location, and then calculate the time delays the microphone pairs would pick up. Then, each cluster generates a vector back towards the source. The measurements the cluster uses can be injected with random Gaussian noise if so desired. <span style="font-size:13pt;"><br />
			</span></li>
<li><strong>PCI Functions.</strong> I implemented Brandstein et al&#8217;s method for finding points of closest intersection. The function creates the over determined system I described in my notes, and then uses the least-squares method to solve for the desired parameters. I have called this &#8220;open-form&#8221; because, well, it&#8217;s not a closed-form solution. That is to say, this method is not a general solution I can plug in values to and get an answer. Having a closed-form equation is desirable for real-time situations, because it&#8217;s easier to process. UPDATE: I now have the closed-form equation. It is a little too much to go into here, but I will post up notes on it soon.<span style="font-size:13pt;"><br />
			</span></li>
<li><strong>Coordinate Transformation.</strong> I have an algorithm that can translate vectors from the microphone&#8217;s coordinate system to the room&#8217;s coordinate system. However, this algorithm only works for rooms that are perfectly rectangular. That is to say, a room with only four walls that meet at 90-degree angles. Though this is the kind of room that is a Cartesian coordinate system implies, I&#8217;ve yet to see a room that is perfectly rectangular. Most rooms have some sort of taper, projection into the room, alcove, etc, that prevent it from being perfectly rectangular.<span style="font-size:13pt;"><br />
			</span></li>
<li><strong>Centralized Method.</strong> I have built an add-on to the TDOA simulator that emulates the setup used by Brandstein et al. This simulator emulates the ML estimator, but it limits the field of search to the points of closest intersection (PCI ) of the lines. This simulator is fairly robust with &#8220;noise&#8221; of +/- 0.01 seconds&#8211;impressive when the time delay is on the order of .0001 seconds.<span style="font-size:13pt;"><br />
			</span></li>
<li>
<div><strong>Orthogonal Projection Method .</strong> I have the algorithm that can find the intersection of lines using the orthogonal projection method I showed in my previous notes. This method can function both with and without noise. To force a convergence to a single point, the algorithm will apply a &#8220;relaxation term&#8221; which will limit the contribution individual members of the ring make to the final estimate. <span style="font-size:13pt;"><br />
				</span></div>
<p><span style="font-size:13pt;"><strong>What Needs Work<br />
</strong></span></p>
</li>
<li><strong>New Microphone Geometries</strong>. To simplify the process of calculating vectors, Brandstein et al fixed the microphones to a cross-shaped geometry. While this does seem to work fairly well, It&#8217;s hardly enough for me to rehash the contents of an old paper with a new estimator. What&#8217;s to stop us from having 8 microphones arranged in a circle. To that point, what about a ring of microphones? What&#8217;s the formula for getting the vector when you have N microphones arranged in a certain pattern (ring, sphere, cube, etc.) This will be tough, but this is what will make my research mean something. <span style="font-size:13pt;"><br />
			</span></li>
<li><strong>Developing the Wireless Network.</strong> I will need to conceive the network&#8217;s workings. I have a simulator that lays out <em>what</em> the distributive network does, but not <em>how</em> the network goes about accomplishing it. Things I will need to consider include efficiency of the network, &#8220;race conditions&#8221; (where the output changes depending on which input gets there first), how to handle things such as ring convergence, and how to report the final estimate. The trick is to make maximum utility of the hardware while keeping the network under control. The collaborative network has had mention in multiple papers, and Paolo has implemented it before. The only issue is that in papers, people are more interested in theory rather than implementation, so it&#8217;s hard to avoid reinventing the wheel. <span style="font-size:13pt;"><br />
			</span></li>
<li><strong>Hardware/Testbed.</strong> I need to find a space where I can conduct experiments, and get hardware that will do the job. There is a smart space available on the 5th floor of Calit2 that can conduct these experiments. The issue on hand is figuring out how to get the information from 4+ microphones to a computer for analysis. Though up until now Paolo has been taking the lead, I will need to take the initiative on this. I have a list of contacts ready, and will need to figure out the most cost-efficient way to build the needed hardware (if it needs to be built at all). If I&#8217;m lucky, I&#8217;ll be able to borrow existing hardware and avoid the issue altogether.<span style="font-size:13pt;"><br />
			</span></li>
<li>
<div><strong>Abstract</strong>. I need to develop my abstract and title for the Undergraduate Research Conference in August. This will take some conversing with Paolo, and will (hopefully) not take too long.<span style="font-size:13pt;"><br />
				</span></div>
<p> <br />
 </p>
</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/107/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/107/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=107&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/07/16/project-reflection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>
	</item>
		<item>
		<title>Orthogonal Projection vs PCI</title>
		<link>http://vishalk.wordpress.com/2008/07/14/orthogonal-projection-vs-pci/</link>
		<comments>http://vishalk.wordpress.com/2008/07/14/orthogonal-projection-vs-pci/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 22:44:09 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/07/14/orthogonal-projection-vs-pci/</guid>
		<description><![CDATA[I have completed simulators which emulate the performance of a centralized localization scheme (where all microphone clusters communicate with a single computer) and that of a distributive localization scheme (where microphones collaborate).

I also created a statistics test bench which shows the performance of the algorithm.


		
The red line shows the centralized scheme of localization, and the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=106&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:1pt;">I have completed simulators which emulate the performance of a centralized localization scheme (where all microphone clusters communicate with a single computer) and that of a distributive localization scheme (where microphones collaborate).
</p>
<p style="margin-left:1pt;">I also created a statistics test bench which shows the performance of the algorithm.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071408-2244-orthogonalp1.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">The red line shows the centralized scheme of localization, and the blue one shows the distributive scheme of localization. Bias is the distance between the source location and the scheme&#8217;s estimate. Because my distributive scheme is iterative, I also kept track of the number of estimates it took for the method to converge. Each point of data on this graph is the average of 100 trials.
</p>
<p style="margin-left:1pt;">The x-axis gives the maximum error in the time-delay measurement.
</p>
<p style="margin-left:1pt;">The graphs tell us 3 things. First, we know the limit of the noise that either system can manage with. Both systems fall apart at around the same level of noise.  Second, since the curves are for the most part on top of each other, the two methods are comparable (very good news). Third, it will take anywhere between 18-20 estimates to ascertain a solution. This means, for a 4-sensor network, each sensor makes  4 or 5 calculations&#8211;making this method very fast. There is also no need to fiddle with a random variable, unlike with the centralized method.
</p>
<p style="margin-left:1pt;">Here&#8217;s where things get interesting. My question now is this: What happens when we try a new microphone geometry? We&#8217;ve been working so far with this:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071408-2244-orthogonalp2.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">What happens when we try something like this?
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071408-2244-orthogonalp3.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">With 8 microphones in a cluster, we can no longer use the notion of cones to come up with the intersection. Now we have at least 4 cones to contend with. With noise, we&#8217;d need an estimator just to get the vector.
</p>
<p style="margin-left:1pt;">But what if we can find another way to do it? Thinking back on what the time delay lets us do:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071408-2244-orthogonalp4.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">We have an arc of all possible directions, which ranges from 0 to 180 degrees. The black vector is the vector given from the time delay. The green and orange vectors compose the black vector. If we can come up with a scheme that properly translates these vectors, we&#8217;ll have no need for a cone.
</p>
<p style="margin-left:1pt;">And so begins the next task.
</p>
<p style="margin-left:1pt;"> <br />
 </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/106/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/106/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=106&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/07/14/orthogonal-projection-vs-pci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071408-2244-orthogonalp1.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071408-2244-orthogonalp2.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071408-2244-orthogonalp3.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071408-2244-orthogonalp4.png" medium="image" />
	</item>
		<item>
		<title>Orthogonal Projection &#8211; Resolved</title>
		<link>http://vishalk.wordpress.com/2008/07/14/orthogonal-projection-resolved/</link>
		<comments>http://vishalk.wordpress.com/2008/07/14/orthogonal-projection-resolved/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 00:40:23 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/07/14/orthogonal-projection-resolved/</guid>
		<description><![CDATA[

I&#8217;ve come up with a resolution to the ring convergence problem. Will post the formula later.


MATLAB report:





13-Jul-2008 17:17:33

&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;

Source Location

[0.059564,1.0961,8.1876]

Ring convergence found

Applying relaxation term.

Estimate=[0.055027,1.113,8.1881]

Statistics:

Injected Gaussian Noise with mean=0 and variance=0.001

Estimates Needed=45

Bias=0.00030764





       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=99&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:5pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071408-0040-orthogonalp1.png" alt="" /><span style="font-size:12pt;font-family:Times New Roman;"><br />
</span></p>
<p style="margin-left:5pt;">I&#8217;ve come up with a resolution to the ring convergence problem. Will post the formula later.</p>
<p style="margin-left:5pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071408-0040-orthogonalp2.png" alt="" /><span style="font-size:12pt;font-family:Times New Roman;"><br />
</span></p>
<p style="margin-left:5pt;">MATLAB report:</p>
<div style="margin-left:5pt;">
<table style="border-collapse:collapse;" border="0">
<col></col>
<tbody>
<tr>
<td style="border-top:solid #a3a3a3 1pt;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><span style="font-family:Consolas;"><strong>13-Jul-2008 17:17:33<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>Source Location<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>[0.059564,1.0961,8.1876]<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>Ring convergence found<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>Applying relaxation term.<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>Estimate=[0.055027,1.113,8.1881]<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>Statistics:<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>Injected Gaussian Noise with mean=0 and variance=0.001<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>Estimates Needed=45<br />
</strong></span></p>
<p><span style="font-family:Consolas;"><strong>Bias=0.00030764</strong></span></td>
</tr>
</tbody>
</table>
</div>
<p style="margin-left:5pt;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/99/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/99/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=99&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/07/14/orthogonal-projection-resolved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071408-0040-orthogonalp1.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071408-0040-orthogonalp2.png" medium="image" />
	</item>
		<item>
		<title>Orthogonal Projection Method</title>
		<link>http://vishalk.wordpress.com/2008/07/13/orthogonal-projection-method/</link>
		<comments>http://vishalk.wordpress.com/2008/07/13/orthogonal-projection-method/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 22:33:49 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/07/13/orthogonal-projection-method/</guid>
		<description><![CDATA[Today, we&#8217;ll see how to find the intersection of 2 lines using orthogonal vectors. This is key to understanding the collaborative method of localization.

Imagine we have 2 lines that intersect.


		
These lines are assumed to go on in infinity. All we know about these lines is their starting point and what direction they go in. In [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=96&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:1pt;">Today, we&#8217;ll see how to find the intersection of 2 lines using orthogonal vectors. This is key to understanding the collaborative method of localization.
</p>
<p style="margin-left:1pt;">Imagine we have 2 lines that intersect.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp1.gif"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">These lines are assumed to go on in infinity. All we know about these lines is their starting point and what direction they go in. In our example, the starting points are x1 and x2, and the direction is given by v1 and v2, respectively. First, we find the vector that goes from x1 to x2. We will call this vector vd.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp2.gif"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">Next, we project this vector vd onto the line starting at x1. The projection becomes the new x1.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp3.gif"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">We notice that the new x1 is closer to our point of intersection than the old x1. The points x1 and x2 should be seen as estimates of the point of intersection. As we keep repeating this process, our estimates will get better and better:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp4.gif"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">Now, x2 is almost at the point of intersection. With another 2 rounds through this cycle, we should be able to estimate the intersection down to +/- 0.001 units. When the length of vd (the distance between x1 and x2) becomes small enough, we stop the process.
</p>
<p style="margin-left:1pt;">We can use this for lines that intersect in 3D space too. Here&#8217;s a picture.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp5.gif"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">A closeup shows the two estimates getting more and more refined.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp6.gif"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">These pictures come from a testbench I set up in MATLAB. Here&#8217;s the text report.
</p>
<p style="margin-left:1pt;"><span style="font-family:Consolas;"><strong>Initial<br />
</strong></span></p>
<p style="margin-left:1pt;"><span style="font-family:Consolas;"><strong>3.6228 2.1775 1.9881<br />
</strong></span></p>
<p style="margin-left:1pt;"><span style="font-family:Consolas;"><strong>Estimate<br />
</strong></span></p>
<p style="margin-left:1pt;"><span style="font-family:Consolas;"><strong>3.6228 2.1775 1.9881<br />
</strong></span></p>
<p style="margin-left:1pt;"><span style="font-family:Consolas;"><strong>Bias=1.627e-030<br />
</strong></span></p>
<p style="margin-left:1pt;">Bias is the difference between the actual intersection and my estimation.
</p>
<p style="margin-left:1pt;">As you can see, it&#8217;s pretty accurate, and it will work for any number of lines, too:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp7.gif"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">This is a simple way to collaboratively find the intersection of two points. All a cluster needs is a point on a neighboring line, and it can then project it onto its line. It can then pass its projected point onto the next line. The only problem is that when the lines don&#8217;t intersect, you will end up with something called ring convergence. In the picture above, the lines intersect perfectly, so the method will converge to a single point. However, with ring convergence, the method will converge to a ring of points:
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp8.gif"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">As you can see, there is a ring convergence with 3 points.
</p>
<p style="margin-left:1pt;">This is the challenging part of the process, and I&#8217;m working on applying techniques to deal with this issue. Once I can get my simulator to account for this and converge to a single point, I&#8217;ll make a new post.
</p>
<p style="margin-left:1pt;"> <br />
 </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/96/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/96/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=96&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/07/13/orthogonal-projection-method/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp1.gif" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp2.gif" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp3.gif" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp4.gif" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp5.gif" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp6.gif" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp7.gif" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/071308-2233-orthogonalp8.gif" medium="image" />
	</item>
		<item>
		<title>LI Implementation: Complete!</title>
		<link>http://vishalk.wordpress.com/2008/07/03/li-implementation-complete/</link>
		<comments>http://vishalk.wordpress.com/2008/07/03/li-implementation-complete/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 19:14:58 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/07/03/li-implementation-complete/</guid>
		<description><![CDATA[I have finished implementing the LI estimator. I added noise in the form of additive zero-mean Gaussian noise with an adjustable variance. Here are some reports from MATLAB:

 
 
Report 1

Injected Gaussian Noise with mean=0 and variance=0.001

Final Estimate=[5.5941,3.7294,4.1864]

Source Location=[5.5909,3.728,4.1865]

Bias=1.2495e-005


		
Report 2

Injected Gaussian Noise with mean=0 and variance=0.01

Final Estimate=[5.1913,4.0379,2.1349]

Source Location=[5.0773,4.2012,2.0265]

Bias=0.051423

 
 

		
A closer look shows all points of closest intersection, the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=87&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:1pt;">I have finished implementing the LI estimator. I added noise in the form of additive zero-mean Gaussian noise with an adjustable variance. Here are some reports from MATLAB:
</p>
<p style="margin-left:1pt;"> <br />
 </p>
<p style="margin-left:1pt;"><strong>Report 1<br />
</strong></p>
<p style="margin-left:1pt;">Injected Gaussian Noise with mean=0 and variance=0.001
</p>
<p style="margin-left:1pt;">Final Estimate=[5.5941,3.7294,4.1864]
</p>
<p style="margin-left:1pt;">Source Location=[5.5909,3.728,4.1865]
</p>
<p style="margin-left:1pt;">Bias=1.2495e-005
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1915-liimplement1.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;"><strong>Report 2<br />
</strong></p>
<p style="margin-left:1pt;">Injected Gaussian Noise with mean=0 and variance=0.01
</p>
<p style="margin-left:1pt;">Final Estimate=[5.1913,4.0379,2.1349]
</p>
<p style="margin-left:1pt;">Source Location=[5.0773,4.2012,2.0265]
</p>
<p style="margin-left:1pt;">Bias=0.051423
</p>
<p style="margin-left:1pt;"> <br />
 </p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1915-liimplement2.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">A closer look shows all points of closest intersection, the actual location of the source, and our final estimate.
</p>
<p style="margin-left:1pt;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1915-liimplement3.png"><span style="font-family:Times New Roman;font-size:12pt;"><br />
		</span></p>
<p style="margin-left:1pt;">This marks the end of my work exploring centralized methods. I now turn my attention to distributive sensor networks. Stay tuned!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/87/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/87/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=87&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/07/03/li-implementation-complete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1915-liimplement1.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1915-liimplement2.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1915-liimplement3.png" medium="image" />
	</item>
		<item>
		<title>Coordinate Change</title>
		<link>http://vishalk.wordpress.com/2008/07/03/coordinate-change/</link>
		<comments>http://vishalk.wordpress.com/2008/07/03/coordinate-change/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 18:23:18 +0000</pubDate>
		<dc:creator>Vishal Kotcherlakota</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vishalk.wordpress.com/2008/07/03/coordinate-change/</guid>
		<description><![CDATA[Introduction

To simplify things in the LI estimator, we use a relative coordinate system like the one below.


However, we localize the source in a coordinate system relative to the room, which looks like this:


We need to have an algorithm that lets us change the coordinate system appropriately.
Coordinate Types

We can make the following assumptions about our microphone [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=80&subd=vishalk&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="margin-left:5pt;"><span style="font-size:13pt;"><strong>Introduction<br />
</strong></span></p>
<p style="margin-left:5pt;">To simplify things in the LI estimator, we use a relative coordinate system like the one below.</p>
<p style="margin-left:5pt;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec1.png" alt="" /><span style="font-size:12pt;font-family:Times New Roman;"><br />
</span></p>
<p style="margin-left:5pt;">However, we localize the source in a coordinate system relative to the <em>room</em>, which looks like this:</p>
<p style="margin-left:5pt;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec2.png" alt="" /><span style="font-size:12pt;font-family:Times New Roman;"><br />
</span></p>
<p style="margin-left:5pt;">We need to have an algorithm that lets us change the coordinate system appropriately.</p>
<p style="margin-left:5pt;"><span style="font-size:13pt;"><strong>Coordinate Types<br />
</strong></span></p>
<p style="margin-left:5pt;">We can make the following assumptions about our microphone arrays:</p>
<ul>
<li>Microphones will never be at the origin of our relative system<span style="font-size:12pt;font-family:Times New Roman;"><br />
</span></li>
<li>Microphones in a cluster will all lie in the same plane. This plane will be parallel to the xz plane or yz plane.</li>
<li>The origin of a cluster will never be on an axis of a room.</li>
</ul>
<p>With these assumptions, we can say that for a room with a width W and length L, the coordinates of the cluster will come in four types.</p>
<div style="margin-left:5pt;">
<table style="border-collapse:collapse;" border="0">
<col></col>
<col></col>
<tbody>
<tr>
<td style="border-top:solid #a3a3a3 1pt;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">Type</td>
<td style="border-top:solid #a3a3a3 1pt;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">Coordinates</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">I</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">(x, 0, z)</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">II</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">(0, y, z)</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">III</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">(x, L, z)</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">IV</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">(W, y, z)</td>
</tr>
</tbody>
</table>
</div>
<p style="margin-left:5pt;">Here&#8217;s an illustration of all 4 types:</p>
<p style="margin-left:5pt;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec3.png" alt="" /><span style="font-size:12pt;font-family:Times New Roman;"><br />
</span></p>
<p style="margin-left:5pt;">This is important, because it guides how we do our transforms.</p>
<p style="margin-left:5pt;"><span style="font-size:13pt;"><strong>Step 1: Rotation<br />
</strong></span></p>
<p style="margin-left:5pt;">It&#8217;s possible that the line connecting m1 and m2 is not parallel to the x or y axis. To take this into account, we need to measure the angle the line has relative to the correct axis in the room coordinate system, and then rotate our cluster coordinate system by that amount about its z-axis. The formula for getting the angle is:</p>
<p style="margin-left:5pt;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec4.png" alt="" /><span style="font-size:12pt;font-family:Times New Roman;"><br />
</span></p>
<p style="margin-left:5pt;">Where a and b are determined by the following table:</p>
<div style="margin-left:5pt;">
<table style="border-collapse:collapse;" border="0">
<col></col>
<col></col>
<col></col>
<tbody>
<tr>
<td style="border-top:solid #a3a3a3 1pt;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">Type</td>
<td style="border-top:solid #a3a3a3 1pt;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">a</td>
<td style="border-top:solid #a3a3a3 1pt;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">b</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">I</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">x</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">z</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">II</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">y</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">z</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">III</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">x</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">z</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">IV</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">y</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">z</td>
</tr>
</tbody>
</table>
</div>
<p style="margin-left:5pt;">We then use our value of θ to rotate our coordinate axes. This is done by multiplying the vectors by a rotation matrix. This is something that can be done easily in MATLAB, so I won&#8217;t go into depth on it here. What I will say is that we have a MATLAB function:</p>
<p style="margin-left:5pt;"><span style="font-family:Consolas;">R1 = rotate_rel_abs(M1, [ origin; kappa, theta, phi ]);<br />
</span></p>
<p style="margin-left:5pt;">The function rotates the coordinate system through the three angles κ, θ, and φ, and translates it to the point given by the vector <span style="font-family:Consolas;">origin</span>. The result is that <span style="font-family:Consolas;">M1</span> gets mapped to a corresponding vector <span style="font-family:Consolas;">R1</span> in a new coordinate system. <span style="font-family:Times New Roman;"><br />
</span></p>
<p style="margin-left:5pt;">This first rotation is simple. The code for rotating a point M1 is as follows:</p>
<p style="margin-left:5pt;"><span style="font-family:Consolas;">M1_r = rotate_rel_abs(M1, [0 0 0; 0 theta; 0]);<br />
</span></p>
<p style="margin-left:5pt;"><span style="font-size:13pt;"><strong>Step 2: Translation<br />
</strong></span></p>
<p style="margin-left:5pt;">We now need to take our point relative to our rotated microphone axes and translate it appropriately. We&#8217;ll use the following table to make the translation:</p>
<div style="margin-left:5pt;">
<table style="border-collapse:collapse;" border="0">
<col></col>
<col></col>
<col></col>
<col></col>
<col></col>
<tbody>
<tr>
<td style="border-top:solid #a3a3a3 1pt;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">Type</td>
<td style="border-top:solid #a3a3a3 1pt;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">κ</td>
<td style="border-top:solid #a3a3a3 1pt;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">θ</td>
<td style="border-top:solid #a3a3a3 1pt;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">φ</td>
<td style="border-top:solid #a3a3a3 1pt;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">Additional Transform</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">I</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec5.png" alt="" /></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><span style="font-family:Cambria Math;">0</span></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><span style="font-family:Cambria Math;">0</span></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">y = -y</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">II</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec6.png" alt="" /></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><span style="font-family:Cambria Math;">0</span></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec7.png" alt="" /></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">N/A</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">III</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec8.png" alt="" /></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><span style="font-family:Cambria Math;">0</span></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><span style="font-family:Cambria Math;">0</span></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">N/A</td>
</tr>
<tr>
<td style="border-top:none;border-left:solid #a3a3a3 1pt;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">IV</td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec9.png" alt="" /></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec10.png" alt="" /></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;"><img src="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec11.png" alt="" /></td>
<td style="border-top:none;border-left:none;border-bottom:solid #a3a3a3 1pt;border-right:solid #a3a3a3 1pt;padding:5px;">x = 2L – x</td>
</tr>
</tbody>
</table>
</div>
<p style="margin-left:5pt;"><span style="font-size:13pt;"><strong>Conclusion<br />
</strong></span></p>
<p style="margin-left:5pt;">We can summarize the above in the following MATLAB code. Feel free to use it, but remember to cite me.</p>
<p style="margin-left:5pt;"><a href="http://vishalk.files.wordpress.com/2008/07/coordinates.pdf">Matlab functions to perform coordinate transformation</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vishalk.wordpress.com/80/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vishalk.wordpress.com/80/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vishalk.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vishalk.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vishalk.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vishalk.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vishalk.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vishalk.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vishalk.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vishalk.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vishalk.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vishalk.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vishalk.wordpress.com&blog=4054235&post=80&subd=vishalk&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://vishalk.wordpress.com/2008/07/03/coordinate-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b02b47c5d9cc15fa0f4e681b332fbaea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Vishal K</media:title>
		</media:content>

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec1.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec2.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec3.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec4.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec5.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec6.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec7.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec8.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec9.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec10.png" medium="image" />

		<media:content url="http://vishalk.files.wordpress.com/2008/07/070308-1823-coordinatec11.png" medium="image" />
	</item>
	</channel>
</rss>