6 Maximum likelihood estimation of an increasing nonnegative signal. We wish to estimate a scalar signal x(t), for t=1,2,…,N, which is known to be nonnegative and monotonically nondecreasing: 0≤x(1)≤x(2)≤⋯≤x(N). This occurs in many practical problems. For example, x(t) might be a measure of wear or deterioration, that can only get worse, or stay the same, as time t increases. We are also given that x(t)=0 for t≤0. We are given a noise-corrupted moving average of x, given by y(t)=∑τ=1kh(τ)x(t−τ)+v(t),t=2,…,N+1, where v(t) are independent N(0,1) random variables. (a) Show how to formulate the problem of finding the maximum likelihood estimate of x, given y, taking into account the prior assumption that x is nonnegative and monotonically nondecreasing, as a convex optimization problem. Be sure to indicate what the problem variables are, and what the problem data are. (b) We now consider a specific instance of the problem, with problem data (i.e., N,k,h, and y ) given in the file ml_estim_incr_signal_data.*. (This file contains the true signal xtrue, which of course you cannot use in creating your estimate.) Find the maximum likelihood estimate x^ml, and plot it, along with the true signal. Also find and plot the maximum likelihood estimate x^ml,free not taking into account the signal nonnegativity and monotonicity. Hints. - Matlab: The function conv (convolution) is overloaded to work with CVX. - Python: Numpy has a function convolve which performs convolution. CVXPY has conv which does the same thing for variables. - Julia: The function conv is overloaded to work with Convex.jl.