Archive

Archive for the ‘Technology’ Category

Hi-Fi Audio Systems : Definition & Requirements

April 4th, 2012 No comments

Many audio systems in the market are classified as "Hi-Fi" Systems. Hi-Fi refers to High Fidelity - which is a measure of the degree of faithful reproduction of sound. Systems with high faithfulness are called Hi-Fi systems. In these systems, the output audio is an exact replica of the input audio.

hi-fi

There are certain requirements to be met by an audio system for it to be classified as a Hi-Fi system.Note that Hi-Fi systems are not ideal systems but a good approximation of ideal systems. These are given below with the corresponding requirements for ideal systems.

High Fidelity(Hi-Fi) System Ideal Fidelity System
Signal-to-noise ratio should be better than 50 db Signal-to-noise ratio should be ideally infinite
Frequency response should be flat over 40-15000 Hz (within + or - 1 db) Frequency response should be ideally flat between 16-20000 Hz; ie-there should be no frequency distortion.
Non-linear distortion should be < 1% There should be no non-liner distortion.
Dynamic range of at least 80 db is required. Ideal dynamic range is between 0-130 db
Stereophonic effect (adding a sense of direction to sound) should be provided. There must be clear stereophonic effect.
Environmental conditions should be such as to reduce external noise. Optimized environmental conditions for better listening and no external noise.

Virtual Reality - Motion Capture

March 23rd, 2012 No comments

Virtual Reality systems like Microsoft Kinect work on the basis of tracking motion in the physical world and then reflecting the changes in the virtual world. Hence, it is important to accurately detect and capture movements of the player in the physical world.

The methods for motion capture explained here only need a camera which finds the the motion by finding the difference between the current position of the user and the initial position of the user. Hence, there will be some delay in reflecting the motion in the virtual world. The less this delay, the better is the Virtual Reality system.

Method 1 - Find difference between frames. Calculate change in pixels.

In this method, we take two images of the user(player) at a short time interval and then find the difference(Difference is a Image Processing Operation) of the two images. The resulting image - which is the difference - gives the area of motion(change).

For example, consider the images below taken from the movie Limitless :

motion capture

Then, the difference of the two images (generated using Paint.NET) looks as follows:

motion capture image difference

You can see that in both the images the background is the same but Cooper has moved one step further - which is the difference of the two images. This difference comes in white in the output difference image as shown above. Hence, all we need is a stationary camera to keep the backgrounds same and find the changes or movements of the users.

Method 2 - Construct motion graph using displacement of nodes

In this method, we mark various parts of the body, usually joints like knees, feet, etc as nodes and the displacement of the nodes is considers using image processing operations and on the basis of these movements - the virtual world is reconstructed.
However, essentially, there is only one method for motion capture which is Image Processing. Both the above methods and based on Image Processing applications.

The next component of a virtual reality system is Speech Recognition.

Virtual Reality - VR System Components

March 1st, 2012 No comments

Essentially, there are only three components of a Virtual Reality System - Face Recognition, Motion Recognition & Voice Recognition. Using these, it can achieve all of it's functionality.

virtual_reality_components

Remember that now, all we have is a camera and a microphone. So, how do we achieve the above using only a cam and a mic? This is where image processing comes in.

Basically, a set of Image Processing algorithms are programmed into the virtual reality system for Face Detection, Face Recognition & Gesture/Motion Detection. Further, algorithms are implemented to achieve voice recognition. A number of algorithms are further used to increase the efficiency of the above.

We'll now look into each of the individual components and how they work. Let's start with Face Detection & Recognition.

Virtual Reality - Face Detection & Face Recognition

March 1st, 2012 No comments

A 3 Step Process :

face_recognition

We first need to look into Face Detection before Recognition. Face Detection involves finding the position of the faces in a given image. Once the faces are found they will be recognized by matching them to faces in a database using face templates, which we will discuss subsequently.

So face detection only gives us the answer to the question - "Where are the faces in the image?". Such algorithms are also used in digital cameras along with smile detection algorithms. The resulting image looks somewhat like this:

face_detection

 

The output image has the faces marked with a green square outline. You must have noticed Facebook introduced Face Detection which they call their Auto-Tagging feature wherein, when you batch upload images, your friends are already tagged-

face_detection_facebook

Algorithm - The method described here is called The Viola-Jones Method for Face Detection-or rather, for object detection. In general, the algorithm can be used to find any desired object-of-interest which in our case, happens to be face.

Note that there are many different algorithms to do the same. This is just one of them - A popular, simple and efficient one.

Viola-Jones method uses detectors to find faces in an image. A detector exploits the basic characteristics of faces in general to detect the faces in an image. Assume that you take a rectangular image of only your eyes. Then you take another image of the are below your eyes - the upper region of the cheeks. Then, if we compare the two images in terms of intensities (assume that the images are black and white - ie - they consists only of variations of grey from white to black). We find that the sum of intensities of all pixels of the first image is greater than the sum of intensities of all pixels of the second image.

That is, sum of intensities of pixels of the eye region is greater than the sum of intensities of the cheek region. This fact is utilized by the first Viola Jones Detector. We use a detector which has two rectangles - the upper has a higher sum of intensities than the lower one. We then move this detector on the image horizontally and vertically until it fits in on the image.

That is, it finds a region where the intensity of the above rectangle is greater than the lower rectangle. This place where it fits in is a probable face. This process can be explained below. The first step before using our detector is to convert the image to black and white:

viola jones 1

We then apply the detector explained above to find a possible face. If it finds the area that fits in the intensities of the rectangle, then the output for the detector is 1, else the output is 0.

viola jones face detection

Like the above detector, the Viola Jones method uses a number of different detectors. For example, another detector uses the fact that the bridge of the nose if lighter than the eyes. That is, the sum of intensities of the eyes will be greater than the area between the eyes.

Again, if the face found by the first detector gives an output 1 and the second detector also gives an output 1 for the same image face sub-region, only then the sub-region goes to the next detector.

viola jones 3

This process continues for a number of detectors and the image sub-region which gives an output = 1 for all the detectors is then classified as a face. If at any stage (ANY DETECTOR), the output is 0, the image sub-region is classified as "not a face". This makes Viola Jones an efficient algorithm for face detection.

In the past, there have been news of face recognition not working for black people. And that the companies were being racist. But perhaps, they might be using the Viola Jones method and the sum of intensities of the black and white images of black people could not be detected by the Viola Jones detector. So, it might be a purely technical reason (a limitation of the algorithm) and not racism.

viola jones 4

face recognitionOnce we have detected the face in the image, face recognition is just finding the face template that matches with the found face. Face recognition uses pre-defined face templates for a database of people. They define major nodal points on the face and the distances between them - since, these distances are different for different people. For example, the distance between the eyes, etc.

An example of a template created using such distances on the face is shown in the image. The algorithm for face recognition searches the database of people's face templates with the image under consideration. If a template exists in the database with similar nodal distances as in the image, then the face is a match for the person in the database. This process can be summarized as follows:

face recognition

Face recognition is used in Virtual Reality systems like Microsoft Kinect to recognize users and also to create avatars of the users apart from other applications in Security (Biometrics), etc.

The next component of Virtual Reality Systems is Motion Detection/Motion Capture.

Virtual Reality - Basic Principle

March 1st, 2012 No comments

The Virtual Reality System works on the following principle - It tracks the physical movements in the real world, then a rendering computer redraws the virtual world to reflects those movements. The updated virtual world is sent to the output (to the user in the real world).

virtual_reality_principle

In this case, the output is sent back to a head mounted display. Hence, The user feels "immersed" in the virtual world - as if she was in the virtual world itself as all she can see is her rendered movements in the virtual world.

However, to really be able to relate to the concept, we need to look for something from our real lives that works on this concept. In 2010, Microsoft introduced Kinect for Xbox 360. This is essentially a virtual reality system which does not need any equipment on the user - no head mounted display, no equipment on hands or body to track movements. Everything is done by a camera & a microphone on the device itself.

If you're not familiar with Kinect, please watch the following video before you continue to read:

This should definitely remind of the film Ra One where Ra One was meant to be a Virtual Reality System (as a game) but it eventually gets integrated into the real world using holography. So, they've basically tried to combine VR & Holography.. But failed to impress.

virtual_reality_ra_one

The next section describes the components/functionality used to make up a Virtual Reality System - System Components

Virtual Reality - An Introduction

March 1st, 2012 No comments

Structure of the text:

This text is a basic introduction to Virtual Reality for absolute beginners. In addition, it provides things you could work on if you find the topic interesting.

Here's how we'll go about it - We shall first define Virtual Reality in a broad sense to get an idea of all the stuff it could refer to. We will then identify the major technical components of this technology and discuss how these components work individually. Eventually, we will integrate these components to form what we can call a Virtual Reality System.

Introduction to Virtual Reality:

sunset_virtual_reality_example

Above is a beautiful image by dgator77 of the setting sun... Or is it? Is the sun really about to set?

Did you know the light of the sun takes 8 minutes (approx) to reach the earth? So the sun is no longer there where you see it. It is now displaced, maybe it has already set. When you look at the image or in the sky, you "see" the sun. Your eyes see it. But it is just a virtual image created of, in this case, a previous reality. Since reality is determined by our senses, we can generate a virtual impression of something that is not a reality which is what we can call - a Virtual Reality.

reality
"What is real? How do you define real?
If you're talking about what you can hear, what you can smell, taste & feel, then real is simply electrical signals interpreted by your brain."
- Morpheus (The Matrix)

So essentially, it turns out that our definition of reality depends largely on our senses and how we perceive things around us. Virtual Reality aims at stimulating the senses to create a virtual world which is indistinguishable from the “real” world.

We can then go one step further and provide a greater ranges of the various senses than what humans usually have. This could be to allow them to see with bird’s UV vision or hear with whale’s ultra-low frequencies. But hey, let's not get ahead of ourselves.

Let's first look at how a virtual reality system works - Virtual Reality > Basic Principle

LEO, MEO & GEO Satellite Systems : A Comparison

January 27th, 2012 No comments

Satellite Systems can be classified based upon their orbits as low earth orbit, medium earth orbit & geostationary earth orbit systems. Geostationary is also the highest earth orbit and hence, also provides the greatest visibility using only a few satellites. The coverage region of a satellite is called its footprint. This is the region from which the satellite is visible. Three geostationary satellite footprints ensure complete coverage of the earth as shown:

geostationary

Hence, there is permanent or 24 hour visibility of geostationary satellites without the need of handoffs. While LEO & MEO satellites do not have 24 hour visibility as the satellites have smaller footprints since they are closer to the earth (low satellite height). Hence, a larger number of satellites are needed to cover the earth. Also, since each satellite has a small footprint, handoffs are also required between satellites.

Major differences between LEO, MEO & GEO satellite systems:

Parameter LEO MEO GEO
Satellite Height 500-1500 km 5000-12000 km 35,800 km
Orbital Period 10-40 minutes 2-8 hours 24 hours
Number of Satellites 40-80 8-20 3
Satellite Life Short Long Long
Number of Handoffs High Low Least(none)
Gateway Cost Very Expensive Expensive Cheap
Propagation Loss Least High Highest

Note -

  • HEO refers to highly elliptical orbits which have a visibility of about 12 hours.
  • ICO or intermediate circular orbit is an example of MEO.
  • GPS satellites are not in Geostationary orbits but instead, they orbit twice for every rotation of the earth at a height of 20, 000 km.
  • Handheld terminals have low sending power are hence use LEO for mobile communication. LEO are also closest to the earth, have better signal strength and less time delay.

Differences between LED & LASER

January 10th, 2012 1 comment

LED vs LASER

Major differences between LED & LASER optical sources for optic-fiber communication:

Parameter LED LASER
Wavelength Content : A monochromatic source consists of radiation of a single wavelength or a very small range of wavelength. Large Small (desirable; more monochromatic)
Spectral Width/Line Width : The wavelength interval over which the magnitude of all the spectral components is greater than or equal to a specified fraction of the total magnitude, Here, the fraction is (0.707)*P 50 nm < 5 nm
Principle of Emission Spontaneous; random photon emission (hence, not directional) Stimulated
Coherence : A constant phase difference between two waves Incoherent; since emission is spontaneous Coherent; since emission is stimulated; same phase as the stimulating photon
Output Power Low High
Directionality Low Highly directional
Speed of Operation Slow Faster
Numerical Aperture : determines the output pattern Higher Lower
Ease of Use Easier to use; less complex circuitry Complex circuitry; needs thermal & optical stabilization circuits due to light amplification
Lifetime Long Shorter
Cost Cheaper Expensive

Differences between WCDMA & CDMA2000

January 10th, 2012 No comments

WCDMA vs CMDA2000

Major differences between WCDMA (3GPP) & CDMA2000 (3GPP2) standards for CDMA-based 3G implementations:

Parameter WCDMA CMDA2000
Carrier Spacing : spacing between CDMA operators to obtain channel protection 5 MHz 3.75 MHz
Chip Rate : number of DSSS pulses per second; a chip is a pulse of DSSS code 4.096 MHz 3.68 MHz
Spreading Factor : SF=(Chip Rate)/(Data Rate) Higher Lower
Power Control Frequency : the output power of the transmitter is controlled by itself at this frequency 1500 Hz 800 Hz
Frame Duration : the time duration of a frame;between beginning and end of the frame. 10 ms 20 ms (also uses 5, 30, 40 ms frames)
Base Stations : base stations may or may not need synchronous timings Asynchronous Synchronous
Forward Link Pilot : The pilot is a channel modulated only by the PN (Pseudo Noise) spreading codes TDM, Dedicated pilot CDM, Common Pilot
Antenna Beam Forming : used for directional signal transmission & reception TDM, Dedicated pilot Auxiliary pilot

Differences between FTP & TFTP

January 10th, 2012 No comments

FTP vs TFTP

Major differences between FTP(File Transfer Protocol) & TFTP(Trivial File Transfer Protocol) Application layer protocols for file transfer:

FTP TFTP
General-purpose and hence, a more complex protocol Special-purpose; much simpler
Needs more memory due to its complexity Needs very small memory
Interactive Unidirectional
Greater overhead & reliable control needed. Less overhead and no control needed.
Due to above, it depends on TCP transport layer protocol Due to above, it depends on UDP transport layer protocol
Uses TCP port #20 as data port & port #21 as the connection port Uses UDP port #69
Used over the WWW Used only on local networks due to lack of security