Embedded projects portfolio

There is a short embedded projects’ description in which I acted as team-leader and system architect (software + hardware). In each projects I developed some part of software; which part I mention in the list below under the remark developed software. Not all the projects are mentioned here; I included only those ones for which there is a completed implementation for both software and hardware.

Contact: nazim.ru@gmail.com

1. Passive Coherent Radar

Every complex project goes through a prototype stage, so the Passive Radar prototype is presented here. The Passive Radar can operate in a wide frequency range – FM, GSM and in many others.

It is famous for not containing its own transmitter and uses external radio environment transmitters, such as FM radio stations, GSM sites and others.

Let have a look at the picture and list everything there excluding the antenna (antenna elements are too large to put here).

1. Steering Unit: provides an effective diagram on target direction and suppress a base station; has two dipols input and two outputs:

• reflected useful signal + suppressed FM station signal (Target signal);
• FM station signal + suppressed reflected useful signal (Reference signal).

2. «Target» Master RF SDR module

3. «Reference» Slave RF SDR module, receives sync from Master module synth for coherent data processing

4. I2C control of RF modules link: frequency and others parameters

5. 2 x I/Q outputs of RF modules

6. Pass — band IF filters

7. Reference frequency for the Slave RF module from Master RF module for the strong synchronization

8. High-speed 2x channel ADC FMC module with 250 MSampes/s rate, I/Q input

9. Fast FPGA primary data processing, output data to ARM.

Adaptive filter as an important part to suppress base FM station signal placed on ARM. Data processing software is implemented on Xilinx Zynq-7000 ARM + FPGA architecture

10. BeagleBoard ARM / Fixed Point DSP board for ambiguity function and CFAR calculation

11. Ethernet switch connecting modules between each other

Passive Radar Prototype

 

The most important and complex part of Passive Radar is real time data processing. This task is significantly complicated by the fact that the level of the useful signal (reflected from the target) is lower then the level of the interference signal (FM station, for example, which highlights the target) by a huge amount – about 100 – 120 dB.

To suppress the interference signal an adaptive filter is used, that is implemented on ARM processor. The filter has lattice structure and rely on Gram-Schmidt orthogonalization procedure.

The ambiguity function (AF) shows the reflected signal value in the two coordinates: time delay and the Doppler frequency shift. The AF processor provides finding the coordinates of the targets.

Developed software:

Real-time FPGA-based data processing: transversal digital filter, interface to ARM (VHDL)
Adaptive filter (ARM, C++)
Ambiguity Function processor (ARM, C++)
Python modeling of sources signals and data processing

2. Voice Commutation System

Air controllers use Voice Commutation System that provides the voice link between pilots and controllers via radio.

Eurocontrol issued the requirements for digital, IP-based VCSs ED-136, ED-137, and developed VCS meets this requirements.

The VCS contains ARM/DSP processor CM-3730 and STM32-based replaceable plug-and-play modules for the different audio interfaces.

VCS relies in a set of communication protocols such as TCP/IP, UDP, SIP, SDP and extended version of RTP – exRTP.

ExRTP uses extended RTP headers for transmitting radio control signals – PTT and SQL.

System test of two VCS units

Developed software:

SIP state machine (C++, Qt)
Extended RTP implementation (C++)
Interfaces between modules (C++)

3. Direction Finder

 

Direction Finder hardware. The data processing unit containing the demodulators, CPU and a peripherals are located on the first shelf of the rack

VHF Direction Finders (DF) is used for the plane navigation and the radar tracks identification. This DF development is based on FreeBSD OS and developed-hardware support of real-time data processing.

The hardware processing chain consist on phased circular antenna array, receivers and a phase demodulators. The processing unit works with signals after demodulators and started with realtime demodulator driver, that also contains a 1st stage signal detector and the a digital filter. The driver works in FreeBSD system space and sends data to userspace.

In the userspace, the data processing software extracts an angle information.

Since the development, more than 150 systems have been produced, delivered and installed in the airports.

 

 

 

The first Direction Finder is passing a site acceptance test at the Saint-Petersburg airport.

CPU Geode i686 board and the peripherals

 

Developed software:

Realtime demodulator FreeBSD driver (C)
1st stage signal detector and the a digital filter included in driver (C)
All the userspace data processing software (C++)

4. S-band Primary Radar

The S-band Primary Radar was developed in cooperation with Argis Ingegneria, Italy.

Signal and Radar processing VPX unit contains Digital DownConverter (DDC), includes 2-channel ADCs and FPGA, Target Processor and Radar Processor.

Functions of DDC:

• Sample a 24 msec sequence at IF 640 MHz of both Main and Aux signals and store sampled data;
• Convert IF band to base band;
• Convert data of Main & Aux signals to
I /Q components;

Signal and Radar Processor VPX rack

• Apply decimation to acquired I/Q data streams;
• Apply digital filters to remove unwanted frequency components;
• Create full data record containing I/Q data and position for Main and Aux channels;
• Execute Pulse Compression of signal contained in the current data stream;
• Apply decimation to compressed I/Q data streams;
• Send record to Target Processor via direct high speed serial connection.

The Target Processor main functions:

• Receive data record from DDC containing Main & Aux data (two channels of I/Q components + position data);
• Range gate: collect samples from N1+N2 subsequent echoes, at positions shifted by one range bin duration at each processing section;
• Consider the N pulses received in the Time-on Target period corresponding to the same range and azimuth (θ);
• Apply 2 filters banks on N1 and N2 collected samples, with coefficients selected by clutter conditions;
• Create Moving Target Detection (MTD) message with pulse attributes and send it to Radar Processor.

The Radar Processor main functions:
• Receive MTD message with filter banks response from Target Processor;
• Detect and declare a moving Target on the basis of thresholds criteria;
• Create a class of Target messages defined by same attributes within tolerances defined by proper thresholds;
• Send plots to ATC LAN;
• Organize output data into records according to Eurocontrol standard Asterix protocol.

Developed software:

Digital Downconverter (VHDL):

• Sample a 24 msec sequence at IF 640 MHz of both Main and Aux signals and store sampled data;
• Convert IF band to base band;
• Convert data of Main & Aux signals to I ,Q components;

Target Processor (C++):

• Receive data record from DDC containing Main & Aux data (two channels of I, Q components + position data);
• Range gate: collect samples from N1+N2 subsequent echoes, at positions shifted by one range bin duration at each processing section;
• Consider the N pulses received in the Time-on Target period corresponding to the same range and azimuth (θ);
• Apply 2 filters banks on N1 and N2 collected samples, with coefficients selected by clutter conditions;
• Create Moving Target Detection (MTD) message with pulse attributes and send it to Radar Processor.

The Radar Processor (C++):
• Create a class of Target messages defined by same attributes within tolerances defined by proper thresholds;
• Send plots to ATC LAN.

5. Drone Image Processing Modules

5.1 Hybrid Landing System

Developed software:

Realtime image processing (C++)

5.2. AI Helicopter recognition system

Developed software:

Modeling image processing (Python)

5.3 Detection rotating antennas of the ground radars

UAV, Drone, Radar Detection, Visual Radar Detection System, Antenna Arrays Detection,

Two-arrays radar antenna and its spatial 2D spectrum

 

UAV, Drone, Radar Detection, Visual Radar Detection System, Antenna Arrays Detection,

Distinguishing between two antenna arrays with different periods. Various local maxima of the spatial spectrum indicate the presence of two types of antenna arrays (used as signature)

 

Detection rotated radar antennas in realtime

Developed software:

Modeling image processing (Python)
Image data processing (C++)

5.4 Visual drone landing system

FPGA/VHDL module finding image edge Sobel algorithm testing

 

FPGA/VHDL module finding landing marker algorithm testing

 

 

 

ARM/C++ module finding landing marker algorithm testing

Developed software:

Modeling image processing (Python)
Image data processing (C++)