A major impediment to the widespread adoption of RFID technology is the unreliability of the data streams produced by RFID readers; a 30% drop rate is not uncommon for RFID deployments. To compensate, most RFID middleware systems provide a "smoothing filter", a sliding-window aggregate that interpolates for lost readings. Typically, these middleware systems require the application to fix the size of the smoothing window in order to produce clean RFID data. Window-size selection, however, is a non-trivial problem: the window must be large enough to smooth lost readings but small enough to accurately capture tag movement. Furthermore, the ideal size may change over the course of the RFID deployment. In this paper, we propose SMURF, the first declarative, adaptive smoothing filter for RFID data cleaning. SMURF models the unreliability of RFID readings by viewing RFID streams as a statistical sample of tags in the physical world, and exploits techniques grounded in sampling theory to drive its cleaning processes. Through the use of tools such as binomial sampling and pi-estimators, SMURF continuously adapts the smoothing window size in a principled manner to provide accurate RFID data to applications.