Nadal is 24-19 against his Swiss counterpart. Federer is 2-1 against Nadal at Wimbledon, with Nadal winning their most-recent matchup in five sets in 2008.
"He has improved so much over the years on this surface," Federer said of Nadal. "He is playing very different than he used to. We have been playing each other for a long time on this surface.
"He is serving way different. I remember back in the day how he used to serve and now how much bigger he is serving and how much faster he is finishing points."
Federer, 37, advanced to the semifinals by beating Kei Nishikori in four sets. Nadal, 33, beat American Sam Querrey in straight sets in his quarterfinal bout.
Nadal -- widely-regarded as the world's best clay court player -- has two Wimbledon titles. Federer has eight titles at the All-England Club.
"I expect to play against probably the best player in history on this [grass] surface and I know i have to play my best if i want to have a chance to be in the final," Nadal said. "I know he is playing well and feels conformable here. I am playing well here too."
Nadal is the betting favorite to win the match. Novak Djokovic has the best odds (-165) at winning the Wimbledon men's singles title, according to BetOnline.AG. Nadal is the second best bet to win the Grand Slam at +325. FanDuel has Nadal as a -128 favorite to beat Federer, who has +108 odds at winning the match.
"It's about how he has played so far and how I've played so far," Federer said. "I hope it goes my way. It's going to be tough. Rafa can really hurt anybody on any surface. He's that good."
How to watch
What: 2019 Wimbledon Men's Semifinal
Who: Roger Federer vs. Rafael Nadal
When: 10 a.m. EDT Friday
Where: All-England Club, London, England
TV: ESPN, BBC One, BBC Two