Skip to main content

Color Phase Shift Keying (CPSK)

 

Color Phase Shift Keying (CPSK)

Color Phase Shift Keying (CPSK) is a modulation technique where information is encoded using both color (wavelength) and phase of a signal, instead of relying only on amplitude or frequency.

It can be thought of as Phase Shift Keying (PSK) with color added as an extra dimension.

Concept Breakdown

  • Phase Shift Keying (PSK): Data is encoded by changing the phase of a carrier signal (e.g., 0°, 90°, 180°, 270°).
  • Color Dimension: Different colors (wavelengths) are used as additional symbols.

Each transmitted symbol is therefore defined by:

(Phase, Color)

This combined representation allows more bits per symbol to be transmitted.

Why Use CPSK?

  • Increases data rate without increasing bandwidth
  • Improves spectral efficiency
  • Allows better error separation in some systems

Application Areas

CPSK is not common in conventional RF systems, but it is used in:

  • Optical communications (fiber optics, free-space optics)
  • Visible Light Communication (VLC) / Li-Fi
  • Research and experimental communication systems

In optical systems, “color” usually refers to different wavelengths rather than display-style RGB colors, although VLC often uses RGB LEDs directly.

Simple CPSK Example

Assume:

  • 4 phases (QPSK → 2 bits)
  • 3 colors (Red, Green, Blue → approximately 1.6 bits)

Total bits per symbol:

2 + 1.6 ≈ 3.6 bits per symbol

This achieves higher data throughput at the same symbol rate.

Key Idea

CPSK = PSK + wavelength (color) multiplexing

Bits per Symbol and Color Count

The number of bits a symbol can represent depends on the number of distinct symbols:

bits per symbol = log₂(number of symbols)

Why 3 Colors ≈ 1.6 Bits

With three distinct colors (R, G, B):

log₂(3) ≈ 1.585 bits

This value is commonly rounded to approximately 1.6 bits.

Fractional Bits in Practice

Although fractional bits cannot be sent directly:

  • Over many symbols, the average bits per symbol approaches 1.585
  • Block or ternary coding efficiently maps binary data to 3 symbols

Example:

  • 38 = 6561 possible states
  • log₂(6561) ≈ 12.7 bits
  • Average ≈ 1.585 bits per symbol

Intuition

  • 2 colors → 1 bit
  • 4 colors → 2 bits
  • 3 colors sit between them

Why Non-Powers of Two Are Used

  • Physical constraints (e.g., RGB LEDs)
  • Better energy efficiency
  • Reduced channel interference
  • Optical systems do not require power-of-two constellations
Colors Bits per Symbol
2 1.0
3 1.585
4 2.0
8 3.0

Color Shift Keying (CSK)

Color Shift Keying (CSK) encodes data using different colors (wavelengths) of light. Each symbol corresponds to one color state.

bits per symbol = log₂(M)

where M is the number of colors.

4-CSK

  • 4 distinct colors
  • Often RGB plus an additional color (White or Amber)

Bits per symbol: log₂(4) = 2

Bits Color
00Red
01Green
10Blue
11White

Conceptually similar to QPSK but mapped into color space.

8-CSK

  • 8 distinct colors
  • Uses combinations of RGB intensities

Bits per symbol: log₂(8) = 3

Bits Color Mix
000Red
001Green
010Blue
011Cyan (G+B)
100Magenta (R+B)
101Yellow (R+G)
110Light Blue
111White

16-CSK

  • 16 color symbols in chromaticity space
  • Colors differ by precise intensity ratios

Bits per symbol: log₂(16) = 4

(R, G, B) = (0.2, 0.5, 0.3)
(R, G, B) = (0.3, 0.4, 0.3)
...

This scheme is similar to 16-QAM and offers high spectral efficiency, but requires high SNR and careful calibration.

Scheme Colors Bits/Symbol Robustness Data Rate
4-CSK42⭐⭐⭐⭐Low
8-CSK83⭐⭐⭐Medium
16-CSK164⭐⭐High

Color and Phase in Practical VLC

Visible light is an electromagnetic wave, meaning it inherently has:

  • Amplitude
  • Phase
  • Wavelength (color)

While physics allows modulation of all three, engineering constraints limit what is practical.

IM/DD Constraint

Most LED-based VLC systems use Intensity Modulation / Direct Detection (IM/DD).

  • Only intensity is detected
  • Optical phase information is lost

Therefore, classic optical PSK cannot be directly detected in basic VLC systems.

Subcarrier Phase Modulation (Practical)

Phase modulation can still be used by applying PSK or QAM to an electrical RF subcarrier:

  1. Generate an RF subcarrier
  2. Apply PSK/QAM
  3. Use the result to modulate LED intensity
  4. Transmit over RGB LEDs

This allows simultaneous use of color and phase in practical VLC.

Coherent Optical VLC (Rare)

True optical phase modulation requires:

  • Laser diodes
  • Local oscillators
  • Coherent detection

While common in fiber optics, this approach is expensive and rare in VLC.

VLC Type Color Phase Practical?
LED IM/DDYesNoWidely used
CSK + RF-PSKYesYesVery practical
Optical PSK (Coherent)YesYesRare
RGB + OFDMYesIndirectCommon

Summary

Color and phase can coexist in practical VLC, but phase modulation is applied on a subcarrier rather than directly on the optical wave.


Contact Us

Name

Email *

Message *

Popular Posts

CMOS Logic Gates: Inverter, NAND, and NOR

CMOS Logic Gates: Inverter, NAND, and NOR Complementary metal–oxide–semiconductor (CMOS) technology forms the backbone of modern digital IC design. Patented by Frank Wanlass in 1963 ( US patent 3,356,858 ), CMOS enables low-power, high-speed, and noise-immune logic circuits. CMOS gates, including inverters, NAND, and NOR, are widely used in both large-scale and small-scale integrated circuits due to their efficiency and versatility. CMOS Inverter A CMOS inverter consists of a complementary pair of PMOS and NMOS transistors. The PMOS transistor connects to the supply voltage V DD , while the NMOS connects to ground. The input voltage V IN controls both gates, and the output voltage V OUT is taken from the connected drains. CMOS inverters are highly energy-efficient and produce minimal heat due to their comple...

Decision Feedback Equalizer (DFE) in MATLAB

  MATLAB Code M = 4; % QPSK numSymbols = 10000; numTrainingSymbols = 5000; chtaps = [1 0.5*exp(1i*pi/6) 0.1*exp(-1i*pi/8)]; % Generate QPSK symbols data = randi([0 M-1], numSymbols, 1); tx = pskmod(data, M, pi/4); % DFE setup eq = comm.DecisionFeedbackEqualizer; eq.ReferenceTap = 1; eq.NumForwardTaps = 5; eq.NumFeedbackTaps = 3; % SNR sweep snrVec = 0:5:25; % 0,5,10,...25 dB berBefore = zeros(size(snrVec)); berAfter = zeros(size(snrVec)); for k = 1:length(snrVec) % Apply channel and AWGN rx = awgn(filter(chtaps,1,tx), snrVec(k), 'measured' ); % BER before equalization rxDataNoEq = pskdemod(rx, M, pi/4); [~, berBefore(k)] = biterr(data, rxDataNoEq); % Equalize [y,~,~] = eq(rx, tx(1:numTrainingSymbols)); % Phase correction phaseOffset = angle(mean(conj(tx(1:numTrainingSymbols)) .* y(1:numTrainingSymbols))); yCorrected = y * exp(-1i*phaseOffset); % BER after equalization rxDataEq = pskdemod(yCorrected, M, pi/4); [...

Superheterodyne Receiver Online Simulator

Superheterodyne Receiver Simulator Simulation Controls Message Frequency (Hz): Carrier Frequency (Hz): Intermediate Frequency (Hz): Sampling Frequency (Hz): Simulation Duration (s): Run Simulation Signal Plots Numerical Values (first 10 samples) Superheterodyne Receiver Workflow The superheterodyne receiver converts a received RF signal to an intermediate frequency (IF) to simplify filtering and amplification, and finally recovers the original message signal. Steps: Input Message Signal: A low-frequency signal m(t) (e.g., sine wave). RF Modulation (AM): The message modulates the carrier with amplitude modulation: RF(t) = [1 + K_a * m(t)] * cos(2Ï€ f_c t) Mixing with Local Oscillator (LO): The RF signal is multiplied by a local oscillator LO(t) = cos(2Ï€ f_LO t) to produce: IF(t) = RF(t) * LO(t) Intermediate Frequency Filtering: A low-pass filter extracts t...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Download Papers and Solutions Exam Pattern Preparation Tips FAQs More Home / Engineering & Other Exams / UGC NET 2026 PYQ 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2026 - Question Paper Download PDF June 202...

Design of CMOS Flip-Flops (SR, D, JK)

Design of CMOS Flip-Flops (SR, D, JK) A flip-flop or latch is a circuit with two stable states, used to store state information. It is the basic storage element in sequential logic and a fundamental building block in digital electronics systems, including computers and communication devices. Flip-flops and latches act as data storage elements for states, pulse counting, and synchronization of variably-timed input signals to a reference clock. Flip-flops can be transparent/opaque (latches) or clocked (synchronous, edge-triggered). Latches are level-sensitive, while flip-flops are edge-sensitive. In sequential logic, the output depends on current inputs and previous states. Fig.1 shows a sequential circuit combining a combinational block and a memory element. ...

Flat vs Frequency Selective Online Simulator

Flat vs Frequency Selective Online Simulator Channel Type Without Fading Flat Fading Multipaths Nakagami m SNR(dB) Run Simulation Input Signal Signal After Fading Constellation Diagram BER vs SNR Explore Advanced Flat vs Frequency-Selective Fading Simulator Want to see these equations in action? Visualize it. Launch Simulator Tool Flat Fading and Frequency-Selective Fading Effects of Multipath Components and the Nakagami-m Parameter 1. Flat Fading Flat fading occurs when the signal bandwidth is smaller than the channel's coherence bandwidth, meaning that all frequency components of the transmitted signal experience approximately the same fading. It is typically associated with narrowband signals, where the multipath delay spread is small relative to the symbol duration. ...

MUSIC Algorithm Explained (with MATLAB + Simulator)

Practical Implementation of the MUSIC Algorithm The focus is on how the algorithm works computationally , not just theory, and it explains the denominator (a H E n E n H a) mathematically and intuitively. 1. Introduction The MUSIC (Multiple Signal Classification) algorithm is a high-resolution method used in signal processing and array processing to estimate the Direction of Arrival (DOA) of signals received by a sensor array. Unlike classical beamforming methods, MUSIC uses eigenvector decomposition of the covariance matrix to separate the signal subspace and noise subspace , allowing it to achieve much higher angular resolution. In practical implementations, MUSIC works by: Simulating or collecting array signals Computing the covariance matrix Performing eigenvalue decomposition Separating signal and noise subspaces Scanning possible angles using a steering vector Constructing a pseudo-spectrum where peaks indicate signal directions 2. Signal Mo...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSK, BPSK (with Simulation)

🧮 MATLAB Code for BPSK, M-ary PSK, and M-ary QAM Together 🧮 MATLAB Code for M-ary QAM 🧮 MATLAB Code for M-ary PSK 📚 Further Reading MATLAB Script for BER vs. SNR for M-QAM, M-PSK, QPSK, BPSK % Written by Salim Wireless clc; clear; close all; snr_db = -5:2:25; psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); for i = 1:length(psk_orders) ber_psk_results(i, :) = berawgn(snr_db, 'psk', psk_orders(i), 'nondiff'); end for i = 1:length(qam_orders) ber_qam_results(i, :) = berawgn(snr_db, 'qam', qam_orders(i)); end figure; semilogy(snr_db, ber_psk_results(1, :), 'o-', 'LineWidth', 1.5, 'DisplayName', 'BPSK'); hold on; for i = 2:length(psk_orders) semilogy(snr_db, ber_psk_results(i, :), 'o-', 'DisplayName', sprintf('%d-PSK', psk_or...