If you haven't done a top end on your bike, it probably needs one. The way to tell is to do a compression test or take it apart and measure the rings and piston.
You said your bike has a new air filter, have YOU cleaned and oiled it? They need cleaning and oiling (with filter oil, not motor oil) at least once a week.
Take your carb apart and clean everything. Use carb cleaner and compressed air. Soak all the smal parts in a bowl with carb cleaner. Do not try to clean the passages by poking with a wire or needle, you will alter the size of the passages.
After the carb is clean, refer to your manual and install the factory recommended jets. This will be a good sarting point.
Take your head apart and install a new piston/ring set and wrist pin bearing (top end kit).
While the top end is apart, replace the reeds.
Make sure you have fresh gas with a good quality premix oil. I would suggest a ratio of 32:1
Don't forget a fresh sparkplug too.
Here are a few links for reading:
http://www.keihin-us.com/tune.htm
http://www.ngksparkplugs.com/techin...1000&country=US
http://justkdx.dirtrider.net/carbtuning.html
http://www.powroll.com/tech_specs_jetting101.htm
http://www.duncanracing.com/techfaq/Tech_keihin-carburetion-jetting.phtml
http://www.keihin-us.com/am/tuning/
http://www.dansmc.com/spark_plugs/spark_plugs_catalog.html
http://www.ngksparkplugs.com/techinfo/spark_plugs/techtips.asp?nav=31000&country=US
http://dirtrider.net/forums3/showthread.php?t=42618
Tips to clean your air filter;
You should clean your filter every other ride, more if its dusty. Don't forget to change the tranny oil every other ride too.
NOTOIL is a vegitable based oil that dosn't require solvents.
http://www.notoil.com/
I use TWINAIR's filter and oil, here's how I clean mine.
Clean the filter in your choice of solvent to remove the old oil and dirt it trapped. I use gasoline. I prefer using a small bucket with enough solvent to submerge the filter. Knead the filter a few times, sqeeze out the excess, dump the dirty stuff. (it's great for killing weeds growing in the driveway cracks) Repeat 3-4 times or until the solvent remains clear, and you can't feel any dirt in the bottom of the bucket.
Wash the filter in warm soapy water. I use dishwashing liquid. (dawn, joy ect...) Use the same bucket and method as with the solvent, just use warm soapy water. Repeat 3-4 times, sqeezing the filter and dumping the dirty water each time.
Rinse in warm water. Same method. Dump the dirty water each time. Repeat until the soap bubbles are gone. Their shouldn't be any dirt particles in the bottom of the bucket.
If the dirt is really imbedded in the filter I use the garden hose or the kitchen sink sprayer to remove it. Spraying from the inside of the filter, the water pressure pushes the dirt out the way it came in. I hold the nossle right up against the filter. Gentle pinching and kneading will get it all out.
Once the filter is clean, I spin dry (no water) it in the washing machine. Set the filter so the centrifigle force pulls from the inside out. (have the side that faces your carb, face the center of the washing machine) If the filter won't sit still, I prop it with a clean shop towel. It should be dry in a few hours after that.
Before oiling, I turn the filter inside out to see if I missed any dirt. "Plucking it" with your finger almost always removes it.
Don some latex gloves (found at home depot in the paint section). Place the filter in a clean bucket, pour the filter oil all over it. I use an 8X8 inch plastic bucket with a lid. Saturate it with your favorite oil, sqeeze out the excess and install. I don't grease the rim. You will have alot of oil left in the bucket. It's clean, so pour it back into the filter oil can to use next time. I use Twin Air filter oil.
This method only takes about 15 minutes, minus drying time of course. I clean my filter about once a week. I've used this method for a year and a half with no adverse effects to the Twin Air filter.
Hope this helps, Steve.