How to program the fitness function of PSO on SVD denoising
2 views (last 30 days)
Show older comments
I want to use the PSO algorithm to optimize the SVD noise reduction,utilize the SNR of de-noised signal for the fitness function of PSO.Provided there are a pure signal s(t)=[s1(t),s2(t),...,sN(t)]' and a noise signal x(t)=[x1(t),x2(t),...,xN(t)]'.Constructing a Hankel matrix X of m×n dimension on the noise signal x(t),then applying SVD on the Hankel matrix X=USV',where matrix U is m×m dimension,matrix S is m×n dimension,and matrix V is n×n dimension.According to the maximum of singular value difference to determine the reconstruction order rank k of singular values.Pice up the first k column of matrix U and V,the first k row and first k column of matrix S,then obtain the sub-matrix u of m×k dimension,s of k×k dimension and v of n×k dimension.Supposed there is a diagonal matrix A of k×k dimension.The estimated matrix of pure signal is E_X=uAsv',so the estimated pure signal is ss=[E_X(1,:) E_X(2:end,end)'],and the SNR=10*log10(s(t)^2)/((s(t)-ss(t))^2). Above all,I want to know how to program the fitness function of PSO?Thank you!
0 Comments
Answers (1)
See Also
Categories
Find more on Particle Swarm in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!