OpenGL Game Development
OpenGL Game Development By Example by Robert Madsen pdf
ARM Cortex M4嵌入式实战开发精解 基于STM32F4 part2
ARM Cortex M4嵌入式实战开发精解 基于STM32F4 第二部分^_^
Linux 中断表
linux 中断表,象征性的列前面几个
1 exit
2 fork
3 read
4 write
已经Hello world:
.section .data
msg .ascii "Hello World!\n"
.section .bss
.section .text
.global _start
_start:
movl #4, %eax
movl #1, %ebx
movl #msg, %ecx
movl #13, %edx
int 0x80
movl #1, %eax
movl #0, %ebx
int 0x80
Guide to Scientific Computing in C++
1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 A Brief Introduction to C++ . . . . . . . . . . . . . . . . . . .
1.1.1 C++ is “Object-Oriented” . . . . . . . . . . . . . . . .
1.1.2 Why You Should Write Scientific Programs in C++ . .
1.1.3 Why You Should Not Write Scientific Programs in C++
1.1.4 Scope of This Book . . . . . . . . . . . . . . . . . . .
1.2 A First C++ Program . . . . . . . . . . . . . . . . . . . . . .
1.3 Compiling a C++ Program . . . . . . . . . . . . . . . . . . . .
1.3.1 Integrated Development Environments . . . . . . . . .
1.3.2 Compiling at the Command Line . . . . . . . . . . . .
1.3.3 Compiler Flags . . . . . . . . . . . . . . . . . . . . . .
1.4 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Basic Numerical Variables . . . . . . . . . . . . . . . .
1.4.2 Other Numerical Variables . . . . . . . . . . . . . . .
1.4.3 Mathematical Operations on Numerical Variables . . .
1.4.4 Division of Integers . . . . . . . . . . . . . . . . . . .
1.4.5 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.6 ASCII Characters . . . . . . . . . . . . . . . . . . . .
1.4.7 Boolean Variables . . . . . . . . . . . . . . . . . . . .
1.4.8 Strings . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Simple Input and Output . . . . . . . . . . . . . . . . . . . . .
1.5.1 Basic Console Output . . . . . . . . . . . . . . . . . .
1.5.2 Keyboard Input . . . . . . . . . . . . . . . . . . . . .
1.6 The assert Statement . . . . . . . . . . . . . . . . . . . . .
1.7 Tips: Debugging Code . . . . . . . . . . . . . . . . . . . . . .
1.8 Exercises . . . . . . . . . . . . . . . . . . . . . .
2 Flow of Control . . . . . . . . . . . . . . . . . . . . .
2.1 The if Statement . . . . . . . . . . . . . . . . .
2.1.1 A Single if Statement . . . . . . . . . .
2.1.2 Example: Code for a Single if Statement
2.1.3 if–else Statements . . . . . . . . . . .
2.1.4 Multiple if Statements . . . . . . . . . .
2.1.5 Nested if Statements . . . . . .
2.1.6 Boolean Variables . . . . . . . . . . . . . . . . . . . .
2.2 Logical and Relational Operators . . . . . . . . . . . . . . . .
2.3 The while Statement . . . . . . . . . . . . . . . . . . . . . .
2.4 Loops Using the for Statement . . . . . . . . . . . . . . . . .
2.4.1 Example: Calculating the Scalar Product of Two Vectors
2.5 The switch Statement . . . . . . . . . . . . . . . . . . . . .
2.6 Tips: Loops and Branches . . . . . . . . . . . . . . . . . . . .
2.6.1 Tip 1: A Common Novice Coding Error . . . . . . . .
2.6.2 Tip 2: Counting from Zero . . . . . . . . . . . . . . . .
2.6.3 Tip 3: Equality Versus Assignment . . . . . . . . . . .
2.6.4 Tip 4: Never Ending while Loops . . . . . . . . . . .
2.6.5 Tip 5: Comparing Two Floating Point Numbers . . . .
2.7 Exercises . . . . . . . . . . . . . . . . . . . .
3 File Input and Output . . . . . . . . . . . . .
3.1 Redirecting Console Output to File . . . .
3.2 Writing to File . . . . . . . . . . . . . . .
3.2.1 Setting the Precision of the Output
3.3 Reading from File . . . . . . . . . . . . .
3.4 Reading from the Command Line . . . . .
3.5 Tips: Controlling Output Format . . . . .
3.6 Exercises . . . . . . . . . .
4 Pointers . . . . . . . . . . . . . . . . . . . . .
4.1 Pointers and the Computer’s Memory . . .
4.1.1 Addresses . . . . . . . . . . . . .
4.1.2 Pointer Variables . . . . . . . . . .
4.1.3 Example Use of Pointers . . . . .
4.1.4 Warnings on the Use of Pointers . .
4.2 Dynamic Allocation of Memory for Arrays
4.2.1 Vectors . . . . . . . . . . . . . . .
4.2.2 Matrices . . . . . . . . . . . . . .
4.2.3 Irregularly Sized Matrices . . . . .
4.3 Tips: Pointers . . . . . . . . . . . . . . .
4.3.1 Tip 1: Pointer Aliasing . . . . . . .
4.3.2 Tip 2: Safe Dynamic Allocation . .
4.3.3 Tip 3: Every new Has a delete .
4.4 Exercises . . . . . . . . . . .
5 Blocks, Functions and Reference Variables . . . . . . .
5.1 Blocks . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Functions . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Simple Functions . . . . . . . . . . . . . .
5.2.2 Returning Pointer Variables from a Function
5.2.3 Use of Pointers as Function Arguments . . .
5.2.4 Sending Arrays to Functions . .
Example: A Function to Calculate the Scalar Product of
Two Vectors . . . . . . . . . . . . . . . . . . . . . . .
Reference Variables . . . . . . . . . . . . . . . . . . . . . . .
Default Values for Function Arguments . . . . . . . . . . . . .
Function Overloading . . . . . . . . . . . . . . . . . . . . . .
Declaring Functions Without Prototypes . . . . . . . . . . . .
Function Pointers . . . . . . . . . . . . . . . . . . . . . . . .
Recursive Functions . . . . . . . . . . . . . . . . . . . . . . .
Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tips: Code Documentation . . . . . . . . . . . . . . . . . . .
Exercises . . . . . . . . . . . . . . . . . . . . . . An Introduction to Classes . . . . . . . . . . . . . . . . . . . . . . .
6.1 The Raison d’Être for Classes . . . . . . . . . . . . . . . . . . .
6.1.1 Problems That May Arise When Using Modules . . . . .
6.1.2 Abstraction, Encapsulation and Modularity Properties of
Classes . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 A First Example Simple Class: A Class of Books . . . . . . . . .
6.2.1 Basic Features of Classes . . . . . . . . . . . . . . . . .
6.2.2 Header Files . . . . . . . . . . . . . . . . . . . . . . . .
6.2.3 Setting and Accessing Variables . . . . . . . . . . . . . .
6.2.4 Compiling Multiple Files . . . . . . . . . . . . . . . . .
6.2.5 Access Privileges . . . . . . . . . . . . . . . . . . . . .
6.2.6 Including Function Implementations in Header Files . . .
6.2.7 Constructors and Destructors . . . . . . . . . . . . . . .
6.2.8 Pointers to Classes . . . . . . . . . . . . . . . . . . . . .
6.3 The friend Keyword . . . . . . . . . . . . . . . . . . . . . .
6.4 A Second Example Class: A Class of Complex Numbers . . . . .
6.4.1 Operator Overloading . . . . . . . . . . . . . . . . . . .
6.4.2 The Class of Complex Numbers . . . . . . . . . . . . . .
6.5 Some Additional Remarks on Operator Overloading . . . . . . .
6.6 Tips: Coding to a Standard . . . . . . . . . . . . . . . . . . . . .
6.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 Inheritance and Derived Classes . . . . . . . . . . . . . . . . .
7.1 Inheritance, Extensibility and Polymorphism . . . . . . . . .
7.2 Example: A Class of E-books Derived from a Class of Books
7.3 Access Privileges for Derived Classes . . . . . . . . . . . . .
7.4 Classes Derived from Derived Classes . . . . . . . . . . . .
7.5 Run-Time Polymorphism . . . . . . . . . . . . . . . . . . .
7.6 The Abstract Class Pattern . . . . . . . . . . . . . . . . . . .
7.7 Tips: Using a Debugger . . . . . . . . . . . . . . . . . . . .
7.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.1 Templates to Control Dimensions and Verify Sizes . . . . . . . .
8.2 Templates for Polymorphism . . . . . . . . . .
8.3 A Brief Survey of the Standard Template Library
8.3.1 Vectors . . . . . . . . . . . . . . . . . .
8.3.2 Sets . . . . . . . . . . . . . . . . . . . .
8.4 Tips: Template Compilation . . . . . . . . . . .
8.5 Exercises . . . . . . . . . . . . . . . . . . . . .
Errors and Exceptions . . . . . . . . . . . . . . . . . . . . . . . .
9.1 Preconditions . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.1 Example: Two Implementations of a Graphics Function
9.2 Three Levels of Errors . . . . . . . . . . . . . . . . . . . . . .
9.3 Introducing the Exception . . . . . . . . . . . . . . . . . . . .
9.4 Using Exceptions . . . . . . . . . . . . . . . . . . . . . . . .
9.5 Tips: Test-Driven Development . . . . . . . . . . . . . . . . .
9.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . .
10 Developing Classes for Linear Algebra Calculations
10.1 Requirements of the Linear Algebra Classes . . .
10.2 Constructors and Destructors . . . . . . . . . . .
10.2.1 The Default Constructor . . . . . . . . . .
10.2.2 The Copy Constructor . . . . . . . . . . .
10.2.3 A Specialised Constructor . . . . . . . . .
10.2.4 Destructor . . . . . . . . . . . . . . . . .
10.3 Accessing Private Class Members . . . . . . . . .
10.3.1 Accessing the Size of a Vector . . . . . . .
10.3.2 Overloading the Square Bracket Operator .
10.3.3 Read-Only Access to Vector Entries . . . .
10.3.4 Overloading the Round Bracket Operator .
10.4 Operator Overloading for Vector Operations . . .
10.4.1 The Assignment Operator . . . . . . . . .
10.4.2 Unary Operators . . . . . . . . . . . . . .
10.4.3 Binary Operators . . . . . . . . . . . . . .
10.5 Functions . . . . . . . . . . . . . . . . . . . . . .
10.5.1 Members Versus Friends . . . . . . . . . .
10.6 Tips: Memory Debugging Tools . . . . . . . . . .
10.7 Exercises . . . . . . . . . . . . . . . .
11 An Introduction to Parallel Programming Using MPI .
11.1 Distributed Memory Architectures . . . . . . . . .
11.2 Installing MPI . . . . . . . . . . . . . . . . . . . .
11.3 A First Program Using MPI . . . . . . . . . . . . .
11.3.1 Essential MPI Functions . . . . . . . . . . .
11.3.2 Compiling and Running MPI Code . . . . .
11.4 Basic MPI Communication . . . . . . . . . . . . .
11.4.1 Point-to-Point Communication . . . . . . .
11.4.2 Collective Communication . . . .
11.5 Example MPI Applications . . . . . . . . . . .
11.5.1 Summation of Series . . . . . . . . . . .
11.5.2 Parallel Linear Algebra . . . . . . . . .
11.6 Tips: Debugging a Parallel Program . . . . . . .
11.6.1 Tip 1: Make an Abstract Program . . . .
11.6.2 Tip 2: Datatype Mismatch . . . . . . . .
11.6.3 Tip 3: Intermittent Deadlock . . . . . . .
11.6.4 Tip 4: Almost Collective Communication
11.7 Exercises . . . . . . . . . . . . . . .
12 Designing Object-Oriented Numerical Libraries . . . . . . . . . . .
12.1 Developing the Library for Ordinary Differential Equations . . . .
12.1.1 Model Problems . . . . . . . . . . . . . . . . . . . . . . .
12.1.2 Finite Difference Approximation to Derivatives . . . . . .
12.1.3 Application of Finite Difference Methods to Boundary
Value Problems . . . . . . . . . . . . . . . . . . . . . . .
12.1.4 Concluding Remarks on Boundary Value Problems in One
Dimension . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2 Designing a Library for Solving Boundary Value Problems . . . .
12.2.1 The Class SecondOrderOde . . . . . . . . . . . . . . .
12.2.2 The Class BoundaryConditions . . . . . . . . . . . .
12.2.3 The Class FiniteDifferenceGrid . . . . . . . . . .
12.2.4 The Class BvpOde . . . . . . . . . . . . . . . . . . . . .
12.2.5 Using the Class BvpOde . . . . . . . . . . . . . . . . . .
12.3 Extending the Library to Two Dimensions . . . . . . . . . . . . .
12.3.1 Model Problem for Two Dimensions . . . . . . . . . . . .
12.3.2 Finite Difference Methods for Boundary Value Problems
in Two Dimensions . . . . . . . . . . . . . . . . . . . . .
12.3.3 Setting Up the Linear System for the Model Problem . . .
12.3.4 Developing the Classes Required . . . . . . . . . . . . . .
12.4 Tips: Using Well-Written Libraries . . . . . . . . . . . . . . . . .
12.5 Exercises . . . . . . . . . . . . . . . . . . . . . . .
Appendix A Linear Algebra . . . . . . . . . . . . . . . . .
A.1 Vectors and Matrices . . . . . . . . . . . . . . . . .
A.1.1 Operations Between Vectors and Matrices .
A.1.2 The Scalar Product of Two Vectors . . . . .
A.1.3 The Determinant and the Inverse of a Matrix
A.1.4 Eigenvalues and Eigenvectors of a Matrix . .
A.1.5 Vector and Matrix Norms . . . . . . . . . .
A.2 Systems of Linear Equations . . . . . . . . . . . .
A.2.1 Gaussian Elimination . . . . . . . . . . . .
A.2.2 The Thomas Algorithm . . . . . . . . . . .
A.2.3 The Conjugate Gradient Method . . . . . . 213
Appendix B Other Programming Constructs You Might Meet .
B.1 C Style Output . . . . . . . . . . . . . . . . . . . . . . .
B.2 C Style Dynamic Memory Allocation . . . . . . . . . . .
B.3 Ternary ?: Operator . . . . . . . . . . . . . . . . . . . .
B.4 Using Namespace . . . . . . . . . . . . . . . . . . . . .
B.5 Structures . . . . . . . . . . . . . . . . . . . . . . . . .
B.6 Multiple Inheritance . . . . . . . . . . . . . . . . . . . .
B.7 Class Initialisers . . . . . . . . . . . . . . . .
Appendix C Solutions to Exercises . . . . . . . . . . . . . . . . . . . . . 231
C.1 Matrix and Linear System Classes . . . . . . . . . . . . . . . . . . 231
C.2 ODE Solver Library . . . . . . . . . . . . . . . . . . . . . . . . . 240
Further Reading . . . . . . . . . . . . . . . . . . .
Mathematical Methods and Linear Algebra
C++ Programming . . . . . . . . . . . . .
The Message-Passing Interface (MPI) . . .
Mastering Object-oriented Python 2014.pdf
python 的面向对象教程。
This book will introduce you to more advanced features of the Python programming language. The focus is on creating the highest quality Python programs possible. This often means creating programs that have the highest performance or are the most maintainable. This means exploring design alternatives and determining which design offers the best performance while still being a good fit with the problem that is being solved.
Most of the book will look at a number of alternatives for a given design. Some will have better performance. Some will seem simpler or be a better solution for the problem domain. It's essential to locate the best algorithms and optimal data structures to create the most value with the least computer processing. Time is money, and programs that save time will create more value for their users.
Python makes a number of internal features directly available to our application programs. This means that our programs can be very tightly integrated with existing Python features. We can leverage numerous Python features by ensuring that our OO designs integrate well.
We'll often focus on a specific problem and examine several variant solutions to the problem. As we look at different algorithms and data structures, we'll see different memory and performance alternatives. It's an important OO design skill to work through alternate solutions in order to properly optimize the final application.
One of the more important themes of this book is that there's no single best
approach to any problem. There are a number of alternative approaches with different attributes.
Mayavi 参考
Mayavi 的参考手册,适合初学者和expert。
User guide: full table of contents
An overview of Mayavi
Introduction
What is Mayavi2?
Technical details
Using Mayavi as an application, or a library?
Scenes, data sources, and visualization modules: the pipeline model
Loading data into Mayavi
Installation
Installing ready-made distributions
Requirements for manual installs
Doing it yourself: Python packages: Eggs
Installing with easy_install
Step-by-step instructions to install with eggs under Windows
Under Mac OSX Snow Leopard
The bleeding edge: Git
Testing your installation
Troubleshooting
Using the Mayavi application
Tutorial examples to learn Mayavi
Parametric surfaces: a simple introduction to visualization
Loading scalar data: the heart.vtk example
Visualizing rich datasets: the fire_ug.vtu example
Using Mayavi with scipy
Exploring a vector field
General layout of UI
Visualizing data
Modules
Filters
Interaction with the scene
Mouse interaction
Keyboard interaction
From interactive usage to scripting
The embedded Python interpreter
Recording Mayavi actions to a script
Command line arguments
mlab: Python scripting for 3D plotting
A demo
3D Plotting functions for numpy arrays
0D and 1D data
2D data
3D data
Changing the looks of the visual objects created
Adding color or size variations
Changing the scale and position of objects
Changing object properties interactively
Figures, legends, camera and decorations
Handling several figures
Figure decorations
Moving the camera
Running mlab scripts
Using mlab interactively
Using together with Matplotlib’s pylab
In scripts
Animating the data
Assembling pipelines with mlab
Data sources
Modules and filters
Case studies of some visualizations
Visualizing volumetric scalar data
Visualizing a vector field
Advanced use of Mayavi
Organisation of Mayavi visualizations: the pipeline
Anatomy of a Mayavi pipeline
The link between different Mayavi entry points
A pipeline example examined
Data representation in Mayavi
Introduction to TVTK datasets
The flow of data
Retrieving the data from Mayavi pipelines
Dissection of the different TVTK datasets
Inserting TVTK datasets in the Mayavi pipeline
Objects populating the Mayavi pipeline
Scene
Source
Filter
ModuleManager: Colors and legends node
Module
Engine
Base class: PipelineBase
Class hierarchy
Advanced Scripting with Mayavi
Design Overview: Mayavi as a visualization framework
Scripting the mayavi2 application
Using the Mayavi envisage plugins
Building applications using Mayavi
Custom interactive dialogs
Embedding a Mayavi scene in a Traits dialog
A scene, with mlab embedded
Making the visualization live
Integrating in a WxPython application
Integrating in a Qt application
Tips and Tricks
Off screen rendering
Avoiding the rendering window
Platform Summary
Rendering using the virtual framebuffer
Using VTK with Mesa for pure software rendering
Extending Mayavi with customizations
Customizing Mayavi2
Scripting Mayavi without using Envisage
Computing in a thread
Polling a file and auto-updating Mayavi
Serving Mayavi on the network
TCP server: the serve_tcp function
UDP server: the serve_udp function
Animating a visualization
Animating a series of images
Making movies from a stack of images
Scripting from the command line
Texture mapping actors
Shifting data and plotting
Using the UserDefined filter
Sharing the same data between scenes
Using mlab
Using the core Mayavi API
Changing the interaction with a scene
Accelerating a Mayavi script
Miscellaneous
Citing Mayavi
Getting help
Tests for Mayavi
Helping out
Development quick start
Improving the documentation
Example gallery
Mlab functions gallery
Advanced mlab examples
Interactive examples
Advanced visualization examples
Data interaction examples
Misc examples
MLab reference
Plotting functions
barchart
contour3d
contour_surf
flow
imshow
mesh
plot3d
points3d
quiver3d
surf
triangular_mesh
Figure handling functions
clf
close
draw
figure
gcf
savefig
screenshot
sync_camera
Figure decoration functions
colorbar
scalarbar
vectorbar
xlabel
ylabel
zlabel
Camera handling functions
move
pitch
roll
view
yaw
Other functions
animate
axes
get_engine
orientation_axes
outline
set_engine
show
show_engine
show_pipeline
start_recording
stop_recording
text
text3d
title
Mlab pipeline-control reference
Sources
Tools
Data
Modules and Filters
Mayavi API reference
Pipeline base objects
Scene
Source
Filter
ModuleManager
Module
PipelineBase
Engine
Main view and UI objects
Scene UIs: DecoratedScene and MayaviScene
SceneEditor
MlabSceneModel
EngineView and EngineRichView
Known bugs and issues
Changelog
Mayavi 3.4.0 (Oct 15, 2010)
Enhancements
Fixes
Mayavi 3.3.2 (May 25, 2010)
Enhancements
Fixes
Mayavi 3.3.1 (Feb 24, 2010)
Enhancements
Fixes
Mayavi 3.3.0 (July 15, 2009)
Enhancements
Fixes
Mayavi 3.2.0 (March 23, 2009)
Mayavi 3.1.0
Mayavi 3.0.3
Mayavi 3.0.1 and 3.0.2
Mayavi 3.0.0
A.Guide.to.MATLAB.for.Beginners.and.Experienced.Users.pdf
matlab 入门教程,但可以使你成为高手。
Contents at a Glance
Preface
1 Getting Started 1
2 MATLAB Basics 8
3 Interacting with MATLAB 31
Practice Set A: Algebra and Arithmetic 48
4 Beyond the Basics 50
5 MATLAB Graphics 67
Practice Set B: Calculus, Graphics, and Linear Algebra 86
6 M-Books 91
7 MATLAB Programming 101
8 SIMULINK and GUIs 121
9 Applications 136
Practice Set C: Developing Your MATLAB Skills 204
10 MATLAB and the Internet 214
11 Troubleshooting 218
Solutions to the Practice Sets 235
Glossary 299
Index
Real Time DSP .pdf
Preface
Real-time digital signal processing (DSP) using general-purpose DSP processors is very
challenging work in today's engineering fields. It promises an effective way to design,
experiment, and implement a variety of signal processing algorithms for real-world
applications. With DSP penetrating into various applications, the demand for high-
performance digital signal processors has expanded rapidly in recent years. Many
industrial companies are currently engaged in real-time DSP research and development.
It becomes increasingly important for today's students and practicing engineers to
master not only the theory of DSP, but equally important, the skill of real-time DSP
system design and implementation techniques.
This book offers readers a hands-on approach to understanding real-time DSP
principles, system design and implementation considerations, real-world applications,
as well as many DSP experiments using MATLAB, C/C++, and the TMS320C55x. This
is a practical book about DSP and using digital signal processors for DSP applications.
This book is intended as a text for senior/graduate level college students with emphasis
on real-time DSP implementations and applications. This book can also serve as a
desktop reference for practicing engineer and embedded system programmer to learn
DSP concepts and to develop real-time DSP applications at work. We use a practical
approach that avoids a lot of theoretical derivations. Many useful DSP textbooks with
solid mathematical proofs are listed at the end of each chapter. To efficiently develop a
DSP system, the reader must understand DSP algorithms as well as basic DSP chip
architecture and programming. It is helpful to have several manuals and application
notes on the TMS320C55x from Texas Instruments at http://www.ti.com.
The DSP processor we will use as an example in this book is the TMS320C55x, the
newest 16-bit fixed-point DSP processor from Texas Instruments. To effectively illustrate
real-time DSP concepts and applications, MATLAB will be introduced for analysis and
filter design, C will be used for implementing DSP algorithms, and Code Composer
Studio (CCS) of the TMS320C55x are integrated into lab experiments, projects, and
applications. To efficiently utilize the advanced DSP architecture for fast software
development and maintenance, the mixing of C and assembly programs are emphasized.
Chapter 1 reviews the fundamentals of real-time DSP functional blocks, DSP hard-
ware options, fixed- and floating-point DSP devices, real-time constraints, algorithm
development, selection of DSP chips, and software development. In Chapter 2, we
introduce the architecture and assembly programming of the TMS320C55x. Chapter
3 presents some fundamental DSP concepts in time domain and practical considerations
for the implementation of digital filters and algorithms on DSP hardware. Readers who
are familiar with these DSP fundamentals should be able to skip through some of these
sections. However, most notations used throughout the book will be defined in this
chapter. In Chapter 4, the Fourier series, the Fourier transform, the z-transform, and
the discrete Fourier transforms are introduced. Frequency analysis is extremely helpfulxvi
PREFACE
in understanding the characteristics of both signals and systems. Chapter 5 is focused on
the design, implementation, and application of FIR filters; digital IIR filters are covered
in Chapter 6, and adaptive filters are presented in Chapter 8. The development,
implementation, and application of FFT algorithms are introduced in Chapter 7. In
Chapter 9, we introduce some selected DSP applications in communications that have
played an important role in the realization of the systems.
As with any book attempting to capture the state of the art at a given time, there will
necessarily be omissions that are necessitated by the rapidly evolving developments in
this dynamic field of exciting practical interest. We hope, at least, that this book will
serve as a guide for what has already come and as an inspiration for what will follow. To
aid teaching of the course a Solution Manual that presents detailed solutions to most of
the problems in the book is available from the publisher.
OpenGL Superbible 6th 源代码code
opengl superbible 的源代码,好不容易找到的,终于能进行下去了。那个sb6.h