Gjør som tusenvis av andre bokelskere
Abonner på vårt nyhetsbrev og få rabatter og inspirasjon til din neste leseopplevelse.
Ved å abonnere godtar du vår personvernerklæring.Du kan når som helst melde deg av våre nyhetsbrev.
Computer Science Design Series Programming with MFC & Visual C++ Prerequisite: Microsoft Visual C++ 6.0 or equivalent. Recommended especially if you are new to MFC: Jeff Prosise "Programming Windows with MFC" (1337 pages, ISBN 1572 316 950) This text is about how to use Windows Microsoft Foundation Classes (the MFC) and the software program Visual C++ to write programs using windows without knowing how to write the complex code that produces the windows. The MFC/Visual C++ combination immensely simplifies the writing of any program that uses one or more windows. Second, this is about learning how program with MFC from the bottom up so that you can produce the projects presented here. Many MFC classes and functions replace/obsolete many C, C++, and C# classes and functions. Consequently you can go directly to MFC, and save a lot of time and energy. Programming with MFC allows you to work at the top of the C hierarchy, while avoiding the limitations of C, C++, and C#. This text BEGINS to show you how to program with MFC by using Visual C++ to produce skeleton programs on the Visual C++ screen. Skeletons that include code producing the windows in which your programs will be presented. For example, creating front panels using dialog boxes in which you place controls (push button, combo box, slider, text box, etc.) in precise positions and how to initialize/program the controls. We say begin, because learning how to program in any language is an endless task. Especially MFC with its hundreds of functions. At this point we believe it is very important that you view the table of contents to know what we have chosen to present from the thousands of possibilities. We believe our choices represent the basic know-how one needs to get going with MFC. There is an unavoidable "cook book" element to using Visual C++ that dictates how to create the skeletons, and where to enter code in the skeletons. This text is different. Instead of referring you to code on a disk (with few if any comments), and instead of offering partial explanations in the text, requiring you have to go back and forth from book to disk, and wondering what to do next, we show you how code is written that actually creates programs that run on any computer using the windows operating system. That is why only the Visual C++ disk is required. We briefly explain most of the code lines used to produce the functions required by the projects. We expect the reader to have a basic programming capability. This text uses the Jeff Prosise text "Programming Windows with MFC", as a very useful reference.With Jeff Prosise's text supporting us we were able to write programs using windows, while knowing nothing about windows programming and very little about MFC and the various C languages. JP's text gave us a great start with the design process producing programs presented in one or more windows. That experience brings us to this point. We wrote this text, because even with the JP reference we learned that we had to answer many "How-do-we-do-that?" questions. Answers we needed in order to produce programs that run. Answers we share with you by presenting selected topics in the form of working projects. Many types of programs can be implemented with MFC. We focus on dot exe (name.exe) executing programs. JP's text makes very clear the fact that there is much, much more to MFC then what is presented here.
This text is about solving various types of equations using practical mathematical methods. Only the essentials of each topic are discussed. This is not about proving theorems, taking limits, or other matters important to mathematicians. "However, the emphasis should be somewhat more on how to do the mathematics quickly and easily, and what formulas are true, rather than the mathematicians' interest in methods of rigorous proof." Richard Feynman Concepts from Linear Algebra - the determinant, the finite matrix, the eigenvalue - are presented without the distractions of mathematical rigor. You learn solution methods that do not involve guesses. Methods you implement in a straightforward manner. The operational calculus can be traced back to Oliver Heaviside. Though many scientists preceded Heaviside in introducing operational methods, the systematic use of operational methods in physical problems was stimulated only by Heaviside's work. The methods he created are undoubtedly among the most important ever created. Heaviside was criticized for his lack of mathematical rigor. Yet his numerous mathematical and physical methods and results proved to be correct when mathematical rigor was incorporated. The Laplace Transform, a basis for a modern day operational calculus, is a straightforward technique for solving ordinary, partial differential, and, with a few complications, difference equations and a type of integral equation. On the other hand the Z transform solves difference equations without complications. And, Heaviside's differential operator D = d/dt augments the transform methods. The Laplace Transform transforms equations in one real variable domain, usually the time t domain, to a complex variable domain where the problem at hand is essentially solved. The inverse transform from the complex variable domain to the real variable domain completes the solution. Understanding the inverse transform requires knowledge of the theory of functions of complex variables. Our main interest in functions of a complex variable is integration, because integration of the complicated integrals of inverse transforms is amazingly simplified. The methods of the differential and integral calculus are extended to complex numbers and functions of complex variables. The results produce tremendous analytic methods. We show how ordinary differential equations. systems of ordinary differential equations, partial differential equations, and difference equations are readily solved by transform and/or differential operational methods. We show that each type of equation is solved in essentially the same way. We just define the Fourier Series, and show how to create Fourier series representing waveforms. Integral Equations - This is a hugh subject, which we limit to how the Laplace transform solves integral equations that include the convolution integral. Galois Finite Fields GF(2m) are not used to solve equations per se. They are used to implement functions such as error correcting codes, speech recognition, phase array antennas, and Doppler radar. Functions NOT implemented here.
Algebra - A Clear Presentation This is about the fundamental ideas of Algebra, and understanding why and how Algebra works. The present text is unusually accessible to readers who want to acquire algebraic skills. The clear presentation allows the reader to focus on the crucial facts of Algebra. The text is not cluttered with unnecessary details. That is why 500 plus pages are not necessary. We do not use the devastating phrase "it is obvious", because nothing is obvious to a person learning any subject. The ideas of digit position and digit position weight are introduced to show how integers greater than 9 are created. In this way understanding replaces rote learning. And, the real number system is reviewed. Fractions appeared when division created remainders. Fractions are numbers. The text shows how fractions are manipulated by the four operations addition, multiplication, subtraction, and division. Decimal integer and fractional parts are created when q divides p in the fraction p/q. The ideas of digit position and digit position weight are extended past the decimal point to show how the fractional part is valued. The text shows how to manipulate decimals. A focus on general methods for solving algebraic equations allows one to know how to solve any problem. The numerous special methods are distractions that have limited value. Sometimes an equation is not in the desired form. Algebraic operations are used modify the form of the equation by making the same changes to both sides of =, which does not upset the equality. A polynomial in one variable x is defined and its essential properties are presented. The text shows how to manipulate polynomials. The Remainder Theorem is explained. The theorem simplifies finding factors of polynomials. Newton's method for finding polynomial zeros is explained. Cramer's Rule is the straightforward way to find solutions by determinants of algebraic equations. How to find solutions of linear equations by addition, subtraction or substitution is also explained. The formula solving quadratic equations is derived and explained. An exponent n is a symbol written above, and on the right of, another symbol known as the base x as in x to the n. The text shows how arithmetic operations manipulate exponents. The Binomial Theorem shows how to expand (a+x) to the n when a and n are any numbers, positive, negative, integral or fractional. The Exponential and Logarithmic Functions are explained. The text shows how to manipulate them. Many problems are simplified when a rational function, the ratio of two polynomials, is decomposed into a sum of partial fractions with denominators of lower degree. Partial fractions have many applications such as simplifying many algebraic problems as well as the important inverse Laplace Transform process. Matrix algebra allows one to write and process equations efficiently. Furthermore, in many problems, the matrix format makes the next step easier to perceive. The concept of Mathematical Induction is explained and applied to problems. The presentations are eminently clear, because they are based on the policies assume nothing and nothing is obvious. The present text's contents are topics one actually uses when solving algebraic problems.
Electrical and Electronic Engineering Design Series Volume 5 Analog Filter Design This university level Electrical Engineering text is for anyone who wants to know how to design analog filters. A filter is a circuit that has a specific frequency response, which defines how signal frequencies amplitudes are modified. The present text is unusually accessible to readers who want to acquire the skills of analog filter design. We present a thorough foundation so that you can proceed to learn how to design any filter. This text is different from other filter design texts, because we actually design circuits, and not just talk about them. And, we ask you to work hard doing experiments so that you acquire real world experience with commercially available electronic parts. This is about real learning. We do not use the devastating phrase "it is obvious", because nothing is obvious to a person learning a subject. Eight experiments are included that give life to the text's contents, and provide the reader with real world experience with making measurements, using instruments, and learning about all kinds of parts. We consider the experiments to be significant learning activities. The analog filter design process is presented here for (1) the Bell Telephone Laboratories constant k, and m derived ladder filters, and (2) the modern Butterworth, Bessel, Chebyshev, and Inverse Chebyshev transfer functions and their synthesis methods. The designs produce filters one can build and use. Spice programs verify performance. The text starts with a presentation of the properties of four terminal two port networks. The two port equations and tables provide significant support for the filter design processes. The equations of the Bell Telephone Laboratories LC ladder filters are developed in a straightforward manner. The underlying idea is that of image impedance, which allows for cascading of filter sections. Spice programs plot filter transfer functions. The lattice filter structure is not discussed. The design of modern LC analog filters starts by showing how filters are specified. The Butterworth, Bessel, Chebyshev, and Inverse Chebyshev approximation methods of transfer functions T(p) are presented. The T(p) are converted into filter circuits by the transfer impedance synthesis method or the Darlington insertion loss synthesis method. Transformation equations convert low pass filters into high pass, band pass, and band reject filters. We show how to write AC analysis and TRAN transient response Spice programs that document filter performance.We include useful experiments that give you real world experience. We consider the experiments to be significant learning activities. The experiments include elementary RLC filters, Bell Telephone Laboratories filters, active filters using op amps, and filters derived via approximations. The presentations are eminently clear, because they are based on the policies assume nothing and nothing is obvious. The present text's contents are topics one actually uses when engaged in analog filter design.
Electrical and Electronic Engineering Design Series Vol 3 CMOS Circcuit Design - Analog, digital, IC Layout This university level Electrical Engineering text is for anyone who wants to know how to design products using CMOS circuits. The present text is unusually accessible to readers who want to acquire the skills of CMOS circuit design as well as the skill making Integrated Circuit Chip Layouts. We present a thorough foundation so that you can proceed to learn how to design and layout CMOS circuits. This text is different from other CMOS design texts, because not only do we actually show how to design CMOS circuits selecting transistor Length, Width and the correct value of mobility (a small detail that is usually overlooked if not ignored) we show how to make accurate, functioning circuit layouts that can be used in a chip. Furthermore we ask you to work hard drawing over 60 layouts that give you real world experience. This is not about logic design. This is about IC design from basic circuits to IC layout. CMOS technology is the preferred technology for implementing modern digital and analog integrated circuits. We show, step by step, how layouts are made that conform to Mosis rules. A brief review of MOS transistors sets the stage for CMOS circuit design. Digital circuits with no memory implement logic equations as sums of minterms (OR of ANDs) or products of maxterms (AND of ORs). We show how to design circuits such as NOT (Inverter), NAND, NOR, XOR, Multiplexer, and Adder. As we proceed we show how to plan and execute layouts for each circuit. One bit digital circuits with memory are used in state machines. The RS Latch is the most elementary one-bit circuit with memory. Latches do not have clock inputs, whereas flip-flops and edge triggered flip-flops are one-bit memory circuits with clock inputs. The flip-flops are synchronous circuits. We show how to design and layout the RS Latch and the D edge triggered flip-flop. We show that the JK design and layout is a straightforward adaptation of the D design and layout. The D and JK edge triggered flip-flops are the flip-flop circuits in commercial use today. Next the emphasis is on digital circuits that are an assembly of identical cells, such as the cell of a shift register. The integrated circuit layout of an assembly of cells is an orderly, repetitive pattern. Orderly, repetitive patterns are intrinsically free of layout errors. We say orderly layouts are mandatory for non trivial circuits (random logic layouts are high risk). We show how to make orderly systematic layouts, and how to write Spice programs that evaluate their performance. We design and layout well known digital circuits such as shift registers, storage registers with load control, registers on a bus, and programmable logic arrays of logic with no memory. The well known current mirror, differential amplifier, operational amplifier, resistors and capacitors are designed and their performance is evaluated by Spice. Layout procedures for the circuits as well as the resistors and capacitors are presented. Spice is used to plot DC response, AC frequency response, and TRAN transient response performance of circuits that are analyzed and designed in the text. We show how to write these programs. We ask you to draw over 60 layouts, which we consider to be useful experiments that give you real world experience. We consider drawing the more than 60 layouts to be a significant learning activity. The presentations are eminently clear, because they are based on the policies assume nothing and nothing is obvious. The present text's contents are topics one actually uses when engaged in CMOS circuit analysis and design.
This is about the fundamental ideas of Arithmetic, the theory of Arithmetic and understanding why and how Arithmetic works. This is about effective use of the practical procedures for addition, multiplication, subtraction, and division. Practical procedures you use when doing Arithmetic.This is about what are now standard algorithms for integer addition, multiplication, subtraction, and division that are recognized by the world wide mathematical community. Knowing and understanding the algorithms means one has moved beyond rote knowledge of arithmetic.Integer division creates simple fractions, which can be converted to decimal fractions. We present the theory of fractions and decimals as a straightforward extension of integer arithmetic.The basic laws defining operations are presented in the last chapter in order to avoid piling on new information in earlier chapters. The laws make very clear the operations on numbers that are permissible, and why. Studying the laws reviews the entire subject.In this text know that elementary algebra is used for general explanations such as if n is a number then n+1 is the next number, and specific numbers are used in examples. And, instead of taking up many pages with arithmetic problems, the reader is asked to select pairs of numbers to add, multiply, subtract and divide. However fraction and decimal problems, and their solutions, are included.The Standard Arithmetic Algorithms The word standard implies that we can order a document from a recognized Arithmetic Standards organization. We cannot do that, because we have not found such an organization. Nevertheless the world wide mathematical community recognizes what have evolved into standard algorithms for integer addition, multiplication, subtraction, and division. There are minor variations from country to country that are of no significance, because the underlying mathematical ideas are the same.We describe and fully explain the standard algorithms for addition, multiplication, subtraction, and division. The explanations emphasize ideas and procedures that always produce a solution. Perhaps you will agree with us when we say these algorithms are extraordinary discoveries.An algorithm is a procedure, requiring no creative skills of the user, with precise instructions, specifying a finite number of steps, so that sooner or later the procedure ends.A specific virtue of the arithmetic algorithms is that they solve an N digit problem one digit at a time. Repeat: one digit at a time. In other words one N-digit problem becomes N one-digit problems (one 5-digit problem becomes five 1-digit problems).This is important, because one-digit problems are done in one's mind.Algorithms are used, because they are methods that show how to solve every possible problem. Algorithms always produce a solution.We believe knowing how to apply the algorithms means one understands what arithmetic is about.Using the algorithms with understanding enhances your mathematical skills. Progress is subtle, and real. Know this about the relationship of practical procedures to the algorithms.The practical procedures implementing the standard algorithms use the algorithm's steps in a subtle way in order to be efficient. Consequently the procedures seem to be very different from the algorithms. They are not.Who can benefit from reading this text? Anybody who wants to be effective when doing Arithmetic. You may be a student who suspects he/she is being short changed by the system. You may be a school teacher, not trained in math, who is assigned to teach Arithmetic. You may be a parent, concerned about what is not taught in school, who is willing to make the effort to introduce these ideas to your children. You may be a person who wants to improve your math capability. Perhaps who is anyone who wants to know, and who wants to be able to do.
Electrical and Electronic Engineering Design Series Volume 3This university level Electrical Engineering text is for anyone who wants to know how to design products using digital logic circuits. The present text is unusually accessible to readers who want to acquire the skills of digital design. We present a thorough foundation so that you can proceed to learn how to design any digital system.This text is different from the many introductory digital design texts, because we actually design a product by implementing a design and not just talk about logic circuits used in a digital circuit. And, we ask you to work hard doing experiments so that you acquire real world experience with commercially available digital circuits. In other words this is about real learning.We start at the beginning by presenting a top down design method for digital systems.We learn about three basic tools necessary to execute any digital design - Truth Tables, Karnaugh maps, and Switching Algebra.The basic circuits of digital logic are building blocks without memory. They are standard commercially available logic circuits, which are described and their equations are presented. We only use standard products. Furthermore we show how to use mixed logic that simplifies digital design.The ASM (algorithmic state machine) chart, a fourth tool, is the preferred way to implement the algorithm representing the product you want to design. We show how to implement ASM charts, derive truth tables from them, and how to convert the truth tables to digital circuits. The ASM-chart-to-product process is straightforward.The design of complex building blocks with memory is based on elementary blocks with one bit memory also known as flip-flops. Designs are implemented by the ASM method. We show how to use ASM's to design up and up/down synchronous counters, shift registers, and linear feedback shift registers using standard products.This is followed by showing how to design memory systems with and without a cache hierarchy. We explain, and then show how to add error correction and control to the memory system. ASM charts and associated timing diagrams allow us to readily implement the designs. These are charts and timing diagrams we have not found anywhere else.A computer has two basic parts - computer control and a datapath for executing instructions. We define a user instruction set (uI), the uI address modes, and how the uI are formatted as binary words. Status bits NCZV and their condition codes that implement program control are defined. We show how each uI is represented by a list of micro instructions mI that is executed by the datapath, and how the datapath executes the mI.For large circuit designs text capture of digital designs is preferred to schematic capture. Verilog uses text capture to represent digital circuits with a hierarchy of modules that are interconnected via input and output ports. We show by example how to write modules defining digital circuits so that you can move on to multi 1,000 gate chip designs using Verilog, which is a hardware description language (HDL).The presentations are eminently clear, because they are based on the policies assume nothing and nothing is obvious.The present text's contents are topics one actually uses when engaged in digital circuit analysis and design.Eight experiments are included that give life to the text's contents, and provide the reader with real world experience with making measurements, using instruments, and learning about all kinds of parts. We consider the experiments to be significant learning activities.
This university level text is for anyone who wants to know how to analyze and, in time, design electric and then electronic circuits with transistors in the next text in our series.The text includes experiments that give life to the text's contents, and provide you with real world experience.\This text gets the EE101 job done in about 300 pages at a reasonable price.Once you have made your way through this text you will be able to do a node or mesh analysis of any linear circuit, while understanding resistors R, capacitors C, inductors L, transformers & mutual inductance M, as well as independent and dependent sources of current and voltage.Furthermore design examples and procedures begin to show you the way to what really matters - being able to design.You do not have to know anything about electricity to use this text, because the text starts with the brilliant experiments that discovered electricity, which revealed that electricity is charge q at rest and in motion. The experiments started up what has become the electronics business.Then we show that there are two basic classes of laws (1) connection constraints, which are Kirchhoffs' laws showing how currents and voltages in any circuit relate to each other and (2) voltage-current vi constraints for resistors, capacitors and inductors showing how current relates to voltage in each component.We explain capacitors C and inductors L as we derive their simple differential equation voltage-current constraints, which escalate the math required to the calculus.Transformers based on mutual inductance M are explained as we derive their equivalent circuits and frequency response.Two general analysis methods, node and mesh, are presented so that you can analyze any circuit. The node method is based on Kirchhoff's current connection constraint law, and the mesh method is based on Kirchhoff's voltage connection constraint law.We show how to use the Laplace Transform Method to find any circuit's frequency response as well as the transient response. We show how straightforward the Laplace Transform is to use. Frequency responses are important, because many circuit design goals are a specified over a range of frequencies.Transient response shows how a circuit responds to signals. Hendrick Bode invented a widely adopted method for making graphical displays of the magnitude and phase of the electric circuit frequency response equations generated by the Laplace Transform.Here is something we have yet to see in any book. The reactance chart is a graphical display of the impedance magnitude of R, L, and C components over a frequency range. The log-log scales span many decades of magnitude and frequency on one page. We show how to use this eminently practical chart for making estimates and selecting "in the ballpark" values for components appropriate to the problem at hand.We give the simulation program Spice a significant role in the text. Spice does the nitty gritty numerical calculations and data plotting for you. Spice is used in most chapters to calculate results and plot data. Spice has an important role in the modern design process.Many useful ideas and important topics are found in the Appendix.The good news is that a mathematical theory for analysis and synthesis is available. The mathematics takes several forms. There is the traditional form of written mathematics. There is Spice, a software form, using mathematics behind the scenes to evaluate circuit performance. And, there are Bode diagrams and Reactance charts that are graphical forms that convert electric circuit mathematics into comprehensible displays. We use all of these forms in the text.
If you want to know that a circuit is doing what it is supposed to do, then you need to see the voltage waveforms at each circuit node. That is why an oscilloscope is an indispensable tool that enables practical learning. Practical learning requires knowing how to use measuring instruments such as an oscilloscope, what measurements to make, how to make the measurements, and how to use the tools of the trade. This text provides that knowledge, and more, as listed in the table of contents. Acquiring this knowledge involves a significant effort and a reasonable expenditure of cash if you are proceeding on a do-it-yourself basis. Implementing practical learning requires you to spend cash on tools, a breadboard, electrical components, and test equipment. A problem with lots of so called practical learning is that it does not prepare you to move on to what we consider to be the real stuff - i.e. the theoretical basis of electronics which allows you to tackle almost any electronic design project, which we hope is your desire. If you simply want to do electronics as an interesting hobby, then this book provides a solid, non trivial, basis for that. Non trivial - that's the key phrase the essential property of this book. Assuming you move on to the real stuff the practical learning here is essentially what you would learn on your first design project job. Knowledge that is a practical extension of knowledge learned while acquiring a BS degree in electrical or computer engineering. There is no question in our mind that if you plowed your way through this book while pursuing a BSEE (or equivalent) you would not only do better in the BSEE program you would be ahead of the game while in school and at whatever job you took. In fact you would be in a better position to select a job. Theory teaches you through the experience of others. Theoretical knowledge can often lead to a deeper understand of a concept through seeing it in context of a greater whole and understanding the why behind it. Practical knowledge helps you acquire the specific techniques that become the tools of your trade. Spice programs are sprinkled throughout the text. Their purpose is to show the correct data you can compare to the data your measurements produce.
Computer Science Design SeriesProgramming with MFC & Visual C++ 6.0This text is about how to use Windows Microsoft Foundation Classes (the MFC) and the software program Visual C++ 6.0 to write programs using windows without knowing how to write the complex code that produces the windows. The MFC/6.0 combination immensely simplifies the writing of any program that uses one or more windows. Second, this is about learning how program with MFC from the bottom up so that you can produce the projects presented here. Many MFC classes and functions replace/obsolete many C, C++, and C# classes and functions. Consequently you can go directly to MFC, and save a lot of time and energy. Programming with MFC allows you to work at the top of the C hierarchy, while avoiding the limitations of C, C++, and C#. This text begins to show you how to program with MFC by using Visual C++ 6.0 to produce skeleton programs on the Visual C++ screen. Skeletons that include code producing the windows in which your programs will be presented. For example, skeletons that require adding only one code line to produce the "Hello World" program in a window. We say begin, because learning how to program in any language is an endless task. There is an unavoidable "cook book" element to using Visual C++ 6.0 that dictates how to create the skeletons, and where to enter code in the skeletons. This text is different. Instead of referring you to code on a disk (with few if any comments), and instead of offering partial explanations in the text, requiring you have to go back and forth from book to disk, and wondering what to do next, we show you how code is written that actually creates programs that run on any computer using the windows operating system. That is why only the Visual C++ 6.0 disk is required.We briefly explain most of the code lines used to produce the functions required by the projects. We expect the reader to have a basic programming capability. This text uses the Jeff Prosise text "Programming Windows with MFC", as a very useful reference.Most of the time, JP's text tells us what functions to use. The MFC library, included with Visual C++, tells us how to use them (sometimes).With Jeff Prosise's text supporting us we were able to write programs using windows, while knowing nothing about windows programming and very little about MFC and the various C languages. JP's text gave us a great start with the design process producing programs presented in one or more windows. That experience brings us to this point. We wrote this text, because even with the JP reference we learned that we had to answer many "How-do-we-do-that?" questions. Answers we needed in order to produce programs that run. Answers we share with you by presenting selected topics in the form of working projects.Many types of programs can be implemented with MFC. We focus on dot exe (name.exe) executing programs. JP's text makes very clear the fact that there is much, much more to MFC then what is presented here.As you read this text it is necessary that the Microsoft Visual C++ 6.0 program, or a later version, is up and running. We strongly recommend that JP's text is right there next to you.Emphasis: The Visual C++ program, supported by the MFC, immensely facilitates (windows) program design.
Abonner på vårt nyhetsbrev og få rabatter og inspirasjon til din neste leseopplevelse.
Ved å abonnere godtar du vår personvernerklæring.