I fysik betegner harmonisk oscillator en bestemt type svingende systemer. Eksempler på systemer der ofte betragtes som harmoniske oscillatorer er et svingende pendul eller et hoppende lod ophængt i en fjeder. Lignende eksempler dukker op overalt i fysikken, hvor begrebet spiller en meget vigtig rolle.
En harmonisk oscillator er karakteriseret ved, at kraften er proportional med afvigelsen fra ligevægt. Et pendul er f.eks. i ligevægt, når pendulet hænger lodret ned, og tyngdekraften bremser udsving ved at trække pendulet mod lodret med en kraft, der (for små udsving) er proportional med afvigelsen fra lodret. Når dette giver anledning til en enkeltstående svingende bevægelse, kaldes bevægelsen for en simpel harmonisk bevægelse, mens flere oven i hinanden, resulterer i mere komplicerede svingninger - man har da en kompleks harmonisk svingning.
Forsøg på at beskrive dette matematisk (se nedenfor) viser, at oscillatoren vil udføre svingninger med en periode, der kun afhænger af systemets opbygning og ikke af udsvingenes størrelse (amplituden).
Der findes ingen perfekte harmoniske oscillatorer, og enhver brug af begrebet vil derfor altid være en tilnærmelse.
For det første svinger ingen oscillatorer evigt som teorien beskriver. De dæmpes i stedet idet oscillatoren mister energi der bliver til varme. Et pendul vil f.eks. efterhånden falde til ro pga. gnidning i ophænget.
For det andet gælder det kun for tilstrækkeligt små udsving at kraften mod ligevægt har en styrke proportional med udsvinget. Når man f.eks. trækker i en fjeder, skal man i starten fordoble trækstyrken for at fordoble ændringen i fjederens længde. Hvis man bliver ved med at forøge styrken knækker fjederen, og man kan gøre den vilkårligt "lang" uden at trække hårdere.
Hvis vi f.eks. betragter et lod ophængt i en fjeder kan vi skrive: , hvor er kraften på loddet, er en konstant der afhænger af fjederen og er loddets afstand fra ligevægtspositionen. Newtons 2. lov siger hvor er accelerationen, Idet vi indfører får vi
Dette er en 2. ordens differential-ligning, og hvis loddet til tiden er i positionen med hastigheden 0, har denne løsningen:
Vi ser, at systemet udfører svingninger med uændret amplitude . Systemet vender tilbage til udgangspunktet efter en periode , hvor , og vi får altså en frekvens . Vi kalder for vinkelfrekvensen.