About This Site
This site provides unpublished technical material, experimental or tutorial, that could be very useful to the right people willing to search hard enough to find it. The covered topics are expected to be intolerably obscure to everbody else. Enjoy.
Material on this site is in the process of being reconfigured for release under the Creative Commons License. That means, if you find material on this site, and give appropriate credit, you can then do anything you want with it short of violating the copyright and claiming exclusive rights. You want to copy parts of it in your Web site? You can do that. You want to use part of it in your book? You can do that too. You want to pay a fortune for this? Well sure, donations are always welcome, but that is not necessary.
Site Index

Generating Randomized Latin Squares. What is a random Latin Square anyway? A latin square is an an NxN square layout of cells, each cell containing one of N distinct symbols so that each symbol appears exactly once in each column and exactly once in each row. The are MANY ways to do it, but far more ways to fail. A generator method is called random if any Latin Square has an equal probability of being produced; otherwise, the generator is called biased. But there are lots of questions:
 How to do it? Before using the triedandalmosttrue JacobsonMatthews method, you should read this first about implementing it efficiently.
 A truly random set of Latin Squares will exhibit certain recently studied statistical properties. While testing for these can quickly weed out most algorithms that are truly bad, sometimes subtle deficiencies are revealed in even the best methods.
 A new generator method offering results comparable to the best methods, only faster.
 Free opensource software implementations are provided in Python for you
to study and test.
— better JacobsonMatthews algorithm
— JacobsonMatthews method with fast indexing
— new Method of Circuits
— Method of Circuits with fast indexing

Cold Junction Compensation. Here's a conceptual/graphical explanation of how the Cold Junction Compensation technique simplifies temperature measurement using thermocouple sensors. In addition to how to do it, there is also emphasis on the relative benefits and limitations. Originally intended for publication in "Test and Measurement World", somehow this article never got submitted — no terrible tragedy, but in case you are interested, here it is.

Building Kalman Filters: A stepbystep development of modeling for Kalman Filters, based on first principles. Kalman filtering epitomizes the approach of building a model that embodies system behavior, and then optimizing performance for that model. There is plenty out there about Kalman Filter mathematics, but precious little about how to construct a meaningful model for applying all of that theory. The keepitsimple, handson approach is intended to dispel terror, and you can look for the rigorous mathematical theory elsewhere.

Circuit Symbolic Analysis. Here is a tutorial showing how you can use the Maxima software package from gnu.org to derive formulas for complex electronic network properties, such as active filter transfer gain characteristics, ladder network transfer functions, driving point impedances, Sparameters, and so forth, using symbolic computation.

Numerical Estimation of Derivatives from Data. The Web provides lot of information about poor ways to estimate derivatives of a function from measured data. Classical methods based on exact polynomial fitting (such as the "method of central differences") have horrible noise sensitivity. Other methods with better noise response properties compromise on accuracy. Some experiments led to two new design approaches — both of which are actually old design approaches with a few important details worked out. To see exactly what that means, you will have to check the pages...
 Background information showing how highly plausible approaches for derivative estimation fail to work well in practice.
 An FFTbased design method with great noise rejection and accuracy, but requiring more computation effort than other filter designs. The manual tweaking of parameters for the design process is complicated, so your best choice is probably to use the given precalculated filter design , rather than trying to optimize further.
 Further investigation produced a kind of minmax optimal design delivering results generally suitable for most ordinary applications — twice as fast as the FFTbased designs, with pretty good noise rejection, but with small tradeoffs in accuracy. Also, see the same ideas applied for estimating the values of the second derivatives.

Practical Control Systems. Which is better, PID control or state space control? Perhaps this begs the real question. This page discusses how you can have both!

Pink Noise Synthesis. This note describes a novel approach to additive synthesis of pink noise using multiple nonwhite random generator stages. Though not the fastest known method, it is very close, with additional advantages of being simple to program, friendly to fixedpoint embedded processors, and delivering quite good spectral accuracy. This is applicable for many test signal generation and digital music applications. (Since this was posted, it is possible that better methods have since been developed, so do shop around.)

A Better Hydraulic Actuator Model Here is an alternative to the usual prematurelylinearized models typically used to represent a hydraulic actuator for control systems. This model is nonlinear, but still simple. I think this might be a significant improvement, but who will ever know, this has never been tried! (Most systems continue to use a classic model with constant, linear compression through full range up to absolute "hard limits" of travel. This widely used but implausible approximation can cause seriously unpleasant side effects.) Hey there, M.E. students of the world, are you looking for an interesting Masters project?

Turbine and Motor Alignment. How to determine a center point offset from a nominally circular element so that maximum and minimum deviations from this adjusted point are bounded as tightly as possible. This is known as "the zone circularity problem" and is one way to test whether a mechanism is manufactured within tolerance.
Thanks and a tip of the hat
... to the MathJax Consortium for providing (under the Apache Licence Version 2.0) the portable javascript engine used by some of the pages on this site to render the MathML mathematical markup.