Blog‎ > ‎

Blog Posts

Why Is an IGBT Better than a BJT or MOSFET ??

posted by Rohit Bhaskar   [ updated ]

Nowadays, in industries there is a need of converters used at vast voltage and power range (fractional kW to several MW at frequency less than 10kHz). However, the traditional power Bipolar Junction Transistors or the power Metal Oxide Semiconductor Field Effect Transistors cannot do the job very well.

Both the BJT’s and MOSFET’s have their own Pros and Cons

Bipolar Junction Transistor


1. Lower ON State Conduction Losses

   (Better Efficiency when ON)

2. Handle higher voltages


1. Longer switching rates since Bipolar

2. Threat of secondary breakdown due to generation of local hotspots

Metal Oxide Semiconductor Field Effect Transistor


1. lower Switching rates since unipolar

   (can be switched on and off faster)


1. Higher On state losses (reduced efficiency when ON)

2. Cannot handle higher voltages

However, we would obviously love a device that has advantages of both the above mentioned devices. And hence, the Insulated Gate Bipolar Transistor (IGBT) was born. A 3 terminal device that combines BJT’s Low ON-State conduction losses even at high Voltages with MOSFET’s high switching speeds (up to 30kHz).

The 3 terminals of an IGBT are

G => Gate, C => Collector, E => Emitter.

The labels were stolen from the BJT/ MOSFET. Gate comes from the MOSFET and Collector, Emitter come from the BJT.


Like the BJT/ MOSFET, IGBT also has 2 types

1. NPN; 2. PNP

However, since the PNP IGBT delivers inferior characteristics, it is hardly used.

If we look at the equivalent circuit of an IGBT, we can see that it consists of N-channel MOSFET and a P-channel BJT.

Thus, N-channel MOSFET contributes to the high input impedance of IGBT and the P-channel BJT contributes to the low output impedance of IGBT.

Even though IGBT has many advantages, it also has 1 major disadvantage:

Latching Problem:

This phenomenon is observed when Gate terminal loses control over the Collector Current. Because of which, even though this Voltage controlled device has a voltage lower than Gate-Emitter Threshold voltage, IGBT does not shut down. Thereby, an external commutation circuitry is required to turn OFF the IGBT which increases complexity when designing a circuit including IGBT.

That's all for this post! Hope you now have an idea of what an IGBT is and how it compares to an BJT or a MOSFET.

- Jheel Nagaria

What is a Slayer exciter circuit (Tesla Coil) ??

posted Sep 20, 2017, 8:28 AM by Rohit Bhaskar   [ updated Sep 20, 2017, 8:33 AM ]

This post is dedicated to people who have a taste for theatrics. Why? Because this circuit literally performs magic!! By the time you finish reading, you’ll be able to glow light bulbs wireless and create music out of thin air.

Some concepts first:

Slayer exciter circuit is the solid state equivalent of a Tesla coil. It is a basic RF oscillator circuit with a step-up transformer at the collector of the transistor. The circuit at the secondary of the transformer is formed by the parasitic capacitor that is present between the transformer secondary terminal and the ground. Slayer exciter circuits have the specialty of tuning themselves automatically to the resonant frequency,unlike classical tesla coils,which need to be manually tuned. This makes them very easy to make, even with a little ‘jugaad’, and expect good results. Hence,the circuit is very popular among the hobbyist community due to its easy circuit and awesome applications. Now,let’s  dive into it’s working with the help of an example circuit.

The working:

-   5 to 18 volts is fed into the circuit, a resistor (R1) is placed before the Base pin of the transistor in order to limit the amount of current the pin receives. If too much current is allowed into the Base pin the transistor can produce excessive heat and fail.

-   One end of the secondary (L2) is connected to the Base pin of the transistor in order to feed it with oscillations. The two diodes (D1 and D2) prevent the oscillations from going directly to ground. (Learn more about oscillations and why they're important, below).

-   When the Base receives a little bit of current, it closes the circuit and electricity is allowed to flow through the primary coil (L1). However, electricity likes to take the path of least resistance so when the electricity is allowed to flow from the collector to the emitter (~0 ohm resistance) it will stop flowing to the base because there is 47,000 ohms of resistance there. When the electricity stops flowing to the base, the base will open up the circuit again until the resistor offers less resistance than the Collector-Emitter path. This cycle repeats itself many times a second.

-   The primary coil collapses when the electricity stops flowing through it, when this happens, the secondary coil picks up the magnetic field and converts it back into voltage which gets stepped up to around a thousand volts in the process. The top load acts as a capacitor and increases the output from the secondary causing electrons in the air to become excited.

-   Finally, the oscillations from the secondary coil are fed back into the transistor in order to 'tune' or achieve maximum output from the Slayer Exciter.

For the music part, you can provide the output of an audio amplifier to the base of the transistor.

It’s showtime!:

This is the fun part. Sit back and watch some of the magic tricks with the slayer exciter ;)

1.This is the one i made last year

2. This is the video that inspired me to do it:

Can you make it too?

Definitely! But make sure you keep the following things in mind:

  1. You need a power transistor or a MOSFET for this purpose. Laboratory transistors can’t handle the current and the switching speed. I used the BT 136 for my circuit

  2. Make sure you get enamelled copper wires,and try to get it as cheap a possible,as it turns out to be the most expensive component.

  3. The secondary voltage will be very high,so be careful while demonstration.

You can look up to the following websites for step-by-step instructions:

- Pranav Udupa

Understanding Convolutional Neural Networks In 2 Minutes!

posted Sep 17, 2017, 3:51 AM by Rohit Bhaskar   [ updated Sep 17, 2017, 3:52 AM ]

Image result for convolutional neural networks

Have you ever wondered how Google Photos searches the photos based on what object/person is in the picture? Or do you know how Google Goggles recognizes what the clicked picture is all about?

Well, Google uses GoogLeNet, which is itself a convolutional neural network (CNN)!

** Read our Machine Learning Posts before this so that you can understand better

To give you a complete abstract view, a CNN is basically a neural network that makes use of the process of convolution per window (part of the image) to determine certain characteristics from the image. These characteristics are brought together (pooling) to get a new set. These pooled characteristics are again passed through the process multiple times to infer patterns in a deeper manner. At the end they are brought together and then classified. They are extremely effective in image recognition and classification.

Let us understand how CNN recognizes the handwritten number ‘8.*jYKYXkfI4iaE6qg-dEUEcQ.jpeg

For us humans, it is easy to recognize that all these numbers are ‘8’ because we have been trained in our childhood. Similarly, neural network also needs training with the help of which it can start learning and recognizing on its own.

The CNN basically consists of the following layers:

  1. Input Layer : It accepts the input image

  2. Convolution Layer : It extracts different feature maps from the input image

  3. Pooling Layer : It reduces dimension of the feature maps but retains the most important info

  4. Fully Connected Layer : It uses these features to classify the input image into various classes based on the training dataset

  5. Output Layer : It predicts the output of the input image

Thus the number ‘8’ is recognized by CNN in the following manner:

C:\Users\ABC\Desktop\2 MINUTE POSTS\Untitled.png

Thus, CNNs give the best performance in pattern or image recognition problems and can even outperform humans in certain cases. They are also widely used in Natural Language Processing tasks (NLP) such as sentence classification.

That’s all for this post guys! To know more about CNNs in detail, refer this link. Also take a look at the video below

Happy Learning! ☺

- Viraj Sanghvi

Hyper-Threading Explained In 2 Minutes!

posted Sep 6, 2017, 5:50 AM by Rohit Bhaskar   [ updated Sep 6, 2017, 5:52 AM ]

This is a term that everyone must have heard of, especially if you researched for buying a new laptop. But not many understand what it is.. so lets do a quick dive into the topic.

Lets say its a rainy day and you're sitting at home with just your laptop and a cup of coffee. Just like any normal day, you have a word doc, a music playing app and a browser window open(maybe 2 or 3 if you really need it. Lets add an incognito window to the list too ;P). Now you might think all these are running parallely... but they really aren't (Take a look at our post on the processor core). They are actually running sequentially. It's just that your processor is so fast that you cant see the delay.

This doesn't mean that there isn't any delay. And here is where hyper threading comes into play.

One thing you need to understand before going any further is that Hyper-Threading doesn't add a new set of core automatically to your processor. Hyper-Threading only helps handle threads (small processes) better so that the processor wastes as little time as possible in fetching those tasks. Take the fish and river example from our processor core post. Hyper-Threading wont add extra streams for the fisherman it will just help in queuing the fishes properly in line so that the fisherman can catch them faster and more efficiently.

Now that we have understood what it is, lets dive into some technical jargon :)

HyperThreading is the proprietary simultaneous multithreading implementation of Intel for their microprocessors. Simultaneous multithreading or hyperthreading is basically a method to increase the speed and efficiency of the processor by running tasks when the processor is waiting for the other devices (such as memory, GPU etc) to complete the task given to them.

You may ask what is a thread.

A thread is basically a program that needs to run on the cpu to perform its task.

For example, a simple Hello World C program is also thread, the thread is created when the program is launched. The program needs the CPU and memory time to perform its task of displaying the text Hello World. Now, a thread is defined by the operating system so, it can also be a bunch of tasks (or threads) combined together to form a thread but for our purposes we will consider a thread as a singular program requesting CPU time to do its task.

So why would a CPU be idle you may ask.

The microprocessor not only needs to do the calculations required by the thread but also needs to fetch and manage data for the thread and give instructions to the other devices (GPU, RAM, HDD etc). For eg. assume we want to run a simple program that adds two numbers and displays the result on screen, the numbers to be added need to be fetched into the processor, then the answer needs to be computed and then sent to the gpu to be displayed on the screen. Here first the entire program needs to be moved into the RAM from the hard disk, then the numbers to be added need to be moved into the processor to add. But, the processor is way faster then the memory so it has to wait while the memory fetches the numbers to be added. This time is wasted and thus the processor remains idle. Then when the addition is done the result needs to be sent to the display unit/gpu to be displayed on to the screen this time is also wasted as the processor is sitting there doing nothing while the gpu does its job.

There are three methods to handle threads:

  1. First, we can just let the thread run on its own and let the processor be idle which is the least efficient method and wastes the time of the processor. This is shown in the first part of the image.
  2. Second, we can allocate time to each thread to run on the processor. This has the advantage that multitasking performance increases and if the time slot allotted is less than the memory fetching time then some time of the processor is saved. This is in the second part of the image, here efficiency increased as less time is wasted.
  3. Third we could just let the first thread run and intelligently guess when the processor is going to be idle and run the other threads while  the processor is waiting for an operation to complete. This is depicted in the third part of the image here when the processor waits for a long operation to be completed by the memory meanwhile the second thread is given time to do its job on the processor thus saving a lot of time and increasing the speed of the processor.

All this being said, Hyper-Threading doesn't literally double your processor performance (as most people would think). It actually just gives a boost of upto 30% (max). Sometimes, doesn't improve performance at all. But it it extremely useful for applications such as high end graphics, games, computational software (like MATLAB) etc.

So, that's all for this post. Hope you understood what Hyper-Threading is (and will hopefully not get caught off guard by this when you go to buy a new laptop ;) )

- Chinmay Khopde

Hash Functions Explained In 2 Minutes!!

posted Sep 4, 2017, 12:53 PM by Rohit Bhaskar   [ updated Sep 4, 2017, 12:55 PM ]


We can see here that the grumpy cat has been transformed into an even grumpier and unrecognizable sequence of letters and numbers. This is what will happen to you if you walk through a hash function, it changes you for good.

A hash function is a non-invertible mathematical function that converts a numerical input value into another compressed numerical value. The input to the hash function is of arbitrary length but output is always of fixed length.

Image result for hash function

Hash functions are sometimes referred to as compression functions also as the hash is much smaller than the input data.

At the heart of a hashing is a mathematical function that operates on two fixed-size blocks of data to create a hash code. This hash function forms the part of the hashing algorithm.The size of each data block varies depending on the algorithm. Typically the block sizes are from 128 bits to 12 bits. The following illustration demonstrates hash function.

This process is repeated for as many rounds as are required to hash the entire message. Schematic of hashing algorithm is depicted in the following illustration -

Since, the hash value of first message block becomes an input to the second hash operation, output of which alters the result of the third operation, and so on. This effect, known as an avalanche effect of hashing. Avalanche effect results in substantially different hash values for two messages that differ by even a single bit of data.

Hash function in Bitcoin 

In the bitcoin protocol, hash functions are part of the block hashing algorithm which is used to write new transactions into the blockchain through the mining process.

In bitcoin mining, the inputs for the function are all of the most recent, not-yet-confirmed transactions (along with some additional inputs relating to the timestamp and a reference to the previous block).

We can see from the above diagram that if we change even one byte of information the hash function is drastically changed, this ensures that no two inputs have same hash functions. Thus a bitcoin block can be verified by checking the hash vape of the block along with the hash values of previous blocks thus ensuring its authenticity.

Hash functions have been researched and developed on for many years now. The bitcoin uses the SHA - 2type of Hash function. SHA - 1 was so powerful that Google’s supercomputer took three years to find two different inputs with the same hash function (God level stuff), and the SHA - 2 has been undefeated to date !!

- Suyash Junnarkar

LiFi Explained in 2 Minutes !!

posted Sep 2, 2017, 2:09 AM by Rohit Bhaskar   [ updated Sep 2, 2017, 2:14 AM ]

Related image

Every imagined yourself returning home after a tedious work day (maybe from office or after attending 6-7 hours lectures in college, assignment submissions, labs and what not…) and then switching on your room’s light and Boom!! You get connected to an extremely high speed internet connection. (no, we aren’t talking about magic ;P)

Think of yourself using an internet connection, which is 100x times faster than what the existing Wi-Fi system offers (I hope that you must have used Wi-Fi at your home/office/college or at least at your friend’s house) 

... Umm… seems impossible....right? 

No! It’s definitely possible and the technology that turns this into reality is Li-Fi (Light Fidelity). The term Li-Fi refers to light based communications technology that delivers a high-speed, bidirectional, networked and mobile communications in a similar manner as Wi-Fi.

Prof. Harald Haas, coined the term "Li-Fi" at his 2011 TED Global Talk where he introduced the idea of "Wireless data from every light". Li-Fi uses visible light to transmit signals wirelessly and is an emerging technology poised to compete with Wi-Fi. It is 100x times faster than the Wi-Fi (mentioned it twice because even I didn’t believe it at first). 

So How Does Li-Fi Work? 

Li-Fi is a Visible Light Communications (VLC) system for data transmission. A simple VLC system has two main components: 

At least one device with a photodiode (photo detector) which is able to receive light signals.

A light source equipped with a signal processing unit (Lamp Driver).

A VLC light source could comprise of a fluorescent or light emitting diode (LED) bulb. Since a robust Li-Fi system requires extremely high rates of light output, LED bulbs are most ideal for implementing Li-Fi. LED is a semiconductor light source, which implies that LED light bulbs can amplify light intensity and switch on/off rapidly. Therefore, LED cells can modulate thousands of signals per second without the human eye ever noticing. In turn, the changes in light intensity from the LED light source are interpreted and converted as electrical current by the receiving photodiode device. Once the electronic signal is demodulated, it is converted into a continuous stream of binary data comprising of audio, video, web, and application information to be consumed by any Internet-enabled device.

You can find video of its working  below. (Do watch it…)

What’s the difference between Li-Fi and Wi-Fi?

So the basic difference lies in the way the data is being transmitted. To be technical, Wi-Fi uses the Radio wave bandwidth of the electromagnetic spectrum whereas Li-Fi uses the visible wave bandwidth of the electromagnetic spectrum to transfer data. The frequency range for Radio wave is 3kHz - 300 GHz and for the visible light it is 400 THz - 800 THz. The frequency spectrum of these two waves reveal the fact that visible light frequency (in THz) is 1000 times more than the radio wave frequency (in GHz) and hence the reason to achieve high speed data transmission rates.

The transmission of data in case of Li-Fi is done through rapid switching on/off of LEDs i.e. changing the intensity of light (human eye cannot see the rapid switching phenomenon), whereas in case of Wi-Fi, the data is transmitted via modulation of data signals on to radio signals and then demodulating it at the receiver’s end.

Advantages of Li-Fi technology:

Efficiency: Li-Fi works on visible light technology. Since homes and offices already have LED bulbs for lighting purposes, the same source of light can be used to transmit data. Hence, it is very efficient in terms of costs as well as energy. Light must be on to transmit data, so when there is no need for light, it can be reduced to a point where it appears off to human eye, but is actually still on and working.

Availability: Wherever there is a light source, there can be Internet. Light bulbs are present everywhere – in homes, offices, shops, malls and even planes, meaning that high-speed data transmission could be available everywhere.

Security: One main advantage of Li-Fi is security. Since light cannot pass through opaque structures, Li-Fi Internet is available only to the users within a room and cannot be breached by users in other rooms or buildings. (So, now you won’t have to share password with your friends. @@)

Disadvantages of Li-Fi technology:

Internet cannot be used without a light source. This could limit the locations and situations in which Li-Fi could be used.

Because it uses visible light, and light cannot penetrate walls, the signal's range is limited by physical barriers.

Other sources of light may interfere with the signal. One of the biggest potential drawbacks is the interception of signals outdoors. Sunlight will interfere the signals, resulting in interrupted Internet.

A whole new infrastructure for Li-Fi would need to be constructed.

But it's not all doom and gloom! Due to its impressive speeds, Li-Fi could make a huge impact on the internet of things too, with data transferred at much higher levels with even more devices able to connect to one another.

Recent experiments carried out have showed impressive results of achieving 100 Gbps with laser LEDs. 

The Li-Fi products are already out in the market. You can find more information about Li-Fi technology and its products online.

I know it was reeeally long post, but that’s all for today!! Hope you understood what LiFi is :)

- Rajneesh Katkam

What is Git? And Why Use It??

posted Aug 31, 2017, 2:26 PM by Rohit Bhaskar   [ updated Aug 31, 2017, 2:28 PM ]

Almost everyone has heard of Git and Github. Some have gone even further and used “ git clone “ but haven’t used git other than this. So today, we will show why you need to use git.

Git is the most widely used distributed version control system (DVCS/VCS).  Version Control System is a software that keeps track of the source code development.
So you would ask why do you need a VCS. Here’s why:

Many of us have worked on different projects that involved writing codes and this is how we generally developed our software:

One person writes a code. Mails it to his/her team members.
Development begins.
Changes are made and there comes a point where the new changes don’t work and the changes were done in the working code. *Cursing the person who made the recent changes*
If fortunately you had made backups of your working code, your code folder would look like this. *Satan laughing*

need for git

There comes a point where everyone in the team has his/her own modification to the existing base code. Bringing their code together becomes a nightmare. *Everyone is fighting on who will do it* 

And many more problems that we face….
Solution to all these problems is using Version Control System. Here comes git, one of the many version control system out there.
1.) Keeps track of the changes made (What, When and by whom)
2.) Can easily revert to any point in history (Last week code or last month code. Yes !!!!!!)
3.) Ability to merge code by different contributors without any conflicts. (Yayyy !)
4.) No cluttered mess of files like shown above. Just one code file and a hidden .git folder where all the magic happens
      And many more magic elements………….

So how do we use this magic wand???

Firstly, Install git in your laptop:

Git for Windows ( )
Git for Linux ( )
Git for Mac ( )

Now all you have to do is ‘init’ialize. ( don't worry if you didnt get the pun ;P )

Go the folder where you want to keep track of the changes made and type the command in the terminal.

git init 

This will magically create a .git folder in your current directory

Now you have to tell git which files it should keep track of so type the command

git add File_name_to_be_tracked

After editing the code and reaching a milestone. Make it your checkpoint where you can return to in future.

git commit –m “Message for your convenience ”

Always write a short and descriptive message when you are committing. Always.

And thus you have your own Git repository !

However these commands will just get you started. There’s a lot more in git than this. 

Follow this tutorial link to get you familiar with git:

Many of you are confused between git and github and use these words interchangeably but they are not same.
Git in a Version Control System as explained above.
Github is a web-based service that hosts Git projects .

So that’s all for this post. Hope you start using Git from now onward.
Happy Committing !

- Sachin Parekh.

Power MOSFETS Explained In 2 Minutes!!

posted Aug 28, 2017, 1:02 PM by Rohit Bhaskar   [ updated Aug 28, 2017, 1:10 PM ]

power mosfets

Hi Everyone! This is my debut post! My interests lie in power electronics and its related subjects! So, let's get straight to the point ;) 

Power MOSFET is a type of MOSFET which is specially meant to handle high levels of power. These exhibit high switching speed and can work much better in comparison with other normal MOSFETs. Nominal voltages for POWER MOSFET switching devices range from a few volts to a little over 1000 V, with currents up to about 100 A or so.

History of Power MOSFETs:

Until the late 1970s, the bipolar junction transistor (BJT) was the only solid-state electron device capable of operating as a non latching power switch. Unfortunately, MOSFET designs were not well suited for power applications, limited by punch through breakdown. Motivation for the development of a POWER MOSFET included the promise of high speed switching, high input impedance, and the ability to parallel or scale devices without the risk of current hogging or thermal runaway. After evolution of CMOS technology in 1963 development of POWER MOSFET was begin and after 1970 it was in electronic field with full fledged.

Applications of Power MOSFET:

The power MOSFET’s are used in:

  • DC to DC converters
  • Power supplies
  • Low voltage motor controllers
  • Low voltage switches which are less than the 200V
motor driver

Advantages of Power MOSFETs:

  • High switching frequency.
  • Low dynamic heat dissipation.
  • High operating voltage and current.


Disadvantages of Power MOSFETs

  • If the gate pin of POWER MOSFET is kept open then under certain condition MOSFET get triggered, this result into uncontrolled operation.
  • In high frequency operation when POWER MOSFET is triggered with pulse of less duty cycle, it begins to heat up.

That's all for this post! If you want to read a bit more on the topic you can look at the wiki here.  The video below is good if you want to learn more about MOSFETs in general.

- Mujammil Patel

[Image Processing] Haar Cascades Explained In 2 Minutes!

posted Aug 26, 2017, 1:45 PM by Rohit Bhaskar   [ updated Aug 26, 2017, 1:47 PM ]

Image result for haar cascade

Hello everyone! in my debut post on the SRA blog, I'll be giving you a simplified intuition about Haar-like features, and subsequently, about Haar Cascades, a technique that is applied in Computer Vision for detecting objects in images.

Object detection is one of the most common tasks in Computer Vision. And it’s not always necessary that the object you want to track is going to be delightfully coloured in a different colour than its surroundings, lighting variations, yada, yada.. Chuck that, you may even not have a 3-channel image, just 2-D grayscale matrices. 

We need something more robust, as compared to simple colour thresholds and template matching (which needs the size of the object in the input image, to be the same as in the template, or the image of the object to search for). What if, we could 'teach' our computer what features to look for? (yess, machine learning-ish tease)

Enter Haar-like features. Cardinally of three types, these are at the crux of what we want to instruct our computer to look for in an image. This was the method that was adopted by Viola and Jones, in their object detection framework in 2001, and was the first nifty-yet-robust approach taken.

Image result for haar cascade

We shall consider grayscale images for this one, since we've realised colour isn’t going to help here, so why triple the size of our image? (rhetoric)

Now, we are going to take a 2-D matrix (imagine a window) like one of those images above, and we are going to place them, part wise, on the image of the object that we want to detect later (imagine the 'window' placed over your object). Next, we are going to sum over all the pixels in the object image that lie under the black part of the window, and separately sum over all pixels under the white part of the window (for CNN junkies, yes, it's like a convolutional kernel). Moving the window throughout the image, we are going to compute these differences of sums. It is using these features that the shape of the object can be decomposed to changes in pixel intensities, allowing us to detect the shape of the object.

But there’s a catch. The resolution of our feature ‘window’ is 24 x 24, which adds up to 160,000 rectangular features. That sounds quite heavy to compute, doesn’t it? In order to optimize this, Viola and Jones came up with what they call integral images, like so:

 integral images

What this does, at a high level, is that it reduces the computational time greatly, and hence adds to the speed of detection. Moreover, these rectangular features can now be evaluated by the ‘integral image’ method over various resolutions of the image rapidly, even more so than the construction of image pyramids, used in other feature detection schemes.

Now that we have computed the 160,000 features, we need to put them in action and use them to detect objects in images! But slow down, isn’t it going to be a tardy piece of work, computing 160,000 features for every image, even if the object isn’t even in the image? To prevent this wasted effort, a ‘cascade’ of weak classifiers, that is, sort of an order of evaluating and checking for features, and the weightage or importance to be given to them, is trained using an algorithm called AdaBoost (short for adaptive boosting). Only if the image has a significant result in one rectangular feature kernel, will it be cascaded down to the next-in-line computation of features. This ensures that redundant computations are kept to a minimum. Fun Fact: the 160,000 features are rarely ever evaluated, unless the object is actually present in that image.

Okay, so all that is left now for us to do is to train the classifier by feeding it with positive samples (images containing the object to be detected) and negative samples (images of the common surroundings, without the object to be detected). The weights and order of cascading gets trained, and is stored in serialized form (.xml files). Helper functions, such as the detectMultiScale function of OpenCV, allow us to use the .xml files to search and localize the object within a new input image, that wasn’t within the training set.

I hope that with this post, I was able to give you an idea of how Haar-like Features and Cascade Classifiers work. These are some useful links, to help you implement and check out Haar Cascades.


In case, like me, you get a kick out of seeing rectangles around faces :p :

- Apoorva Gokhale

GSM Explained In 2 Minutes !!

posted Aug 15, 2017, 2:51 AM by Rohit Bhaskar   [ updated Aug 26, 2017, 12:11 PM ]

Related image

GSM technology is the technology that you (most probably) and 80% of mobile users use for making calls on their mobile phones. In a way, it is the standard and default wireless protocol used for mobile communication.

GSM started back in 1982 and was then named after the group that devised it, Groupe Spécial Mobile, whence the GSM acronym. The official protocol was launched itself in Finland in 1991.It is now called Global Systems for Mobile communications.

GSM is considered a 2G (second generation) protocol. It works with cells, which is why a GSM network is also called a cellular network, and phones working on GSM are called cell phones. Now what is a cell? A GSM network is split into cells, each one of which covers a small area. Devices (phones) are then located and communicated with through these cells .A GSM network consists mainly of connection devices (gateways etc.), repeaters or relays, which people commonly call antennas – these massive metal structures that stand as high towers and the mobile phones of users. The GSM or cellular network is also a platform for 3G communication, which carries data over the existing network for Internet connectivity. GSM system was developed as a digital system using time division multiple access (TDMA) technique for communication purpose. A GSM digitizes and reduces the data, then sends it down through a channel with two different streams of client data, each in its own particular time slot. 

Dont worry if you didnt understand. Look below for a more simple approach to understanding the concept :)

GSM Simplified

Let’s look at the above in a day to day life example, consider the postal service. We want to send a letter, so we post the letter with the receiver address details and drop in mail box the postman picks it up and drop at the nearest Post Office. The office is filled with many such letter their the letters are segregated and our letter is transported to   nearby post office of the receiver location. At the receiver end the letter is given to a postman to deliver the letter to particular address thus the letter get dropped in receiver’s mail box.Let’s get into technical aspect of things the letter we want to send is actually a call we want to place using our phone the  postman is acting as a mobile tower to send the call from sender end to a base station where it is being segregated to put  on same frequency band as that of a receiver and from base station it is sent through optical cables to the network station over to receiver’s location their it is checked to be sent to the correct person in that region our call again send through signals to the tower from that to the receiver in his home. This steps occur during every call we place in a jiffy so that we actually never realize the delay.

This is a 2minutes explanation of GSM calling. Hope you understood the post:)



- Yash Hule

1-10 of 46