private String syncToneHunt (CircularDataBuffer circBuf,WaveData waveData)	{
			int difference;
			// Get 4 symbols
			int freq1=crowd36Freq(circBuf,waveData,0);
			// Check this first tone isn't just noise
			if (getPercentageOfTotal()<5.0) return null;
			int freq2=crowd36Freq(circBuf,waveData,(int)samplesPerSymbol*1);
			// Check we have a high low
			if (freq2>freq1) return null;
			// Check there is more than 100 Hz of difference
			difference=freq1-freq2;
			if (difference<100) return null;
			int freq3=crowd36Freq(circBuf,waveData,(int)samplesPerSymbol*2);
			// Don't waste time carrying on if freq1 isn't the same as freq3
			if (freq1!=freq3) return null;
			int freq4=crowd36Freq(circBuf,waveData,(int)samplesPerSymbol*3);
			// Check 2 of the symbol frequencies are different
			if ((freq1!=freq3)||(freq2!=freq4)) return null;
			// Check that 2 of the symbol frequencies are the same
			if ((freq1==freq2)||(freq3==freq4)) return null;
			// Calculate the difference between the sync tones
			difference=freq1-freq2;
			correctionValue=TONES[syncHighTone]-freq1;
			String line=theApp.getTimeStamp()+" CROWD36 Sync Tones Found (Correcting by "+Integer.toString(correctionValue)+" Hz) sync tone difference "+Integer.toString(difference)+" Hz";
			return line;
		}