A hardware scalable, software configurable LQG controller using a sequential discrete Kalman filter

dc.contributor.advisor Phillip H. Jones
dc.contributor.advisor Kristin Y. Rozier
dc.contributor.author Cauwels, Matthew
dc.contributor.department Electrical and Computer Engineering
dc.date 2020-02-12T22:53:40.000
dc.date.accessioned 2020-06-30T03:19:58Z
dc.date.available 2020-06-30T03:19:58Z
dc.date.copyright Sun Dec 01 00:00:00 UTC 2019
dc.date.embargo 2001-01-01
dc.date.issued 2019-01-01
dc.description.abstract <p>This thesis details the motivation, architecture, and analysis of a hardware scalable, software programmable Linear Quadratic Gaussian (LQG) controller using a Sequential Discrete Kalman Filter (SDKF) state estimator. While LQG controllers have been around since the 1980s, these controllers have currently not been widely adopted in industry since this algorithm involves a non-trivial matrix inversion. While many accelerated LQG & DKF architectures have been published, these architectures target specific platforms or applications; switching these architecture's application is a non-trivial and time consuming task. Thus, I designed an open-source hardware scalable, software configurable LQG controller, with the intent of others to use this design as an IP core, which will help ease the transition from abstract control theory to practical implementation. The design allows for a user to scale the accelerated LQG hardware architecture while software configurable registers allow the user to configure their controllers without re-synthesizing the hardware design, thus allowing for them to tune their controller on-the-fly. This controller was designed in Xilinx's Vivado 2018.2 design suite, targeting Xilinx ZYNQ series FPGAs, which contain an embedded dual-core ARM Cortex-A9 processor in addition to the traditional FPGA fabric. To compare the performance of this accelerated design, a software implementation of the algorithm was built and tested on three different processor platforms: an embedded ARM Cortex-A9 processor, an AMD FX-9800 series processor, and an Intel i7-4810MQ series processor. For lower dimensional matrices (n = 4), there were modest performance improvements, ranging from 0.79-14.5x improvement for the AMD \& ARM processor, respectively. For larger dimensional matrices (n = 128), the HW/SW LQG achieved a 73x, 102x, and 1390x performance improvement over the Intel, AMD, and ARM processors, respectively. In addition to the software comparison, the analysis is concluded with a comparison of the proposed architecture's size and performance characteristics versus several of the most relevant and recent comparable architectures.</p>
dc.format.mimetype application/pdf
dc.identifier archive/lib.dr.iastate.edu/etd/17655/
dc.identifier.articleid 8662
dc.identifier.contextkey 16524526
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath etd/17655
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/31838
dc.language.iso en
dc.source.bitstream archive/lib.dr.iastate.edu/etd/17655/Cauwels_iastate_0097M_18363.pdf|||Fri Jan 14 21:26:52 UTC 2022
dc.subject.disciplines Computer Engineering
dc.subject.keywords FPGA
dc.subject.keywords HW/SW Codesign
dc.subject.keywords LQG
dc.subject.keywords SDKF
dc.title A hardware scalable, software configurable LQG controller using a sequential discrete Kalman filter
dc.type article
dc.type.genre thesis
dspace.entity.type Publication
relation.isOrgUnitOfPublication a75a044c-d11e-44cd-af4f-dab1d83339ff
thesis.degree.discipline Computer Engineering
thesis.degree.level thesis
thesis.degree.name Master of Science
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Cauwels_iastate_0097M_18363.pdf
Size:
2.17 MB
Format:
Adobe Portable Document Format
Description: