What is the maximum frequency that can detected in iphone 3GS and above? I have been exploring the iPhone audio frequency. I need to detect sound frequency of 22 kHz without any external device. Is it possible ?
if the microohone is designed well, it will have an anti-aliasing filter with a roll off beginning slightly below the Nyquist frequency to ensure that energy above the Nyquist is minimal. A sharp Nyquist filter causes ringing of the sound. Thus, if the sampling rate is 44.1, it is likely that the Nyquist filter starts at around 18 kHz, reaching around 40 dB or more attenuation by 22 kHz.
So I suspect 22 kHz is a little too high if the sampling rate is 44.1 kHz. However, if the sampling rate is 48 kHz, then you may be lucky.
To correct an earlier post, If there is no anti aliasing filter, you can still detect things above the Nyquist frequency, but the frequency you measure will be wrong.
From what I can see, the maximum sampling rate on iPhones is 48kHz for 3GS models. That means that your Nyquist frequency is half of that, or 24kHz. The Nyquist frequency is the upper limit on what frequencies you can detect so you can only go just a little above 22kHz in theory, but I have a feeling that it won't be enough for what you need.
You can't detect any frequencies higher than the Nyquist frequency, which is half the sample rate you are working at. From what I can see, the iPhone won't let you sample at higher than 44.1kHz, meaning that there will hardly be any frequency information above 22kHz.
According to This Page, I think you're out of luck. The built in mic seems to peak around 20KHz (give or take). This is to be expected though, as consumer-grade microphones aren't designed to, and therefore aren't likely to, pickup anything outside of the [general] range of human hearing (20Hz-20KHz).
来源:https://stackoverflow.com/questions/6382079/iphone-ultrasound-detection-more-than-22-khz