"Understanding Digital Signal Processing" by Richard Lyons should also be mentioned. Not free, but probably the best text for grasping the concepts of DSP. As a mechanical engineer his style and illustrations really clicked with me.
Ditto that excellent book. I had the opportunity to take one his courses, which was also good, not to mention his interesting stories about motorcycle "clubs".
Just wanted to throw more weight behind this comment. This book is excellent and is super easy to follow. It's one of those rare technical books that actually does an amazing job explaining things.