signal-to-noise calculation - still needs some work