1. Given the desired signal autocorrelation and the autocorrelation of the noise , find the Wiener filter Hw(s) that minimizes MSE. The random signals d and v are uncorrelated and WSS. Assuming Hw(s) is of the form , find k, z and p and select the nearest values below:
a. k= 1, z= 0 and p= 3
b. k= 0.7351, z= 1 and p= -2
c. k= 0.7351, z= -1 and p= -1.2649
d. k= 1.4702, z= -2 and p= -1.2649
e. k= 1.4702, z= -1 and p= -2.5298
Answer: _____
2. The continuous-time autocorrelation of a desired signal is . The PSD of the white noise is . Design a discrete Wiener filter, Hw(z) where = 0.02. Assuming that Hw(z) has the form , select the set below that is nearsest to your calculated values:
a. k = 1, z1 = 0.5 , p1 = 0.7
b. k = 0.5974, z1 = 0 , p1 = 0.244173
c. k = 0.5974, z1 = 0 , p1 = 0.60653
Answer: _____
3. The continuous-time autocorrelation of a desired signal is . The PSD of the white noise is . Design a discrete FIR Wiener filter where = 0.02. Select the number of taps based on the assumption that rd(m) values below 4.9% of rd(0) can be ignored. Assuming that FIR equation for estimating the desired signal, d, is of the form , enter the hw values in the space provided below:
Answer:
4. A vehicle speedometer and a GPS receiver in the vehicle both provide an estimate of the speed of the vehicle. The desire is to implement a discrete complimentary Wiener filter to provide a better estimate of the speed of the vehicle in mph. = 0.02 seconds. The continuous-time autocorrelation of the GPS noise is and the continuous-time autocorrelation of the speedometer noise is . Sx(z) is the PSD of the filter input signal. Enter in the space below, the zeros and poles of Sx(z) (Hint-v1 should be selected as the noise with the smaller bandwidth. is related to the bandwidth):
Pre-fill Answer:
% The GPS noise is selected to be v1 <br>
% and the speedometer noise = v2. <br>
% (vgps-vvspdm) is the input to Hw(z)<br>
% and the output of Hw(z) is an estimate of vgps.<br>
dt=0.02;<br>
cvgps=exp(-30*dt);<br>
vgps_var=4;<br>
vgps_std=sqrt(vgps_var);<br>
cvspdm=exp(-120*dt);<br>
vspdm_var=4;<br>
vspdm_std=sqrt(vspdm_var);<br>
syms Z <br>
kcvgps=sqrt(1-cvgps^2);<br>
Gvgpsz=(vgps_std*kcvgps)/(1-cvgps*Z^-1);<br>
Gvgpsz_1=(vgps_std*kcvgps)/(1-cvgps*Z);<br>
Svgpsz=Gvgpsz*Gvgpsz_1;<br>
disp 'Svgps(z)='<br>
Svgps(z)=<br>
pretty(vpa(Svgpsz,8))<br>
<br>
2.7952232<br>
------<br>
/ .54881164\<br>
|1. ------| (1. - .54881164 Z)<br>
\ Z /<p>
kcvspdm=sqrt(1-cvspdm^2);<br>
Gvspdmz=(vspdm_std*kcvgps)/(1-cvspdm*Z^-1);<br>
Gvspdmz_1=(vspdm_std*kcvspdm)/(1-cvspdm*Z);<br>
Svspdmz=Gvspdmz*Gvspdmz_1;<br>
disp 'Svspdm(z)='<br>
Svspdm(z)=<br>
pretty(vpa(Svspdmz,8))<br>
<br>
3.3299965<br>
------<br>
/ .090717953\<br>
|1. ------| (1. - .090717953 Z)<br>
\ Z /<p>
Sxz=simple(simplify(Svgpsz - Svspdmz));<br>
disp 'Sx(z)='<br>
Sx(z)=<br>
%pretty(vpa(Sxz,8))<br>
[Sxznum,Sxzden] = numden(Sxz);<br>
Sxznum=factor(1e-61*Sxznum);<br>
disp 'Zeros of Sx(z) = '<br>
Zeros of Sx(z) = <br>
vpa(solve(Sxznum),6)<br>
ans =<br>
[ 0]<br>
[ .481188+.876620*i]<br>
[ .481188-.876620*i]<br>
Sxzden=factor(1e-61*Sxzden);<br>
disp 'Poles of Sx(z) = '<br>
Poles of Sx(z) = <br>
vpa(solve(Sxzden),6)<br>
ans =<br>
[ .548812]<br>
[ 1.82212]<br>
[ .907180e-1]<br>
[ 11.0232]<br>
echo off<br>
>> % The GPS noise is selected to be v1 <br>
% and the speedometer noise = v2. <br>
% (vgps-vvspdm) is the input to Hw(z)<br>
% and the output of Hw(z) is an estimate of vgps.<br>
dt=0.02;<br>
cvgps=exp(-30*dt);<br>
vgps_var=4;<br>
vgps_std=sqrt(vgps_var);<br>
cvspdm=exp(-120*dt);<br>
vspdm_var=4;<br>
vspdm_std=sqrt(vspdm_var);<br>
syms Z <br>
kcvgps=sqrt(1-cvgps^2);<br>
Gvgpsz=(vgps_std*kcvgps)/(1-cvgps*Z^-1);<br>
Gvgpsz_1=(vgps_std*kcvgps)/(1-cvgps*Z);<br>
Svgpsz=Gvgpsz*Gvgpsz_1;<br>
disp 'Svgps(z)='<br>
Svgps(z)=<br>
pretty(vpa(Svgpsz,8))<br>
<br>
2.7952232<br>
------<br>
/ .54881164\<br>
|1. ------| (1. - .54881164 Z)<br>
\ Z /<p>
kcvspdm=sqrt(1-cvspdm^2);<br>
Gvspdmz=(vspdm_std*kcvgps)/(1-cvspdm*Z^-1);<br>
Gvspdmz_1=(vspdm_std*kcvspdm)/(1-cvspdm*Z);<br>
Svspdmz=Gvspdmz*Gvspdmz_1;<br>
disp 'Svspdm(z)='<br>
Svspdm(z)=<br>
pretty(vpa(Svspdmz,8))<br>
<br>
3.3299965<br>
------<br>
/ .090717953\<br>
|1. ------| (1. - .090717953 Z)<br>
\ Z /<p>
Sxz=simple(simplify(Svgpsz - Svspdmz));<br>
disp 'Sx(z)='<br>
Sx(z)=<br>
%pretty(vpa(Sxz,8))<br>
[Sxznum,Sxzden] = numden(Sxz);<br>
Sxznum=factor(1e-61*Sxznum);<br>
disp 'Zeros of Sx(z) = '<br>
Zeros of Sx(z) = <br>
vpa(solve(Sxznum),6)<br>
ans =<br>
[ 0]<br>
[ .481188+.876620*i]<br>
[ .481188-.876620*i]<br>
Sxzden=factor(1e-61*Sxzden);<br>
disp 'Poles of Sx(z) = '<br>
Poles of Sx(z) = <br>
vpa(solve(Sxzden),6)<br>
ans =<br>
[ .548812]<br>
[ 1.82212]<br>
[ .907180e-1]<br>
[ 11.0232]
Answer: