hi was,
I generally answer vague quesitons like this...might not be much use, but here's what I think:
For speed, the dopler thing is ok, although if you want an accurate measurement, soundwaves aren't ideal. I'm still surprised they use them for measuring the speed of cars (for speeding fines) as most devices have errors of about 15%!
Direction could be tricky. If your 'device' is stationary, then at least you have a refence. You would need to 'ping' an object twice to get a direction, and speed. But for direction, your device will have to 'look' at the object. Unless of course its really high-power. So, what you need is a Transmitter/receiver thats 'directional'. Otherwise, with multiple objects, you send out a ping, get some echos, but there is no direction information, or any information about the object (so you can't tell which is which, and therefore, where it has traveled, at what speed etc..).
Its a crazy idea, but maybe a radar type affair, only with sound, sonar. Mount the tx/rx on a rotating platform and constantly send out pulses, and receive them. That way, when you get an echo, you know how far away from your device the object is, and where it is, because your platform will be facing a certain way (you could use a stepper motor, or an absolute shaft encoder to measure the angle of the rotation). Once you've stored the information (distance, direciton) then, next time your device 'points' to the direction the object was (after a complete turn) it knows it SHOULD be picking up that object, so it looks for an object around there. once its found it, you have two 'points'. Both with distance, and direction (bearing from your device). Also, with a timer going, or if your platform rotates at a fixed speed, you know the time difference between the two measurements.
After all of that, you will end up with the two distances, the two bearings, and a time difference. Then its some complicated trigonometry (can micro's do this??) to join up the two points. This will give you a vector, the minimum distance between the two points (a straight line). Thats the distance traveled and depending on the angle, the direciton, also, with your 'time delay' you can work out its speed (speed = distance/time).
Phew, sounds really complicated, but I assumed that you would be measuring moving objects from all directions (apart from above and below) and I'm just ranting. If I was to build such a device, I would try not to have any moving parts. But, measuring objects' speed/direction using an antenna array (or a sonar array) would be large, and require a fair amount of computational power.
I hope that this has helped you get thinking, at least in some way.
BuriedCode.