I could recommend you a paper and the corresponding code for matlab. The name is: " infinite feature selection ". It is perfect to detect redundant features. In this case, by simply inverting the basic function (based on correlation and dispersion) you will obtain a ranking of variables by redundancy. I mean before weighting the graph by fun you could put 1-fun on the edges.
You can use existing datasets, or create synthetic data as we did in the paper to generate synthetic features in order to test your technique.
By ranking the features just select the first ones of this inverted version on inf-FS.