Labels

Sunday, November 7, 2010

Digital filter

In electronics, computer science and mathematics, a digital filter is a system that performs mathematical operations on a sampled, discrete-time signal to reduce or enhance certain aspects of that signal. This is in contrast to the other major type of electronic filter, the analog filter, which is an electronic circuit operating on continuous-time analog signals. An analog signal may be processed by a digital filter by first being digitized and represented as a sequence of numbers, then manipulated mathematically, and then reconstructed as a new analog signal (see digital signal processing). In an analog filter, the input signal is "directly" manipulated by the circuit.
A digital filter system usually consists of an analog-to-digital converter to sample the input signal, followed by a microprocessor and some peripheral components such as memory to store data and filter coefficients etc. Finally a digital-to-analog converter to complete the output stage. Program Instructions (software) running on the microprocessor implement the digital filter by performing the necessary mathematical operations on the numbers received from the ADC. In some high performance applications, an FPGA or ASIC is used instead of a general purpose microprocessor, or a specialized DSP with specific paralleled architecture for expediting operations such as filtering.
Digital filters may be more expensive than an equivalent analog filter due to their increased complexity, but they make practical many designs that are impractical or impossible as analog filters. Since digital filters use a sampling process and discrete-time processing, they experience latency (the difference in time between the input and the response), which is almost irrelevant in analog filters.
Digital filters are commonplace and an essential element of everyday electronics such as radios, cellphones, and stereo receive

Characterization of digital filters

A digital filter is characterized by its transfer function, or equivalently, its difference equation. Mathematical analysis of the transfer function can describe how it will respond to any input. As such, designing a filter consists of developing specifications appropriate to the problem (for example, a second-order low pass filter with a specific cut-off frequency), and then producing a transfer function which meets the specifications.
The transfer function for a linear, time-invariant, digital filter can be expressed as a transfer function in the Z-domain; if it is causal, then it has the form:
H(z) = \frac{B(z)}{A(z)}  = \frac{{b_{0}+b_{1}z^{-1}+b_{2}z^{-2} + \cdots + b_{N}z^{-N}}}{{1+a_{1}z^{-1}+a_{2}z^{-2} + \cdots +a_{M}z^{-M}}}
where the order of the filter is the greater of N or M. See Z-transform's LCCD equation for further discussion of this transfer function.
This is the form for a recursive filter with both the inputs (Numerator) and outputs (Denominator), which typically leads to an IIR infinite impulse response behaviour, but if the denominator is made equal to unity i.e. no feedback, then this becomes an FIR or finite impulse response filter.

Analysis techniques

A variety of mathematical techniques may be employed to analyze the behaviour of a given digital filter. Many of these analysis techniques may also be employed in designs, and often form the basis of a filter specification.
Typically, one analyzes filters by calculating how the filter will respond to a simple input such as an impulse response. One can then extend this information to visualize the filter's response to more complex signals. Riemann spheres have been used, together with digital video, for this purpose.

Impulse response

 

The impulse response, often denoted h[k] or hk, is a measurement of how a filter will respond to the Kronecker delta function. For example, given a difference equation, one would set x0 = 1 and xk = 0 for k \ne 0 and evaluate. The impulse response is a characterization of the filter's behaviour. Digital filters are typically considered in two categories: infinite impulse response (IIR) and finite impulse response (FIR). In the case of linear time-invariant FIR filters, the impulse response is exactly equal to the sequence of filter coefficients:
\ y_n= \sum_{k=0}^{n-1} h_{k} x_{n-k}
IIR filters on the other hand are recursive, with the output depending on both current and previous inputs as well as previous outputs. The general form of the an IIR filter is thus:
\ \sum_{m=0}^{M-1} a_{m}y_{n-m} = \sum_{k=0}^{n-1} b_{k} x_{n-k}

Plotting the impulse response will reveal how a filter will respond to a sudden, momentary disturbance.

[edit] Difference equation

In discrete-time systems, the digital filter is often implemented by converting the transfer function to a linear constant-coefficient difference equation (LCCD) via the Z-transform. The discrete frequency-domain transfer function is written as the ratio of two polynomials. For example:
H(z) = \frac{(z+1)^2} {(z-\frac{1}{2}) (z+\frac{3}{4})}
This is expanded:
H(z) = \frac{z^2+ 2z +1} {z^2 +\frac{1}{4} z - \frac{3}{8}}
and divided by the highest order of z:
H(z) = \frac{1 + 2z^{-1} +z^{-2}} {1 +\frac{1}{4} z^{-1} - \frac{3}{8} z^{-2}} = \frac{Y(z)}{X(z)}
The coefficients of the denominator, ak, are the 'feed-backward' coefficients and the coefficients of the numerator are the 'feed-forward' coefficients, bk. The resultant linear difference equation is:
y[n] = -\sum_{k=1}^{N} a_{k} y[n-k] + \sum_{k=0}^{M} b_{k} x[n-k]
or, for the example above:
\frac{Y(z)}{X(z)} = \frac{1 + 2z^{-1} +z^{-2}} {1 +\frac{1}{4} z^{-1} - \frac{3}{8} z^{-2}}
rearranging terms:
\Rightarrow (1 +\frac{1}{4} z^{-1} - \frac{3}{8} z^{-2}) Y(z) = (1 + 2z^{-1} +z^{-2}) X(z)
then by taking the inverse z-transform:
\Rightarrow y[n] + \frac{1}{4} y[n-1] - \frac{3}{8} y[n-2] = x[n] + 2x[n-1] + x[n-2]
and finally, by solving for y[n]:
y[n] = - \frac{1}{4} y[n-1] + \frac{3}{8} y[n-2] + x[n] + 2x[n-1] + x[n-2]
This equation shows how to compute the next output sample, y[n], in terms of the past outputs, y[np], the present input, x[n], and the past inputs, x[np]. Applying the filter to an input in this form is equivalent to a Direct Form I or II realization, depending on the exact order of evaluation.

Filter design

Filter design is the process of designing a filter (in the sense in which the term is used in signal processing, statistics, and applied mathematics), often a linear shift-invariant filter, which satisfies a set of requirements, some of which are contradictory. The problem is to find a realization of the filter which meets each of the requirements to a sufficient degree to make it useful.
The filter design process can be described as an optimization problem where each requirement contributes with a term to an error function which should be minimized. Certain parts of the design process can be automated, but normally an experienced electrical engineer is needed to get a good result.

 



 


 

 

Computer Engineering Conference Calendar

This is a calendar of upcoming conferences in the field of computer engineering. Click on the following link for more information about our conference watch system. As this calendar is updated frequently, use the History button to have a quick overview of the latest changes and additions. You may submit conferences for inclusion to the following address: img/wiki_up//ssimard_cptr.gif.

Covered topics:

img/wiki_up//comparch.gif Computer Architecture, High-performance Computer Design, and Supercomputers
img/wiki_up//arith.gif Computer Arithmetic Modules and Tradeoffs
img/wiki_up//security.gif Computer Security and Cryptographic Technologies
img/wiki_up//control.gif Digital Controllers and Industrial Automation Systems
img/wiki_up//digital.gif Digital Electronics Design, Circuits and Systems, Hardware/Software Codesign
img/wiki_up//dsp.gif Digital Signal and Image Processors
img/wiki_up//cad.gif Design Automation and CAD Tools
img/wiki_up//embedded.gif Embedded Systems and Applications

img/wiki_up//tolerance.gif Fault Tolerance and Dependability
img/wiki_up//human.gif Human-Machine Interactions, Data Visualization and Computer Graphics Technologies
img/wiki_up//intelligence.gif Machine Intelligence, Computer Perception, and Cybernetics
img/wiki_up//vlsi.gif Microelectronic Circuits, Reconfigurable Devices, System-on-Chip, and Application-Specific Processors
img/wiki_up//realtime.gif Real-Time Systems
img/wiki_up//software.gif Software Engineering and Development
img/wiki_up//telecom.gif Telecommunications, Networks, and Pervasive Computing Technologies
img/wiki_up//test.gif Test and Verification Technologies

computer engineering

Computer System engineering, also called computer engineering, is a discipline that integrates several fields of electrical engineering and computer science required to develop computer systems.[1] Computer System engineers usually have training in electronic engineering, software design and hardware-software integration instead of only software engineering or electronic engineering. Computer System engineers are involved in many hardware and software aspects of computing, from the design of individual microprocessors, personal computers, and supercomputers, to circuit design. This field of engineering not only focuses on how computer systems themselves work, but also how they integrate into the larger picture.[2]
Usual tasks involving computer engineers include writing software and firmware for embedded microcontrollers, designing VLSI chips, designing analog sensors, designing mixed signal circuit boards, and designing operating systems. Computer engineers are also suited for robotics research, which relies heavily on using digital systems to control and monitor electrical systems like motors, communications, and sensors.
The first accredited computer engineering degree program in the United States was established at Case Western Reserve University in 1971. As of October 2004, there were 170 ABET-accredited computer engineering programs in the US.[3] Due to increasing job requirements for engineers, who can concurrently design hardware, software, firmware, and manage all forms of computer systems used in industry, some tertiary institutions around the world offer a bachelor's degree generally called computer engineering. Both computer engineering and electronic engineering programs include analog and digital circuit design in their curricula. As with most engineering disciplines, having a sound knowledge of mathematics and sciences is necessary for computer engineers.
In many institutions, computer engineering students are allowed to choose areas of in-depth study in their junior and senior year, because the full breadth of knowledge used in the design and application of computers is beyond the scope of an undergraduate degree. The joint IEEE/ACM Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering defines the core knowledge areas of computer engineering as the following:[4]
The breadth of disciplines studied in computer engineering is not limited to the above subjects, but can include any subject found in engineering.

programming for java

un Microsystems released the first public implementation as Java 1.0 in 1995. Initially it was called as Oak. Then they renamed it as "JAVA". James Gosling was the person who developed it.

Java is purely Object oriented as it follows all the oops principles such as

  1. Encapsulation: It a process of bundling up of data into one block and that block is called Class. So, according to Encapsulation whatever you write that has to be inside Class.
  2. Inheritance: It is a process of deriving the properties of one class into another class. First class is called Base or Super class and next is called Derived or Sub Class
  3. Polymorphism: It is a process of defining two or more methods with same method name but with different forms. There are two types of Polymorphism and they are
    a. Static Polymorphism(Method Overloading). and
    b. Dynamic Polymorphism(Method Overriding)
What is Java?
It is used to create stand-alone applications, net based programs and programs for consumer devices.

Example: cellular phones, palm pilots

Java is Basically divided into
1. J2SE: Java To Standard Edition. (All Core Concepts).
2. J2EE: Java To Enterprise Edition. (All Advance Concepts).
3. J2ME: Java To Mobile Edition (All Mobile Applications).

Features Of Java:
  1. Simple: Java is simple as it is very much similar to c,c++ but all the confusing concepts like pointers are removed from java.
  2. Object Oriented: As it follows all the oops principles and we can relate every thing in java as an object.
  3. Platform Independent: Java is platform independent as we can write the program on one operating system and can execute on any other operating system.
  4. Secure: Java is more secure as virus cannot spread through java files easily.It has more security for data compared to c and c++.
  5. Distributed: Java can be used to develop applications that are portable across multiple platforms,operating systems, and graphic user interfaces.
  6. MultiThreading: Java uses this concept to perform multiple tasks simultaneously.
  7. RMI: Remote Method Invocation allows applications to call objects located at remote sites and communicate with them.
  8. Robust: Java checks the code at the time of compilation and also at the time of interpretation.
  9. Swing: A new set of classes and interfaces used to create an advanced GUI with a "Look and Feel" design.
  10. Memory Management: Java manages its memory efficiently using Garbage Collector.
Types of Applications In Java:
  1. Console Based:In case of these applications the life cycle starts in the main method and ends in the main method. We can print only text form of output.
  2. Applets: These are small programs of java which run on java enabled web browser. If we want to print any grap-hical outputs then we go for applets, which is a part of AWT package. It has certain life cycle methods like init(), start(), paint(), stop() and destroy().
  3. ServerSide: These applications also have certain life cycle methods like init(), service() and destroy().We sho-uld compile the program and run at the server.
    Ex: Servlets, Jsp, Struts e.t.c.

The advance technologies that are in the present market are
  • Struts
  • EJB
  • Xml/Web Services
  • Ajax
  • Springs
Java also provides many design patterns to do the real time projects very efficiently. If you know the advance concepts with the design patterns with some exposer in projects then you can be sure of a job.

At present there is lot of demand for the certified people in the market. Not only in India but also in foreign countries like U.S, Australia, Nigeria, Saudi etc.

The fee structure for one java certification voucher is around Rs.6,500.

There are different certification levels in java such as
  • SCJA. (Sun Certified Java Associate)
  • SCJP. (Sun Certified Java Programmer)
  • SCWCD. (Sun Certified Web Component Developer)
  • SCBCD. (Sun Certified Business Component Developer)
  • SCDJWS. (Sun Certified Developer For Java Web Services).
  • SCMAD. (Sun Certified Mobile Application Developer).

programming for java

sun Microsystems released the first public implementation as Java 1.0 in 1995. Initially it was called as Oak. Then they renamed it as "JAVA". James Gosling was the person who developed it.

Java is purely Object oriented as it follows all the oops principles such as

  1. Encapsulation: It a process of bundling up of data into one block and that block is called Class. So, according to Encapsulation whatever you write that has to be inside Class.
  2. Inheritance: It is a process of deriving the properties of one class into another class. First class is called Base or Super class and next is called Derived or Sub Class
  3. Polymorphism: It is a process of defining two or more methods with same method name but with different forms. There are two types of Polymorphism and they are
    a. Static Polymorphism(Method Overloading). and
    b. Dynamic Polymorphism(Method Overriding)
What is Java?
It is used to create stand-alone applications, net based programs and programs for consumer devices.

Example: cellular phones, palm pilots

Java is Basically divided into
1. J2SE: Java To Standard Edition. (All Core Concepts).
2. J2EE: Java To Enterprise Edition. (All Advance Concepts).
3. J2ME: Java To Mobile Edition (All Mobile Applications).

Features Of Java:
  1. Simple: Java is simple as it is very much similar to c,c++ but all the confusing concepts like pointers are removed from java.
  2. Object Oriented: As it follows all the oops principles and we can relate every thing in java as an object.
  3. Platform Independent: Java is platform independent as we can write the program on one operating system and can execute on any other operating system.
  4. Secure: Java is more secure as virus cannot spread through java files easily.It has more security for data compared to c and c++.
  5. Distributed: Java can be used to develop applications that are portable across multiple platforms,operating systems, and graphic user interfaces.
  6. MultiThreading: Java uses this concept to perform multiple tasks simultaneously.
  7. RMI: Remote Method Invocation allows applications to call objects located at remote sites and communicate with them.
  8. Robust: Java checks the code at the time of compilation and also at the time of interpretation.
  9. Swing: A new set of classes and interfaces used to create an advanced GUI with a "Look and Feel" design.
  10. Memory Management: Java manages its memory efficiently using Garbage Collector.
Types of Applications In Java:
  1. Console Based:In case of these applications the life cycle starts in the main method and ends in the main method. We can print only text form of output.
  2. Applets: These are small programs of java which run on java enabled web browser. If we want to print any grap-hical outputs then we go for applets, which is a part of AWT package. It has certain life cycle methods like init(), start(), paint(), stop() and destroy().
  3. ServerSide: These applications also have certain life cycle methods like init(), service() and destroy().We sho-uld compile the program and run at the server.
    Ex: Servlets, Jsp, Struts e.t.c.

The advance technologies that are in the present market are
  • Struts
  • EJB
  • Xml/Web Services
  • Ajax
  • Springs
Java also provides many design patterns to do the real time projects very efficiently. If you know the advance concepts with the design patterns with some exposer in projects then you can be sure of a job.

At present there is lot of demand for the certified people in the market. Not only in India but also in foreign countries like U.S, Australia, Nigeria, Saudi etc.

The fee structure for one java certification voucher is around Rs.6,500.

There are different certification levels in java such as
  • SCJA. (Sun Certified Java Associate)
  • SCJP. (Sun Certified Java Programmer)
  • SCWCD. (Sun Certified Web Component Developer)
  • SCBCD. (Sun Certified Business Component Developer)
  • SCDJWS. (Sun Certified Developer For Java Web Services).
  • SCMAD. (Sun Certified Mobile Application Developer).

How to Prepare for Examinations?

How is your preparation for the forthcoming Engineering examinations in the month of November? Some of you may have exam fear, some may have jitter and some may be careless or relaxed. I hope that these tips will help all of you to perform better in examinations.
The first and foremost MANTRA to achieve success not only in exams, but also in your life is "THINK YOU CAN WIN". Rely on yourself; keep faith on your hard work. Trust yourself, respect yourself, nourish yourself and motivate yourself.

Pass mark in B.Tech is 40 out of 100 in almost all universities. Out of 100 marks 20 marks are for internal examinations which are awarded by college teachers. Remaining 80 marks are for public examinations. I hope that you scored at least19 marks out of 20 i.e., 50% Therefore you need only 30 out of 80 i.e., around 37% which is not at all difficult to achieve.

Success is a journey but not the destination. The journey of success in examinations has three milestones. They are
1. What to do before examinations
2. Do's and don'ts during examinations
3. What not to do after examinations

Milestone 1:
What to do before examinations?

  • Once public examinations time table is declared by a university, plan your preparation schedule. Draw a table which includes your subjects and how many days you can allot for each subject.
  • Prioritize the subjects according to your assessment whether you're weak or strong in it. Also give importance to subjects based on core: non-core, theoretical: mathematical, compulsory: elective etc., issues while giving priority.
  • Decide a revision plan which is suitable for you. How many days, how many hours per day you can allot for each subject after leaving time for breaks, meals and free time. Ensure that you allot ample amount of time for each subject according to priority.
  • Don't ignore any subjects in revision. Don't think you are good at a particular subject. Ensure a balance where your priority subjects have the lead.
  • It is just time waste if you simply read and write during revision. "Education is not just filling a bucket, but lighting a fire" - William Yeats. Try to recollect what you have studied. After completing one topic or chapter, close your eyes and ask questions on that topic and if you are able to answer your revision is really fruitful.
  • During revision write down separately formulas, theorems, important points and diagrams on separate papers so that they can be used for quick view on the day of examination.
  • Unfortunately if you haven't prepared anything till today, then study the units which have less topics. Don't try to cover the entire syllabus. Concentrate on important chapters having less and easy content.
  • Revision is very important, if you don't have sufficient time, revise at least diagrams, important formulas and equations.
  • During revision if you feel tired don't go to bed to relax, if so you are giving up the time table you have planned. Follow the below guidelines to refresh yourself and stay energized during revision.
    1. Every morning during exams just have 10 minutes walk in fresh air.
    2. Take more water while studying, it will help for good blood circulation and so you will not be tired.
    3. Study while listening to light music which will help you to concentrate more.
    4. Study in same place daily, it will help you to concentrate well.
    5. Don't keep a watch in front of you, it will unnecessarily increases your B.P.
    6. Remove TV, film magazines, film posters etc., from your study room which will divert your concentration.
    7. Don't study for long hours at a stretch. Relax in between for a while and try to recollect what you have studied.
    8. Don't have quarrels or arguments with friends or parents and don't spoil your moods.
Milestone 2:
Dos and don'ts during examination
  • Don't try to read one or two hours before the examination or don't chat with friends before examination. This will increase your useless memory stuff and decrease the speed of accessibility.
  • Sit idle in a comfortable place, close your eyes and try to recall the answers for the questions you have read. This improves your speed of accessibility.
  • Enter the exam hall at the correct time and also leave the exam hall at the correct time. Don't leave before the stipulated time.
  • Read the entire question paper at least once for 15 minutes in a 3 hr examination. Prioritize the answers you know well. Write the best answers you know first. First impression is the best impression. If you write the best answer first, the same impression will continue till the last question. On the other side if you write the first answer with mistakes, the same impression continues even if you write the best answer at last and you will score less.
  • Don't think that you can pass the exams by just repeating the points or filling the additional sheets.
  • Don't compare with others that they are writing more and more pages. More pages will not give more marks. Even it is one page contains real stuff you can gain more marks.
  • Don't write the answer all from the same one book, examiners can find out where your answers come from. Try to write content from prescribed text books.
  • Draw attention towards the related equations, diagrams and side headings. Write only 20 lines per page giving space between words. Use color pens for margins and mark clearly side headings to make your paper more attractive. Box the equations, Underline important points. At the end of each answer write important point as a note if time permits.
  • If you are asked to solve a problem and you have no idea about it, at least write the given data, or a relevant theory, so that you may get minimum marks.
  • Never leave any question. If you write clearly the first three or four question you know from text books, then there are more chances of getting good marks.
Milestone 3:
What not to do after examinations?
  • Don't discuss after each examination, it will spoil your mood and you may not prepare well for the next examination.
  • Relax a while if you feel tired after writing examination.
  • Don't waste time if there is one or two days gap in between the examinations. Make a plan for the remaining examinations.
  • Your answers may not satisfy the examiners completely. Examiners are senior people and expect more from a student. Hence you expect only 50% from the evaluation even if you have written correctly. Don't set your targets so high and don't feel frustrated if you don't achieve the marks you expected.
  • Don't compare your marks with others. You can't become the other person. You compare yourself with your past results. If your performance is not up to mark, you try hard.
  • Don't listen to people who give negative suggestions to you. Give positive suggestion to yourself when you face failures. Remember you have achieved success earlier many times. "Mistakes are the portals of discovery" - James Joyce.
  • Some universities are offering revaluation; if you have faith on what you have written go for revaluation. Before applying for revaluation consult senior lecturers and discuss what you have written so that you can have an idea whether to go for revaluation or not.
Before concluding a last word, there is a Chinese proverb "Tell me and I forget, show me and I remember, Involve me and I understand". Dear students involve your hearts and minds when you study. It helps to increase your knowledge. Marks are not gauzes to your intelligence.

Think critically, act responsibly, lead effectively and live humanly....

bio technology

Biotechnology is a field of applied biology that involves the use of living organisms and bioprocesses in engineering, technology, medicine and other fields requiring bioproducts. Modern use similar term includes genetic engineering as well as cell- and tissue culture technologies. The concept encompasses a wide range of procedures (and history) for modifying living organisms according to human purposes - going back to domestication of animals, cultivation of plants, and "improvements" to these through breeding programs that employ artificial selection and hybridization. By comparison to biotechnology, bioengineering is generally thought of as a related field with its emphasis more on higher systems approaches (not necessarily altering or using biological materials directly) for interfacing with and utilizing living things. The United Nations Convention on Biological Diversity defines biotechnology as:[1]
"Any technological application that uses biological systems, living organisms, or derivatives thereof, to make or modify products or processes for specific use."
Biotechnology draws on the pure biological sciences (genetics, microbiology, animal cell culture, molecular biology, biochemistry, embryology, cell biology) and in many instances is also dependent on knowledge and methods from outside the sphere of biology (chemical engineering, bioprocess engineering, information technology, biorobotics). Conversely, modern biological sciences (including even concepts such as molecular ecology) are intimately entwined and dependent on the methods developed through biotechnology and what is commonly thought of as the life sciences industry.