BPSK-Based Color Image Transmission with Difference Visualization

Image Transmission Using BPSK Modulation

Image transmission plays a critical role in modern communication systems, enabling applications ranging from video conferencing to medical imaging and remote sensing. Among various transmission techniques, BPSK (Binary Phase Shift Keying) modulation provides a robust approach for transmitting visual data over noisy channels. This article presents a BPSK-based color image transmission scheme with difference visualization to assess transmission quality.

BPSK Modulation Fundamentals

BPSK represents digital data by modulating the carrier signa'ls phase. Each binary symbol maps to a specific phase state: logic "0" corresponds to 0° phase, while logic "1" corresponds to 180° phase. This binary phase relationship creates two distinct signal vectors that are antipodal, making BPSK highly resistant to noise and interference.

The transmitted signal can be expressed as:

s(t) = √(2E_b) cos(2πf_c t + φ_i)

where φ_i equals 0 or π depending on the transmitted bit, E_b represents energy per bit, and f_c is the carrier frequency.

Color Image Transmission Architecture

The proposed color image transmission system follows these stages:

Image Preprocessing: The input color image undergoes conversion to RGB format. Each color channel (Red, Green, Blue) is normalized to the [0,1] range to prepare for binary representation.

BPSK Modulation: Binary streams extracted from RGB components pass through the BPSK modulator. Each channel produces a phase-modulated carrier signal centered at the specified carrier frequency.

Channel Transmission: The modulated signals traverse an AWGN (Additive White Gaussian Noise) channel, where noise corrupts the transmitted waveform according to the signal-to-noise ratio (SNR).

BPSK Demodulation: At the receiver, coherent detection recovers the binary data by comparing the received signal phase against the carrier reference.

Image Reconstruction: Demodulated binary streams convert back to RGB pixel values, combining the three channels to reconstruct the transmitted color image.

Difference Visualization

Difference images provide an intuitive metric for evaluating transmission fidelity. The difference map computes the pixel-wise absolute deviation between the original and reconstructed images:

D(x,y) = |I_original(x,y) - I_reconstructed(x,y)|

Brighter regions in the difference image indicate larger distortions, enabling quick visual assessment of transmission quality across the entire frame.

MATLAB Implementation

function received = bpsk_image_transmit(imageData, carrierFreq, sampleRate, snrDb)
    % BPSK Image Transmission Function
    % Parameters:
    %   imageData - Input image matrix
    %   carrierFreq - Carrier frequency in Hz
    %   sampleRate - Sampling rate in Hz
    %   snrDb - Signal-to-noise ratio in dB
    
    packetSize = 100000;
    [rowCount, colCount, channelCount] = size(imageData);
    
    % Convert image to binary stream
    binaryStream = reshape(imageData(:)', 1, []);
    seqLength = length(binaryStream);
    
    outputSignal = zeros(1, seqLength);
    blockIndex = 0;
    
    % Process data in blocks to handle large images
    while (seqLength > (blockIndex + 1) * packetSize)
        startIdx = blockIndex * packetSize + 1;
        endIdx = (blockIndex + 1) * packetSize;
        
        dataBlock = binaryStream(startIdx:endIdx);
        modulatedBlock = bpsk_modulate(dataBlock, carrierFreq, sampleRate);
        noisyBlock = awgn(modulatedBlock, snrDb);
        demodulatedBlock = bpsk_demodulate(noisyBlock, carrierFreq, sampleRate);
        
        outputSignal(startIdx:endIdx) = demodulatedBlock;
        blockIndex = blockIndex + 1;
    end
    
    % Handle remaining bits in final block
    remainingBits = seqLength - blockIndex * packetSize;
    if remainingBits > 0
        finalBlock = binaryStream(blockIndex * packetSize + 1:seqLength);
        paddedBlock = [finalBlock, zeros(1, packetSize - remainingBits)];
        
        modulatedFinal = bpsk_modulate(paddedBlock, carrierFreq, sampleRate);
        noisyFinal = awgn(modulatedFinal, snrDb);
        demodulatedFinal = bpsk_demodulate(noisyFinal, carrierFreq, sampleRate);
        
        outputSignal(blockIndex * packetSize + 1:seqLength) = demodulatedFinal(1:remainingBits);
    end
    
    % Reconstruct image from binary stream
    received = reshape(outputSignal, rowCount, colCount, channelCount);
end

function modulated = bpsk_modulate(bits, fc, fs)
    % BPSK Modulation
    bitDuration = 1 / fs;
    t = 0:bitDuration:(length(bits)/fs - bitDuration);
    carrier = sqrt(2) * cos(2 * pi * fc * t);
    modulated = carrier .* (2 * bits - 1);
end

function demodulated = bpsk_demodulate(received, fc, fs)
    % BPSK Demodulation using coherent detection
    bitDuration = 1 / fs;
    t = 0:bitDuration:(length(received)/fs - bitDuration);
    reference = sqrt(2) * cos(2 * pi * fc * t);
    product = received .* reference;
    
    % Integrate over bit periods and decide
    samplesPerBit = fs / fc;
    demodulated = zeros(1, length(bits));
    for k = 1:length(bits)
        startSample = (k - 1) * samplesPerBit + 1;
        endSample = k * samplesPerBit;
        decision = sum(product(startSample:endSample)) / samplesPerBit;
        demodulated(k) = (decision >= 0);
    end
end

Simulation Results

Simulation experiments employed a 256×256 pixel color test image transmitted over an AWGN channel with SNR values ranging from 0 dB to 10 dB.

Results demonstrate a clear correlation between SNR and reconstructed image quality. At low SNR (0-3 dB), visible artifacts appear throughout the image, concentrated in areas with high color variation. As SNR increases to 6 dB, most artifacts diminish, with only subtle distortions remaining. At 10 dB SNR, the reconstructed image exhibits near-perfect fidelity with minimal perceptible differences from the original.

Difference image analysis confirms these observations: high-SNR transmissions produce uniformly dark difference maps, indicating uniform quality across all image regions. Low-SNR cases show bright regions corresponding to edges and textured areas where noise most significantly impacts pixel values.

Conclusion

BPSK modulation provides an effective foundation for color image transmission in digital communication systems. The technique demonstrates robust performance across varying channel conditions, achieving high-quality reconstruction at moderate SNR levels. Difference visualization serves as a practical tool for system evaluation, offering immediate feedback on transmission quality without requiring subjective image quality assessment.

Tags: BPSK image transmission digital modulation MATLAB Signal Processing

Posted on Tue, 06 Oct 2026 16:50:16 +0000 by Viola