Introduction to the LQR Method

By bptsj | Oct 29, 2023 | 0 Comments

  This tutorial introduces the concept of Time-varying Optimal Control and introduces the Linear Quadratic Regulator (LQR). The basic approach is to poise the control problem in an optimization framework. The motivation is that optimization methods provide a convenient method to select the placement of closed loop poles using intuitive trade-offs between state error and […]

Impedance Matching an RF source to a Complex Load

By bptsj | Apr 2, 2023 | 0 Comments

I’m deviating from my normal topics and am showing a design note that derives the method for matching the impedance of an RF source to a complex load. I give an example using a Smith chart and LTspice to show the results. The link to the Smith chart program is here:   http://ae6ty.com/Smith_Charts.html       […]

FPGA project #3 Basys 3 Uart and Fifo

By bptsj | Mar 15, 2023 | 0 Comments

This tutorial shows the use of an FPGA development board (Diligent Basys 3) to implement a pseudo-random generator and display the results on the 7-segment display. The additions in this project were to add a UART, Fifo, and a couple of FSM RTL modules to display the output on a Putty terminal. This project used […]

FPGA project #2 Basys 3 LFSR Block Design

By bptsj | Feb 19, 2023 | 0 Comments

This tutorial shows the use of an FPGA development board (Diligent Basys 3) to implement a pseudo-random generator and display the results on the 7-segment display. The approach used in this project shows the use and advantages of using Vivado Block Design. The end result is the same but the work-flow used was different than […]

FPGA project #1 Basys 3 LFSR

By bptsj | Feb 18, 2023 | 0 Comments

This tutorial shows the use of an FPGA development board (Diligent Basys 3) to implement a pseudo-random generator and display the results on the 7-segment display. The approach used in this project is primarily RTL with the addition of an MMCM clock IP RTL module. Links to examples in a Bitbucket repository are here: GitHub […]

Derivation of a Simulation Model for FOC BLDC PMSM motor control Part 1 & 2 of 3

By bptsj | Aug 15, 2022 | 0 Comments

Revised 8/28/2022 In my eventual goal of creating a simulation model of a BLDC PMSM motor using Field Oriented Control this is Part I & II. In Part II I add the overall system block diagram, discuss how Space Vector Modulation (SVM) works and walk through the Clarke, Park and Reverse Park Transforms. This document […]

Nonlinear Feedback Control of MEMS Mirror

By bptsj | Jun 27, 2022 | 0 Comments

This blog describes a novel method of nonlinear feedback control of a MEMS mirror. The idea presented here is covered in my patent that expires the end of 2022, link. The technique employs a method of input linearization. Introduction The equation of motion of a 1D Micro-electro-mechanical (MEMS) mirror is derived from first principles. The […]

Part II: System Identification Applied to a BLDC Motor

By bptsj | Jun 25, 2022 | 0 Comments

This blog is Part II of a two part series showing how to implelement system identification on an embedded MCU. Part I is here. The specific example shown here identifies the velocity loop of a BLDC motor control that uses Field Oriented Control (FOC). The MCU used is a STM32G431 Cortex. Block Diagram A block […]

Introducing System Identification Applied to a BLDC Motor

By bptsj | Jun 25, 2022 | 0 Comments

This blog introduces the concept of System Identification and does so as applied to a BLDC Motor. One purpose of identification is to identify the transfer function dynamics of the system. The systems can have various amounts of information known; ranging from full information (White Box), partial information (Grey Box) or no information (Black Box). […]

How to Generate a Pseudo-Random-Binary-Sequence in C and Python

By bptsj | Aug 24, 2021 | 0 Comments

This blog shows C code and Python code for a pseudo random binary sequence (PRBS). The applications for a PRBS will be discussed in later blogs. A good general reference for a PRBS is wikipedia. In hardware, FPGA  or software a PRBS can be implemented as a linear feedback shift register (LFSR). This is shown […]

Scroll to Top