Prislapp uppges vara på 33 miljoner kronor och kontraktet gäller i 3,5 år.
"Jag ser fram emot nya säsongen, jag trivs väldigt bra här. Vi vill vara med i toppen och vinna ligan, det är det vi siktar in oss på. Det är det också som har gjort att jag vill vara här", säger Olsson i ett uttalande.
Olsson lånades den gångna säsongen ut från belgiska Anderlecht till danska Midtjylland. I Danmark har han fått ett stort förtroende.
28-åringen har tidigare spelat i bland annat engelska storklubben Arsenal, ryska Krasnodar och allsvenska AIK där han tog SM-guld 2018.