FRIENDz

FAILURE IS THE SIGN OF SUCCESS!!

Optimized Quantizer with Matlab Program

PDF Optimized Quantizer:
In the case of uniform quantizers, the pdf of the analog sample was assumed to beuniform, and therefore, we obtained the closed form solutions for optimal decision regions and output levels. Moreover, the intervals between any two consecutive decision regions as well as the intervals between any two consecutive output levels were constant. When the pdf of the input analog samples is not uniform, then the quantization steps are not constant and the optimal solutions are obtained by solving the transcendental equations (2.31). This results in a nonuniformquantizer and is referred to as pdf optimized quantizer.
Using Lloyd’s algorithm, we design the quantizers for 3 and 5 bpp. The requantized images at 3 and 5 bpp are shown in Figures 1.a,b, respectively. There are some improvements in the flat areas compared with that of the corresponding uniform quantizer. The SNR values are 20.1 and 33.68 dB for 3 and 5 bpp, respectively, for the nonuniformquantizer, whereas they are 17.3 and 29.04 dB, respectively, for the uniform quantizer. Figure 1.c shows a plot of the decision regions versus output levels of the nonuniformquantizer for

Uniform Quantizer with Matlab Program

Uniform Quantizer
When the pdf of the analog sample is uniform, the decision intervals and output levels of the Lloyd–Max quantizer can be computed analytically as shown below.In this case, the decision intervals are all equal as well as the intervals between the output levels and the quantizer is called a uniform quantizer.
We will use the Barbara image for this example. Since this image is rather large in size, we will crop it to a smaller size. Figure 1.a is the cropped original 8-bpp image, and Figures 1.b,c correspond to the requantized images at 3 and 5 bpp, respectively. We see that flat areas appear very patchy especially in the 3-bpp imageas compared with the 5-bpp image. Because of the large quantization step size, a large neighborhood of pixels gets quantized to the same level and this makes the image look patchy in the flat areas.

Non-rectangular Sampling Grids


So far our discussion has been on image sampling on a rectangular grid. This is the most commonly used sampling grid structure because many display systemssuch as TV use raster scanning, that is, scanning from left to right and top to bottom. Also, most digital cameras have their sensors built in rectangular grid arrays.However, it is possible to use nonrectangular grids, such as hexagonal sampling grid, to acquire a digital image. An advantage of using hexagonal sampling grid is that the acquired image has 13.4% less data than that acquired using the rectangular sampling grid [2]. It has also been found that edge detection is more efficient with hexagonally sampled images. Hexagonal sampling is used widely in machine vision and biomedicalimaging.
            Although the compression standards such as Moving Picture Experts Group (MPEG) use rectangular grid structure for coding still and moving imagesespecially for motion estimation and compensation, it may be more efficient to employ hexagonal grids for such purposes for better accuracy in motion estimation and higher compression ratio.

Nonideal Sampling using Matlab

Nonideal Sampling
Practical sampling devices use rectangular pulses of finite width. That is, the samplingfunction is an array of rectangular pulses rather than impulses. Therefore, the sampling function can be written as
where p (x, y) is a rectangular pulse of finite extent and of unit area. Then the sampling process is equivalent to convolving the continuous image with the pulse p (x, y) and then sampling with a Dirac delta function .The net effect of sampling with a finite-width pulse array is equivalent to prefilteringthe image with a lowpass filter corresponding to the pulse p (x, y) followed by ideal sampling. The lowpass filter will blur the image. This is the additional distortion to the aliasing distortion that we discussed above. To illustrate the effect the nonideal sampling has on the sampled image.

SAMPLING A CONTINUOUS IMAGE

Aliasing Distortion
            Sampling theorem guarantees exact recovery of a continuous image, which is lowpassand band limited to frequencies FxS/2 and FyS/2, from its samples taken atFxS and FyS samples per unit distance. If the sampling rates are below the Nyquistrates, namely, FxS and FyS, then the continuous image cannot be recovered exactlyfrom its samples by filtering and so the reconstructed image suffers from a distortionknown as aliasing distortion. This can be inferred from Figure 1. Figure 1.ashows the Fourier transform of a continuous lowpass image with cutoff frequenciesof fxC and fyC in the two spatial directions. Figure 1 b shows the Fourier transformof the sampled image, where the sampling frequencies equal twice the respectivecutoff frequencies. It is seen from Figure 1 b that there is no overlap of the replicasand that the Fourier transform of the sampled image is identical to that of the continuous image in the region [(− fxC , fxC ) ×(− fyC , fyC)], and therefore, it can be recovered by filtering the sampled image by an ideal lowpass filter with cutofffrequencies equal to half the sampling frequencies.

Video Compression using Matlab

Video Compression
So far our discussion on compression has been on still images. These techniques tryto exploit the spatial correlation that exists in a still image. When we want to compressvideo or sequence images we have an added dimension to exploit, namely, thetemporal dimension. Generally, there is little or very little change in the spatial arrangementof objects between two or more consecutive frames in a video. Therefore,it is advantageous to send or store the differences between consecutive frames rather
than sending or storing each frame. The difference frame is called the residual or differential frame and may contain far less details than the actual frame itself. Dueto this reduction in the details in the differential frames, compression is achieved. Toillustrate the idea, let us consider compressing two consecutive frames

IMAGE AND VIDEO COMPRESSION TECHNIQUES

Still Image Compression
Let us first see the difference between data compression and bandwidth compression.
Data compression refers to the process of reducing the digital source data to a desired
level. On the other hand, bandwidth compression refers to the process of reducing the
analog bandwidth of the analog source. What do we really mean by these terms? Here
is an example. Consider the conventional wire line telephony. A subscriber’s voice
is filtered by a lowpass filter to limit the bandwidth to a nominal value of 4 kHz. So,
the channel bandwidth is 4 kHz. Suppose that it is converted to digital data for longdistance
transmission. As we will see later, in order to reconstruct the original analog
signal that is band limited to 4 kHz exactly, sampling theory dictates that one should
have at least 8000 samples per second. Additionally, for digital transmission each
analog sample must be converted to a digital value. In telephony, each analog voice
sample is converted to an 8-bit digital number using pulse code modulation (PCM).

Emulator for Embedded Linux


Target Emulation and Virtual Machines
Virtualization is a mature technology that lets several operating systems share the physical resources of a machine, such that that each thinks it has exclusive use of the resources. Emulation means that a program impersonates another—or, in this case, that a processor impersonates another. Cygwin is software that emulates a POSIX system on a Windows machine.
However, when you’re emulating a processor different than the host, you have fewer options. Emulating a different processor requires software that, in effect, translates the op-codes of the emulated processor into the op-codes for the host processor.

Real Time Configuration for Embedded System


Real Time
A system is real time when timeliness is a dimension of correctness; that means a correct answer delivered late is the same as an answer that has never been delivered. Real-time systems abound in the real world. To a degree, all systems are real time, because they have real-world deadlines: an airline ticketing program needs to issue tickets before the plane leaves, for example.

Real-time systems that can tolerate missing an occasional deadline, with a reduction in
performance or quality of output, are known as soft real-time systems.
On a hard real-time system, a missed deadline has serious consequences: when a deadline is missed, a saw may cut at the wrong angle; or a flow-control valve may not close, resulting in flooding.

Application Development Environment on Linux


Configuring the Application Development Environment
 
Embedding Python
To use Python in an embedded project, you must build the Python virtual machine for the target. That virtual machine is built with a cross-compiler. To build Python, you need a cross-compiler built as explained in the previous chapter with the glibc library, but you can’t use the uClibc C library to build the Python virtual machine. First, obtain and download the source code:

$ wget http://www.python.org/ftp/python/<version>/Python-<version>.tgz
$ tar xzf Python-<version>.tgz

Installing BusyBox on Linux


BusyBox
BusyBox is an open source project that is a key part of many embedded systems. It supplies limited functionality implementations of most of the command-line executables found on a desktop Linux system; BusyBox calls these applets. What the applets lack in functionality is more than compensated for in their size: a complete, full-featured BusyBox system weighs in at 1.5MB and can be much smaller when unused applets are dropped.
Download the Software
The BusyBox project resides at www.busybox.net, and the www.busybox.net/download.html page contains a history of releases and any follow-on patches. As an example, you’ll use the 1.14.1 release on this page, but understand that the release will be different by the time this book makes it to press:

Booting the Board in embedded system


Booting the Board
The Boot Loader
A boot loader isn’t unique to Linux or embedded systems. It’s a program first run by a computer so that a more sophisticated program can be loaded next. In a Linux system, two boot loaders usually run before the Linux kernel starts running. The code also populates a data structure that you can view by doing the following after the system is up and running:

How to Configuring the Software Environment for an embedded Linux (Debian)


Configuring the Software Environment for an embedded Linux
The development environment is used for the following tasks:

 Booting the board: An embedded development board needs some special services
in order to get started. When it’s up and running, if the board contains an Ethernet
port (most do), you can telnet or ssh to the board. During the development cycle,
it’s recommended that the serial console be active as a backup communication
method in case the board can’t be reached over the network.

Configuring and building the Linux kernel: Most boards, although powerful, can’t
be used to compile the kernel. The memory and/or processing power isn’t
adequate. The development host is used to configure and compile the kernel and
get it ready for use by the board.

Software Environment for Linux


Configuring the Software Environment (RPM PACKAGE)
The development environment is used for the following tasks:

 Booting the board: An embedded development board needs some special services
in order to get started. When it’s up and running, if the board contains an Ethernet
port (most do), you can telnet or ssh to the board. During the development cycle,
it’s recommended that the serial console be active as a backup communication
method in case the board can’t be reached over the network.

Configuring and building the Linux kernel: Most boards, although powerful, can’t
be used to compile the kernel. The memory and/or processing power isn’t
adequate. The development host is used to configure and compile the kernel and
get it ready for use by the board.

The World's Most Powerful 570MP Camera

Handsets with the Nokia Lumia Pure View cameras may boast of an astounding count of 41 MP but a newly erected DEC (Dark Energy Camera) has somewhat shaken its reputation. To make things clear, this is not a camera phone that anybody can keep in his pocket but reportedly the most powerful sky-mapping machine. The DEC has captured and recorded light from 8 billion years ago.

ARM Keil RTX Real-time Operating System Offers ‘tickless’ Power-saving Mode

Energy Micro has announced the immediate availability of the Keil RTX real-time operating system (RTOS) as part of its Simplicity Studio tool suite. The Keil RTX, which has been optimised for ARM Cortex-M processors to provide flexible scheduling and high-speed operation, has been extended by Energy Micro to enable an ultra-low power, deep-sleep mode between tasks. 
Energy Micro has implemented an extension to the ARM Keil RTX that is referred to as a ‘tickless’ mode and which allows the EFM32 MCU to wake up only when needed, either at a scheduled time or on an interrupt event. This results in orders of magnitude better current consumption than competing solutions based on using the system timer, SysTick, which require a constantly running, high frequency clock. With RTX RTOS, EFM32 users can now enter a deep sleep mode, consuming less than 1uA, between normal active operations.

Android Applications for the Electronics & Electrical Engineers


The world around us is changing at a much faster pace than any one can anticipate. The world of “computing” has already seen great shifts from Desktops to Notebooks to Smartphones and Tablets. The coming decade will be more focused on mobile computing and cloud computing. Here in this article, I am listing some of the best and really useful applications released in Android market (aka Google Play), that comes handy for any one who is working in Electrical and Electronics industries/professions. 

Interfacing hex keypad to 8051


This article is about interfacing a hex key pad to 8051 microcontroller. A clear knowledge on interfacing hex key pad to 8051 is  very essential  while designing embedded system projects which requires character or numeric input or both. For example projects like digital code lock, numeric calculator etc. Before going to the interfacing in detail, let’s have a look at the hex keypad.

Hex keypad.

Hex key pad is essentially a collection of 16 keys arranged in the form of a 4×4 matrix. Hex key pad usually have keys representing numerics 0 to 9 and characters A to F. The simplified diagram of a typical hex key pad is shown in the figure below.

Controlling a Digital Potentiometer Using SPI


In this tutorial you will learn how to control the AD5206 digital potentiometer using Serial Peripheral Interface (SPI). Digital potentiometers are useful when you need to vary the resistance in a circuit electronically rather than by hand. Example applications include LED dimming, audio signal conditioning and tone generation.

Analog In, Out Serial using Arduino -c


Analog In, Out Serial

This example shows how to read an analog input pin, map the result to a range from 0 to 255, and then use that result to set the pulsewidth modulation (PWM) of an output pin to dim or brighten an LED.

AD5171 Digital Potentiometer


This example shows how to control a Analog Devices AD5171 Digital Potentiometer which communicates via the I2C synchronous serial protocol. Using Arduino's I2C Wire Library, the digital pot will step through 64 levels of resistance, fading an LED.

Servomotor-based mobile robot control


Project description:
 Mobile robots are used in many industrial, commercial, research, and hobby applications. This project is about the control of a mobile robot using servomotors. The robot used in this project is the base of a popular mobile robot known as Boe Bot, developed by Parallax (www.parallax.com and www.stampinclass.com). The basic robot is controlled from a Basic Stamp controller (Trademark of Parallax Inc.). The robot base and electronic circuit have been modified by the author so that the robot can be used with PIC microcontrollers

Right-left scrolling LEDs


Project description:
 In this project, 8 LEDs are connected to PORT B of a PIC microcontroller. Also a push-button switch is connected to bit 0 of PORT A using a pull-up resistor.. When the switch is pressed the LEDs scroll to the right.

VLSI Video Lecture

Interfacing ADC to 8051


ADC (Analog to digital converter) forms a very essential part in many embedded projects and this  article is about interfacing an ADC to 8051 embedded controller. ADC 0804 is the ADC used here and before going through the interfacing  procedure, we must neatly understand how the ADC 0804 works.

Interfacing LED and push button switch to 8051


This article is all about how to interface push button switches to an 8051 microcontroller. Push button switches are widely used in embedded system projects and the knowledge about  interfacing them to  8051 is very essential in designing such projects. A typical push button switch has two active terminals that are normally open and these two terminals get internally shorted when the push button is depressed. Images of a typical pushbutton switch is shown below.

Interfacing DC motor to 8051


This article shows how to interface a DC motor to an 8051 microcontroller. Interfacing DC motor to 8051 forms an essential part in designing embedded robotic projects. A well designed 8051-DC motor  system  has essentially two parts. Firstly an 8051 with the required software to control the motor and secondly a suitable driver circuit. Most of the DC motors have  power requirements well out of the reach of a microcontroller and more over the voltage spikes produced while reversing the direction of rotation could easily damage the

Interfacing 16×2 LCD with 8051


LCD display is an inevitable part in almost all embedded projects and this article is about  interfacing 16×2 LCD with 8051 microcontroller. Many guys find it hard to interface LCD module with the 8051 but the fact is that if you learn it properly, its a very easy job and by knowing it you can easily design embedded projects like digital voltmeter / ammeter, digital clock, home automation displays, status indicator display, digital code locks, digital speedometer/ odometer, display for music players etc etc.

Interfacing Seven segment display to 8051


A Note about 7 segment LED display.

This article is about how to interface a seven segment LED display to an 8051 microcontroller. 7 segment LED display is  very popular and it can display digits from 0 to 9 and quite a few characters like A, b, C, ., H, E, e, F, n, o,t,u,y, etc. Knowledge about how to interface a seven segment display to a micro controller is very essential in designing embedded systems. A seven segment display consists of seven LEDs arranged in the form of a squarish ’8′ slightly inclined to the right and a single LED as the dot character.

Digital thermometer using 8051


This article is about a simple 0-100°C digital thermometer with 1°C resolution using 8051. The circuit is based on LM35 analog temperature sensor, ADC0804 and AT89S51 microcontroller. LM35 is an analogue temperature sensor IC which can measure a temperature range of -55 to 150°C. Its output voltage varies 10mV per °C change in temperature.

Water level controller using 8051


   A water level controller based using 8051 is shown in this article. A lot of water level controller projects have been published in this website but the is the first one based on a microcontroller. This water level controller monitors the level of the over head tank  and automatically switches on the water pump when ever the level goes below a preset limit. The level of the over head tank is indicated using 5 leds and the pump is switched of when the over head tank is filled.

Digital tachometer using 8051


Contact less digital tachometer using 8051.

A three digit contact less digital tachometer using 8051 microcontroller which can be used for measuring the revolutions/second of a rotating wheel, disc, shaft or anything like that is introduced in this project. The tachometer  can measure up to a maximum of 255 rev/sec at an accuracy of 1 rev/sec. What you just need to do is to align the sensor close to the reflective strip  (aluminium foil, white paper or some thing like that) glued on the rotating surface and the meter shows the rev/sec on the display.

Ultrasonic range finder using 8051


A simple ultrasonic range finder using 8051 microcontroller is presented in this article. This ultrasonic rangefinder can measure distances up to  2.5 meters at an accuracy of 1 centi meter. AT89s51 microcontroller and the ultrasonic transducer module HC-SR04 forms the basis of this circuit. The ultrasonic module sends a signal to the object, then picks up its echo and outputs a wave form whose time period is proportional to the distance. The microcontroller accepts

Embedded Systems


Languages Used for Embedded Firmware Development

Introduction                 Every digital device that is driven by a CPU core processes some sort of digital information. Not all of them are digital data. In fact, major portion of them are some kind of instruction to the CPU. As we all know, they are patterns of zeros and ones. In groups, those zeros and ones are called as nibbles (a group of 4), bytes (A group of 8), half word (group of 16) and word (group of 32). Every microcontroller comes with an inbuilt memory. They store instruction and data. When their CPU runs, they fetch the code from…

LED Circuits and Projects


CircuitsToday.com is introducing some simple LED circuits and projects which can be done even at home. These circuits and projects have already been tested and published along with circuit diagram, schematics, and a detailed working description for each one of them. Also go through the comment of each LED circuit article, so as to get a better understanding of the IC’s used and the modifications that can be brought to the circuit. To know the working of LED, click on the link – LED Working

Simple electronics projects and circuits


Simple Electronics Projects for Beginners

This article is a collection of simple electronics circuits we have published over a span of 3 years, which can be used as simple electronics projects for students, beginners, engineering students and other hobbyists. The following circuits listed below can also be used for your mini project needs. But we wont recommend any of these circuits for your final year or main project requirements. While selecting the circuits for this article, we have taken care to serve you with popular circuits in our website which are easy to implement. The logic behind selecting popular circuits as projects is simple; just because of “comments by users”

Remote Operated Spy Robot Circuit


Here is a remote operated spy robot circuit which can be controlled by using a wireless remote controller. It can capture audio and video information’s from the surroundings and can be sent to a remote station through RF signals. The maximum range is 125 meters. It overcomes the limited range of infrared remote controllers. This robot consists of mainly two sections. They are explained in detail below.

8051 Microcontroller Projects & Circuits


In this article we are listing all the projects and circuits we have developed using the 8051 micro controller. We have tested all of these projects in our lab and verified the working . All these projects are made to solve a real world requirement or problem. Engineering students & other diploma students will find these projects useful for their mini project and main project requirements.

Nokia Morph


The Nokia Morph is a concept mobile phone created by Finnish company Nokia. The concept, which was unveiled on February 25, 2008 at The Museum of Modern Art in New York City, was the product of a joint study into the future of mobile phones by the Nokia Research Center and theUniversity of Cambridge's Nanoscience Centre. The device was presented as part of the museum's "Design and The Elastic Mind" exhibit. According to Bob Lannucci, Nokia's chief technology officer, the "Nokia Research Center is looking at ways to reinvent the form and function of mobile devices... The Morph concept shows what might be possible.

Nokia GEM


The GEM device changes appearance from camera to phone or map according to the function selected by the user. It could even display advertising messages on the back of the phone. The back and front are also interactive, making it possible to pinch and zoom the rear of the phone while getting a constant clear view of the image on the front.