Solving wiener hopf equation for optimal filter coefficients
8 次查看(过去 30 天)
显示 更早的评论
Hello @all!
I hope you can help me about my problem. I coded some program to estimate the filter-coefficients of an unknown system, e.g. that has 6 filter-coefficients. There are a lot of algorithms to estimate this coefficients like LMS and whatever.
But now, I would like to get the optimal coefficients through solving the wiener hopf equation. That works with an estimate of the autocorrelation-matrix (e.g. i would get it through corrmtx in MATLAB) and the cross-correlation-vector. For getting the cross-correlation vector I must use "xcorr".
And there, there is my question about: Over how many lags do i have to use xcorr? I've got a white noise signal as input for my unknown system. When I chose my lag as same as number of filter-coefficients i got a 6x6 autocorrelation matrix and a 6 length cross-correlation vector. When I use them in the wiener hopf equation I got not the optimal filter coefficients...
0 个评论
回答(3 个)
Pourya Alinezhad
2013-6-30
编辑:Pourya Alinezhad
2013-6-30
the problem you are facing is how to choose the length of the filter M. in the absence of a priori information ,we compute the optimal coefficients ,starting from a small reasonable number.As you increase the number,you check the MMSE (minimum mean square error) ,and if it's value is small enough ,e.g,MMSE<0.01, we accept the corresponding number of the coefficients. :)
1 个评论
Pourya Alinezhad
2013-6-30
编辑:Pourya Alinezhad
2013-6-30
also notice that length of X(t) (input to filter) is assumed to be infinite.but you have to provide enough data at input. obviously with a 6 tap filter you will have first output signal with 6 input samples. for more info take a look at "Adaptive_Filtering_Matlab_Poularikas" chapter 4 :wiener filters you can also find good information in "Adaptive filters theory and applications" by farhang-broujeny.
Randy82
2013-6-30
4 个评论
Pourya Alinezhad
2013-7-1
exactly.and if you choose lags=7 then one of them will be zero. if you set lags=5 then it will be an estimate of the main system.
Randy82
2013-6-30
2 个评论
Pourya Alinezhad
2013-6-30
编辑:Pourya Alinezhad
2013-7-1
for asamplebiasedautoc function you can use what you mentioned:xcorr(x,x,'biased') . it will work correctly as you can find in page 25 of the aforesaid book.
Pourya Alinezhad
2013-6-30
and we just use 19 and 20 element because we have tow tap weights.... w=R/rdx; MATRIX DIMINUTIONS AND SIZES MUST AGREE.
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!