Portrait of Siham Arab
Open to work, available immediately, anywhere in France

Siham Arab

Electronics, networks and telecommunications engineer

I am an engineer with a Master's degree in Signal and Telecommunications. I take a problem from analysis to a tested solution: I model it, build it, measure it and improve it. I am available immediately for a full-time position anywhere in France.

Skills map

Fields I work in

My projects draw on several fields at once, each with a different mix.

  1. Signal and radar processingechoes, spectrograms, filters
  2. Machine learning and AIdetection and classification
  3. Optimisationswarm search, energy trade-offs
  4. Digital and hardware designVHDL, fixed-point arithmetic
  5. Wireless networkssensor networks, energy models

Four projects, four ways of combining fields

End-of-studies project, ENSTA Bretagne

Maritime radar target detection

How do you spot a ship on a radar when its echo is weak and buried in noise? I compared a classic method, CA-CFAR, with two AI detectors, YOLOv8n and YOLOv10n, on 40,000 simulated radar images, and classified 11 types of radar waveforms.

  1. Radar signal processingechoes, CA-CFAR
  2. Data engineeringdataset, annotations, splits
  3. Machine learningYOLO, ResNet, custom CNN
  4. Evaluationclassic versus deep learning
Master's integrator project, UBO

Target recognition on SAR radar images

A light neural network that recognises ten types of military vehicles in noisy radar images, compared with four well-known reference networks.

  1. Radar imagingSAR, speckle noise
  2. Image processinglog scale, normalisation
  3. Deep learningcustom CNN
  4. Robustnessaugmentation, comparison
Master's project, UMBB, in a pair

Making a wireless sensor network last longer

Which sensors should coordinate the others to save the most battery? I used particle swarm optimisation to choose them and compared the result with the reference protocol LEACH, in a MATLAB simulation.

  1. Wireless networkssensors, clusters, base station
  2. Energy modellingfirst-order radio model
  3. Optimisationparticle swarm
  4. SimulationMATLAB, comparison with LEACH
Personal project

An 8-tap digital filter in VHDL

A small digital circuit that removes an interference from a signal, written in VHDL and checked sample by sample against a Python model. Simulated with GHDL.

  1. Digital signal processingFIR filter design
  2. Fixed-point arithmeticQ1.7, saturation
  3. Hardware designVHDL, registers, multipliers
  4. Verificationbit-exact against a Python model

Profile

Analytical rigour

Structured problem solving, systematic testing and optimisation. Every result is validated against a reference.

Autonomy and organisation

Self-driven on open research problems. In a team, I structure the work and keep it moving, scrum-master style.

Adaptability

Quick to iterate after a failed attempt, and effective with very different profiles.

Impact-driven

Motivated by technology with a visible effect on people's wellbeing: smart agriculture, urban planning, transport.

Career goal

An engineering role in a cross-functional R&D team, growing towards coordination between disciplines.

Languages

English C2, French C2

Areas of interest

  • Radar and signal processing
  • AI applied to signals
  • Embedded systems and digital electronics
  • Network administration and security
  • Smart agriculture, urban planning and transport

Beyond work

  • Hardware diagnostics and repair
  • Non-fiction reading
  • Cooking
  • Scrapbooking

My path

  1. Master in Networks and Telecommunications
  2. Master in Signal and TelecommunicationsUniversité de Bretagne Occidentale, with modules in AI and computer vision
  3. End-of-studies project at ENSTA Bretagne15 April to 11 September 2026, radar target detection
  4. TodayOpen to work, available immediately

Tech stack

Languages

  • Python
  • MATLAB
  • C, C++
  • VHDL
  • SQL

AI and data

  • PyTorch
  • TensorFlow, Keras
  • scikit-learn
  • YOLO

Hardware design

  • VHDL with GHDL, simulation

Tools

  • Git, GitHub
  1. Radar signal processingechoes, CA-CFAR
  2. Data engineeringdataset, annotations, splits
  3. Machine learningYOLO, ResNet, custom CNN
  4. Evaluationclassic versus deep learning
1

Objective and context

A radar sends a wave and listens to what comes back. When the wave hits a ship, part of the energy returns as an echo. The challenge is telling this echo from noise, especially when the target is weak. The goal is to detect such targets automatically in time-frequency images.

A radar pulse, the echo from a ship, and the signal received over time
How an echo appears above the noise. Illustration.
2

Data and preparation

The RadDet 40k dataset holds 40,000 simulated spectrograms of 11 radar waveform classes. Each image has an annotation file in YOLO format, and an image with no annotation is pure noise.

Design choice: The 40,000 images are split into 20,000 for training, 14,000 for validation and 6,000 for testing.

Spectrograms of the 11 radar waveform classes
The 11 waveform classes of the dataset.
3

CA-CFAR thresholding

CFAR uses a detection threshold that adapts to the local noise instead of staying fixed. For each tested cell, the noise level is estimated from the neighbouring cells, leaving out guard cells around the target. A cell above the threshold is a detection. Implemented in Python.

Design choice: A 17 by 17 window with a 5 by 5 guard zone, which gives 264 reference cells, for a false alarm probability of 1% per cell.

A sliding window moving along a noisy signal while the detection threshold follows the noise level
The threshold follows the noise level, a fixed one does not. Illustration on synthetic data.
Reference cells, guard cells and the cell under test of a CFAR window
The principle, drawn with 5 reference cells and 2 guard cells on each side.
Effect of the reference window size on the threshold
Too small a window follows the noise too closely, too large a window reacts too slowly.
4

YOLO and AI detection

YOLO looks at the image in a single pass: a convolutional network extracts features, then directly predicts boxes and a confidence score. Here detection is binary: target or no target.

Design choice: YOLOv8n and YOLOv10n in single-class mode, on 128 by 128 images, evaluated image by image: target present or absent.

Single-stage detector: image, neural network, direct prediction, final result
5

Waveform classification

In addition, the 11 waveforms are classified by pre-trained ResNet 18, 34 and 50 networks and by a dedicated four-block convolutional network.

  1. Radar imagingSAR, speckle noise
  2. Image processinglog scale, normalisation
  3. Deep learningcustom CNN
  4. Robustnessaugmentation, comparison
1

Objective and context

Synthetic aperture radar produces high-resolution images, day and night and in any weather. The sensor works in X band at 9.6 GHz. The goal is to classify military vehicles automatically with a model that is accurate but light.

Design choice: Aim for a light model, designed for real time and embedded use.

A SAR image of an urban area
A SAR image: bright points and a granular noise called speckle.
2

Data and preprocessing

The MSTAR-10 dataset has ten vehicle classes, from artillery to bulldozers. Training uses views taken at 17 degrees and testing uses 15 degrees. Each image is resized, converted to a logarithmic scale and normalised.

Design choice: The logarithmic scale compresses very bright pixels and steadies the noise.

  1. Resize128 × 128
  2. Log scalelog of 1 plus i
  3. Normalisebetween 0 and 1
Photographs of the vehicle types in the dataset
Vehicle types found in the dataset.
3

CNN architecture

The network is sequential, with three convolutional blocks of 32, 64 and 128 filters. The first layers pick up edges and bright points, the next ones more complex patterns. A dense classifier of 512 neurons with dropout ends on ten outputs.

Design choice: Small 3 by 3 filters and dropout, for few parameters and less overfitting.

  1. Input128×128
  2. Conv 323×3 + pool
  3. Conv 643×3 + pool
  4. Conv 1283×3 + pool
  5. Dense 512dropout 0.5
  6. Output10 classes
4

Training and robustness

Training uses Adam with a low learning rate, batches of 32 images and early stopping. To strengthen generalisation, the minority classes are enriched with synthetic SAR images, rotations, shifts and simulated speckle.

Design choice: Augment only the training data, so that the test stays comparable.

Training and validation loss and accuracy curves of the custom network
Training curves of the custom network, from the project report.
Normalised confusion matrix of the custom network
Normalised confusion matrix, from the project report.
Sample predictions of the network on SAR images
Sample predictions, from the project report.
5

Comparison with reference networks

The custom network is compared with four well-known architectures: AlexNet, VGG-16, ResNet-50 and DenseNet-121.

  1. Wireless networkssensors, clusters, base station
  2. Energy modellingfirst-order radio model
  3. Optimisationparticle swarm
  4. SimulationMATLAB, comparison with LEACH
1

Objective and context

A wireless sensor network is made of small autonomous nodes with limited energy. To save battery, they group into clusters, each led by a head that gathers the data and sends it to the base station. If a head is badly chosen, some nodes run out too fast and the network breaks apart.

Design choice: Aim for the lifetime of the network, rather than overall energy saving alone.

Sensor network organised in clusters around a base station
Clusters, cluster heads and the base station. Figure from the project report.
2

Modelling the problem

The simulated network has 100 sensors spread over 100 by 100 metres, with the base station at the centre. Energy use follows a first-order radio model, which depends on the transmission distance. Three criteria are combined in a weighted cost function: the distance inside the cluster, the residual energy of the head and the balance of energy across the network.

Design choice: Weight the criteria, giving priority to residual energy and distance.

Animated schematic of cluster heads being re-elected over successive rounds
Cluster heads change over the rounds. Schematic illustration.
3

The PSO algorithm

Inspired by the flight of birds, PSO evolves a population of 30 particles, each one a configuration of cluster heads, for up to 100 iterations. At each step a particle moves according to its own best position and the best position of the whole swarm.

Design choice: An inertia weight of 0.729, a classic value for stable convergence.

Flowchart of the particle swarm optimisation algorithm
The algorithm, from the project report.
Animated particles converging towards the best solution
A swarm converging on a best position. Illustration on a simple test function.
4

Implementation and validation

The algorithm is coded in MATLAB and rerun at regular intervals to re-elect the cluster heads. To validate the approach, it is compared with the reference protocol LEACH, under the same simulation conditions, over up to 100 rounds.

Design choice: Re-elect the heads every 5 rounds, to limit the computing cost of the optimisation.

Cluster map with heads chosen by PSO
Heads chosen by PSO, from the project report.
Cluster map with heads chosen by LEACH
Heads chosen by LEACH, from the project report.
  1. Digital signal processingFIR filter design
  2. Fixed-point arithmeticQ1.7, saturation
  3. Hardware designVHDL, registers, multipliers
  4. Verificationbit-exact against a Python model
1

Need and specification

A useful signal at 500 Hz is disturbed by an interference at 3.2 kHz and by noise. It has to be cleaned on the fly, with one sample processed per clock cycle. Python or MATLAB can design the filter, but they cannot guarantee latency or throughput, which a hardware circuit holds by construction.

Design choice: Target a hardware circuit to get a fixed processing time, as in a radar or telecom chain.

2

Design in Python

A low-pass FIR filter with a 1.5 kHz cutoff is computed with SciPy. Its coefficients are then rounded to fixed point on 8 bits. The gain stays close to 0 dB at 500 Hz, at minus 0.5 dB, and falls to minus 33 dB at 3.2 kHz.

Design choice: 8 coefficients on 8 bits, a compromise between attenuating the interference and the number of multipliers to wire.

Frequency response of the filter with the useful signal at 500 Hz and the interference at 3.2 kHz
Frequency response of the quantised filter.
3

VHDL architecture

A line of registers remembers the last 8 samples. The 8 multiplications run in parallel, one per coefficient, then the sum is scaled with saturation before being registered at the output.

Design choice: A 19-bit sum, so that no accumulation overflows before scaling.

Animated circuit: samples shifting through registers, multiplied by coefficients and summed
The circuit at work, with values from the real simulation.
Block diagram of the filter: shift registers, multipliers, adder and scaling
Block diagram.
4

Simulation and validation

A VHDL testbench, run with GHDL, applies 200 noisy samples to the filter. The output is compared with a fixed-point Python model: no difference. Against the floating-point filter, the maximum deviation is about one quantisation level. Latency is 2 clock cycles. The design is simulated only, it has not been synthesised on a board.

Design choice: Validate bit by bit against a reference model rather than by eye on a curve.

Noisy input and filtered output from the simulation
Real data from the GHDL simulation.

Let's talk

I am looking for a full-time position as an electronics, networks or telecommunications engineer, anywhere in France. The best way to reach me is by email.