Solving wiener hopf equation for optimal filter coefficients
조회 수: 45 (최근 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.
참고 항목
카테고리
Help Center 및 File Exchange에서 Linear Prediction에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!