Removing noise from PCM file
It really depends on the purpose of your project. If you want to do it from scratches, it will not be easy. However, if you want to do it for just one file, and the goal is to suppress the noise of the drone on that file, I recommend you to download free processing tool: audacity: http://www.audacityteam.org/download/, and use their feature where you can pick a period with a typical noise, analyze it and remove so analyzed noise from the whole file. I think that you may find their source code as well for free, which may include the implementation of the feature as well.
However, if you want to do it from scratches, there is a whole nice theory how to do it, but it is not easy.