-
Notifications
You must be signed in to change notification settings - Fork 441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DOA] Add assert for number of sources in subspace decomposition based methods #140
Comments
Ok, so I found out the above error that WAVES gave me disappeared when I changed the microphone array to be of size 6 instead of 4. Does that mean that the other algorithms pose some constraints on the (circular) microphone array size? |
BTW: To be able to use the DOA algorithms for real world data that is sampled every 50ms from a microphone array for example, the number of sources (you need to pass to the DOA algorithms) is of course not known in advance. Does that mean that i have either to restrict myself by hardcoding the number of sources to compute the locations for in advance or there is a separate source counting algorithm before the whole process needed @fakufaku (e.g. that returns the number of sources that is passed to the algorithms as a paramter)? |
If I am not mistaken, you are trying to recover 4 sources. I believe that WAVES, as well as MUSIC, have the limitation that they can only recover up to You mentioned you did not have that problem with MUSIC, that is a little bit surprising... As to your other question regarding the number of sources, there are indeed a few ways to estimate it, however, I am not very familiar with them. You may try to look up Akaike Information Criterion for example. In practice, another possibility is to try to estimate as many sources as possible and then work out the ones that are real by comparing their power. |
Interesting, I did not know that WAVES & MUSIC have this limitation, I need to further investigate about this aspect and see if i can reproduce this limitation. Do only these two have this limitation or are the other algorithms also affected? Thanks, I will try to look into the Information Criterion thing, about the other method: So, basically the approach for the power method is to compute the (normalized) power of all signals and then just assume the ones are real that are above a certain threshold, or what else should be the criterion to dectect where the power value seems reasonable? |
All algorithms that are based on subspace decomposition have it. These algorithms compute the spatial covariance matrix that is |
Ok, thanks for that information.
It is also interesting to note that for naive ultrasonic sources all the subspace decomposition algorithms seem to do much better than for example SRP & TOPS, with speech samples SRP-PHAT gave me the best results. For FRIDA I also get always a lot of "ill-conditioned matrix, results may not be accurate" warnings:
|
Yes, this is the expected behavior. Except for FRIDA, all algorithms rely on search. You provide a list of possible locations and they tell you which one is most likely one. Since you provide only integer candidate locations, the result is an integer. There is no rounding. On the other hand, FRIDA computes the locations directly without search, which results in a decimal number generally. The ill-conditioned matrix is a known warning for FRIDA. |
Hi,
sorry to bother, but I was trying to evaluate the other algorithms (besides SRP & MUSIC which work with my setup), but then I tried to run the remaining algorithms over my setup and encountered crashing behaviour, in the case of only adding the WAVES algorithm, I get this traceback:
which indicates that
wn
(the eigenvalue for the noise subspace is empty according to the soure code). I suspect that this is the reason why CSSM also fails with my setup.This is my setup code (basically the same as before)
The text was updated successfully, but these errors were encountered: