<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -",
    "macCatalyst: 17.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SensorKit",
  "identifier" : "/documentation/SensorKit/SRPhotoplethysmogramOpticalSample",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "SensorKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SRPhotoplethysmogramOpticalSample"
  },
  "title" : "SRPhotoplethysmogramOpticalSample"
}
-->

# SRPhotoplethysmogramOpticalSample

A data sample from the photoplethysmogram (PPG) optical sensor.

```
class SRPhotoplethysmogramOpticalSample
```

## Overview

To get the PPG waveform, use the [`normalizedReflectance`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/normalizedReflectance-9aidm) property. Apple Watch uses an arrangement of emitters and photodiodes to measure the PPG waveform.

### Interpret second-generation PPG sensors data

Second-generation optical heart sensors, in Apple Watch 4, 5, SE 3 and SE models, use green or infrared (IR) LED lights paired with light-sensitive photodiodes.



![LED setup for Apple Watch 4, 5, SE 3, and SE models showing the location of the infrared LED lights.](images/com.apple.sensorkit/ppg-sensros-2@2x.png)

The active photodiode’s indices show which photodiode or combination of photodiodes the Apple Watch uses.
The light-sensitive photodiodes have different arrangements between the Apple Watch models:



![The photodiode layouts for the Apple Watch 4, 5, and SE models.](images/com.apple.sensorkit/ppg-sensros-1b@2x.png)



![The photodiode layout for the Apple Watch SE 3 Model](images/com.apple.sensorkit/ppg-sensros-1a~dark@2x.png)

For the second-generation sensors, the mapping of the optical heart sensor (SE, Series 4 and 5) emitter is:

|Emitter index|LED arrangement     |
|-------------|--------------------|
|0            |0, Infrared (940 nm)|
|1            |1, Infrared (940 nm)|
|2            |2, Green (525 nm)   |
|3            |3, Green (525 nm)   |
|4            |4, Green (525 nm)   |
|5            |5, Green (525 nm)   |

### Interpret third-generation PPG sensors

Third-generation optical heart sensor, in Apple Watch Series 6 and later, plus Apple Watch Ultra and Ultra 2, use an additional red LED with a different arrangement of emitters and photodiodes than the second-generation PPG sensors. The active photodiodes indices show which photodiode or combination of photodiodes the Apple Watch uses.

![Two diagrams of Apple Series 6 and later, plus Apple Watch Ultra and Ultra 2, that show the location of the emitters and photodiodes.](images/com.apple.sensorkit/media-4403033@2x.png)

For the third-generation sensors, the mapping of the optical heart sensor (Series 6, 7, 8, 9, Ultra, and Ultra 2) emitter is:

|Emitter index|LED arrangement     |
|-------------|--------------------|
|0            |0, Infrared (850 nm)|
|1            |1, Infrared (850 nm)|
|2            |2, Infrared (850 nm)|
|3            |3, Infrared (850 nm)|
|4            |4, Infrared (940 nm)|
|5            |5, Red (660 nm)     |
|6            |6, Red (660 nm)     |
|7            |7, Red (660 nm)     |
|8            |8, Red (660 nm)     |
|9            |9, Green (525 nm)   |
|10           |10, Green (525 nm)  |
|11           |11, Green (525 nm)  |
|12           |12, Green (525 nm)  |

## Topics

### Accessing optical data

[`emitter`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/emitter)

The index of the LED in use during the sample.

[`activePhotodiodeIndexes`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/activePhotodiodeIndexes)

The set of photodiodes in use during the sample.

[`signalIdentifier`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/signalIdentifier)

The identifier for a signal that photodiodes and emitters produce.

[`nominalWavelength`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/nominalWavelength)

The wavelength in nanometers that the emitter produces while operating at a specific temperature.

[`effectiveWavelength`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/effectiveWavelength)

A temperature-compensated wavelength estimate in nanometers that the emitter produces.

[`samplingFrequency`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/samplingFrequency)

The sampling frequency of the photoplethysmogram (PPG) data in hertz.

[`nanosecondsSinceStart`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/nanosecondsSinceStart)

The time in nanoseconds since the system turns on the sensor.

[`conditions`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/conditions)

The sensor context or conditions that may affect the sample.

[`Condition`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/Condition)

The conditions that may occur when recording photoplethysmogram optical data.

[`noiseTerms`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/noiseTerms-swift.property)

The mathematical terms for computing the noise in this sample.

[`NoiseTerms`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/NoiseTerms-swift.struct)

The mathematical terms that you use to compute the photoplethysmogram (PPG) noise.

[`normalizedReflectance`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/normalizedReflectance-15f2k)

[`whiteNoise`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/whiteNoise)

An estimate of the white noise of the sensor.

[`pinkNoise`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/pinkNoise)

An estimate of the pink noise of the sensor.

[`backgroundNoise`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/backgroundNoise)

An estimated timeseries of ambient noise intrusion.

[`backgroundNoiseOffset`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/backgroundNoiseOffset)

The white noise variance estimate in the background noise signal.

[`normalizedReflectance`](/documentation/SensorKit/SRPhotoplethysmogramOpticalSample/normalizedReflectance-9aidm)

The photoplethysmogram waveform in normalized units.

## Relationships

### Conforms To

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`Hashable`](/documentation/Swift/Hashable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Equatable`](/documentation/Swift/Equatable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)