Engineering

AI+Building Energy Modeling: IBPSA SimBuild 2024 Notes

Sunday, Jun 2, 2024 | 7 min read
Categories: Engineering,
Tags: LLM, Buildings, Machine Learning,
Notes from attending the SimBuild conference, especially sessions on data science and modeling.

The physics of multicopter drones [In Progress]

Saturday, Jan 27, 2024 | 13 min read
Categories: Engineering,
Tags: UAV, Simulation,
[In Progress] Equations governing flight of a UAV

Modern control: Solutions & state transition matrices

Monday, Sep 24, 2018 | 3 min read
Categories: Engineering,
Tags: Matlab, Control Systems,
The state equation for a linear time-invariant system: $$ x’(t) = A x(t) + B u(t) $$ Can be solved for $x(t)$. We collect all terms in $x$: $$ x’(t) - A x(t) = B u(t) $$ Multiply equation by $e^{-At}$ $$ x’(t) e^{-At} - A x(t) e^{-At} = B u(t) e^{-At} $$ Using product rule $d(f;g) = f;dg + g;df$, where: $$ \begin{align*} df = - A e^{-At} \rightarrow & f = e^{-At} \\ dg = x'(t) \rightarrow & g = x(t) \\ \\ \therefore x'(t) e^{-At} - A x(t) e^{-At} &= d (e^{-At} x(t)) \end{align*} $$ To give:

Modern control: State space equations

Monday, Sep 24, 2018 | 4 min read
Categories: Engineering,
Tags: Matlab, Control Systems,
In modern control approaches, systems are analyzed in time domain as a set of differential equations. Higher order differential equations are decomposed into sets of first order equations of state variables that represent the system internally. This produces three sets of variables: Input variables are stimuli given to the system. Denoted by $u$. Output variables are the result of the current system state and inputs. Denoted by $y$. State variables represent the internal state of a system which may be obscured in the output variables.

Classical control: Transfer functions

Friday, Sep 21, 2018 | 4 min read
Categories: Engineering,
Tags: Matlab, Control Systems,
A transfer function relates the output of a system to its input when it is represented in the Laplace domain. An assumption is made that initial steady-state response is 0. If $Y(s)$ is the output of a system, $X(s)$ is the input, then the transfer function is: $$ H(s) = \frac{Y(s)}{X(s)} $$ Example - A Car A car as a system: The input is the acceleration. The output is the total distance travelled.

Classical control: Transforms

Monday, Sep 10, 2018 | 5 min read
Categories: Engineering,
Tags: Control Systems,
Classical control methods simplify handling of a complex system by representing it in a different domain. The equations governing system dynamics are transformed into a different set of variables. A for a function $f(t)$ in the $t$ domain, an oft used transformation is of the form: $$ \mathcal{T}(f(t)) = F(s) = \int_{Domain} f(t) \cdot g(s, t); dt $$ Mathematically, the integral removes the $t$ variable and only leaves $s$, thus converting from the $t$ domain to the $s$ domain.

Control Systems: Overview

Monday, Sep 10, 2018 | 4 min read
Categories: Engineering,
Tags: Matlab,
A primer for classical control theory.

A case study in choosing algorithms

Sunday, Aug 14, 2016 | 3 min read
Categories: Engineering, Physics,
Tags: Algorithms,

This past year, I have been crunching data from dark matter simulations. Data size can get pretty large when it comes to scientific computing. As I write this post, I have a script running on 3.8 TB (that’s right – 3,700 gigabytes) of cosmic particles. At these levels one starts thinking about parallelizing computations. And therein lay my dilemma and a soon to be learned lesson.

Talking With Satellites

Wednesday, Oct 14, 2015 | 1 min read
Categories: Engineering, Personal,
This year I am leading a senior design team in developing a software defined radio that can talk with a satellite that Vanderbilt just launched. Compared to a normal radio, an SDR has most of the signal processing functions implemented virtually. This means that it can change its operation on the fly. An interesting application of SDRs is cognitive radio: that is, radios communicating with other radios in their vicinity and adjusting their frequencies to maximize their use of the bandwidth.