keaneu's home on the web. Jackson Tan Kean-Eu, York, Computer, Engineering, Design, University, Malaysia.

February 2012
M T W T F S S
« Dec    
 12345
6789101112
13141516171819
20212223242526
272829  

This is a weblog prepared by Jackson Tan Kean-Eu for his studies in the university.It contains his understandings on assignments and lectures about the course he is pursuing. Please direct any enquiries to his email address. If you think that the content is useful, please consider donating.

  • Algorithms (12)
  • Analogue (2)
  • Analogue Filters (5)
  • Circuits (17)
  • Communications (9)
  • Comp.Architect (8)
  • Computing (9)
  • Control (7)
  • Digital Circuits (13)
  • Digital Filters (4)
  • Electronics (4)
  • Engineering (1)
  • General (35)
  • Laboratory (19)
  • Mathematics (13)
  • Microprocessors (1)
  • Networks (22)
  • Noise (1)
  • Numerical (9)
  • Op-Amps (6)
  • Opr. Systems (12)
  • Physics&Devices (5)
  • Programming (11)
  • Project Skills (9)
  • Seminars (3)
  • Transform (11)
  • Transistors (6)
  • Transmission (7)
  • December 2006 (4)
  • November 2006 (6)
  • October 2006 (4)
  • May 2006 (10)
  • April 2006 (10)
  • March 2006 (7)
  • February 2006 (9)
  • January 2006 (10)
  • December 2005 (13)
  • November 2005 (16)
  • October 2005 (11)
  • September 2005 (4)
  • August 2005 (4)
  • July 2005 (4)
  • June 2005 (2)
  • May 2005 (3)
  • April 2005 (9)
  • March 2005 (21)
  • February 2005 (18)
  • January 2005 (15)
  • December 2004 (23)
  • November 2004 (29)
  • October 2004 (22)
  • RSS 2.0
  • Comments RSS 2.0
  • Valid XHTML
  • CSS
  • Denormalisation, Transformation

    Posted in: Analogue Filters 

    Finally, for this course we saw how synthesized normalised low pass filter prototypes are used to realise more general filters operating at different impedances, frequencies and characteristics such as high pass and band pass filters. We have seen impedance and frequency denormalisation when we did the Sallen and Key filter design.

    High pass and band pass frequency transformation can be done starting with the low pass prototype. The low pass filter is scaled to the desired impedance level of the highpass/bandpass filter. For the bandpass filter, the shunt capacitor becomes the same capacitor in parallel with an inductor.

    Risk Management

    Posted in: General 

    We ended the Project Management course with the topic of risk management. Risk can be defined as the chance of an adverse event or the combination of the probability of a defined hazard and the magnitude of the consequences of the occurrence. Management is about balancing the cost (money, time, effort) of risk in order to reduce them to an acceptable level.

    Risk assessment is based on the objective consideration of its likelihood, consequences and detectability. We then looked at the visual representation of risk with a ‘chance of occurrence’ vs ‘magnitude of risk’ graph. In engineering, the risk factors include technical failure, programme failure and economic failure.

    The Boehm’s model of risk management is divided into risk assessment and risk control. Risk assessment includes risk identification, analysis and prioritisation while risk control includes risk management planning, resolution and monitoring. In practice, the job of the program manager is to allocate resources to achieve goals with minimum risk. It includes anticipating problems, quantifying problem risk, deciding which are real problems, planning counters to problems, design trigger indicators, etc.

    Moving on, failure can be defined as a consequence of not meeting a customer requirement. Failure mode and effects analysis are used in system design, product development, project plan, process design/development, manufacturing process, personal management plans/action and change management. The probability of occurrence of the failure is dependent on the type of failure and thus robustness of the design in which it occurs.

    Z-transform

    Posted in: Digital Filters 

    The following lectures look at the z-transform of a digital filter and its frequency response on the z-plane. Using frequency axis (a unit circle in the z-plane), we can find by geometrical means the gain of the filter. Each complete anticlockwise revolution of the unit circle increases the frequency one time the sampling frequency. The spectral repeats created by sampling will lie on top of each other.

    The knowledge of pole and zero positions can be converted into a recurrence expression. A recurrence expression is a formula for calculating output samples from current and previous input samples, and previous output samples. The lab exercise we are having this term will require a notch filter of which the recurrence expression needs to be evaluated in Matlab.

    LC filters, Darlington Insertion

    Posted in: Analogue Filters 

    The Sallen and Key Filter design from the lecture before was used to work out the resistor and capacitor values for a normalised filter. Therefore, we need to find the realistic values for resistors and capacitors in the circuit by denormalising the values to meet our requirement of a specific bandwidth, say 1kHz or 10kHz. The gain of the circuit can be taken care of by having a positive or negative feedback to the operational amplifiers in Sallen and Key designs.

    Moving off active filters, we can also provide Butterworth and Chebyshev filter responses using LC ladder (passive filter) networks. The synthesis of these circuits is achieved by finding the input impedance of the 2 port LC network and then performing Cauer ladder synthesis.

    The Darlington insertion loss technique is used here. Since the power entering the 2 port is equal to the power developed in the load (LC networks are lossless), the rest of power must be reflected. Using these attributes, we can find the power available from the source, filter transmission coefficient, filter input reflection coefficient, and hence filter polynomial.The normalised LC component values use Cauer continued fraction expansion involving sequential impedance/admittance/impedance transformations.

    Project Diagramming

    Posted in: Project Skills 

    There are 3 methods of diagramming plans that were taught in this lecture. First is the Gantt Chart, developed by Henry Laurence Gantt in the second decade of the 20th century. Gantt charts were used as a visual tool to show scheduled and actual progress of projects. It is now accepted as a commonplace project management tool and are frequently used in large projects.

    However, the Gantt charts are criticized in that they communicate relatively little information per unit area of display. Most computer displays will not be able to handle large charts - thus requiring users to scroll a lot to desired section of the chart.

    The next technique is the PERT (Program Evaluation and Review Technique) chart, which has a network diagram. The diagram drawn has activities labeled above arrows and events as circles/boxes numbered sequentially. We looked at an example project of the design of an electronic data capture module, from which we then pinpoint the critical path of the network chart. The critical path is the path in which if any activity duration within the path is lengthen, it will affect the duration of the whole project. Thus, it is important that any activity in this path is not delayed.

    Analyzing Digital Filters

    Posted in: Digital Filters 

    In this lecture, we analyzed the frequency response of a low pass filter with sampling frequency 10kHz and break frequency 1kHz. Increasing the number of filter coefficients (rectangular window) will reduce errors due to Gibb’s phenomenon (overshoot of 9% near a discontinuity).

    Applying Hamming window coefficient (by multiplying each impulse response sample by corresponding window coefficient) will smoothen the ends of the filter’s impulse response. It minimizes stopband leakage and improves attenuation as well as passband properties. However, the drawback of this improvement is that the transition band is now broader.

    We then went on to look at the relationship between the Laplace and Fourier Transform before looking at how the z-transform plays a part in forming the frequency response of a digital filter.

    Chebyshev, Active Filters

    Posted in: Analogue Filters 

    As with the Butterworth filter, we looked at some examples to calculate the minimum order of Chebyshev filter required to satisfy the specifications for normalised lowpass filters. Different from Butterworth response, it takes into account the passband ripple which introduces the ripple factor and Chebyshev polynomial. After getting the minimum order of filter for each specification, we can then find the pole locations for both types of filter.

    Active filters contain both passive and active components. Some examples of active components are operational amplifier and transistor. Active filters are different from LC (passive) filters in that no inductors (thus no losses) are present. It is also small and available as integrated circuit. However, it can only operate at low frequency and can be more sensitive to component variation compared to LC filters. On the other hand, LC filters are suitable for high frequencies although it is bulky, costly and generates magnetic field around it.

    We are realising the transfer function of the circuit using active filters with cascades (can be even or odd order). An odd order filters can be built from second order and first order polynomials in the transfer function. For the second order section, the Sallen and Key filter design is used. We worked through an example of how a fifth order Butterworth filter can be designed using this method.

    Digital Filter Design

    Posted in: Digital Filters 

    The recent lectures focused on digital filter design about its concepts, structure, symbol mathematical notations. To design high-performance non-recursive filters, we looked at the moving average filters. We arrived at a conclusion that the impulse response of a non-recursive filter is simply the values of its coeficients.

    We were then introduced to a popular design method for non-recursive filters known as the window method. The inverse discrete-time Fourier transform (id-t FT) is a key tool in the method. But what is the discrete-time FT? We looked at how we obtain forward discrete-time FT using an equation learned from the Transform technique course few terms ago, before looking at the id-t FT.

    We started first with the design of digital filter from a zero phase filter, although in general a filter has a magnitude and a phase part. This theoretically allows a filter with a brick wall response, but only for an infinite number of filter coefficients. We then learned how to calculate the filter coefficients for a brickwall low pass filter. A similar approach is necessary for a high pass filter.

    Work Breakdown Structure

    Posted in: General 

    We were introduced to work breakdown structure (WBS), which is a good tool for displaying the scope or extent of a project in simple graphics term. It represents the project in terms of the hierarchy of deliverables and services the project will have. WBS starts with a single box at the top, representing the whole project and then partitioned into its components with lower level boxes. In that respect, it supports the principle of management by deliverables.

    WBS provides a simple map of what is to be delivered, but does not deal with schedules and so, does not have time dimension. It is however used as entry criteria for schedule development. The concept of WBS levels is essential as it allows the level of details to report project cost estimates and performance.

    Butterworth, Chebyshev Filters

    Posted in: Analogue Filters 

    The recent Analogue filters lectures focused on Butterworth and Chebyshev Low Pass filter responses.

    For the Butterworth transfer function, we tried to find the minimum orders of n in the transfer function needed to meet certain normalised specifications of different attenuations. Then, we analysed the poles using the response in the ’s’ plane. Here we found that for a normalised Butterworth filter, the poles lie on the unit circle in the ’s’ plane. There are 2n poles with angle of 360/2n which never lie on the imaginary axis. When n is odd, a pole will lie on the real axis.

    Next, we looked at the Chebyshev Response. The Chebyshev polynomial is of importance here and thus we need to show the 2 expressions from which the polynomial is derived are indeed a polynomial. A recurrence formula is obtained here.

    Requirement Capture

    Posted in: General 

    Requirements capture is the process of identifying what the “customer” wants from any proposed system. The “customer” is the end user + the major stakeholders in the project. Requirements are usually stated from the perspective and language of the customer.

    A top-level view of a problem to be solved can be used as a starting point to gather requirements. From this view, we can extract the principal activities of the system and the actors (external agents) that are involved in use cases (significant activities). The relationship between use cases and actors can be shown using the case diagrams. More than one diagram will be needed for a large project.

    The requirement capture process can be summarised as: 1) capture an overall view of problem 2) identify the use case and actors 3) give detailed use case specifications 4) capture non-functional requirements (constraints).

    Digital Filters

    Posted in: Digital Filters 

    We began this course last week by looking at the moving average filter. The effect of lowpass filter can be seen by averaging a series of consecutive input samples. By increasing the frequency of sinusoidal input, the output (moving average) reduces - reflecting a low pass filter.

    We had an example of a train timetable used in the lecture as a plot of the unprocessed input signal. As we apply the moving average filter, it effectively smoothen the waveform. Feeding the output signal through the filter again is equivalent to doubling the stopband attenuation.

    This week, we looked at the sampling theorem. The bandwidth of a signal must not exceed half the sampling frequency. To process analog signals (which are naturally continuous signals) digitally, they must be sampled regularly. Before sampling using a digital filter, they need to be converted into digital signals and passed through an antialias filter. After digital signal processing has been completed, the signals need to be converted back into an analog form via a digital-to-analogue converter (D/A converter) and passed through the reconstruction filter. I think we will be looking further into this in the upcoming lecture.

    Project Management course

    Posted in: General 

    We had a introductory lecture on Project Management earlier this week by Mr. Tony Ward as it is one of the modules that I will be taking this term. This course emphasizes the importance of effectively managing a project. By a definition given by Phil Baguley, “a project is a sequence of connected events that are conducted over a defined and limited period of time and are targeted towards generating a unique but well defined outcome”.

    It is said that the heart of every project is the act of doing or execution. Projects are about doing something - tangible or intangible. A project can be about anything, any size, can last any agreed length of time, cost any agreed amount, has deliverables and involve any number of people.

    Each project is a one-off activity, unique, have a finite and specified duration. It causes and results in a change - thus has a set of defined and measurable outcomes. In managing a project, there is no formula to do it because there are simply too may variables. It requires a kit of tools and technique, and a mix of hard and soft skills. Sensivity to know what to do, how, when, where, with who and why is essential to ensure the success of a project.

    Analogue Filters

    Posted in: Analogue Filters 

    I started off this term’s course with an introductory lecture of analogue filters with Dr. Ruwan Rajaweera. So, here it goes:

    Filters are used in electronic circuits mainly because they can be used for signal conditioning and also to separate wanted signal from unwanted signal frequencies (eg. tuning to a particular channel will only pass those signals transmitted by that channel and will block all other signals). Some applications of filters are to reduce or eliminate adjacent channel interference, to eliminate aliasing and to reduce inter-symbol-interference (ISI).

    There are 4 steps involved in filter design. We start by determining the cut-off frequency and the behaviour of the bands, etc that is stated in the specification. Approximations are then used to find a mathematical expression in the form of transfer function that satisfies the given specification. The process of synthesis is then used to transform the mathematical function into a suitable circuit configuration with component values. Realisation then allows us to transform the frequency and impedance to what is needed.

    We also looked at the transfer function of filters and ideal frequency responses of 4 types of filters, namely the Low Pass Filter, Highpass Filter, Bandpass Filter and Bandstop Filter. To illustrate the transformation between the types of filters, we started with a low pass filter, then convert to highpass and bandpass. All these are explained using ideal responses - also known as “Brick Wall” responses. In practice, ideal responses are impossible to achieve. Therefore, we need to find an approximation of a certain form of transfer function (an equation).

    Finally, we looked at the Butterworth Filter Response which is a ‘maximally flat’ response that uses the form of transfer function we saw earlier using approximation. ‘Maximally flat’ response (at the origin) here means that as many derivated as possible are zero at the origin where frequency equals zero. I can see that we will be elaborating on this in the further lectures.

    Ill-conditioned systems, Power Method

    Posted in: Numerical 

    When the results of a system of linear equations are highly sensitive to small errors in initial data, they are said to be ‘ill-conditioned’. We considered a 2-by-2 in which we looked for the error-dependent ’solution region’. Near parallelism of the straight lines represented by functions corresponds to ‘almost singular’ and can be generalized to n-dimensional space. Systems with this property are called ‘ill-conditioned’. We can attempt to discover them or treat results obtained with appropriate skepticism, revise expectations, or go back to the problem domain and try to generate different data that will yield a well-conditioned system.

    The eigenvalue/eigenvector calculation method introduced before is fine for small matrices, but generally complicated determinants and finding roots of polynomials are involved. This becomes computationally infeasible for large systems. Like linear systems, there are 2 approaches to obtaining fast answers in eigenanalysis, ie the QR decomposition (matrix decomposition) and iterative techniques (fast but constrained).

    The Power Method is the most important of iterative techniques. It works for any nxn matrix that has strictly dominant that has a strictly dominant eigenvalue 11. The principle behind the method is that repeated multiplication of almost any vector by the matrix will tend to move that vector towards the dominant eigenvector. There are many ways to extend the Power Method to obtain more eigenvalues and eigenvectors, especially for symmetric matrices. The method has become popular over the past 10 years because it is at the heart of the Google PageRank algorithm for determining the quality of web pages for answering textual searches.

    Linear Systems, LU factorization

    Posted in: Numerical 

    In this lecture, we reviewed the standard method of handling simultaneous equations, put them in a linear systems (matrix algebra) framework and introduced some new terminologies. In solving systems of linear equations, we can use the Gaussian elimination with matrices. We also looked at forward elimination, row interchanges, back substitution and partial pivoting to solve the matrices. Note that most of the numerical analysis software running in the world at any time is doing Gaussian elimination.

    Next, we have the process of factorization to express a matrix as the product of 2 matrices. Depending on what we want to use the factorization for, it can be done in several ways. LU factorization answers the problem of multiple linear systems as well as other linear algebra problems, and expresses a square matrix as a product of 1 lower-triangular matrix and 1 upper-triangular matrix. In design, we would want to factorize the network transfer matrix into matrices we can easily implement by using LU decomposition. Generally we may need to factorize a matrix into 3 or more components to design a suitable network out of available building blocks.

    Although pivoting prevents multiplication of roundoff errors, they can still add up during the elimination process. A way to improve on our initial solution would be to use iteration in order to end up with solution at full precision. Only in some special cases iteration can be used in placed of factorization, ie. the Gauss-Seidel iteration for sparse systems for matrices that are strictly row diagonally dominant.

    Extended Rules, Romberg Integration

    Posted in: Numerical 

    Trapezium RuleIn order to get more accurate results from the Newton-Cotes numerical integration formulae, they can be extended to cover a specific number of sub-intervals. So, we arrive at the extended trapezium rule and the extended Simpson’s Rule. We can also express how good the integration estimation is for each of the Newton-Cotes formulae using the Taylor series expansions.

    Next, we have the Romberg integration which uses different versions of the extended trapezium rule to converge to a good approximation. Romberg is a fast and simple way to get some of the advantage of higher-order interpolation from just the trapezium rule. Romberg also avoids the problem of numerical instability (negative weights in Newton-Cotes rules with order higher than 9) and polynomial wiggle. The results of trapezium rules also enable us to gauge whether assumptions about smoothness are likely to be valid. However, it is only half as fast as using a sequential Newton-Cotes rule.

    State Machine Enhancements

    Posted in: Digital Circuits 

    Further enhancements can both simplify and improve performance of the universal state machine applied to any control problem discussed in earlier lectures. Here, we looked at the concept of several enhancements and the possible hardware configuration required for their implementation.

    In the micro-code loops (state machine loops), the need for repeating a few states can be appreciated if a simple operation such as binary multiplication is considered. The simplest approach for this task is to employ a shift and add sequence, repeated until all the bits have been dealt with. Next, we have the micro-code subroutines, which is similar to that of a subroutine, procedure or function in any other programming languages. A method to access the subroutine sequence and also to return to the calling algorithm is required.

    By using a multi-way branch, more compact state structures are possible compared to a complex state structure when a universal state machine can only branch to one or two possible places. Another simple concept would be to form a pipeline to enhance operating speed of FSM controllers. Here, it is possible to overlap micro-code access and controller operation of ALU to achieve a speed increase. We also looked at the pipeline timing diagram to illustrate the overlaps.

    Very high speed operation is also possible with bit-slice architecture (4-bit slice) that can be coupled to form any state vector width required. The main advantage of this approach is that the 4-bit component is simple enough to be implemented in Shottky TTL technology. We discussed the functions of the 74S482 block diagram.

    Advanced FSM designs form the core of all microprocessor and other computer systems but they are carefully tailored to the requirements of the particular instruction set that is implemented. FSMs are rarely built up from discrete components except in very special applications demanding the highest performance. They will be found widely in Application Specific ICs (ASICs) where the architectures have been optimised for particular tasks.

    Approximation, Numerical Integration

    Posted in: Numerical 

    Rather than exact interpolation, the idea of approximation considers finding a best fit of a particular functional form (e.g. straight line) to given data. For a straight line case, we want the best approximation, so minimizing some norm is desirable. We might minimize the maximum error, average error, RMS error or squared error. We usually minimize RMS error because it is easier to analyse algebraically and if experimental errors are normally distributed. For more complicated curves, we often use data linearization.

    Next, we looked into numerical integration. The general idea here is to approximate the integral with a finite sum. The most widely used and usually the easiest way to do this is to approximate the integrand with an interpolating polynomial. Here, the most effective way to generate the interpolating polynomial is via Langrange polynomials. While the Newton representation is the most efficient and the Vandermonde is the most natural expression of the polynomial (canonical form) to calculate our integral sums, neither are optimal here. The Langrange polynomials represent the interpolating polynomial as a sum of “simpler” primitive polynomials. We use the 2-point integration for straight line approximation and the 3-point integration to do quadratic approximation to finally arrive at the Simpson’s Rule.

    Data Path Design

    Posted in: Digital Circuits 

    Many digital systems and all general-purpose digital computers have a group of functions to manipulate multi-bit data, eg. add, subtract, multiply, and, or, shift and compare. Here, we examine the development of this type of structure and describe the structure of a simple general-purpose computer.

    The simplest possible data path based on an ALU (Arithmetic & Logic Unit), consists of one shared functional unit (purely combinational) and one register. A multifunction unit can be created from a normal binary adder and some data manipulation logic. Next, we looked at data path timing by using the timing diagram and a register transfer design architecture. The addition of extra registers greatly enhances the data path and improves the flexibility of the system. Control of this structure is considerably more complex, but it is still within the capabilities of an FSM. Any register here can be implemented by using a normal D-type register and a tri-state buffer.

    In a general-purpose computer / microprocessor, the data path has to communicate with the system memory. This implies that there must be some way to generate the memory address as well as dealing with the bi-directional flow of data into and out of memory. The memory address typically requires more bits than the data path itself. The general-purpose computer uses 2 different addresses to access the stored program (program counter) and to access the data values to be used in computation. We then looked at the circuit design of the memory address register, program counter register, data bus interface, data path control and instruction register.

    The basic processor data path control FSM algorithm has 2 simple functions, firstly to obtain the instruction (fetch) and secondly to perform the operations required (execute). This will be repeated until the list of instructions is exhausted. The generalised structure of a state diagram for the fetch-execute cycle makes use of a memory ready input that allows the memory access time to be accommodated.