Description
A Charge-Coupled Device (CCD) is a photosensitive sensor that captures light by converting incident photons into electrical charges at each pixel. These charges are then transferred sequentially through the device to produce a digital image. CCDs are renowned for their high image quality and low noise characteristics, making them ideal for applications requiring precise light detection such as astronomy, satellite imaging, and scientific instrumentation. This simulation component models a CCD sensor capable of detecting celestial bodies, spacecraft, and other light sources while accounting for atmospheric effects, various noise sources, and realistic signal processing.
Example Use Cases
- Star Tracker Simulation: Model the detection of celestial bodies for attitude determination systems.
- Space Situational Awareness: Simulate ground-based or space-based detection of satellites and debris.
- Payload Performance Analysis: Evaluate imaging payload performance under various lighting and atmospheric conditions.
- Sensor Noise Characterization: Analyze signal-to-noise ratios for different exposure times, wavelengths, and environmental conditions.
- Eclipse Detection: Simulate reduced target visibility when objects pass through planetary shadows.
Module Implementation
The CCD sensor is a Sensor component that can be attached to spacecraft, ground stations, or other platforms within the simulation. It processes light from configured targets and generates a discretized image with realistic noise characteristics.
Coordinate System and Field of View
The sensor’s boresight is aligned with the local “up” direction of the parent object’s transform. The field of view (FOV) defines the angular extent of the sensor’s observation cone. For a given resolution , each pixel subtends an angle:
The pixel direction vector for pixel is computed as:
where , , and are the up, right, and forward basis vectors of the sensor frame respectively.
Target Visibility
For each registered target, the sensor performs visibility checks before computing flux contributions:
- Line of Sight: The target must not be occluded by planetary bodies in the solar system.
- Field of View: The angular separation between the sensor boresight and target direction must satisfy:
where is the angle to the target center and is the angular radius of the target:
with being the target diameter and the distance to the target.
Flux Calculation
The radiative flux received from each target consists of two components: direct luminosity and reflected sunlight (albedo contribution).
Direct Luminosity
For a target with absolute luminosity at distance :
Albedo Contribution
Reflected sunlight depends on the solar flux at the target location, the target’s albedo , the eclipse visibility factor , and the phase angle. The phase factor is computed as:
where is the direction to the Sun and is the direction to the target. The albedo flux contribution is:
The total flux from a target is:
Atmospheric Effects
For ground-based sensors, atmospheric absorption and sky brightness are modelled.
Absorption
The atmospheric absorption factor reduces incoming flux:
Zenith Sky Flux
The sky background brightness depends on the solar zenith angle and spectral wavelength. The zenith flux is computed as:
where is a wavelength-dependent scaling of the solar flux:
| Wavelength Range (nm) | Scaling Factor |
|---|---|
| 400–500 (Blue) | 0.20 |
| 500–600 (Green/Yellow) | 0.25 |
| 600–700 (Red) | 0.20 |
| 700–800 (Near IR) | 0.10 |
| Other | 0.00 |
Photon-to-Electron Conversion
The number of photons detected at each pixel is computed using:
where:
- is the total incident flux [W/m²]
- is the pixel area [m²]
- is the spectral wavelength [m]
- is the exposure time [s]
- is the quantum efficiency
- is the photon energy [J]
Noise Model
The CCD implements a comprehensive noise model with multiple sources:
Photon Noise (Shot Noise)
Photon arrival follows Poisson statistics. The shot noise is modelled as:
Thermal Noise
Random motion of charge carriers due to temperature:
Readout Noise
Electronic noise from the analog-to-digital conversion process:
Quantization Noise
Discrete sampling effects modelled as uniform noise:
Dark Current Noise
Thermally generated electrons in the absence of light:
The total noise contribution is:
Point Spread Function
The point spread function (PSF) models the distribution of light across neighbouring pixels. For a PSF factor , the central pixel receives:
The remaining energy is distributed to neighbouring pixels:
where is a weighting factor depending on the pixel position:
- Corner pixels:
- Edge pixels:
Output Signal Processing
The final pixel values are computed by summing signal and noise contributions, then adding the electronic bias:
where is the bias offset. Values are clamped to the range .
Signal Statistics
The output message contains aggregated statistics:
Signal-to-Noise Ratio
The signal-to-noise ratio in decibels is computed as:
If , the SNR approaches infinity. If , the SNR is set to a minimum threshold value.
Contrast
Image contrast is calculated as:
Fault States
The sensor implements multiple fault modes for reliability analysis:
| Fault State | Behaviour |
|---|---|
Nominal | Normal operation with physics-based calculation |
FaultStuck | Output frozen at last valid capture |
FaultMax | All pixels saturated to maximum ADU |
FaultRandom | Random values between 0 and maximum ADU |
FaultOff | All pixels set to zero |
Target Management
Targets are managed through Add Target and Remove Target methods. Each target is defined by:
- Reference to an object
- Diameter [m]
- Absolute luminosity [W]
- Albedo coefficient [-]
The Sun and Moon are automatically added as targets when the sensor is attached to an Earth-based platform. The orbited body is added as a target for spacecraft-mounted sensors.
Assumptions/Limitations
- The sensor model assumes a square pixel array with uniform pixel spacing.
- All pixels are assumed to have identical quantum efficiency and noise characteristics.
- The atmospheric model is simplified and does not account for variable weather conditions or aerosol content.
- The zenith sky flux model uses discrete wavelength bands rather than a continuous spectrum.
- The PSF model assumes a fixed spread factor; wavelength-dependent diffraction is not modelled.
- Target detection assumes spherical geometry for angular size calculations.
- The albedo model assumes Lambertian (diffuse) reflection only; specular reflections are not considered.
- Eclipse calculations use a binary or partial visibility factor; penumbral gradients may be simplified.
- Noise sources are assumed to be independent and additive.
- The sensor does not model pixel-to-pixel sensitivity variations (flat-field effects).
- Charge transfer inefficiency during readout is not modelled.
- Blooming effects from saturated pixels are not simulated.
- The background star flux is modelled as a constant rather than a star catalogue.
- Parallelized capture may introduce minor numerical variations due to floating-point ordering.
- The bias value is applied uniformly across all pixels; spatial bias patterns