Со всеми выводами... проще вывести самому.
1. Берёте пространство-время (скажем, двумерное,

или четырёхмерное

), и в нём плоскую волну. Это значит, систему плоскостей (волновых фронтов), которые при

(или при другой заданной

) образуют плоскости в пространстве, а с учётом времени - бегут с постоянной скоростью.
Пример: в двумерном пространстве-времени плоскости
где
- фиксированные константы (скорость и длина волны), а
- произвольный целый параметр. Рекомендуется нарисовать этот пример на графике, и взяв несколько пространственных сечений при разных
убедиться, что он изображает бегущие фронты.
Примечания: опытные студенты могут брать всего две плоскости (этого достаточно), или ковектор расстояния между ними, или экспоненциальную фазу плоской волны вида

- суть и результат вычислений от этого не изменится.
2. Мы уже отвлеклись от реального точечного источника, но чтобы как-то следить за "источником" волн, надо провести некоторую прямую мировую линию "источника", и по точкам пересечения измерить частоту "испускаемого" излучения.
Пример: в двумерном пространстве-времени линия
Необходимо, чтобы
из предыдущего примера :-) Тогда точки пересечения будут
и частота (по координате
которая может не совпадать с собственными часами "источника") будет равна 
3. Самое интересное: совершить необходимые преобразования координат в другую систему отсчёта. Для волн звука - это будет преобразование Галилея, для световых волн - преобразование Лоренца.
4. Точно так же, надо провести прямую мировую линию приёмника, и по точкам пересечения измерить частоту принимаемого излучения.
В результате, у вас получится итоговая формула. Но как видите, здесь такая куча настроечных параметров в промежутке, что перебирать все варианты - ни в какой учебник не влезет.