Real time on-chip spike detection is the first step in decoding neural spike trains in implantable brain machine interface systems. Nonlinear Energy Operator (NEO) is a transform widely used to distinguish neural spikes from background noise. In this paper we define a general form of energy operators, of which NEO is a specific example, which gives better spike-noise separation than NEO and its derivatives. This is because of a non-linear scaling applied to the general discrete energy operator. Using two well-known publically available datasets, the performance of several operators is compared. On data sets that contain multi-unit spikes with low Signal to Noise ratio, the detection accuracy was improved by approximately 15%.