I'm attempting to input a heart rate signal into my iPhone via the microphone jack. I need to pass the signal through a passive high-pass filter to remove the DC offset before inputting it in to the iPhone.
At first, I tried to use a passive high-pass filter with a 1uF capacitor and a 100k Ohm resistor, since I needed the cutoff frequency to be very low. The signal I measured matched my heartbeat.
Graph 1:
It turns out, however, that the iPhone checks for a "microphone" via impedance matching; the circuit must have a resistance of ~1k Ohm for the iPhone to detect a microphone. Given this, I made what I thought to be a high-pass filter equivalent to my previous one, except with a 100uF capacitor and a 1k resistor. According to the math, they should behave the same.
The signal I measured instead had very large magnitude spikes that were periodic but not in time (by any ratio) with my heartbeat.
Graph 2:
These data were acquired when the circuit was not connected to the iPhone, see notes for details
What might be the reason for this behavior? And are there any suggestions for achieving the behavior I want with a ~1k Ohm resistor ? I'd greatly appreciate any help!
Notes:
1) For data acquisition, I am collecting the data via an Arduino Uno. The x-axis of the graphs represent the sample number, and the samples are collected every 2ms. The analog input of the Arduino reads a voltage between 0-5V, and converts it into an integer from 0 to 1023.
2) The Arduino isn't the most accurate method of data acquisition, but it's very cost-efficient and should be good enough for these purposes.
3) The iPhone mic input might have an internal high-pass filter of ~30Hz, so this might all be a moot point, but I am still curious why I would get this behavior. This should be a relatively simple circuit!