LarryC said:
Yep I understand this. But what confuses me is the huge difference between the classical theory and the relativity when calculating the frequency. I mean, for example, consider a particle moving at a low speed. Then f=E/h gives either f=mc^2/h from relativistic perspective or f=mv^2/(2h) in classical mechanics, which leads to a significant difference. So how to explain this?
This difference you already have in classical particle theory. The reason is that in the relativistic case it is convenient to define the energy of the particle as
$$E=\frac{m c^2}{\sqrt{1-v^2/c^2}}.$$
If you expand the square root in powers of ##v^2/c^2##, i.e., for small velocities ##|v|\ll c^2## you find
$$E=m c^2 + \frac{m}{2} v^2 + \cdots$$
This means the energy is counted from the rest energy ##E_0=m c^2##. The reason for this choice of the energy-zero level is that with this choice the energy builds together with momentum a four-vector, the socalled four-momentum,
$$(p^{\mu})=\begin{pmatrix} E/c \\ \vec{p} \end{pmatrix},$$
where
$$\vec{p}=\frac{m \vec{v}}{\sqrt{1-\vec{v}^2/c^2}}.$$
This, however, doesn't invalidate the de Broglie relation for a non-relativistic particle. If you want to get this you have to remember that you can always multiply a wave function with a phase factor. So if ##\Phi(x)## is a relativistic "wave function" (e.g., for a scalar particle), then it's related in the non-relativistic limit to the Schrödinger wave function ##\psi##
$$\Phi(t,\vec{x}) \simeq \exp \left (-\frac{m c^2 t}{\hbar} \right) \psi(\vec{x}).$$
Then the de Broglie relations between the frequencies are (approximately) correct for the non-relativistic case ##|\vec{v}|\ll c## or, equivalently, ##|c \vec{p}| \ll m c^2##, where ##\vec{p}## is a typical momentum of the wave packets described by the wave functions (supposed you have such a case of a wave function at all).