well you have to start with the simple things first, Because a 2003 is relatively new, I suggest you go to your local mechanic and tell them your problem and let them do an engine diagnostic. The reason is this your vehicle has several computers, and what your mechanic can do, is plug his diagnostic computer into your suburban, and your vehicle will tell the mechanics computer where the problem is located. And then the mechanic can fix it.
This is the best way. it sounds like it may be something simple, have you done anything different recently, like buy cheap gas? because my suburban was picky, it liked the good expensive super I was running from chevron. If some guy accidntally put regular in, I could tell it ran worse. This can be something as simple as a tune up, to a tank of bad gas. best of luck, take it to the mechanic.