You are on page 1of 110

random design

What is a fractal???
the word "chaos" is sometimes taken to mean the opposite of "cosmos", in that the latter term has connotations of "order". until the last few decades, chaotic systems have not been studied nearly as much as ordered systems, perhaps because chaotic systems are far more difficult to understand...

graphical representation of fractals:


graphically, fractals are images created out of the process of a mathematical exploration of the space in which they are plotted. for this page, a computer screen

will represent the space which is being explored. each point in the area is tested in some way, usually an equation iterating for a given period of time. the equations used to test each point in the testing region are often extremely simple. each particular point in the testing region is used as a starting point to test a given equation in a finite period of time. if the equation escapes, or becomes very large, within the period of time, it is coloured white. if doesn't escape, or stays within a given range through out the time period, it is coloured black. hence, a fractal image is a graphical representation of the points, which diverge, or go out of control, and the points, which converge, or stay inside the set. to make fractal images more elaborate and interesting, colour is added to them. rather than simply plotting a white point if it escapes, the point is assigned a colour relative to how quickly it escaped. the images produced are very elaborate and possess non-euclidean geometry. fractals can also be produced by following a set of instructions such as remove the centre third of a line segment.

the mandelbrot set:


named after benoit mandelbrot, the mandelbrot set is one of the most famous fractals in existence. it was born when mandelbrot was playing with the simple quadratic equation z=z2+c. in this equation, both z and c are complex numbers. in other words, the mandelbrot set is the set of all complex c such that iterating z=z2+c does not diverge. to generate the mandlebrot set graphically, the computer screen becomes the complex plane. each point on the plain is tested into the equation z=z2+c. if the iterated z stayed within a given boundary forever, convergence, the point is inside the set and

the point is plotted black. if the iteration went of control, divergence, the point was plotted in a colour with respect to how quickly it escaped. for the most part, when the word fractal is mentioned, you immediately think of the stunning pictures you have seen that were called fractals. but just what exactly is a fractal? basically, it is a rough geometric figure that has two properties: first, most magnified images of fractals are essentially indistinguishable from the unmagnified version. this property of invariance under a change of scale if called self-similarity. second, fractals have fractal dimensions. the word fractal was invented by benoit mandelbrot, "i coined fractal from the latin adjective fractus. the corresponding latin verb frangere means to break to create irregular fragments. it is therefore sensible and how appropriate for our needs! - that, in addition to fragmented, fractus should also mean irregular, both meanings being preserved in fragment." fractals have and are being used in many different ways. both artist and scientist are intrigued by the many values of fractals. fractals are being used in applications ranging form image compression to finance. we are still only beginning to realise the full importance and usefulness of fractal geometry. one of the largest relationships with real-life is the similarity between fractals and objects in nature. the resemblance many fractals and their natural counter-parts are so large that it cannot be overlooked. mathematical formulas are used to model self similar natural forms. the pattern is repeated at a large scale and patterns evolve to mimic large scale real world objects. one of the most useful applications of fractals and fractal geometry in image compression. it is also one of the more controversial ideas. the basic concept behind fractal image compression is to take an image and express it as an iterated system of functions. the image can be quickly displayed, and at any magnification with infinite levels of fractal detail. the largest problem behind this idea is deriving the system of functions which describe an image. one of the more trivial applications of fractals is their visual effect. not only do fractals have a stunning aesthetic value, that is, they are remarkably pleasing to the eye, but they also have a way to trick the mind. fractals

have been used commercially in the film industry, in films such as star wars and star trek. fractal images are used as an alternative to costly elaborate sets to produce fantasy landscapes. another seemingly unrelated application of fractals and chaos is in music. some music, including that of back and mozart, can be stripped down so that is contains as little as 1/64th of its notes and still retain the essence of the composer. many new software applications are and have been developed which contain chaotic filters, similar to those which change the speed, or the pitch of music. fractal geometry also has an application to biological analysis. fractal and chaos phenomena specific to non-linear systems are widely observed in biological systems. a study has established an analytical method based on fractals and chaos theory for two patterns: the dendrite pattern of cells during development in the cerebellum and the firing pattern of intercellular potential. variation in the development of the dendrite stage was evaluated with a fractal dimension. the order in many ion channels generating the firing pattern was also evaluated with a fractal dimension, enabling the high order seen there to be quantised.

The Wikimedia Foundation's 2009 steward election has started. Please vote.

[Hide] [Help us with translations!]

Fractal
From Wikipedia, the free encyclopedia

Jump to: navigation, search

The Mandelbrot set is a famous example of a fractal

A fractal created using the program Apophysis and a julian transform. A fractal is generally "a rough or fragmented geometric shape that can be split into parts, each of which is (at least approximately) a reduced-size copy of the whole,"[1] a property called selfsimilarity. The term was coined by Benot Mandelbrot in 1975 and was derived from the Latin fractus meaning "broken" or "fractured." A mathematical fractal is based on an equation that undergoes iteration, a form of feedback based on recursion.[2] A fractal often has the following features:[3]

It has a fine structure at arbitrarily small scales. It is too irregular to be easily described in traditional Euclidean geometric language. It is self-similar (at least approximately or stochastically). It has a Hausdorff dimension which is greater than its topological dimension (although this requirement is not met by space-filling curves such as the Hilbert curve).

It has a simple and recursive definition.

Because they appear similar at all levels of magnification, fractals are often considered to be infinitely complex (in informal terms). Natural objects that approximate fractals to a degree include clouds, mountain ranges, lightning bolts, coastlines, and snow flakes. However, not all self-similar objects are fractalsfor example, the real line (a straight Euclidean line) is formally self-similar but fails to have other fractal characteristics; for instance, it is regular enough to be described in Euclidean terms. Images of fractals can be created using fractal generating software. Images produced by such software are normally referred to as being fractals even if they do not have the above characteristics, as it is possible to zoom into a region of the image that does not exhibit any fractal properties.

Contents
[hide]

1 History 2 Examples 3 Generating fractals 4 Classification 5 In nature 6 In creative works 7 Applications 8 See also 9 References 10 Further reading 11 External links

[edit] History

Animated construction of a Sierpiski Triangle, only going nine generations of infiniteclick for larger image.

To create a Koch snowflake, one begins with an equilateral triangle and then replaces the middle third of every line segment with a pair of line segments that form an equilateral "bump." One then performs the same replacement on every line segment of the resulting shape, ad infinitum. With every iteration, the perimeter of this shape increases by one third of the previous length. The Koch snowflake is the result of an infinite number of these iterations, and has an infinite length, while its area remains finite. For this reason, the Koch snowflake and similar constructions were sometimes called "monster curves." The mathematics behind fractals began to take shape in the 17th century when mathematician and philosopher Leibniz considered recursive self-similarity (although he made the mistake of thinking that only the straight line was self-similar in this sense). It took until 1872 before a function appeared whose graph would today be considered fractal, when Karl Weierstrass gave an example of a function with the non-intuitive property of being everywhere continuous but nowhere differentiable. In 1904, Helge von Koch, dissatisfied with Weierstrass's very abstract and analytic definition, gave a more geometric definition of a similar function, which is now called the Koch curve. (The image at right is three Koch curves put together to form what is commonly called the Koch snowflake.) In 1915, Waclaw Sierpinski constructed his triangle and, one year later, his carpet. Originally these geometric fractals were described as curves rather than the 2D shapes that they are known as in their modern constructions. In 1918, Bertrand Russell recognised a "supreme beauty" within the emerging mathematics of fractals.[2] The idea of self-similar curves was taken further by Paul Pierre Lvy, who, in his 1938 paper Plane or Space Curves and Surfaces Consisting of Parts Similar to the Whole described a new fractal curve, the Lvy C curve. Georg Cantor also gave examples of subsets of the real line with unusual propertiesthese Cantor sets are also now recognized as fractals. Iterated functions in the complex plane were investigated in the late 19th and early 20th centuries by Henri Poincar, Felix Klein, Pierre Fatou and Gaston Julia. However, without the aid of

modern computer graphics, they lacked the means to visualize the beauty of many of the objects that they had discovered. In the 1960s, Benot Mandelbrot started investigating self-similarity in papers such as How Long Is the Coast of Britain? Statistical Self-Similarity and Fractional Dimension, which built on earlier work by Lewis Fry Richardson. Finally, in 1975 Mandelbrot coined the word "fractal" to denote an object whose Hausdorff-Besicovitch dimension is greater than its topological dimension. He illustrated this mathematical definition with striking computer-constructed visualizations. These images captured the popular imagination; many of them were based on recursion, leading to the popular meaning of the term "fractal".

[edit] Examples

A Julia set, a fractal related to the Mandelbrot set A class of examples is given by the Cantor sets, Sierpinski triangle and carpet, Menger sponge, dragon curve, space-filling curve, and Koch curve. Additional examples of fractals include the Lyapunov fractal and the limit sets of Kleinian groups. Fractals can be deterministic (all the above) or stochastic (that is, non-deterministic). For example, the trajectories of the Brownian motion in the plane have a Hausdorff dimension of 2. Chaotic dynamical systems are sometimes associated with fractals. Objects in the phase space of a dynamical system can be fractals (see attractor). Objects in the parameter space for a family of systems may be fractal as well. An interesting example is the Mandelbrot set. This set contains whole discs, so it has a Hausdorff dimension equal to its topological dimension of 2but what is truly surprising is that the boundary of the Mandelbrot set also has a Hausdorff dimension of 2 (while the topological dimension of 1), a result proved by Mitsuhiro Shishikura in 1991. A closely related fractal is the Julia set.

[edit] Generating fractals

Even 2000 times magnification of the Mandelbrot set uncovers fine detail resembling the full set.

Four common techniques for generating fractals are:

Escape-time fractals (also known as "orbits" fractals) These are defined by a formula or recurrence relation at each point in a space (such as the complex plane). Examples of this type are the Mandelbrot set, Julia set, the Burning Ship fractal, the Nova fractal and the Lyapunov fractal. The 2d vector fields that are generated by one or two iterations of escape-time formulae also give rise to a fractal form when points (or pixel data) are passed through this field repeatedly. Iterated function systems These have a fixed geometric replacement rule. Cantor set, Sierpinski carpet, Sierpinski gasket, Peano curve, Koch snowflake, Harter-Heighway dragon curve, T-Square, Menger sponge, are some examples of such fractals. Random fractals Generated by stochastic rather than deterministic processes, for example, trajectories of the Brownian motion, Lvy flight, fractal landscapes and the Brownian tree. The latter yields so-called mass- or dendritic fractals, for example, diffusion-limited aggregation or reaction-limited aggregation clusters. Strange attractors Generated by iteration of a map or the solution of a system of initial-value differential equations that exhibit chaos.

[edit] Classification
Fractals can also be classified according to their self-similarity. There are three types of selfsimilarity found in fractals:

Exact self-similarity This is the strongest type of self-similarity; the fractal appears identical at different scales. Fractals defined by iterated function systems often display exact self-similarity. Quasi-self-similarity This is a loose form of self-similarity; the fractal appears approximately (but not exactly) identical at different scales. Quasi-self-similar fractals contain small copies of the entire fractal in distorted and degenerate forms. Fractals defined by recurrence relations are usually quasi-self-similar but not exactly self-similar. Statistical self-similarity This is the weakest type of self-similarity; the fractal has numerical or statistical measures which are preserved across scales. Most reasonable definitions of "fractal" trivially imply some form of statistical self-similarity. (Fractal dimension itself is a numerical measure which is preserved across scales.) Random fractals are examples of fractals which are statistically self-similar, but neither exactly nor quasi-self-similar.

[edit] In nature
Approximate fractals are easily found in nature. These objects display self-similar structure over an extended, but finite, scale range. Examples include clouds, snow flakes, crystals, mountain ranges, lightning, river networks, cauliflower or broccoli, and systems of blood vessels and pulmonary vessels. Coastlines may be loosely considered fractal in nature. Trees and ferns are fractal in nature and can be modeled on a computer by using a recursive algorithm. This recursive nature is obvious in these examplesa branch from a tree or a frond from a fern is a miniature replica of the whole: not identical, but similar in nature. The connection between fractals and leaves are currently being used to determine how much carbon is contained in trees. This connection is hoped to help determine and solve the environmental issue of carbon emission and control. [4] In 1999, certain self similar fractal shapes were shown to have a property of "frequency invariance"the same electromagnetic properties no matter what the frequencyfrom Maxwell's equations (see fractal antenna).[5]

A fractal that models the Photograph of a surface of a mountain romanesco broccoli, (animation) A fractal fern showing a naturally computed using occuring fractal an Iterated function system

Fractal pentagram drawn with a vector iteration program

[edit] In creative works


Further information: Fractal art Fractal patterns have been found in the paintings of American artist Jackson Pollock. While Pollock's paintings appear to be composed of chaotic dripping and splattering, computer analysis has found fractal patterns in his work.[6] Decalcomania, a technique used by artists such as Max Ernst, can produce fractal-like patterns.[7] It involves pressing paint between two surfaces and pulling them apart. Fractals are also prevalent in African art and architecture. Circular houses appear in circles of circles, rectangular houses in rectangles of rectangles, and so on. Such scaling patterns can also be found in African textiles, sculpture, and even cornrow hairstyles.[8]

A fractal is formed when pulling apart two High voltage glue-covered acrylic breakdown within a 4 Fractal branching sheets. block of acrylic creates occurs in a fractured

Romanesco broccoli showing very fine natural fractals

a fractal Lichtenberg figure.

surface such as a microwave-irradiated DVD.[9]

A DLA cluster grown from a copper(II) sulfate solution in an electrodeposition cell

A "woodburn" fractal A magnification of the Pascal generated fractal phoenix set

A fractal flame created Fractal made by the with the program program Sterling Apophysis

[edit] Applications
Main article: Fractal analysis As described above, random fractals can be used to describe many highly irregular real-world objects. Other applications of fractals include:[10]

Classification of histopathology slides in medicine Fractal landscape or Coastline complexity Enzyme/enzymology (Michaelis-Menten kinetics) Generation of new music Generation of various art forms Signal and image compression Creation of digital photographic enlargements Seismology Fractal in soil mechanics

Computer and video game design, especially computer graphics for organic environments and as part of procedural generation Fractography and fracture mechanics Fractal antennas Small size antennas using fractal shapes Small angle scattering theory of fractally rough systems T-shirts and other fashion Generation of patterns for camouflage, such as MARPAT Digital sundial Technical analysis of price series (see Elliott wave principle)

[edit] See also


Bifurcation theory Butterfly effect Chaos theory Complexity Constructal theory Contraction mapping theorem Diamond-square algorithm Droste effect Feigenbaum function Fractal art

Fractal compression Fractal cosmology Fractal flame Fractals in wikimedia Fractal landscape Fractint Fracton Graftal Greeble Lacunarity

List of fractals by Hausdorff dimension Publications in fractal geometry Newton fractal Recursionism Sacred geometry Self-reference Space-filling curve Strange loop Turbulence

[edit] References
1. ^ Mandelbrot, B.B. (1982). The Fractal Geometry of Nature. W.H. Freeman and Company.. ISBN 0-7167-1186-9. 2. ^ a b Briggs, John. Fractals:The Patterns of Chaos. Thames and Hudson. pp. 148. ISBN 0500276935. 3. ^ Falconer, Kenneth (2003). Fractal Geometry: Mathematical Foundations and Applications. John Wiley & Sons, Ltd.. xxv. ISBN 0-470-84862-6. 4. ^ "Hunting the Hidden Dimension." Nova. PBS. WPMB-Maryland. 10/28/2008. 5. ^ Hohlfeld,R., and Cohen, N.,"SELF-SIMILARITY AND THE GEOMETRIC REQUIREMENTS FOR FREQUENCY INDEPENDENCE IN ANTENNAE ", Fractals, Vol. 7, No. 1 (1999) 79-84 6. ^ Richard Taylor, Adam P. Micolich and David Jonas. Fractal Expressionism : Can Science Be Used To Further Our Understanding Of Art? 7. ^ A Panorama of Fractals and Their Uses by Michael Frame and Benot B. Mandelbrot 8. ^ Ron Eglash. African Fractals: Modern Computing and Indigenous Design. New Brunswick: Rutgers University Press 1999. 9. ^ Peng, Gongwen; Decheng Tian (21 July 1990). "The fractal nature of a fracture surface". Journal of Physics A 23 (14): 32573261. doi:10.1088/0305-4470/23/14/022. http://www.iop.org/EJ/abstract/0305-4470/23/14/022. Retrieved on 2 June 2007. 10. ^ "Applications". http://library.thinkquest.org/26242/full/ap/ap.html. Retrieved on 2007-10-21.

[edit] Further reading


Barnsley, Michael F., and Hawley Rising. Fractals Everywhere. Boston: Academic Press Professional, 1993. ISBN 0-12-079061-0 Falconer, Kenneth. Techniques in Fractal Geometry. John Willey and Sons, 1997. ISBN 0-471-92287-0 Jrgens, Hartmut, Heins-Otto Peitgen, and Dietmar Saupe. Chaos and Fractals: New Frontiers of Science. New York: Springer-Verlag, 1992. ISBN 0-387-97903-4 Benot B. Mandelbrot The Fractal Geometry of Nature. New York: W. H. Freeman and Co., 1982. ISBN 0-7167-1186-9 Peitgen, Heinz-Otto, and Dietmar Saupe, eds. The Science of Fractal Images. New York: Springer-Verlag, 1988. ISBN 0-387-96608-0 Clifford A. Pickover, ed. Chaos and Fractals: A Computer Graphical Journey - A 10 Year Compilation of Advanced Research. Elsevier, 1998. ISBN 0-444-50002-2 Jesse Jones, Fractals for the Macintosh, Waite Group Press, Corte Madera, CA, 1993. ISBN 1-878739-46-8. Hans Lauwerier, Fractals: Endlessly Repeated Geometrical Figures, Translated by Sophia Gill-Hoffstadt, Princeton University Press, Princeton NJ, 1991. ISBN 0-69108551-X, cloth. ISBN 0-691-02445-6 paperback. "This book has been written for a wide audience..." Includes sample BASIC programs in an appendix. Sprott, Julien Clinton (2003). Chaos and Time-Series Analysis. Oxford University Press. ISBN 0-19-850839-5 and ISBN 978-0-19-850839-7. Bernt Wahl, Peter Van Roy, Michael Larsen, and Eric Kampman Exploring Fractals on the Macintosh, Addison Wesley, 1995. ISBN 0-201-62630-6 Nigel Lesmoir-Gordon. "The Colours of Infinity: The Beauty, The Power and the Sense of Fractals." ISBN 1-904555-05-5 (The book comes with a related DVD of the Arthur C. Clarke documentary introduction to the fractal concept and the Mandelbrot set. Gouyet, Jean-Franois. Physics and Fractal Structures (Foreword by B. Mandelbrot); Masson, 1996. ISBN 2-225-85130-1, and New York: Springer-Verlag, 1996. ISBN 0387-94153-1. Out-of-print. Available in PDF version at [1].

[edit] External links


Listen to this article (info/dl)

This audio file was created from a revision dated 2005-06-16, and does not reflect subsequent edits to the article. (Audio help)

More spoken articles Wikimedia Commons has media related to: Fractal

Look up fractal in Wiktionary, the free dictionary. Wikibooks has a book on the topic of Fractals

Fractals at the Open Directory Project

Retrieved from "http://en.wikipedia.org/wiki/Fractal" Categories: Spoken articles | Fractals | Digital Revolution | Digital art
Views

Article Discussion Edit this page History

Personal tools

Log in / create account

Navigation Search
Go Search

Main page Contents Featured content Current events Random article

Interaction Toolbox

About Wikipedia Community portal Recent changes Contact Wikipedia Donate to Wikipedia Help

What links here Related changes Upload file Special pages Printable version Permanent link Cite this page

Languages

Bosanski Catal esky Dansk Deutsch Espaol Esperanto Franais Galego Hrvatski Ido Bahasa Indonesia Interlingua Italiano Latina Lietuvi Magyar Nederlands orsk bokm l Polski Portugus Romn Simple English Slovenina Slovenina / Srpski

Suomi Svenska Ting Vit Trke

This page was last modified on 4 February 2009, at 17:44. All text is available under the terms of the GNU Free Documentation License. (See Copyrights for details.) Wikipedia is a registered trademark of the Wikimedia Foundation, Inc., a U.S. registered 501(c)(3) tax-deductible nonprofit charity. Privacy policy About Wikipedia Disclaimers

The Wikimedia Foundation's 2009 steward election has started. Please vote.

[Hide] [Help us with translations!]

Butterfly effect
From Wikipedia, the free encyclopedia

Jump to: navigation, search For other uses, see Butterfly effect (disambiguation).

Point attractors in 2D phase space. The butterfly effect is a phrase that encapsulates the more technical notion of sensitive dependence on initial conditions in chaos theory. Small variations of the initial condition of a dynamical system may produce large variations in the long term behavior of the system. This is sometimes presented as esoteric behavior, but can be exhibited by very simple systems: for example, a ball placed at the crest of a hill might roll into any of several valleys depending on slight differences in initial position.

Contents
[hide]

1 Theory 2 Origin of the concept and the term 3 Illustration 4 Mathematical definition 5 Appearances in popular culture 6 See also 7 References 8 Further reading 9 External links

[edit] Theory
The phrase refers to the idea that a butterfly's wings might create tiny changes in the atmosphere that may ultimately alter the path of a tornado or delay, accelerate or even prevent the occurrence

of a tornado in a certain location. The flapping wing represents a small change in the initial condition of the system, which causes a chain of events leading to large-scale alterations of events. Had the butterfly not flapped its wings, the trajectory of the system might have been vastly different. While the butterfly does not cause the tornado, the flap of its wings is an essential part of the initial conditions resulting in a tornado. Recurrence, the approximate return of a system towards its initial conditions, together with sensitive dependence on initial conditions are the two main ingredients for chaotic motion. They have the practical consequence of making complex systems, such as the weather, difficult to predict past a certain time range (approximately a week in the case of weather).

[edit] Origin of the concept and the term


The term "butterfly effect" itself is related to the work of Edward Lorenz, and is based in Chaos Theory and sensitive dependence on initial conditions, first described in the literature by Jacques Hadamard in 1890[1] and popularized by Pierre Duhem's 1906 book. The idea that one butterfly could have a far-reaching ripple effect on subsequent events seems first to have appeared in a 1952 short story by Ray Bradbury about time travel (see Literature and print here) although Lorenz made the term popular. In 1961, Lorenz was using a numerical computer model to rerun a weather prediction, when, as a shortcut on a number in the sequence, he entered the decimal .506 instead of entering the full .506127 the computer would hold. The result was a completely different weather scenario.[2] Lorenz published his findings in a 1963 paper for the New York Academy of Sciences noting that "One meteorologist remarked that if the theory were correct, one flap of a seagull's wings could change the course of weather forever." Later speeches and papers by Lorenz used the more poetic butterfly. According to Lorenz, upon failing to provide a title for a talk he was to present at the 139th meeting of the American Association for the Advancement of Science in 1972, Philip Merilees concocted Does the flap of a butterflys wings in Brazil set off a tornado in Texas as a title. Although a butterfly flapping its wings has remained constant in the expression of this concept, the location of the butterfly, the consequences, and the location of the consequences have varied widely.[3]

[edit] Illustration
The butterfly effect in the Lorenz attractor time 0 t 30 (larger)

z coordinate (larger)

These figures show two segments of the three-dimensional evolution of two trajectories (one in blue, the other in yellow) for the same period of time in the Lorenz attractor starting at two initial points that differ only by 10-5 in the x-coordinate. Initially, the two trajectories seem coincident, as indicated by the small difference between the z coordinate of the blue and yellow trajectories, but for t > 23 the difference is as large as the value of the trajectory. The final position of the cones indicates that the two trajectories are no longer coincident at t=30.

A Java animation of the Lorenz attractor shows the continuous evolution.

[edit] Mathematical definition


A dynamical system with evolution map ft displays sensitive dependence on initial conditions if points arbitrarily close become separate with increasing t. If M is the state space for the map ft, then ft displays sensitive dependence to initial conditions if there is a >0 such that for every point xM and any neighborhood N containing x there exist a point y from that neighborhood N and a time such that the distance

The definition does not require that all points from a neighborhood separate from the base point x.

[edit] Appearances in popular culture

Main article: Butterfly effect in popular culture The term is sometimes used in popular media dealing with the idea of time travel, usually inaccurately. Most time travel depictions simply fail to address butterfly effects. According to the actual theory, if history could be "changed" at all (so that one is not invoking something like the Novikov self-consistency principle which would ensure a fixed self-consistent timeline), the mere presence of the time travelers in the past would be enough to change short-term events (such as the weather) and would also have an unpredictable impact on the distant future. Therefore, no one who travels into the past could ever return to the same version of reality he or she had come from and could have therefore not been able to travel back in time in the first place, which would create a phenomenon known as a time paradox.

Butterfly effect
From Wikipedia, the free encyclopedia

Jump to: navigation, search For other uses, see Butterfly effect (disambiguation).

Point attractors in 2D phase space. The butterfly effect is a phrase that encapsulates the more technical notion of sensitive dependence on initial conditions in chaos theory. Small variations of the initial condition of a dynamical system may produce large variations in the long term behavior of the system. This is sometimes presented as esoteric behavior, but can be exhibited by very simple systems: for example, a ball placed at the crest of a hill might roll into any of several valleys depending on slight differences in initial position.

Contents
[hide]

1 Theory 2 Origin of the concept and the term 3 Illustration 4 Mathematical definition 5 Appearances in popular culture 6 See also 7 References 8 Further reading 9 External links

[edit] Theory
The phrase refers to the idea that a butterfly's wings might create tiny changes in the atmosphere that may ultimately alter the path of a tornado or delay, accelerate or even prevent the occurrence of a tornado in a certain location. The flapping wing represents a small change in the initial condition of the system, which causes a chain of events leading to large-scale alterations of events. Had the butterfly not flapped its wings, the trajectory of the system might have been vastly different. While the butterfly does not cause the tornado, the flap of its wings is an essential part of the initial conditions resulting in a tornado. Recurrence, the approximate return of a system towards its initial conditions, together with sensitive dependence on initial conditions are the two main ingredients for chaotic motion. They have the practical consequence of making complex systems, such as the weather, difficult to predict past a certain time range (approximately a week in the case of weather).

[edit] Origin of the concept and the term


The term "butterfly effect" itself is related to the work of Edward Lorenz, and is based in Chaos Theory and sensitive dependence on initial conditions, first described in the literature by Jacques Hadamard in 1890[1] and popularized by Pierre Duhem's 1906 book. The idea that one butterfly could have a far-reaching ripple effect on subsequent events seems first to have appeared in a 1952 short story by Ray Bradbury about time travel (see Literature and print here) although Lorenz made the term popular. In 1961, Lorenz was using a numerical computer model to rerun a weather prediction, when, as a shortcut on a number in the sequence, he entered the decimal .506 instead of entering the full .506127 the computer would hold. The result was a completely different weather scenario.[2] Lorenz published his findings in a 1963 paper for the New York Academy of Sciences noting that "One meteorologist remarked that if the theory were correct, one flap of a seagull's wings could change the course of weather forever." Later speeches and papers by Lorenz used the more poetic butterfly. According to Lorenz, upon failing to provide a title for a talk he was to present at the 139th meeting of the American Association for the

Advancement of Science in 1972, Philip Merilees concocted Does the flap of a butterflys wings in Brazil set off a tornado in Texas as a title. Although a butterfly flapping its wings has remained constant in the expression of this concept, the location of the butterfly, the consequences, and the location of the consequences have varied widely.[3]

[edit] Illustration
The butterfly effect in the Lorenz attractor time 0 t 30 (larger)

z coordinate (larger)

These figures show two segments of the three-dimensional evolution of two trajectories (one in blue, the other in yellow) for the same period of time in the Lorenz attractor starting at two initial points that differ only by 10-5 in the x-coordinate. Initially, the two trajectories seem coincident, as indicated by the small difference between the z coordinate of the blue and yellow trajectories, but for t > 23 the difference is as large as the value of the trajectory. The final position of the cones indicates that the two trajectories are no longer coincident at t=30.

A Java animation of the Lorenz attractor shows the continuous evolution.

[edit] Mathematical definition


A dynamical system with evolution map ft displays sensitive dependence on initial conditions if points arbitrarily close become separate with increasing t. If M is the state space for the map ft, then ft displays sensitive dependence to initial conditions if there is a >0 such that for every point xM and any neighborhood N containing x there exist a point y from that neighborhood N and a time such that the distance

The definition does not require that all points from a neighborhood separate from the base point x.

[edit] Appearances in popular culture


Main article: Butterfly effect in popular culture The term is sometimes used in popular media dealing with the idea of time travel, usually inaccurately. Most time travel depictions simply fail to address butterfly effects. According to the actual theory, if history could be "changed" at all (so that one is not invoking something like the Novikov self-consistency principle which would ensure a fixed self-consistent timeline), the mere presence of the time travelers in the past would be enough to change short-term events (such as the weather) and would also have an unpredictable impact on the distant future. Therefore, no one who travels into the past could ever return to the same version of reality he or she had come from and could have therefore not been able to travel back in time in the first place, which would create a phenomenon known as a time paradox.

Control-Lyapunov function
From Wikipedia, the free encyclopedia

Jump to: navigation, search In control theory, a control-Lyapunov function V(x,u) is a generalization of the notion of Lyapunov function V(x) used in stability analysis. The ordinary Lyapunov function is used to test whether a dynamical system is stable (more restrictively, asymptotically stable). That is, whether the system starting in a state in some domain D will remain in D, or for asymptotic stability will eventually return to x = 0. The control-Lyapunov function is used to test whether a system is feedback stabilizable, that is whether for any state x there exists a control u(x,t) such that the system can be brought to the zero state by applying the control u. More formally, suppose we are given a dynamical system

where the state x(t) and the control u(t) are vectors. Definition. A control-Lyapunov function is a function V(x,u) that is continuous, positive-definite (that is V(x,u) is positive except at x = 0 where it is zero), proper (that is ), and such that as

The last condition is the key condition; in words it says that for each state x we can find a control u that will reduce the "energy" V. Intuitively, if in each state we can always find a way to reduce the energy, we should eventually be able to bring the energy to zero, that is to bring the system to a stop. This is made rigorous by the following result: Artstein's theorem. The dynamical system has a differentiable control-Lyapunov function if and only if there exists a regular stabilizing feedback u(x). It may not be easy to find a control-Lyapunov function for a given system, but if we can find one thanks to some ingenuity and luck, then the feedback stabilization problem simplifies considerably, in fact it reduces to solving a static non-linear programming problem

for each state x. The theory and application of control-Lyapunov functions were developed by Z. Artstein and E. D. Sontag in the 1980s and 1990s. This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. (August 2006)

Lyapunov function
From Wikipedia, the free encyclopedia

Jump to: navigation, search

Lyapunov fractal with the sequence AAAABBB In mathematics, Lyapunov functions are functions which can be used to prove the stability of a certain fixed point in a dynamical system or autonomous differential equation. Named after the Russian mathematician Aleksandr Mikhailovich Lyapunov, Lyapunov functions are important to stability theory and control theory. Functions which might prove the stability of some equilibrium are called Lyapunov-candidatefunctions. There is no general method to construct or find a Lyapunov-candidate-function which proves the stability of an equilibrium, and the inability to find a Lyapunov function is inconclusive with respect to stability, which means, that not finding a Lyapunov function doesn't mean that the system is unstable. For dynamical systems (e.g. physical systems), conservation laws can often be used to construct a Lyapunov-candidate-function. The basic Lyapunov theorems for autonomous systems which are directly related to Lyapunov (candidate) functions are a useful tool to prove the stability of an equilibrium of an autonomous dynamical system. One must be aware that the basic Lyapunov Theorems for autonomous systems are a sufficient, but not necessary tool to prove the stability of an equilibrium. Finding a Lyapunov Function for a certain equilibrium might be a matter of luck. Trial and error is the method to apply, when testing Lyapunov-candidate-functions on some equilibrium. As the areas of equal stability often follow lines in 2D, the computer generated images of Lyapunov exponents look nice and are very popular.

Contents
[hide]

1 Definition of a Lyapunov candidate function 2 Definition of the equilibrium point of a system 3 Basic Lyapunov theorems for autonomous systems o 3.1 Stable equilibrium o 3.2 Locally asymptotically stable equilibrium o 3.3 Globally asymptotically stable equilibrium 4 See also 5 References 6 External links

[edit] Definition of a Lyapunov candidate function


Let

be a scalar function. V is a Lyapunov-candidate-function if it is a locally positive-definite function, i.e.

With U being a neighborhood region around x = 0

[edit] Definition of the equilibrium point of a system


Let

be an arbitrary autonomous dynamical system with equilibrium point

There always exists a coordinate transformation

, such that:

So the new system f(x) has an equilibrium point at the origin.

[edit] Basic Lyapunov theorems for autonomous systems


Main article: Lyapunov stability Let

be an equilibrium of the autonomous system

And let

be the time derivative of the Lyapunov-candidate-function V.

[edit] Stable equilibrium


If the Lyapunov-candidate-function V is locally positive definite and the time derivative of the Lyapunov-candidate-function is locally negative semidefinite:

for some neighborhood

, then the equilibrium is proven to be stable.

[edit] Locally asymptotically stable equilibrium


If the Lyapunov-candidate-function V is locally positive definite and the time derivative of the Lyapunov-candidate-function is locally negative definite:

for some neighborhood

, then the equilibrium is proven to be locally asymptotically stable.

[edit] Globally asymptotically stable equilibrium

If the Lyapunov-candidate-function V is globally positive definite, radially unbounded and the time derivative of the Lyapunov-candidate-function is globally negative definite:

then the equilibrium is proven to be globally asymptotically stable. The Lyapunov-candidate function V(x) is radially unbounded if .

Lyapunov stability
From Wikipedia, the free encyclopedia

Jump to: navigation, search This article is about asymptotic stability of nonlinear systems. For stability of linear systems, see exponential stability. In mathematics, the notion of Lyapunov stability occurs in the study of dynamical systems. In simple terms, if all solutions of the dynamical system that start out near an equilibrium point xe stay near xe forever, then xe is Lyapunov stable. More strongly, if all solutions that start out near xe converge to xe, then xe is asymptotically stable. The notion of exponential stability guarantees a minimal rate of decay, i.e., an estimate of how quickly the solutions converge. The idea of Lyapunov stability can be extended to infinite-dimensional manifolds, where it is known as structural stability, which concerns the behaviour of different but "nearby" solutions to differential equations. Input-to-state stability (ISS) applies Lyapunov notions to systems with inputs.

Contents
[hide]

1 Definition for continuous-time systems 2 Definition for iterated systems 3 Lyapunov stability theorems o 3.1 Lyapunov second theorem on stability 4 Stability for linear state space models 5 Stability for systems with inputs 6 Example 7 Barbalat's lemma and stability of time-varying systems 8 References 9 Further reading

10 See also

[edit] Definition for continuous-time systems


Consider an autonomous nonlinear dynamical system , where and is an equilibrium. denotes the system state vector, continuous on an open set containing the origin,

. Without loss of generality, we may assume that the origin

1. The origin of the above system is said to be Lyapunov stable, if, for every > 0, there exists a = > 0 such that, if , then , for every . 2. The origin of the above system is said to be asymptotically stable if it is Lyapunov stable and if there exists > 0 such that if , then . 3. The origin of the above system is said to be exponentially stable if it is asymptotically stable and if there exist ,, > 0 such that if , then , for .

Conceptually, the meanings of the above terms are the following: 1. Lyapunov stability of an equilibrium means that solutions starting "close enough" to the equilibrium within a distance from it remain "close enough" forever within a distance from it . ote that this must be true for any that one may want to choose. 2. Asymptotic stability means that solutions that start close enough not only remain close enough but also eventually converge to the equilibrium. 3. Exponential stability means that solutions not only converge, but in fact converge faster than or at least as fast as a particular known rate The trajectory x is (locally) attractive if .

for for all trajectories that start close enough, and globally attractive if this property holds for all trajectories. That is, if x belongs to the interior of its stable manifold. It is asymptotically stable if it is both attractive and stable. (There are counterexamples showing that attractivity does not imply asymptotic stability. Such examples are easy to create using homoclinic connections.)

[edit] Definition for iterated systems


The definition for discrete-time systems is almost identical to that for continuous-time systems. The definition below provides this, using an alternate language commonly used in more mathematical texts. Let (X,d) be a metric space and a continuous function. A point Lyapunov stable, if, for each > 0, there is a > 0 such that for all , if d(x,y < then d(fn(x),fn(y < for all . is said to be

We say that x is asymptotically stable if it belongs to the interior of its stable set, i.e. if there is a > 0 such that

whenever d(x,y < .

[edit] Lyapunov stability theorems


The general study of the stability of solutions of differential equations is known as stability theory. Lyapunov stability theorems give only sufficient condition.

[edit] Lyapunov second theorem on stability


Consider a function V(x) : Rn R such that

with equality if and only if x = 0 (positive definite) (negative definite)

Then V(x) is called a Lyapunov function candidate and the system is asymptotically stable in the sense of Lyapunov (i.s.L.). (Note that V(0) = 0 is required; otherwise V(x) = 1 / (1 + | x | ) would "prove" that is locally stable. An additional condition called "properness" or "radial unboundedness" is required in order to conclude global asymptotic stability.) It is easier to visualise this method of analysis by thinking of a physical system (e.g. vibrating spring and mass) and considering the energy of such a system. If the system loses energy over

time and the energy is never restored then eventually the system must grind to a stop and reach some final resting state. This final state is called the attractor. However, finding a function that gives the precise energy of a physical system can be difficult, and for abstract mathematical systems, economic systems or biological systems, the concept of energy may not be applicable. Lyapunov's realisation was that stability can be proven without requiring knowledge of the true physical energy, providing a Lyapunov function can be found to satisfy the above constraints.

[edit] Stability for linear state space models


A linear state space model

is asymptotically stable (in fact, exponentially stable) if ATM + MA + N = 0 has a solution where N = NT > 0 and M = MT > 0 (positive definite matrices). (The relevant Lyapunov function is V(x) = xTMx.)

[edit] Stability for systems with inputs


A system with inputs (or controls) has the form

where the (generally time-dependent) input u(t) may be viewed as a control, external input, stimulus, disturbance, or forcing function. The study of such systems is the subject of control theory and applied in control engineering. For systems with inputs, one must quantify the effect of inputs on the stability of the system. The main two approaches to this analysis are BIBO stability (for linear systems) and input-to-state (ISS) stability (for nonlinear systems)

[edit] Example
Consider an equation, where compared to the Van der Pol oscillator equation the friction term is changed:

The equilibrium is at :

Here is a good example of an unsuccessful try to find a Lyapunov function that proves stability: Let

so that the corresponding system is

Let us choose as a Lyapunov function

which is clearly positive definite. Its derivative is

It seems that ff the parameter is positive, stability is asymptotic for since does not depend on x1, and will be 0 everywhere on the x1 axis.

But this is wrong,

[edit] Barbalat's lemma and stability of time-varying systems


Assume that f is function of time only.

Having

does not imply that f(t) has a limit at does not imply that .

Having f(t) approaching a limit as Having f(t) lower bounded and decreasing ( it does not say whether or not as

) implies it converges to a limit. But .

Barbalat's Lemma says If f(t) has a finite limit as then as . and if is uniformly continuous (or is bounded),

Usually, it is difficult to analyze the asymptotic stability of time-varying systems because it is very difficult to find Lyapunov functions with a negative definite derivative. We know that in case of autonomous (time-invariant) systems, if is negative semi-definite (NSD), then also, it is possible to know the asymptotic behaviour by invoking invariant-set theorems. However, this flexibility is not available for time-varying systems. This is where "Barbalat's lemma" comes into picture. It says: IF V(x,t) satisfies following conditions: 1. V(x,t) is lower bounded 2. 3. then is negative semi-definite (NSD) is uniformly continuous in time (satisfied if as . is finite)

The following example is taken from page 125 of Slotine and Li's book Applied Nonlinear Control. Consider a non-autonomous system

This is non-autonomous because the input w is a function of time. Assume that the input w(t) is bounded. Taking V = e2 + g2 gives This says that V(t) < = V(0) by first two conditions and hence e and g are bounded. But it does not say anything about the convergence of e to zero. Moreover, the invariant set theorem cannot be applied, because the dynamics is non-autonomous. Using Barbalat's lemma: .

This is bounded because e, g and w are bounded. This implies . This proves that the error converges.

as

and hence

State space (controls)


From Wikipedia, the free encyclopedia

Jump to: navigation, search In control engineering, a state space representation is a mathematical model of a physical system as a set of input, output and state variables related by first-order differential equations. To abstract from the number of inputs, outputs and states, the variables are expressed as vectors and the differential and algebraic equations are written in matrix form (the last one can be done when the dynamical system is linear and time invariant). The state space representation (also known as the "time-domain approach") provides a convenient and compact way to model and analyze systems with multiple inputs and outputs. With p inputs and q outputs, we would otherwise have to write down Laplace transforms to encode all the information about a system. Unlike the frequency domain approach, the use of the state space representation is not limited to systems with linear components and zero initial conditions. "State space" refers to the space whose axes are the state variables. The state of the system can be represented as a vector within that space.

Contents
[hide]

1 State variables 2 Linear systems o 2.1 Controllability o 2.2 Observability o 2.3 Transfer function o 2.4 Canonical realizations o 2.5 Proper transfer functions o 2.6 Feedback o 2.7 Feedback with setpoint (reference) input o 2.8 Moving object example 3 Nonlinear systems o 3.1 Pendulum example 4 References 5 See also

[edit] State variables

Typical state space model The internal state variables are the smallest possible subset of system variables that can represent the entire state of the system at any given time. State variables must be linearly independent; a state variable cannot be a linear combination of other state variables. The minimum number of state variables required to represent a given system, n, is usually equal to the order of the system's defining differential equation. If the system is represented in transfer function form, the minimum number of state variables is equal to the order of the transfer function's denominator after it has been reduced to a proper fraction. It is important to understand that converting a state space realization to a transfer function form may lose some internal information about the system, and may provide a description of a system which is stable, when the state-space realization is unstable at certain points. In electric circuits, the number of state variables is often, though not always, the same as the number of energy storage elements in the circuit such as capacitors and inductors.

[edit] Linear systems


The most general state space representation of a linear system with p inputs, q outputs and n state variables is written in the following form:

where ; , , , , . ; ;

is called the "state vector", control) vector",

is called the "output vector", is the "input matrix",

is called the "input (or is the "output

is the "state matrix",

matrix", and is the "feedthrough (or feedforward) matrix". For simplicity, is often chosen to be the zero matrix, i.e. the system is chosen not to have direct feedthrough. Notice that in this general formulation all matrices are supposed to be time-variant, i.e. some or all their elements can depend on time. The time variable t can be a "continuous" one (i.e. ) or a discrete one (i.e. ): in the latter case the time variable is usually indicated as k. Depending on the assumptions taken, the state-space model representation can assume the following forms: System type Continuous time-invariant Continuous time-variant Discrete time-invariant Discrete time-variant Laplace domain of continuous time-invariant Z-domain of discrete time-invariant Stability and natural response characteristics of a system can be studied from the eigenvalues of the matrix A. The stability of a time-invariant state-space model can easily be determined by looking at the system's transfer function in factored form. It will then look something like this: State-space model

The denominator of the transfer function is equal to the characteristic polynomial found by taking the determinant of sI A, . The roots of this polynomial (the eigenvalues) yield the poles in the system's transfer function. These poles can be used to analyze whether the system is asymptotically stable or marginally stable. An alternative approach to determining stability, which does not involve calculating

eigenvalues, is to analyze the system's Lyapunov stability. The zeros found in the numerator of can similarly be used to determine whether the system is minimum phase. The system may still be inputoutput stable (see BIBO stable) even though it is not internally stable. This may be the case if unstable poles are canceled out by zeros.

[edit] Controllability
Main article: Controllability Thus state controllability condition implies that it is possible - by admissible inputs - to steer the states from any initial value to any final value within some time window. A continuous timeinvariant state-space model is controllable if and only if

[edit] Observability
Main article: Observability Observability is a measure for how well internal states of a system can be inferred by knowledge of its external outputs. The observability and controllability of a system are mathematical duals. A continuous time-invariant state-space model is observable if and only if

(Rank is the number of linearly independent rows in a matrix.)

[edit] Transfer function


The "transfer function" of a continuous time-invariant state-space model can be derived in the following way: First, taking the laplace transform of

yields

Next, we simplify for

, giving

this is substituted for

in the output equation , giving

Since the transfer function take

is defined as the ratio of the output to the input of a system, we

and substitute the previous expression for

with respect to

, giving

Clearly must have q by p dimensionality, and thus has a total of qp elements. So for every input there are q transfer functions with one for each output. This is why the state-space representation can easily be the preferred choice for multiple-input, multiple-output (MIMO) systems.

[edit] Canonical realizations


Any given transfer function which is strictly proper can easily be transferred into state-space by the following approach (this example is for a 4-dimensional, single-input, single-output system)): Given a transfer function, expand it to reveal all coefficients in both the numerator and denominator. This should result in the following form:

. The coefficients can now be inserted directly into the state-space model by the following approach:

. This state-space realization is called controllable canonical form because the resulting model is guaranteed to be controllable. The transfer function coefficients can also be used to construct another type of canonical form

. This state-space realization is called observable canonical form because the resulting model is guaranteed to be observable.

[edit] Proper transfer functions


Transfer functions which are only proper (and not strictly proper) can also be realised quite easily. The trick here is to separate the transfer function into two parts: a strictly proper part and a constant.

The strictly proper transfer function can then be transformed into a canonical state space realization using techniques shown above. The state space realization of the constant is trivially . Together we then get a state space realization with matrices A,B and C determined by the strictly proper part, and matrix D determined by the constant.

Here is an example to clear things up a bit:

which yields the following controllable realization

Notice how the output also depends directly on the input. This is due to the the transfer function.

constant in

[edit] Feedback

Typical state space model with feedback A common method for feedback is to multiply the output by a matrix K and setting this as the input to the system: . Since the values of K are unrestricted the values can easily be negated for negative feedback. The presence of a negative sign (the common notation) is merely a notational one and its absence has no impact on the end results.

becomes

solving the output equation for

and substituting in the state equation results in

The advantage of this is that the eigenvalues of A can be controlled by setting K appropriately through eigendecomposition of . This assumes that the openloop system is controllable or that the unstable eigenvalues of A can be made stable through appropriate choice of K. One fairly common simplification to this system is removing D and setting C to identity, which reduces the equations to

This reduces the necessary eigendecomposition to just A + BK.

[edit] Feedback with setpoint (reference) input

Output feedback with set point In addition to feedback, an input, r(t), can be added such that .

becomes

solving the output equation for

and substituting in the state equation results in

One fairly common simplification to this system is removing D, which reduces the equations to

[edit] Moving object example


A classical linear system is that of one-dimensional movement of an object. The Newton's laws of motion for an object moving horizontally on a plane and attached to a wall with a spring

where

y(t) is position; is velocity; u(t) is an applied force k1 is the viscous friction coefficient k2 is the spring constant m is the mass of the object

is acceleration

The state equation would then become

where

x1(t) represents the position of the object is the velocity of the object is the acceleration of the object the output is the position of the object

The controllability test is then

which has full rank for all k1 and m.

The observability test is then

which also has full rank. Therefore, this system is both controllable and observable.

[edit] Nonlinear systems


The more general form of a state space model can be written as two functions.

The first is the state equation and the latter is the output equation. If the function is a linear combination of states and inputs then the equations can be written in matrix notation like above. The u(t) argument to the functions can be dropped if the system is unforced (i.e., it has no inputs).

[edit] Pendulum example


A classic nonlinear system is a simple unforced pendulum

where

t) is the angle of the pendulum with respect to the direction of gravity m is the mass of the pendulum (pendulum rod's mass is assumed to be zero) g is the gravitational acceleration k is coefficient of friction at the pivot point l is the radius of the pendulum (to the center of gravity of the mass m)

The state equations are then

where

x1(t : = t) is the angle of the pendulum

is the rotational velocity of the pendulum is the rotational acceleration of the pendulum

Instead, the state equation can be written in the general form

The equilibrium/stationary points of a system are when pendulum are those that satisfy

and so the equilibrium points of a

for integers n.

Phase space
From Wikipedia, the free encyclopedia

Jump to: navigation, search For other uses, see Phase space (disambiguation).

Phase space of a dynamical system with focal stability. In mathematics and physics, a phase space, introduced by Willard Gibbs in 1901, is a space in which all possible states of a system are represented, with each possible state of the system corresponding to one unique point in the phase space. For mechanical systems, the phase space usually consists of all possible values of position and momentum variables. A plot of position and momentum variables as a function of time is sometimes called a phase plot or a phase

diagram. Phase diagram, however, is more usually reserved in the physical sciences for a diagram showing the various regions of stability of the thermodynamic phases of a chemical system, which consists of pressure, temperature, and composition. In a phase space, every degree of freedom or parameter of the system is represented as an axis of a multidimensional space. For every possible state of the system, or allowed combination of values of the system's parameters, a point is plotted in the multidimensional space. Often this succession of plotted points is analogous to the system's state evolving over time. In the end, the phase diagram represents all that the system can be, and its shape can easily elucidate qualities of the system that might not be obvious otherwise. A phase space may contain very many dimensions. For instance, a gas containing many molecules may require a separate dimension for each particle's x, y and z positions and velocities as well as any number of other properties. In classical mechanics the phase space co-ordinates are the generalized coordinates qi and their conjugate generalized momenta pi. The motion of an ensemble of systems in this space is studied by classical statistical mechanics. The local density of points in such systems obeys Liouville's Theorem, and so can be taken as constant. Within the context of a model system in classical mechanics, the phase space coordinates of the system at any given time are composed of all of the system's dynamical variables. Because of this, it is possible to calculate the state of the system at any given time in the future or the past, through integration of Hamilton's or Lagrange's equations of motion. Furthermore, because each point in phase space lies on exactly one phase trajectory, no two phase trajectories can intersect. For simple systems, such as a single particle moving in one dimension for example, there may be as few as two degrees of freedom, (typically, position and velocity), and a sketch of the phase portrait may give qualitative information about the dynamics of the system, such as the limitcycle of the Van der Pol oscillator shown in the diagram.

Phase portrait of the Van der Pol oscillator Here, the horizontal axis gives the position and vertical axis the velocity. As the system evolves, its state follows one of the lines (trajectories) on the phase diagram.

Classic examples of phase diagrams from chaos theory are the Lorenz attractor and Mandelbrot set.

[edit] Quantum mechanics


In quantum mechanics, the coordinates p and q of phase space become hermitian operators in a Hilbert space, but may alternatively retain their classical interpretation, provided functions of them compose in novel algebraic ways (through Groenewold's 1946 star product). Every quantum mechanical observable corresponds to a unique function or distribution on phase space, and vice versa, as specified by Hermann Weyl (1927) and supplemented by John von Neumann (1931); Eugene Wigner (1932); and, in a grand synthesis, by H J Groenewold (1946). With Jos Enrique Moyal (1949), these completed the foundations of phase-space quantization, a logically autonomous reformulation of quantum mechanics. Its modern abstractions include deformation quantization and geometric quantization.

[edit] Thermodynamics and statistical mechanics


This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. (April 2008) In thermodynamics and statistical mechanics contexts, the term phase space has two meanings: It is used in the same sense as in classical mechanics. If a thermodynamical system consists of N particles, then a point in the 6N-dimensional phase space describes the dynamical state of every particle in that system, as each particle is associated with three position variables and three momentum variables. In this sense, a point in phase space is said to be a microstate of the system. N is typically on the order of Avogadro's number, thus describing the system at a microscopic level is often impractical. This leads us to the use of phase space in a different sense. The phase space can refer to the space that is parametrized by the macroscopic states of the system, such as pressure, temperature, etc. For instance, one can view the pressure-volume diagram or entropy-temperature diagrams as describing part of this phase space. A point in this phase space is correspondingly called a macrostate. There may easily be more than one microstate with the same macrostate. For example, for a fixed temperature, the system could have many dynamic configurations at the microscopic level. When used in this sense, a phase is a region of phase space where the system in question is in, for example, the liquid phase, or solid phase, etc. Since there are many more microstates than macrostates, the phase space in the first sense is usually a manifold of much larger dimensions than the second sense. Clearly, many more parameters are required to register every detail of the system up to the molecular or atomic scale than to simply specify, say, the temperature or the pressure of the system.

The Wikimedia Foundation's 2009 steward election has started. Please vote.

[Hide] [Help us with translations!]

Exponential stability
From Wikipedia, the free encyclopedia Jump to: navigation, search See Lyapunov stability, which gives a definition of asymptotic stability for more general dynamical systems. All exponentially stable systems are also asymptotically stable.

In control theory, a continuous linear time-invariant system is exponentially stable if and only if the system has eigenvalues (i.e., the poles of input-to-output systems) with strictly negative real parts. (i.e., in the left half of the complex plane).[1] A discrete-time input-to-output LTI system is exponentially stable if and only if the poles of its transfer function lie strictly within the unit circle centered on the origin of the complex plane. Exponential stability is a form of asymptotic stability. Systems that are not LTI are exponentially stable if their convergence is bounded by exponential decay.

Contents
[hide]

1 Practical consequences 2 Example exponentially stable LTI systems o 2.1 Real-world example 3 See also 4 References 5 External links

[edit] Practical consequences


An exponentially stable LTI system is one that will not "blow up" (i.e., give an unbounded output) when given a finite input or non-zero initial condition. Moreover, if the system is given a fixed, finite input (i.e., a step), then any resulting oscillations in the output will decay at an exponential rate, and the output will tend asymptotically to a new final, steady-state value. If the system is instead given a Dirac delta impulse as input, then induced oscillations will die away and the system will return to its previous value. If oscillations do not die away, or the system does not return to its original output when an impulse is applied, the system is instead marginally stable.

[edit] Example exponentially stable LTI systems

The impulse responses of two exponentially stable systems

The graph on the right shows the impulse response of two similar systems. The green curve is the response of the system with impulse response system value of 0 over time. , while the blue represents the

. Although one response is oscillatory, both return to the original

[edit] Real-world example


Imagine putting a marble in a ladle. It will settle itself into the lowest point of the ladle and, unless disturbed, will stay there. Now imagine giving the ball a push, which is an approximation to a Dirac delta impulse. The marble will roll back and forth but eventually resettle in the bottom of the ladle. Drawing the horizontal position of the marble over time would give a gradually diminishing sinusoid rather like the blue curve in the image above. A step input in this case requires supporting the marble away from the bottom of the ladle, so that it cannot roll back. It will stay in the same position and will not, as would be the case if the system were only marginally stable or entirely unstable, continue to move away from the bottom of the ladle under this constant force equal to its weight. It is important to note that in this example the system is not stable for all inputs. Give the marble a big enough push, and it will fall out of the ladle and fall, stopping only when it reaches the floor. For some systems, therefore, it is proper to state that a system is exponentially stable over a certain range of inputs.

The Wikimedia Foundation's 2009 steward election has started. Please vote.

[Hide] [Help us with translations!]

Lorenz attractor
From Wikipedia, the free encyclopedia (Redirected from Lorenz system) Jump to: navigation, search

A plot of the trajectory Lorenz system for values =28, = 10, = 8/3

The Lorenz attractor, named for Edward N. Lorenz, is a 3-dimensional structure corresponding to the long-term behavior of a chaotic flow, noted for its lemniscate shape. The map shows how the state of a dynamical system (the three variables of a three-dimensional system) evolves over time in a complex, non-repeating pattern.

Contents
[hide]

1 Overview 2 Equations 3 Butterfly effect 4 Rayleigh number 5 Source Code 6 See also 7 References

8 External links

[edit] Overview

A trajectory of Lorenz's equations, rendered as a metal wire to show direction and 3D structure

The attractor itself, and the equations from which it is derived, were introduced by Edward Lorenz in 1963, who derived it from the simplified equations of convection rolls arising in the equations of the atmosphere. In addition to its interest to the field of non-linear mathematics, the Lorenz model has important implications for climate and weather prediction. The model is an explicit statement that planetary and stellar atmospheres may exhibit a variety of quasi-periodic regimes that are, although fully deterministic, subject to abrupt and seemingly random change. From a technical standpoint, the system is nonlinear, three-dimensional and deterministic. In 2001 it was proven by Warwick Tucker that for a certain set of parameters the system exhibits chaotic behavior and displays what is today called a strange attractor. The strange attractor in this case is a fractal of Hausdorff dimension between 2 and 3. Grassberger (1983) has estimated the Hausdorff dimension to be 2.06 0.01 and the correlation dimension to be 2.05 0.01. The system also arises in simplified models for lasers (Haken 1975) and dynamos (Knobloch 1981).

[edit] Equations

Trajectory with scales added

The equations that govern the Lorenz attractor are:

where is called the Prandtl number and is called the Rayleigh number. All , , > 0, but usually = 10, = 8/3 and is varied. The system exhibits chaotic behavior for = 28 but displays knotted periodic orbits for other values of . For example, with = 99.96 it becomes a T(3,2) torus knot.

[edit] Butterfly effect


Butterfly effect

Time t=1 (Enlarge)

Time t=2 (Enlarge)

Time t=3 (Enlarge)

These figures made using =28, = 10 and = 8/3 show three time segments of the 3-D evolution of 2 trajectories blue, the other in yellow) in the Lorenz attractor starting at two initial points that differ only by 10-5 in the x-coordinate. I the two trajectories seem coincident (only the yellow one can be seen, as it is drawn over the blue one) but, after some ti divergence is obvious.

Java animation of the Lorenz attractor shows the continuous evolution.

[edit] Rayleigh number


The Lorenz attractor for different values of

=14, =10, =8/3 (Enlarge)

=13, =10, =8/3 (Enlarge)

=15, =10, =8/3 (Enlarge)

=28, =10, =8/3 (Enlarge)

For small values of , the system is stable and evolves to one of two fixed point attractors. When is larger than 24.28, th points become repulsors and the trajectory is repelled by them in a very complex way, evolving without ever crossing i

Java animation showing evolution for different values of

[edit] Source Code


The source code to simulate the Lorenz attractor in GNU Octave follows.
## Lorenz Attractor equations solved by ODE Solve ## x' = sigma*(y-x) ## y' = x*(rho - z) - y ## z' = x*y - beta*z function dx = lorenzatt(X,T) rho = 28; sigma = 10; beta = 8/3; dx = zeros(3,1); dx(1) = sigma*(X(2) - X(1)); dx(2) = X(1)*(rho - X(3)) - X(2); dx(3) = X(1)*X(2) - beta*X(3); return end ## Using LSODE to solve the ODE system. clear all close all lsode_options("absolute tolerance",1e-3) lsode_options("relative tolerance",1e-4) t = linspace(0,25,1e3); X0 = [0,1,1.05]; [X,T,MSG]=lsode(@lorenzatt,X0,t); T MSG

plot3(X(:,1),X(:,2),X(:,3)) view(45,45)

[edit] See also


List of chaotic maps Takens' theorem Mandelbrot set

[edit] References

Jonas Bergman, Knots in the Lorentz system, Undergraduate thesis, Uppsala University 2004. Fryland, J., Alfsen, K. H. (1984). "Lyapunov-exponent spectra for the Lorenz model". Phys. Rev. A 29: 29282931. doi:10.1103/PhysRevA.29.2928. P. Grassberger and I. Procaccia (1983). "Measuring the strangeness of strange attractors". Physica D 9: 189208. doi:10.1016/0167-2789(83)90298-1. http://adsabs.harvard.edu/cgibin/nph-bib_query?bibcode=1983PhyD....9..189G&db_key=PHY. Haken, H. (1975), "Analogy between higher instabilities in fluids and lasers", Physics Letters A 53 (1): 7778, doi:10.1016/0375-9601(75)90353-9. Lorenz, E. N. (1963). "Deterministic nonperiodic flow". J. Atmos. Sci. 20: 130141. doi:10.1175/1520-0469(1963)020<0130:DNF>2.0.CO;2. Knobloch, Edgar (1981), "Chaos in the segmented disc dynamo", Physics Letters A 82 (9): 439 440, doi:10.1016/0375-9601(81)90274-7. Strogatz, Steven H. (1994). Nonlinear Systems and Chaos. Perseus publishing. Tucker, W. (2002). "A Rigorous ODE Solver and Smale's 14th Problem". Found. Comp. Math. 2: 53117. http://www.math.uu.se/~warwick/main/rodes.html.

Smith chart
From Wikipedia, the free encyclopedia Jump to: navigation, search

An impedance Smith chart (with no data plotted)

The Smith Chart, invented by Phillip H. Smith (1905-1987),[1][2] is a graphical aid or nomogram designed for electrical and electronics engineers specializing in radio frequency (RF) engineering to assist in solving problems with transmission lines and matching circuits.[3] Use of the Smith Chart utility has grown steadily over the years and it is still widely used today, not only as a problem solving aid, but as a graphical demonstrator of how many RF parameters behave at one or more frequencies, an alternative to using tabular information. The Smith Chart can be used to represent many parameters including impedances, admittances, reflection coefficients, scattering parameters, noise figure circles, constant gain contours and regions for unconditional stability.[4][5] The Smith Chart is most frequently used at or within the unity radius region. However, the remainder is still mathematically relevant, being used, for example, in oscillator design and stability analysis.[6]

Contents
[hide]

1 Overview 2 Mathematical basis o 2.1 Actual and normalised impedance and admittance o 2.2 The normalised impedance Smith Chart 2.2.1 The variation of complex reflection coefficient with position along the line 2.2.2 The variation of normalised impedance with position along the line 2.2.3 Regions of the Z Smith Chart 2.2.4 Circles of Constant Normalised Resistance and Constant Normalised Reactance o 2.3 The Y Smith Chart o 2.4 Practical examples

2.5 Working with both the Z Smith Chart and the Y Smith Charts 2.6 Choice of Smith Chart type and component type 3 Using the Smith Chart to solve conjugate matching problems with distributed components 4 Using the Smith Chart to analyze lumped element circuits 5 References 6 External links

o o

[edit] Overview

A network analyzer (HP 8720A) showing a Smith Chart.

The Smith Chart is plotted on the complex reflection coefficient plane in two dimensions and is scaled in normalised impedance (the most common), normalised admittance or both, using different colours to distinguish between them. These are often known as the Z, Y and YZ Smith Charts respectively.[7] Normalised scaling allows the Smith Chart to be used for problems involving any characteristic impedance or system impedance, although by far the most commonly used is 50 ohms. With relatively simple graphical construction it is straighforward to convert between normalised impedance (or normalised admittance) and the corresponding complex voltage reflection coefficient. The Smith Chart has circumferential scaling in wavelengths and degrees. The wavelengths scale is used in distributed component problems and represents the distance measured along the transmission line connected between the generator or source and the load to the point under consideration. The degrees scale represents the angle of the voltage reflection coefficient at that point. The Smith Chart may also be used for lumped element matching and analysis problems.

Use of the Smith Chart and the interpretation of the results obtained using it requires a good understanding of AC circuit theory and transmission line theory, both of which are pre-requisites for RF engineers. As impedances and admittances change with frequency, problems using the Smith Chart can only be solved manually using one frequency at a time, the result being represented by a point. This is often adequate for narrow band applications (typically up to about 5% to 10% bandwidth) but for wider bandwidths it is usually necessary to apply Smith Chart techniques at more than one frequency across the operating frequency band. Provided the frequencies are sufficiently close, the resulting Smith Chart points may be joined by straight lines to create a locus. A locus of points on a Smith Chart covering a range of frequencies can be used to visually represent:

how capacitive or how inductive a load is across the frequency range how difficult matching is likely to be at various frequencies how well matched a particular component is.

The accuracy of the Smith Chart is reduced for problems involving a large spread of impedances or admittances, although the scaling can be magnified for individual areas to accommodate these.

[edit] Mathematical basis


[edit] Actual and normalised impedance and admittance
A transmission line with a characteristic impedance of a characteristic admittance of where may be universally considered to have

Any impedance, expressed in ohms, may be normalised by dividing it by the characteristic impedance, so the normalised impedance using the lower case z, suffix T is given by

Similarly, for normalised admittance

The SI unit of impedance is the ohm with the symbol of the upper case Greek letter Omega and the SI unit for admittance is the siemens with the symbol of an upper case letter S. Normalised impedance and normalised admittance are dimensionless. Actual impedances and admittances must be normalised before using them on a Smith Chart. Once the result is obtained it may be de-normalised to obtain the actual result.

[edit] The normalised impedance Smith Chart


Using transmission line theory, if a transmission line is terminated in an impedance ( ) which differs from its characteristic impedance ( ), a standing wave will be formed on the line comprising the resultant of both the forward ( ) and the reflected ( ) waves. Using complex exponential notation:
and

where
is the temporal part of the wave is the spatial part of the wave and where is the angular frequency in radians per second (rad/s) is the frequency in hertz (Hz) is the time in seconds (s) and are constants

is the distance measured along the transmission line from the generator in metres (m)

Also
is the propagation constant which has units 1/m

where
is the attenuation constant in nepers per metre (Np/m) is the phase constant in radians per metre (rad/m)

The Smith Chart is used with one frequency at a time so the temporal part of the phase ( ) is fixed. All terms are actually multiplied by this to obtain the instantaneous phase, but it is conventional and understood to omit it. Therefore
and

[edit] The variation of complex reflection coefficient with position along the line

The complex voltage reflection coefficient incident (or forward) wave. Therefore

is defined as the ratio of the reflected wave to the

where C is also a constant. For a uniform transmission line (in which is constant), the complex reflection coefficient of a standing wave varies according to the position on the line. If the line is lossy ( is finite) this is represented on the Smith Chart by a spiral path. In most Smith Chart problems however, losses can be assumed negligible ( ) and the task of solving them is greatly simplified. For the loss free case therefore, the expression for complex reflection coefficient becomes

The phase constant

may also be written as

where

is the wavelength within the transmission line at the test frequency.

Therefore

This equation shows that, for a standing wave, the complex reflection coefficient and impedance repeats every half wavelength along the transmission line. The complex reflection coefficient is generally simply referred to as reflection coefficient. The outer circumferential scale of the Smith Chart represents the distance from the generator to the load scaled in wavelengths and is therefore scaled from zero to 0.50.

[edit] The variation of normalised impedance with position along the line

If and are the voltage across and the current entering the termination at the end of the transmission line respectively, then
and .

By dividing these equations and substituting for both the voltage reflection coefficient

and the normalised impedance of the termination represented by the lower case z, subscript T

gives the result:

Alternatively, in terms of the reflection coefficient

These are the equations which are used to construct the Z Smith Chart. Mathematically speaking and are related via a Mbius transformation. Both and are expressed in complex numbers without any units. They both change with frequency so for any particular measurement, the frequency at which it was performed must be stated together with the characteristic impedance. may be expressed in magnitude and angle on a polar diagram. Any actual reflection coefficient must have a magnitude of less than or equal to unity so, at the test frequency, this may be expressed by a point inside a circle of unity radius. The Smith Chart is actually constructed on such a polar diagram. The Smith chart scaling is designed in such a way that reflection coefficient can be converted to normalised impedance or vice versa. Using the Smith Chart, the normalised impedance may be obtained with appreciable accuracy by plotting the point representing the reflection coefficient treating the Smith Chart as a polar diagram and then

reading its value directly using the characteristic Smith Chart scaling. This technique is a graphical alternative to substituting the values in the equations. By substituting the expression for how reflection coefficient changes along an unmatched loss free transmission line

for the loss free case, into the equation for normalised impedance in terms of reflection coefficient

and using Euler's identity

yields the impedance version transmission line equation for the loss free case:[8]

where is the impedance 'seen' at the input of a loss free transmission line of length l, terminated with an impedance Versions of the transmission line equation may be similarly derived for the admittance loss free case and for the impedance and admittance lossy cases. The Smith Chart graphical equivalent of using the transmission line equation is to normalise , to plot the resulting point on a Z Smith Chart and to draw a circle through that point centred at the Smith Chart centre. The path along the arc of the circle represents how the impedance changes whilst moving along the transmission line. In this case the circumferential (wavelength) scaling must be used, remembering that this is the wavelength within the transmission line and may differ from the free space wavelength.
[edit] Regions of the Z Smith Chart

If a polar diagram is mapped on to a cartesian coordinate system it is conventional to measure angles relative to the positive x-axis using a counter-clockwise direction for positive angles. The magnitude of a complex number is the length of a straight line drawn from the origin to the point

representing it. The Smith Chart uses the same convention, noting that, in the normalised impedance plane, the positive x-axis extends from the center of the Smith Chart at to the point . The region above the x-axis represents inductive impedances and the region below the x-axis represents capacitive impedances. Inductive impedances have positive imaginary parts and capacitive impedances have negative imaginary parts. If the termination is perfectly matched, the reflection coefficient will be zero, represented effectively by a circle of zero radius or in fact a point at the centre of the Smith Chart. If the termination was a perfect open circuit or short circuit the magnitude of the reflection coefficient would be unity, all power would be reflected and the point would lie at some point on the unity circumference circle.
[edit] Circles of Constant Normalised Resistance and Constant Normalised Reactance

The normalised impedance Smith Chart is composed of two families of circles: circles of constant normalised resistance and circles of constant normalised reactance. In the complex reflection coefficient plane the Smith Chart occupies a circle of unity radius centred at the origin. In cartesian coordinates therefore the circle would pass through the points (1,0) and (-1,0) on the x-axis and the points (0,1) and (0,-1) on the y-axis. Since both and are complex numbers, in general they may be expressed by the following generic rectangular complex numbers:

Substituting these into the equation relating normalised impedance and complex reflection coefficient:

gives the following result:

This is the equation which describes how the complex reflection coefficient changes with the normalised impedance and may be used to construct both families of circles.[9]

[edit] The Y Smith Chart

The Y Smith chart is constructed in a similar way to the Z Smith Chart case but by expressing values of voltage reflection coefficient in terms of normalised admittance instead of normalised impedance. The normalised admittance yT is the reciprocal of the normalised impedance zT, so

Therefore:

and

The Y Smith Chart appears like the normalised impedance type but with the graphic scaling rotated through , the numeric scaling remaining unchanged. The region above the x-axis represents capacitive admittances and the region below the x-axis represents inductive admittances. Capacitive admittances have positive imaginary parts and inductive admittances have negative imaginary parts. Again, if the termination is perfectly matched the reflection coefficient will be zero, represented by a 'circle' of zero radius or in fact a point at the centre of the Smith Chart. If the termination was a perfect open or short circuit the magnitude of the voltage reflection coefficient would be unity, all power would be reflected and the point would lie at some point on the unity circumference circle of the Smith Chart.

[edit] Practical examples

Example points plotted on the normalised impedance Smith Chart

A point with a reflection coefficient magnitude 0.63 and angle , represented in polar form as , is shown as point P1 on the Smith Chart. To plot this, one may use the circumferential (reflection coefficient) angle scale to find the graduation and a ruler to draw a line passing through this and the centre of the Smith Chart. The length of the line would then be scaled to P1 assuming the Smith Chart radius to be unity. For example if the actual radius measured from the paper was 100 mm, the length OP1 would be 63 mm. The following table gives some similar examples of points which are plotted on the Z Smith Chart. For each, the reflection coefficient is given in polar form together with the corresponding normalised impedance in rectangular form. The conversion may be read directly from the Smith Chart or by substitution into the equation.
Some examples of points plotted on the normalised impedance Smith Chart Point Identity Reflection Coefficient (Polar Form) Normalised Impedance (Rectangular Form)

P1 (Inductive) P2 (Inductive) P3 (Capacitive)

[edit] Working with both the Z Smith Chart and the Y Smith Charts
In RF circuit and matching problems sometimes it is more convenient to work with admittances (representing conductances and susceptances) and sometimes it is more convenient to work with impedances (representing resistances and reactances). Solving a typical matching problem will often require several changes between both types of Smith Chart, using normalised impedance for series elements and normalised admittances for parallel elements. For these a dual (normalised) impedance and admittance Smith Chart may be used. Alternatively, one type may be used and the scaling converted to the other when required. In order to change from normalised impedance to normalised admittance or vice versa, the point representing the value of reflection coefficient under consideration is moved through exactly 180 degrees at the same radius. For example the point P1 in the example representing a reflection coefficient of has a normalised impedance of . To graphically change this to the equivalent normalised admittance point, say Q1, a line is drawn with a ruler from P1 through the Smith Chart centre to Q1, an equal radius in the opposite direction. This is equivalent to moving the point through a circular path of exactly 180 degrees. Reading the value from the Smith Chart for

Q1, remembering that the scaling is now in normalised admittance, gives . Performing the calculation

manually will confirm this. Once a transformation from impedance to admittance has been performed the scaling changes to normalised admittance until such time that a later transformation back to normalised impedance is performed. The table below shows examples of normalised impedances and their equivalent normalised admittances obtained by rotation of the point through . Again these may either be obtained by calculation or using a Smith Chart as shown, converting between the normalised impedance and normalised admittances planes.
Values of reflection coefficient as normalised impedances and the equivalent normalised admittances Normalised Impedance Plane P1 ( P10 ( ) ) Q1 ( Q10 ( Normalised Admittance Plane ) )

Values of complex reflection coefficient plotted on the normalised impedance Smith Chart and their equivalents on the normalised admittance Smith Chart

[edit] Choice of Smith Chart type and component type

The choice of whether to use the Z Smith Chart or the Y Smith Chart for any particular calculation depends on which is more convenient. Impedances in series and admittances in parallel add whilst impedances in parallel and admittances in series are related by a reciprocal equation. If ZTS is the equivalent impedance of series impedances and ZTP is the equivalent impedance of parallel impedances, then

For admittances the reverse is true, that is

Dealing with the reciprocals, especially in complex numbers, is more time consuming and errorprone than using linear addition. In general therefore, most RF engineers work in the plane where the circuit topography supports linear addition. The following table gives the complex expressions for impedance (real and normalised) and admittance (real and normalised) for each of the three basic passive circuit elements: resistance, inductance and capacitance. Knowing just the characteristic impedance (or characteristic admittance) and test frequency can be used to find the equivalent circuit from any impedance or admittance, or vice versa.
Expressions for Real and Normalised Impedance and Admittance with Characteristic Impedance Z0 or Characteristic Admittance Y0 Elemen t Type Impedance (Z or z) or Reactance (X or x) Real ( ) Normalised (No Unit) Admittance (Y or y) or Susceptance (B or b) Real (S) Normalised (No Unit)

Resista nce (R) Inducta nce (L) Capacit ance (C)

[edit] Using the Smith Chart to solve conjugate matching problems with distributed components
Usually distributed matching is only feasible at microwave frequencies since, for most components operating at these frequencies, appreciable transmission line dimensions are available in terms of wavelengths. Also the electrical behavior of many lumped components becomes rather unpredictable at these frequencies. For distributed components the effects on reflection coefficient and impedance of moving along the transmission line must be allowed for using the outer circumferential scale of the Smith Chart which is calibrated in wavelengths. The following example shows how a transmission line, terminated with an arbitrary load, may be matched at one frequency either with a series or parallel reactive component in each case connected at precise positions.

Smith Chart construction for some distributed transmission line matching

Supposing a loss free air-spaced transmission line of characteristic impedance , operating at a frequency of 800 MHz, is terminated with a circuit comprising a 17.5 resistor in series with a 6.5 nanohenry (6.5 nH) inductor. How may the line be matched? From the table above, the reactance of the inductor forming part of the termination at 800 MHz is

so the impedance of the combination (ZT) is given by

and the normalised impedance (zT)is

This is plotted on the Z Smith Chart at point P20. The line OP20 is extended through to the wavelength scale where it intersects at the point . As the transmission line is loss free, a circle centred at the centre of the Smith Chart is drawn through the point P20 to represent the path of the constant magnitude reflection coefficient due to the termination. At point P21 the circle intersects with the unity circle of constant normalised resistance at
.

The extension of the line OP21 intersects the wavelength scale at distance from the termination to this point on the line is given by

, therefore the

Since the transmission line is air-spaced, the wavelength at 800 MHz in the line is the same as that in free space and is given by

where is the velocity of electromagnetic radiation in free space and is the frequency in hertz. The result gives , making the position of the matching component 29.6 mm from the load. The conjugate match for the impedance at P21 (
zmatch = j(1.52),

) is

As the Smith Chart is still in the normalised impedance plane, from the table above a series capacitor is required where

Rearranging, we obtain

Substitution of known values gives

To match the termination at 800 MHz, a series capacitor of 2.6 pF must be placed in series with the transmission line at a distance of 29.6 mm from the termination. An alternative shunt match could be calculated after performing a Smith Chart transformation from normalised impedance to normalised admittance. Point Q20 is the equivalent of P20 but expressed as a normalised admittance. Reading from the Smith Chart scaling, remembering that this is now a normalised admittance gives

(In fact this value is not actually used). However, the extension of the line OQ20 through to the wavelength scale gives . The earliest point at which a shunt conjugate match could be introduced,moving towards the generator, would be at Q21, the same position as the previous P21, but this time representing a normalised admittance given by
.

The distance along the transmission line is in this case

which converts to 123 mm. The conjugate matching component is required to have a normalised admittance (ymatch) of
.

From the table it can be seen that a negative admittance would require to be an inductor, connected in parallel with the transmission line. If its value is , then

This gives the result

A suitable inductive shunt matching would therefore be a 6.5 nH inductor in parallel with the line positioned at 123 mm from the load.

[edit] Using the Smith Chart to analyze lumped element circuits


The analysis of lumped element components assumes that the wavelength at the frequency of operation is much greater than the dimensions of the components themselves. The Smith Chart may be used to analyze such circuits in which case the movements around the chart are generated by the (normalized) impedances and admittances of the components at the frequency of operation. In this case the wavelength scaling on the Smith Chart circumference is not used. The following circuit will be analyzed using a Smith Chart at an operating frequency of 100 MHz. At this frequency the free space wavelength is 3 m. The component dimensions themselves will be in the order of millimetres so the assumption of lumped components will be valid. Despite there being no transmission line as such, a system impedance must still be defined to enable normalization and de-normalization calculations and is a good choice here as . If there were very different values of resistance present a value closer to these might be a better choice.

A lumped element circuit which may be analysed using a Smith Chart

Smith Chart with graphical construction for analysis of a lumped circuit

The analysis starts with a Z Smith Chart looking into R1 only with no other components present. As is the same as the system impedance, this is represented by a point at the centre of the Smith Chart. The first transformation is OP1 along the line of constant normalized resistance in this case the addition of a normalized reactance of -j0.80, corresponding to a series capacitor of 40 pF. Points with suffix P are in the Z plane and points with suffix Q are in the Y plane. Therefore transformations P1 to Q1 and P3 to Q3 are from the Z Smith Chart to the Y

Smith Chart and transformation Q2 to P2 is from the Y Smith Chart to the Z Smith Chart. The following table shows the steps taken to work through the remaining components and transformations, returning eventually back to the centre of the Smith Chart and a perfect 50 ohm match.
Smith Chart steps for analysing a lumped element circuit x or y Transformatio Plan Capacitance/Inductanc Normalize n e e d Value

Formula to Solve

Result

Capacitance (Series)

Inductance (Shunt)

Capacitance (Series)

Capacitance (Shunt)

Clock skew
From Wikipedia, the free encyclopedia Jump to: navigation, search

Contents
[hide]

1 In circuit design o 1.1 Harmful skew o 1.2 Beneficial skew 2 On a network 3 See also 4 References

5 Further reading

[edit] In circuit design


In circuit designs, clock skew (sometimes timing skew) is a phenomenon in synchronous circuits in which the clock signal (sent from the clock circuit) arrives at different components at different times. This can be caused by many different things, such as wire-interconnect length, temperature variations, variation in intermediate devices, capacitive coupling, material imperfections, and differences in input capacitance on the clock inputs of devices using the clock. As the clock rate of a circuit increases, timing becomes more critical and less variation can be tolerated if the circuit is to function properly. There are two types of clock skew: negative skew and positive skew. Positive skew occurs when the clock reaches the receiving register later than it reaches the register sending data to the receiving register. Negative skew is the opposite: the receiving register gets the clock earlier than the sending register.

[edit] Harmful skew


Two types of violation can be caused by clock skew. One problem is caused when the clock travels more slowly than the path from one register to another - allowing data to penetrate two registers in the same clock tick, or maybe destroying the integrity of the latched data. This is called a hold violation because the previous data is not held long enough at the destination flipflop to be properly clocked through. Another problem is caused if the destination flip-flop receives the clock tick earlier than the source flip-flop - the data signal has that much less time to reach the destination flip-flop before the next clock tick. If it fails to do so, a setup violation occurs, so-called because the new data was not set up and stable before the next clock tick arrived. A hold violation is more serious than a setup violation because it cannot be fixed by increasing the clock period. Positive skew and negative skew cannot negatively impact setup and hold timing constraints respectively (see inequalities below).

[edit] Beneficial skew


Clock skew can also benefit a circuit by decreasing the clock period at which the circuit will operate correctly. For each source register and destination register connected by a path, the following inequalities must hold:
1. 2.

where

T is the clock period, reg is the source register's clock to Q delay,

pathmax is the path with the longest delay from source to destination, S is the setup time of the destination register pathmin is the path with the shortest delay from source to destination, H is the hold time of the destination register, (sd ss) represents the clock skew from the source to the destination registers, sd is the clock skew to the destination register, and ss is the clock skew to the source register.

[edit] On a network
On a network such as the internet, clock skew describes the difference in time shown by the clocks at the different nodes on the network. It is usually an unavoidable phenomenon (at least if one looks at milli-second resolutions), but clock skew of tens of minutes or more is also quite common. A number of protocols (e.g. Network Time Protocol) have been designed to reduce clock skew, and produce more stable functions.

Attractor
From Wikipedia, the free encyclopedia Jump to: navigation, search

Visual example of an attractor

An attractor is a set to which a dynamical system evolves after a long enough time. That is, points that get close enough to the attractor remain close even if slightly disturbed. Geometrically, an attractor can be a point, a curve, a manifold, or even a complicated set with a fractal structure known as a strange attractor. Describing the attractors of chaotic dynamical systems has been one of the achievements of chaos theory.

A trajectory of the dynamical system in the attractor does not have to satisfy any special constraints except for remaining on the attractor. The trajectory may be periodic or chaotic or of any other type.

Contents
[hide]

1 Motivation 2 Mathematical definition 3 Types of attractors o 3.1 Fixed point o 3.2 Limit cycle o 3.3 Limit tori o 3.4 Strange attractor 4 Partial differential equations 5 Further reading 6 See also 7 References 8 External links

[edit] Motivation
A dynamical system is often described in terms of differential equations that describe its behavior for a short period of time. To determine the behavior for longer periods it is necessary to integrate the equations, either through analytical means or through iteration, often with the aid of computers. Dynamical systems in the physical world tend to be dissipative: if it were not for some driving force, the motion would cease. (Dissipation may come from internal friction, thermodynamic losses, or loss of material, among many causes.) The dissipation and the driving force tend to combine to kill out initial transients and settle the system into its typical behavior. This one part of the phase space of the dynamical system corresponding to the typical behavior is the attracting section or attractee. Invariant sets and limit sets are similar to the attractor concept. An invariant set is a set that evolves to itself under the dynamics. Attractors may contain invariant sets. A limit set is a set of points such that there exists some initial state that ends up arbitrarily close to the limit set (i.e. to each point of the set) as time goes to infinity. Attractors are limit sets, but not all limit sets are attractors: It is possible to have some points of a system converge to a limit set, but different points when perturbed slightly off the limit set may get knocked off and never return to the vicinity of the limit set.

For example, the damped pendulum has two invariant points: the point x0 of minimum height and the point x1 of maximum height. The point x0 is also a limit set, as trajectories converge to it; the point x1 is not a limit set. Because of the dissipation, the point x0 is also an attractor. If there were no dissipation, x0 would not be an attractor.

[edit] Mathematical definition


Let f(t, ) be a function which specifies the dynamics of the system. That is, if s is an element of the phase space, i.e., s totally specifies the state of the system at some instant, then f(0, s) = s and for t>0, f(t, s) evolves s forward t units of time. For example, if our system is an isolated point particle in one dimension, then its position in phase space is given by (x,v) where x is the position of the particle and v is its velocity. If the particle is not acted on by any potential (flies around freely) then dynamics is given by f(t,(x,v)) = (x+t*v,v). An attractor is a subset A of the phase space such that:

A is invariant under f; i.e., if s is an element of A then so is f(t,s), for all t. There is a neighborhood of A, B(A) called the basin of attraction for A, such that B(A) = { s | for all neighborhoods N of A there is a T such that for all t > T, f(t,s) N }. In other words, B(A) is the set of points that 'enter A in the limit'. There is no proper subset of A with the first two properties.

Since the basin of attraction is in a close neighborhood of A, i.e. contains an open set containing A, every state 'close enough' to A is attracted to A. Technically the notion of an attractor depends on the topology placed on the phase space, but normally the standard topology on n is assumed. Other definitions of attractor are sometimes used. For example, some require that an attractor have positive measure (preventing a point from being an attractor), others relax the requirement that B(A) be a neighborhood.

[edit] Types of attractors


Attractors are parts of the phase space of the dynamical system. Until the 1960s, as evidenced by textbooks of that era, attractors were thought of as being geometrical subsets of the phase space: points, lines, surfaces, volumes. The (topologically) wild sets that had been observed were thought to be fragile anomalies. Stephen Smale was able to show that his horseshoe map was robust and that its attractor had the structure of a Cantor set. Two simple attractors are the fixed point and the limit cycle. There can be many other geometrical sets that are attractors. When these sets (or the motions on them), are hard to describe, then the attractor is a strange attractor, as described in the section below.

[edit] Fixed point

Weakly attracting fixed point for complex quadratic polynomial

A fixed point is a point that a system evolves towards, such as the final states of a falling pebble, a damped pendulum, or the water in a glass. It corresponds to a fixed point of the evolution function that is also attracting.

[edit] Limit cycle


See main article limit cycle

A limit cycle is a periodic orbit of the system that is isolated. Examples include the swings of a pendulum clock, the tuning circuit of a radio, and the heartbeat while resting. The ideal pendulum is not an example because its orbits are not isolated. In phase space of the ideal pendulum, near any point of a periodic orbit there is another point that belongs to a different periodic orbit.

Van der Pol phase portrait

[edit] Limit tori


There may be more than one frequency in the periodic trajectory of the system through the state of a limit cycle. If two of these frequencies form an irrational fraction (i.e. they are incommensurate), the trajectory is no longer closed, and the limit cycle becomes a limit torus. We call this kind of attractor Nt-torus if there are Nt incommensurate frequencies. For example here is a 2-torus:

A time series corresponding to this attractor is a quasiperiodic series: A discretely sampled sum of Nt periodic functions (not necessarily sine waves) with incommensurate frequencies. Such a time series does not have a strict periodicity, but its power spectrum still consists only of sharp lines.

[edit] Strange attractor

A plot of Lorenz's strange attractor for values =28, = 10, = 8/3

An attractor is informally described as strange if it has non-integer dimension or if the dynamics on it are chaotic. The term was coined by David Ruelle and Floris Takens to describe the attractor that resulted from a series of bifurcations of a system describing fluid flow. Strange attractors are often differentiable in a few directions, but some are like a Cantor dust, and therefore not differentiable. Examples of strange attractors include the Hnon attractor, Rssler attractor, Lorenz attractor, Tamari attractor.

[edit] Partial differential equations

Parabolic partial differential equations may have finite-dimensional attractors. The diffusive part of the equation damps higher frequencies and in some cases leads to a global attractor. The GinzburgLandau, the KuramotoSivashinsky, and the two-dimensional, forced NavierStokes equations are all known to have global attractors of finite dimension. For the three-dimensional, incompressible NavierStokes equation with periodic boundary conditions, if it has a global attractor, then this attractor will be of finite dimensions.

Rssler attractor
From Wikipedia, the free encyclopedia (Redirected from Rossler system) Jump to: navigation, search

The Rssler attractor

Rssler attractor as a stereogram with a = 0.2, b = 0.2, c = 14

The Rssler attractor (pronounced /rsl/[citation needed]) is the attractor for the Rssler system, a system of three non-linear ordinary differential equations. These differential equations define a continuous-time dynamical system that exhibits chaotic dynamics associated with the fractal properties of the attractor. Some properties of the Rssler system can be deduced via linear methods such as eigenvectors, but the main features of the system require non-linear methods such as Poincar maps and bifurcation diagrams. The original Rssler paper says the Rssler attractor was intended to behave similarly to the Lorenz attractor, but also be easier to analyze qualitatively. An orbit within the attractor follows an outward spiral close to the x,y plane around an unstable fixed point. Once the graph spirals out enough, a second fixed point influences the graph, causing a rise and twist in the z-dimension. In the time domain, it becomes apparent that although each variable is oscillating within a fixed range of values, the oscillations are chaotic. This attractor has some similarities to the Lorenz attractor, but is simpler and has only one

manifold. Otto Rssler designed the Rssler attractor in 1976, but the originally theoretical equations were later found to be useful in modeling equilibrium in chemical reactions. The defining equations are:

Rssler studied the chaotic attractor with a = 0.2, b = 0.2, and c = 5.7, though properties of a = 0.1, b = 0.1, and c = 14 have been more commonly used since.

Contents
[hide]

1 An analysis o 1.1 Fixed points o 1.2 Eigenvalues and eigenvectors o 1.3 Poincar map o 1.4 Mapping local maxima o 1.5 Variation of parameters 1.5.1 Varying a 1.5.2 Varying b 1.5.3 Varying c 2 Links to other topics 3 See also 4 References 5 External links

[edit] An analysis

x,y plane of Rssler attractor with a = 0.2, b = 0.2, c = 5.7

Some of the Rssler attractor's elegance is due to two of its equations being linear; setting z = 0, allows examination of the behavior on the x,y plane

The stability in the x,y plane can then be found by calculating the eigenvalues of the Jacobian

, which are . From this, we can see that when 0 < a < 2, the eigenvalues are complex and at least one has a real component, making the origin unstable with an outwards spiral on the x,y plane. Now consider the z plane behavior within the context of this range for a. So long as x is smaller than c, the c term will keep the orbit close to the x,y plane. As the orbit approaches x greater than c, the z-values begin to climb. As z climbs, though, the z in the equation for dx / dt stops the growth in x.

[edit] Fixed points


In order to find the fixed points, the three Rssler equations are set to zero and the (x,y,z) coordinates of each fixed point were determined by solving the resulting equations. This yields the general equations of each of the fixed point coordinates:

Which in turn can be used to show the actual fixed points for a given set of parameter values:

As shown in the general plots of the Rssler Attractor above, one of these fixed points resides in the center of the attractor loop and the other lies comparatively removed from the attractor.

[edit] Eigenvalues and eigenvectors


The stability of each of these fixed points can be analyzed by determining their respective

eigenvalues and eigenvectors. Beginning with the Jacobian: eigenvalues can be determined by solving the following cubic:

, the

For the centrally located fixed point (FP1 , Rsslers original parameter values of a=0.2, b=0.2, and c=5.7 yield eigenvalues of:

The magnitude of a negative eigenvalue characterizes the level of attraction along the corresponding eigenvector. Similarly the magnitude of a positive eigenvalue characterizes the level of repulsion along the corresponding eigenvector. The eigenvectors corresponding to these eigenvalues are:

Examination of central fixed point eigenvectors: The blue line corresponds to the standard Rssler attractor generated with a = 0.2, b = 0.2, and c = 5.7.

Rssler attractor with a = 0.2, b = 0.2, c = 5.7

These eigenvectors have several interesting implications. First, the two eigenvalue/eigenvector pairs (v1 and v2) are responsible for the steady outward slide that occurs in the main disk of the attractor. The last eigenvalue/eigenvector pair is attracting along an axis that runs through the center of the manifold and accounts for the z motion that occurs within the attractor. This effect is roughly demonstrated with the figure below. The figure examines the central fixed point eigenvectors. The blue line corresponds to the standard Rssler attractor generated with a = 0.2, b = 0.2, and c = 5.7. The red dot in the center of this attractor is FP1. The red line intersecting that fixed point is an illustration of the repulsing plane generated by v1 and v2. The green line is an illustration of the attracting v3. The magenta line is generated by stepping backwards through time from a point on the attracting eigenvector which is slightly above FP1 it illustrates the behavior of points that become completely dominated by that vector. Note that the magenta line nearly touches the plane of the attractor before being pulled upwards into the fixed point; this suggests that the general appearance and behavior of the Rssler attractor is largely a product of the interaction between the attracting v3 and the repelling v1 and v2 plane. Specifically it implies that a sequence generated from the Rssler equations will begin to loop around FP1, start being pulled upwards into the v3 vector, creating the upward arm of a curve that bends slightly inward toward the vector before being pushed outward again as it is pulled back towards the repelling plane. For the outlier fixed point, Rsslers original parameter values of a = 0.2, b = 0.2, and c = 5.7 yield eigenvalues of:
1 = 0.0000046 + 5.4280259i 2 = 0.0000046 5.4280259i 3 = 0.1929830

The eigenvectors corresponding to these eigenvalues are:

Although these eigenvalues and eigenvectors exist in the Rssler attractor, their influence is confined to iterations of the Rssler system whose initial conditions are in the general vicinity of this outlier fixed point. Except in those cases where the initial conditions lie on the attracting plane generated by 1 and 2, this influence effectively involves pushing the resulting system towards the general Rssler attractor. As the resulting sequence approaches the central fixed point and the attractor itself, the influence of this distant fixed point (and its eigenvectors) will wane.

[edit] Poincar map

Poincar map for Rssler attractor with a = 0.1, b = 0.1, c = 14

The Poincar map is constructed by plotting the value of the function every time it passes through a set plane in a specific direction. An example would be plotting the y,z value every time it passes through the x = 0 plane where x is changing from negative to positive, commonly done when studying the Lorenz attractor. In the case of the Rssler attractor, the x = 0 plane is uninteresting, as the map always crosses the x = 0 plane at z = 0 due to the nature of the Rssler equations. In the a = 0.1 plane for a = 0.1, b = 0.1, c = 14, the Poincar map shows the upswing in z values as x increases, as is to be expected due to the upswing and twist section of the Rssler plot. The number of points in this specific Poincar plot is infinite, but when a different c value is used, the number of points can vary. For example, with a c value of 4, there is only one point on the Poincar map, because the function yields a periodic orbit of period one, or if the c value is set to 12.8, there would be six points corresponding to a period six orbit.

[edit] Mapping local maxima

Zn vs. Zn + 1

In the original paper on the Lorenz Attractor, Edward Lorenz analyzed the local maxima of z against the immediately preceding local maxima. When visualized, the plot resembled the tent map, implying that similar analysis can be used between the map and attractor. For the Rssler attractor, when the zn local maximum is plotted against the next local z maximum, zn + 1, the resulting plot (shown here for a = 0.2, b = 0.2, c = 5.7) is unimodal, resembling a skewed Henon map. Knowing that the Rssler attractor can be used to create a pseudo 1-d map, it then follows to use similar analysis methods. The bifurcation diagram is specifically a useful analysis method.

[edit] Variation of parameters


Rssler attractor's behavior is largely a factor of the values of its constant parameters (a, b, and c). In general varying each parameter has a comparable effect by causing the system to converge toward a periodic orbit, fixed point, or escape towards infinity, however the specific ranges and behaviors induced vary substantially for each parameter. Periodic orbits, or "unit cycles," of the Rssler system are defined by the number of loops around the central point that occur before the loops series begins to repeat itself. Bifurcation diagrams are a common tool for analyzing the behavior of chaotic systems. Bifurcation diagrams for the Rssler attractor are created by iterating through the Rssler ODEs holding two of the parameters constant while conducting a parameter sweep over a range of possible values for the third. The local x maxima for each varying parameter value is then plotted against that parameter value. These maxima are determined after the attractor has reached steady state and any initial transient behaviors have disappeared. This is useful in determining the relationship between periodicity and the selected parameter. Increasing numbers of points in a vertical line on a bifurcation diagram indicates the Rssler attractor behaves chaotically that value of the parameter being examined.

[edit] Varying a

In order to examine the behavior of the Rssler attractor for different values of a, b was fixed at 0.2, c was fixed at 5.7. Numerical examination of attractor's behavior over changing a suggests it has a disproportional influence over the attractor's behavior. Some examples of this relationship include:

: converges to the centrally located fixed point a = 0.1: unit cycle of period 1 a = 0.2: standard parameter value selected by Rssler, chaotic a = 0.3: chaotic attractor, significantly more Mbius strip-like (folding over itself). a = 0.35: similar to .3, but increasingly chaotic a = 0.38: similar to .35, but increasingly chaotic

If a gets even slightly larger than .38, it causes MATLAB to hang. Note this suggests that the practical range of a is very narrow.
[edit] Varying b

Bifurcation diagram for the Rssler attractor for varying b

The effect of b on the Rssler attractors behavior is best illustrated through a bifurcation diagram. This bifurcation diagram was created with a = 0.2, c = 5.7. As shown in the accompanying diagram, as b approaches 0 the attractor approaches infinity (note the upswing for very small values of b. Comparative to the other parameters, varying b seems to generate a greater range when period-3 and period-6 orbits will occur. In contrast to a and c, higher values of b systems that converge on a period-1 orbit instead of higher level orbits or chaotic attractors.

[edit] Varying c

Bifurcation diagram for the Rssler attractor for varying c

The traditional bifurcation diagram for the Rssler attractor is created by varying c with a = b = .1. This bifurcation diagram reveals that low values of c are periodic, but quickly become chaotic as c increases. This pattern repeats itself as c increases there are sections of periodicity interspersed with periods of chaos, although the trend is towards higher order periodic orbits in the periodic sections as c increases. For example, the period one orbit only appears for values of c around 4 and is never found again in the bifurcation diagram. The same phenomena is seen with period three; until c = 12, period three orbits can be found, but thereafter, they do not appear. A graphical illustration of the changing attractor over a range of c values illustrates the general behavior seen for all of these parameter analyses the frequent transitions from ranges of relative stability and periodicity to completely chaotic and back again.

The above set of images illustrates the variations in the post-transient Rssler system as c is varied over a range of values. These images were generated with a = b = .1 (a) c = 4, periodic orbit. (b) c = 6, period-2 orbit. (c) c = 8.5, period-4 orbit. (d) c = 8.7, period-8 orbit. (e) c = 9, sparse chaotic attractor. (f) c = 12, period-3 orbit. (g) c = 12.6, period-6 orbit. (h) c = 13, sparse chaotic attractor. (i) c = 18, filled-in chaotic attractor.

[edit] Links to other topics


The banding evident in the Rssler attractor is similar to a Cantor set rotated about its midpoint. Additionally, the half-twist in the Rssler attractor makes it similar to a Mbius strip.

Clock distribution network


From Wikipedia, the free encyclopedia (Redirected from Clock Distribution Networks) Jump to: navigation, search

In a synchronous digital system, the clock signal is used to define a time reference for the movement of data within that system. The clock distribution network distributes the clock

signal(s) from a common point to all the elements that need it. Since this function is vital to the operation of a synchronous system, much attention has been given to the characteristics of these clock signals and the electrical networks used in their distribution. Clock signals are often regarded as simple control signals; however, these signals have some very special characteristics and attributes.

Contents
[hide]

1 Considerations for clock signals 2 Performance of clocked systems 3 Ongoing research 4 References 5 See also 6 Further reading/External links

[edit] Considerations for clock signals


Clock signals are typically loaded with the greatest fanout and operate at the highest speeds of any signal, either control or data, within the entire synchronous system. Since the data signals are provided with a temporal reference by the clock signals, the clock waveforms must be particularly clean and sharp. Furthermore, these clock signals are particularly affected by technology scaling (see Moore's law), in that long global interconnect lines become significantly more resistive as line dimensions are decreased. This increased line resistance is one of the primary reasons for the increasing significance of clock distribution on synchronous performance. Finally, the control of any differences and uncertainty in the arrival times of the clock signals can severely limit the maximum performance of the entire system and create catastrophic race conditions in which an incorrect data signal may latch within a register. The clock distribution network often takes a significant fraction of the power consumed by a chip. Furthermore, significant power can be wasted in transitions within blocks, even when their output is not needed. These observations have lead to a power saving technique called clock gating, which involves adding logic gates to the clock distribution tree, so portions of the tree can be turned off when not needed. (When a clock can be safely gated may be determined either through automatic analysis of the circuit, or specified by the designer). The exact savings are very design dependent, but around 20-30% is often achievable.

[edit] Performance of clocked systems


Most synchronous digital systems consist of cascaded banks of sequential registers with combinational logic between each set of registers. The functional requirements of the digital system are satisfied by the logic stages. The global performance and local timing requirements are satisfied by the careful insertion of pipeline registers into equally spaced time windows to

satisfy critical worst case timing constraints. The proper design of the clock distribution network ensures that these critical timing requirements are satisfied and that no race conditions exist. (See also clock skew.) The delay components that make up a general synchronous system are composed of the following three individual subsystems: the memory storage elements, the logic elements, and the clocking circuitry and distribution network. Interrelationships among these three subsystems of a synchronous digital system are critical to achieving maximum levels of performance and reliability.

[edit] Ongoing research


Novel structures are currently under development to ameliorate these issues and provide effective solutions. Important areas of research include resonant clocking techniques, on-chip optical interconnect, and local synchronization methodologies.

The Wikimedia Foundation's 2009 steward election has started. Please vote.

[Hide] [Help us with translations!]

Von Neumann architecture


From Wikipedia, the free encyclopedia Jump to: navigation, search

Design of the von Neumann architecture

The von Neumann architecture is a design model for a stored-program digital computer that uses a processing unit and a single separate storage structure to hold both instructions and data. It is named after the mathematician and early computer scientist John von Neumann. Such computers implement a universal Turing machine and have a sequential architecture. A stored-program digital computer is one that keeps its programmed instructions, as well as its data, in read-write, random access memory (RAM). Stored-program computers were an advancement over the program-controlled computers of the 1940s, such as the Colossus and the ENIAC, which were programmed by setting switches and inserting patch leads to route data and to control signals between various functional units. In the vast majority of modern computers, the same memory is used for both data and program instructions. The terms "von Neumann architecture" and "stored-program computer" are generally used interchangeably, and that usage is followed in this article. In contrast, the Harvard architecture stores a program in a modifiable form, but without using the same physical storage or format for general data.

Contents
[hide]

1 Description 2 Development of the stored-program concept 3 Von Neumann bottleneck 4 Early von Neumann-architecture computers 5 Early stored-program computers 6 See also 7 References o 7.1 Inline o 7.2 General 8 External links

[edit] Description
The earliest computing machines had fixed programs. Some very simple computers still use this design, either for simplicity or training purposes. For example, a desk calculator (in principle) is a fixed program computer. It can do basic mathematics, but it cannot be used as a word processor or to play games with. Changing the program of a fixed-program machine requires re-wiring, restructuring, or re-designing the machine. The earliest computers were not so much "programmed" as they were "designed". "Reprogramming", when it was possible at all, was a laborious process, starting with flow charts and paper notes, followed by detailed engineering

designs, and then the often-arduous process of physically re-wiring and re-building the machine. It could take up to three weeks to set up a program on ENIAC and get it working.[1] The idea of the stored-program computer changed all that. A computer that by design includes an instruction set architecture and can store in memory a set of instructions (a program) that details the computation. A stored-program design also lets programs modify themselves while running. One early motivation for such a facility was the need for a program to increment or otherwise modify the address portion of instructions, which had to be done manually in early designs. This became less important when index registers and indirect addressing became usual features of machine architecture. Self-modifying code has largely fallen out of favor, since it is usually hard to understand and debug, as well as being inefficient under modern processor pipelining and caching schemes. On a large scale, the ability to treat instructions as data is what makes assemblers, compilers and other automated programming tools possible. One can "write programs which write programs".[2] On a smaller scale, I/O-intensive machine instructions such as the BITBLT primitive used to modify images on a bitmap display, were once thought to be impossible to implement without custom hardware. It was shown later that these instructions could be implemented efficiently by "on the fly compilation" ("just-in-time compilation") technology, e.g. code-generating programsone form of self-modifying code that has remained popular. There are drawbacks to the von Neumann design. Aside from the von Neumann bottleneck described below, program modifications can be quite harmful, either by accident or design. In some simple stored-program computer designs, a malfunctioning program can damage itself, other programs, or the operating system, possibly leading to a computer crash. This ability for programs to create and modify other programs is also frequently exploited by malware and hackers. A buffer overflow is one very common example of such a malfunction. Malware might use a buffer overflow to smash the call stack, overwrite the existing program, and then proceed to modify other program files on the system to further propagate the malware to other machines. Memory protection and other forms of access control can help protect against both accidental and malicious program modification.

[edit] Development of the stored-program concept


The mathematician Alan Turing, who had been alerted to a problem of mathematical logic by the lectures of Max Newman at Cambridge University, wrote a paper in 1936 entitled On Computable Numbers, with an Application to the Entscheidungsproblem, which was published in the Proceedings of the London Mathematical Society.[3] In it he described a hypothetical machine which he called a "universal computing machine", and which is now known as the "universal Turing machine". The hypothetical machine had an infinite store (memory in today's terminology) that contained both instructions and data. The German engineer Konrad Zuse independently wrote about this concept in 1936.[4] Von Neumann became acquainted with Turing when he was visiting professor at Cambridge in 1935 and also during the year that Turing

spent at Princeton University in 1936-37. Whether he knew of Turing's 1936 paper at that time is not clear. Independently, J. Presper Eckert and John Mauchly, who were developing the ENIAC at the Moore School of Electrical Engineering, at the University of Pennsylvania, wrote about the stored-program concept in December 1943.[5][6] In planning a new machine, EDVAC, Eckert wrote in January 1944 that they would store data and programs in a new addressable memory device, a mercury metal delay line. This was the first time the construction of a practical storedprogram was proposed. At that time, they were not aware of Turing's work. Von Neumann was involved in the Manhattan Project at the Los Alamos National Laboratory, which required huge amounts of calculation. This drew him to the ENIAC project, in the summer of 1944. There he joined into the ongoing discussions on the design of this stored-program computer, the EDVAC. As part of that group, he volunteered to write up a description of it. The term "von Neumann architecture" arose from von Neumann's paper First Draft of a Report on the EDVAC dated 30 June 1945, which included ideas from Eckert and Mauchly. It was unfinished when his colleague Herman Goldstine circulated it with only von Neumann's name on it, to the consternation of Eckert and Mauchly.[7] The paper was read by dozens of von Neumann's colleagues in America and Europe, and influencing the next round of computer designs. Later, Turing produced a detailed technical report Proposed Electronic Calculator describing the Automatic Computing Engine (ACE).[8] He presented this to the Executive Committee of the British National Physical Laboratory on 19 February 1946. Although Turing knew from his wartime experience at Bletchley Park that what he proposed was feasible, the secrecy that was maintained about "Colossus" for several decades prevented him from saying so. Various successful implementations of the ACE design were produced. Both von Neumann's and Turing's papers described stored program-computers, but von Neumann's earlier paper achieved greater circulation and the computer architecture it outlined became known as the "von Neumann architecture". In the 1953 book Faster than Thought edited by B V Bowden a section in the chapter on Computers in America read as follows.[9]
THE MACHINE OF THE INSTITUTE FOR ADVANCED STUDIES, PRINCETON In 1945, Professor J. von Neumann, who was then working at the Moore School of Engineering in Philadelphia, where the E.N.I.A.C. had been built, issued on behalf of a group of his co-workers a report on the logical design of digital computers. The report contained a fairly detailed proposal for the design of the machine which has since become known as the E.D.V.A.C. (electronic discrete variable automatic computer). This machine has only recently been completed in America, but the von Neumann report inspired the construction of the E.D.S.A.C. (electronic delay-storage automatic calculator) in Cambridge (see page 130). In 1947, Burks, Goldstine and von Neumann published another report which outlined the design of another type of machine (a parallel machine this time) which should be exceedingly fast, capable perhaps of 20,000 operations per second. They pointed out that the outstanding problem in constructing such a machine was in the development of a suitable memory, all the contents of which were instantaneously

accessible, and at first they suggested the use of a special tubecalled the Selectron, which had been invented by the Princeton Laboratories of the R.C.A. These tubes were expensive and difficult to make, so von Neumann subsequently decided to build a machine based on the Williams memory. This machine, which was completed in June, 1952 in Princeton has become popularly known as the Maniac. The design of this machine has inspired that of half a dozen or more machines which are now being built in America, all of which are known affectionately as "Johniacs."

In the same book, in a chapter on ACE, the first two paragraphs read as follows.[10]
AUTOMATIC COMPUTATION AT THE NATIONAL PHYSICAL LABORATORY One of the most modern digital computers which embodies developments and improvements in the technique of automatic electronic computing was recently demonstrated at the National Physical Laboratory, Teddington, where it has been designed and built by a small team of mathematicians and electronics research engineers on the staff of the Laboratory, assisted by a number of production engineers from the English Electric Company, Limited. The equipment so far erected at the Laboratory is only the pilot model of a much larger installation which will be known as the Automatic Computing Engine, but although comparatively small in bulk and containing only about 800 thermionic valves, as can be judged from Plates XII, XIII and XIV, it is an extremely rapid and versatile calculating machine. The basic concepts and abstract principles of computation by a machine were formulated by Dr. A. M. Turing, F.R.S., in a paper1. read before the London Mathematical Society in 1936, but work on such machines in Britain was delayed by the war. In 1945, however, an examination of the problems was made at the National Physical Laboratory by Mr. J. R. Womersley, then superintendent of the Mathematics Division of the Laboratory. He was joined by Dr. Turing and a small staff of specialists, and, by 1947, the preliminary planning was sufficiently advanced to warrant the establishment of the special group already mentioned. In April, 1948, the latter became the Electronics Section of the Laboratory, under the charge of Mr. F. M. Colebrook.

[edit] Von Neumann bottleneck


The separation between the CPU and memory leads to the von Neumann bottleneck, the limited throughput (data transfer rate) between the CPU and memory compared to the amount of memory. In most modern computers, throughput is much smaller than the rate at which the CPU can work. This seriously limits the effective processing speed when the CPU is required to perform minimal processing on large amounts of data. The CPU is continuously forced to wait for needed data to be transferred to or from memory. Since CPU speed and memory size have increased much faster than the throughput between them, the bottleneck has become more of a problem. The term "von Neumann bottleneck" was coined by John Backus in his 1977 ACM Turing award lecture. According to Backus:
Surely there must be a less primitive way of making big changes in the store than by pushing vast numbers of words back and forth through the von Neumann bottleneck. Not only is this tube a literal bottleneck for the data traffic of a problem, but, more importantly, it is an intellectual bottleneck that has kept us tied to word-at-a-time thinking instead of encouraging us to think in terms of the larger conceptual units of the task at hand. Thus programming is basically planning and detailing the enormous traffic of

words through the von Neumann bottleneck, and much of that traffic concerns not significant data itself, but where to find it.[11]

The performance problem is reduced by a cache between the CPU and the main memory, and by the development of branch prediction algorithms. It is less clear whether the intellectual bottleneck that Backus criticized has changed much since 1977. Backus's proposed solution has not had a major influence. Modern functional programming and object-oriented programming are much less geared towards "pushing vast numbers of words back and forth" than earlier languages like Fortran were, but internally, that is still what computers spend much of their time doing.

[edit] Early von Neumann-architecture computers


The First Draft described a design that was used by many universities and corporations to construct their computers.[12] Among these various computers, only ILLIAC and ORDVAC had compatible instruction sets.

ORDVAC (U-Illinois) at Aberdeen Proving Ground, Maryland (completed Nov 1951[13]) IAS Machine at Princeton University (Jan 1952) MANIAC at Los Alamos Scientific Laboratory (Mar 1952) ILLIAC at the University of Illinois, (Sept 1952) AVIDAC at Argonne National Laboratory (1953) ORACLE at Oak Ridge National Laboratory (Jun 1953) JOHNNIAC at RAND Corporation (Jan 1954) BESK in Stockholm BESM in Moscow DASK in Denmark PERM in Munich SILLIAC in Sydney (1956?) WEIZAC in Rehovoth

[edit] Early stored-program computers


The date information in the following chronology is difficult to put into proper order. Some dates are for first running a test program, some dates are the first time the computer was demonstrated or completed, and some dates are for the first delivery or installation.

The IBM SSEC was a stored-program electromechanical computer and was publicly demonstrated on January 27, 1948. However it was partially electromechanical, thus not fully electronic. The Manchester SSEM (the Baby) was the first fully electronic computer to run a stored program. It ran a factoring program for 52 minutes on June 21, 1948, after running a simple division program and a program to show that two numbers were relatively prime.

The ENIAC was modified to run as a primitive read-only stored-program computer (using the Function Tables for program ROM) and was demonstrated as such on September 16, 1948, running a program by Adele Goldstine for von Neumann. The BINAC ran some test programs in February, March, and April 1949, although it wasn't completed until September 1949. The Manchester Mark 1 developed from the SSEM project. An intermediate version of the Mark I was available to run programs in April 1949, but it wasn't completed until October 1949. The EDSAC ran its first program on May 6, 1949. The EDVAC was delivered in August 1949, but it had problems that kept it from being put into regular operation until 1951. The CSIR Mk I ran its first program in November 1949. The SEAC was demonstrated in April 1950. The Pilot ACE ran its first program on May 10, 1950 and was demonstrated in December 1950. The SWAC was completed in July 1950. The Whirlwind was completed in December 1950 and was in actual use in April 1951. The first ERA Atlas (later the commercial ERA 1101/UNIVAC 1101) was installed in December 1950.
[Hide] [Help us with translations!]

The Wikimedia Foundation's 2009 steward election has started. Please vote.

System-on-a-chip
From Wikipedia, the free encyclopedia Jump to: navigation, search It has been suggested that this article or section be merged with Microcontroller. (Discuss) This article includes a list of references or external links, but its sources remain unclear because it lacks inline citations. Please improve this article by introducing more precise citations where appropriate. (October 2008)

System-on-a-chip or system on chip (SoC or SOC) refers to integrating all components of a computer or other electronic system into a single integrated circuit (chip). It may contain digital, analog, mixed-signal, and often radio-frequency functions all on one chip. A typical application is in the area of embedded systems. The contrast with microcontroller is one of degree. Microcontrollers typically have under 100K of RAM (often only bytes), whereas the term SoC is typically used for processors capable of running software such as Windows or Linux. If it is not feasible to construct an SoC for a particular application, an alternative is a system in package (SiP) comprising a number of chips in a single package. In large volumes, SoC is believed to be more cost effective than SiP since it increases the yield of the fabrication and because its packaging is simpler.[1]

Contents
[hide]

1 Structure 2 Design flow 3 Fabrication 4 See also 5 Notes 6 External links

[edit] Structure
A typical SoC consists of:

One microcontroller, microprocessor or DSP core(s). Some SOCs -- called multiprocessor Systemon-Chip (MPSoC) -- include more than one processor core. Memory blocks including a selection of ROM, RAM, EEPROM and Flash. Timing sources including oscillators and phase-locked loops. Peripherals including counter-timers, real-time timers and power-on reset generators. External interfaces including industry standards such as USB, FireWire, Ethernet, USART, SPI. Analog interfaces including ADCs and DACs. Voltage regulators and power management circuits.

These blocks are connected by either a proprietary or industry-standard bus such as the AMBA bus from ARM. DMA controllers route data directly between external interfaces and memory, by-passing the processor core and thereby increasing the data throughput of the SoC.

Microcontroller-based System-on-a-Chip

[edit] Design flow


A SoC consists of both the hardware described above, and the software that controls the microcontroller, microprocessor or DSP cores, peripherals and interfaces. The design flow for an SoC aims to develop this hardware and software in parallel. Most SoCs are developed from pre-qualified hardware blocks for the hardware elements described above, together with the software drivers that control their operation. Of particular importance are the protocol stacks that drive industry-standard interfaces like USB. The hardware blocks are put together using CAD tools; the software modules are integrated using a software development environment. A key step in the design flow is emulation: the hardware is mapped onto an emulation platform based on a field programmable gate array (FPGA) that mimics the behavior of the SoC, and the software modules are loaded into the memory of the emulation platform. Once programmed, the emulation platform enables the hardware and software of the SoC to be tested and debugged at close to its full operational speed. After emulation the hardware of the SoC follows the place and route phase of the design of an integrated circuit before it is fabricated.

Chips are verified for logical correctness before being sent to foundry. This process is called functional verification, and it accounts for a significant portion of the time and energy expended in the chip design life cycle (although the often quoted figure of 70% is probably an exaggeration [2] ). Verilog and VHDL are typical hardware description languages used for verification. With the growing complexity of chips, hardware verification languages like SystemVerilog, SystemC, e, and OpenVera are also being used. Bugs found in the verification stage are reported to the designer.

System-on-a-Chip Design Flow

[edit] Fabrication
SoCs can be fabricated by several technologies, including:

Full custom Standard cell FPGA

SoC designs usually consume less power and have a lower cost and higher reliability than the multi-chip systems that they replace. And with fewer packages in the system, assembly costs are reduced as well.

However, like most VLSI designs, the total cost is higher for one large chip than for the same functionality distributed over several smaller chips, because of lower yields and higher NRE costs.

Instruction pipeline
From Wikipedia, the free encyclopedia Jump to: navigation, search Pipelining redirects here. For HTTP pipelining, see HTTP pipelining.

Basic five-stage pipeline in a RISC machine (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back). In the fourth clock cycle (the green column), the earliest instruction is in MEM stage, and the latest instruction has not yet entered the pipeline.

An instruction pipeline is a technique used in the design of computers and other digital electronic devices to increase their instruction throughput (the number of instructions that can be executed in a unit of time). The fundamental idea is to split the processing of a computer instruction into a series of independent steps, with storage at the end of each step. This allows the computer's control circuitry to issue instructions at the processing rate of the slowest step, which is much faster than the time needed to perform all steps at once. The term pipeline refers to the fact that each step is carrying data at once (like water), and each step is connected to the next (like the links of a pipe.) The origin of pipelining is thought to be either the ILLIAC II project or the IBM Stretch project. The IBM Stretch Project proposed the terms, "Fetch, Decode, and Execute" that became common usage. Most modern CPUs are driven by a clock. The CPU consists internally of logic and memory (flip flops). When the clock signal arrives, the flip flops take their new value and the logic then

requires a period of time to decode the new values. Then the next clock pulse arrives and the flip flops again take their new values, and so on. By breaking the logic into smaller pieces and inserting flip flops between the pieces of logic, the delay before the logic gives valid outputs is reduced. In this way the clock period can be reduced. For example, the RISC pipeline is broken into five stages with a set of flip flops between each stage.
1. 2. 3. 4. 5. Instruction fetch Instruction decode and register fetch Execute Memory access Register write back

Hazards: When a programmer (or compiler) writes assembly code, they make the assumption that each instruction is executed before execution of the subsequent instruction is begun. This assumption is invalidated by pipelining. When this causes a program to behave incorrectly, the situation is known as a hazard. Various techniques for resolving hazards such as forwarding and stalling exist. A non-pipeline architecture is inefficient because some CPU components (modules) are idle while another module is active during the instruction cycle. Pipelining does not completely cancel out idle time in a CPU but making those modules work in parallel improves program execution significantly. Processors with pipelining are organized inside into stages which can semi-independently work on separate jobs. Each stage is organized and linked into a 'chain' so each stage's output is fed to another stage until the job is done. This organization of the processor allows overall processing time to be significantly reduced. Unfortunately, not all instructions are independent. In a simple pipeline, completing an instruction may require 5 stages. To operate at full performance, this pipeline will need to run 4 subsequent independent instructions while the first is completing. If 4 instructions that do not depend on the output of the first instruction are not available, the pipeline control logic must insert a stall or wasted clock cycle into the pipeline until the dependency is resolved. Fortunately, techniques such as forwarding can significantly reduce the cases where stalling is required. While pipelining can in theory increase performance over an unpipelined core by a factor of the number of stages (assuming the clock frequency also scales with the number of stages), in reality, most code does not allow for ideal execution.

Contents
[hide]

1 Advantages and Disadvantages 2 Examples o 2.1 Generic pipeline 2.1.1 Bubble

2.2 Example 1 2.3 Example 2 3 Complications 4 See also 5 References 6 External links

o o

[edit] Advantages and Disadvantages


Pipelining does not help in all cases. There are several possible disadvantages. An instruction pipeline is said to be fully pipelined if it can accept a new instruction every clock cycle. A pipeline that is not fully pipelined has wait cycles that delay the progress of the pipeline. Advantages of Pipelining:
1. The cycle time of the processor is reduced, thus increasing instruction issue-rate in most cases. 2. Some combinatorial circuits such as adders or multipliers can be made faster by adding more circuitry. If pipelining is used instead, it can save circuitry vs. a more complex combinatorial circuit.

Disadvantages of Pipelining:
1. A non-pipelined processor executes only a single instruction at a time. This prevents branch delays (in effect, every branch is delayed) and problems with serial instructions being executed concurrently. Consequently the design is simpler and cheaper to manufacture. 2. The instruction latency in a non-pipelined processor is slightly lower than in a pipelined equivalent. This is due to the fact that extra flip flops must be added to the data path of a pipelined processor. 3. A non-pipelined processor will have a stable instruction bandwidth. The performance of a pipelined processor is much harder to predict and may vary more widely between different programs.

[edit] Examples
[edit] Generic pipeline

Generic 4-stage pipeline; the colored boxes represent instructions independent of each other

To the right is a generic pipeline with four stages:


1. 2. 3. 4. Fetch Decode Execute Write-back

The top gray box is the list of instructions waiting to be executed; the bottom gray box is the list of instructions that have been completed; and the middle white box is the pipeline. Execution is as follows:

Time

Execution

Four instructions are awaiting to be executed

the green instruction is fetched from memory

the green instruction is decoded the purple instruction is fetched from memory the green instruction is executed (actual operation is performed) the purple instruction is decoded the blue instruction is fetched the green instruction's results are written back to the register file or memory the purple instruction is executed the blue instruction is decoded the red instruction is fetched the green instruction is completed the purple instruction is written back the blue instruction is executed the red instruction is decoded The purple instruction is completed the blue instruction is written back the red instruction is executed the blue instruction is completed the red instruction is written back the red instruction is completed

8 9

All instructions are executed

[edit] Bubble

A bubble in cycle 3 delays execution Main article: Bubble (computing)

When a "hiccup" in execution occurs, a "bubble" is created in the pipeline in which nothing useful happens. In cycle 2, the fetching of the purple instruction is delayed and the decoding stage in cycle 3 now contains a bubble. Everything "behind" the purple instruction is delayed as well but everything "ahead" of the purple nstruction continues with execution. Clearly, when compared to the execution above, the bubble yields a total execution time of 8 clock ticks instead of 7. Bubbles are like stalls, in which nothing useful will happen for the fetch, decode, execute and writeback. It can be completed with a nop code.

[edit] Example 1
A typical instruction to add two numbers might be ADD A, B, C, which adds the values found in memory locations A and B, and then puts the result in memory location C. In a pipelined processor the pipeline controller would break this into a series of tasks similar to:
LOAD A, R1 LOAD B, R2 ADD R1, R2, R3 STORE R3, C LOAD next instruction

The locations 'R1' and 'R2' are registers in the CPU. The values stored in memory locations labeled 'A' and 'B' are loaded (copied) into these registers, then added, and the result is stored in a memory location labeled 'C'. In this example the pipeline is three stages long- load, execute, and store. Each of the steps are called pipeline stages. On a non-pipelined processor, only one stage can be working at a time so the entire instruction has to complete before the next instruction can begin. On a pipelined processor, all of the stages can be working at once on different instructions. So when this instruction is at the execute stage, a second instruction will be at the decode stage and a 3rd instruction will be at the fetch stage. Pipelining doesn't reduce the time it takes to complete an instruction rather it increases the number of instructions that can be processed at once and it reduces the delay between completed instructions- called 'throughput'. The more pipeline stages a processor has, the more instructions it can be working on at once and the less of a delay there is between completed instructions. Every microprocessor manufactured today uses at least 2 stages of pipeline.[citation needed] (The Atmel AVR and the PIC microcontroller each have a 2 stage pipeline). Intel Pentium 4 processors have 20 stage pipelines.

[edit] Example 2
To better visualize the concept, we can look at a theoretical 3-stage pipeline:

Stage

Description

Load

Read instruction from memory

Execute Execute instruction

Store

Store result in memory and/or registers

and a pseudo-code assembly listing to be executed:


LOAD MOVE ADD STORE #40, A A, B #20, B B, 0x300 ; ; ; ; load 40 in A copy A in B add 20 to B store B into memory cell 0x300

This is how it would be executed:

Clock 1

Load Execute Store

LOAD

The LOAD instruction is fetched from memory.

Clock 2

Load Execute Store

MOVE LOAD

The LOAD instruction is executed, while the MOVE instruction is fetched from memory.

Clock 3

Load Execute Store

ADD MOVE

LOAD

The LOAD instruction is in the Store stage, where its result (the number 40) will be stored in the register A. In the meantime, the MOVE instruction is being executed. Since it must move the contents of A into B, it must wait for the ending of the LOAD instruction.

Clock 4

Load Execute Store

STORE ADD

MOVE

The STORE instruction is loaded, while the MOVE instruction is finishing off and the ADD is calculating. And so on. Note that, sometimes, an instruction will depend on the result of another one (like our MOVE example). When more than one instruction references a particular location for an operand, either reading it (as an input) or writing it (as an output), executing those instructions in an order different from the original program order can lead to hazards (mentioned above). There are several established techniques for either preventing hazards from occurring, or working around them if they do.

[edit] Complications
Many designs include pipelines as long as 7, 10 and even 20 stages (like in the Intel Pentium 4) The later "Prescott" and "Cedar Mill" Pentium 4 cores (and their Pentium D derivatives) had a 31-stage pipeline, the longest in mainstream consumer computing. The Xelerator X10q has a pipeline more than a thousand stages long[1] . The downside of a long pipeline is when a program branches, the entire pipeline must be flushed, a problem that branch prediction helps to alleviate. Branch prediction itself can end up exacerbating the problem if branches are predicted poorly. In certain applications, such as supercomputing, programs are specially written to branch rarely and so very long pipelines are ideal to speed up the computations, as long pipelines are designed to reduce clocks per instruction (CPI). If branching happens constantly, re-ordering branches such that the more likely to be needed instructions are placed into the pipeline can significantly reduce the speed losses associated with having to flush failed branches. Programs such as gcov can be used to examine how often particular branches are actually executed using a technique known as coverage analysis, however such analysis is often a last resort for optimization. The higher throughput of pipelines falls short when the executed code contains many branches: the processor cannot know where to read the next instruction, and must wait for the branch instruction to finish, leaving the pipeline behind it empty. After the branch is resolved, the next instruction has to travel all the way through the pipeline before its result becomes available and the processor appears to "work" again. In the extreme case, the performance of a pipelined processor could theoretically approach that of an un-pipelined processor, or even slightly worse if all but one pipeline stages are idle and a small overhead is present between stages. Because of the instruction pipeline, code that the processor loads will not immediately execute. Due to this, updates in the code very near the current location of execution may not take effect because they are already loaded into the Prefetch Input Queue. Instruction caches make this phenomenon even worse. This is only relevant to self-modifying programs.

You might also like