SLIDE 8 Introduction Sensor selection and FIL LQG Architecture Results analysis Conclusions and Future works Top Verilog module of LQG core
Top LQG core module
Verilog
// Linear Quadratic Gaussian (LQG) controller module module LQG ( input clk , input reset , input clk_enable , input signed [59:0] u_c_in , // sfix60_En52 input signed [64:0] i_in , // sfix65_En61 input signed [69:0] b_in , // sfix70_En69 input signed [69:0] a_in , // sfix70_En65 input [7:0] reconfig_in , // uint8
ce_out ,
signed [18:0] u_c_out , // sfix19_En4
signed [64:0] i_out , // sfix65_En61
signed [67:0] b_out , // sfix68_En71
signed [67:0] a_out); // sfix68_En66 wire signed [67:0] KBE_out1; // sfix68_En64 wire signed [73:0] KBE_out2; // sfix74_En72 wire signed [69:0] KBE_out3; // sfix70_En75 wire signed [64:0] KBE_out4; // sfix65_En61 wire signed [67:0] KBE_out5; // sfix68_En71 wire signed [67:0] KBE_out6; // sfix68_En66 wire signed [18:0] LQR_out1; // sfix19_En4 // Kalman Bucy Estimator (KBE) KBE u_KBE (. clk(clk) ,.reset(reset), .enb(clk_enable), .u_c_in(u_c_in) ,.alphai_in(i_in), .b_in(b_in), .alphaa_in(a_in) ,. reconfig_in( reconfig_in), . x_hat1_est_state_out (KBE_out1) ,. x_hat2_est_state_out (KBE_out2), . x_hat3_est_state_out (KBE_out3) ,.i_res_out(KBE_out4 ), .b_res_out(KBE_out5), .a_res_out(KBE_out6)); // Linear Quadratic Regulator (LQR) LQR u_LQR (.clk(clk) ,.reset(reset) ,.enb(clk_enable) ,.i_in(KBE_out1), .v_in(KBE_out2) ,.g_in(KBE_out3) ,.u_c_out(LQR_out1)); assign u_c_out = LQR_out1; assign i_out = KBE_out4; assign b_out = KBE_out5; assign a_out = KBE_out6; assign ce_out = clk_enable; MED’2017 3-6 July 2017 8 / 15