September 17, 2020

This demo is a proof of concept using simple training dataset without multi-line sequence for now. The demo will discuss the internal of the neural machine translation engine, then showing the actual conversion process and post processing.

September 3, 2020

This video demonstrates an open source Pseudogen tool which LeWiz team has extended its functionality to also generate pseudocode for C-source code. Its original release on Github was for Python. The tool uses Statistical Machine Translation method to convert C to pseudo code. It applies tree-to-string and phrase-based machine learning technique to do the conversion. Pseudo code is easier to understand as it's in natural language such as English. This will help developers to tune algorithm, debug easier. Pseudo code is also a form of specification for longer term maintenance purposes.

Matlab-to-Verilog Converter Series: Part 1 (C to Verilog) | Part 2 (MATLAB to C)
September 3, 2020

This demo is about the converter from Matlab to C-language. It's the 2nd video of LeWiz's Matlab-to-Verilog converter series. With Verilog source available hardware acceleration of the code using FPGA or ASIC can be done. This tool uses Neural Machine Translation method to convert from source code in Matlab to C. NMT uses sequence-to-sequence machine learning to do the conversion. We will discuss the internal of the tool and show a demo of the conversion using a sample of Kalman Filter Matlab code.

Matlab-to-Verilog Converter Series: Part 1 (C to Verilog) | Part 2 (MATLAB to C)
September 3, 2020

This demo is about conversion of C source code to Verilog. It is the 1st in a series of videos that we will discuss about code conversion & specification. Other links can be found here.

C code converted to Verilog can be hardware accelerated using FPGA or ASIC hardware. The same code would run on FPGA with more performance, lower latency, less power, and may be more secure. 3 tools from open source and commercial were tested. We will discuss the observations we found using different code from small to more complex LDPC error correction code. The video also discusses the resulting code structure and give a demo of an open source tool.

KF/Object Tracking Series: Part 1 | Part 2
August 18, 2020

This is the 2nd video of the 3 part series demonstrating moving object tracking.

This video demonstrates 3 different use of Extended Kalman Filter to overcome noise in non-linear system and non-linear measurement data. It also shows Extended Kalman Filter can handle both uniform noise error conditions and non-uniform noise errors.

Differential equations modeling the system and measurement data in this case are non-linear. They contain trigonometric functions in them so the regular Kalman Filter cannot be used.

This 3-part demo does take the curvature of the earth into account.

-- PART 1:
SYSTEM STATE: Lat, long, Velocity in X, Velocity in Y directions
SYSTEM MEASUREMENT: Distance and direction of the object from the point of measurement
Modeled differential equations are non-linear

-- PART 2:
Same equations as Part 1 above but remap the measurement from distance and direction to X-Y (lat, long) coordinates

-- PART 3:
Same equations as Part 1 but use non-uniform noise error injection (or more real life conditions)

KF/Object Tracking Series: Part 1 | Part 2
August 13, 2020

This video discusses moving vehicle tracking using radio frequency techniques and Kalman Filter for accurate position estimation. Subsequent videos will show Extended Kalman Filter for non-linear systems, Time Difference of Arrival and Angle of Arrival methods.

Kalman Filter is the DE FACTO standard for use in positioning and navigation. It has a wide range of applications including guidance, navigation, and control of vehicles, especially aircraft, spacecraft and moving ships. It also has usage in cognitive radio, sensors and others.

Kalman Filter is a statistical algorithm. It uses series of measurements fed into it over time to accurately estimate the results and overcoming noise presence in the measured data. It is a machine learning method. KF is modeled by a set of matrix equations for prediction and updating of the estimated results. It can be compute intensive.

    The demo has 3 parts:
  • Modeled in Octave Matlab; uses X-Y coordinates (latitude, longitude), apply uniform error and estimate position
  • Uses Distance and Angle measurements with uniform error in the measurements
  • Uses Distance and Angle measurements but with more realistic non-uniform error distribution

August 6, 2020

Main discussion is about the developing an FPGA-based wireless relay system from our emulated gateway system. We also discuss issues encountered and how we overcome them. An actual demo is also presented as the 2nd half of the video.

The demo's first part is booting, bringing up the system, making wireless connection (In the demo, this part from the client, it will indicate as no Internet accessible. This is because the client is connected to the Internet via the gateway/proxy system. Not directly.)

The demo 2nd part is to browse the Internet and play various simultaneous videos to show its performance. This FPGA has less CPU cores and slower processor frequency (relative to the x86 CPUs). But still need to maintain high quality user experience. Optimization was done and painlessly.

The 3rd part of the demo is to use "tcpdump" to capture packets and prove that the actual packets traverse from wireless interface to the Ethernet interface as we expected how things should work in a proxy application.

The architecture supports wireless technology of different types and Ethernet. Wireless interface can be 5G networking, OFDM wireless, beamforming wireless interfaces, etc. The structures and code are in place. We will continue to advance this platform as you will see.

This is an exciting phase. It opens up many exciting possibilities for us.

July 15, 2020

This demo shows the integration of LDPC (low-density parity-check) and OFDM (orthogonal frequency-division modulation) in an emulated wireless system. LDPC is preferred for its support of high data rate, high efficiency, and good for environment with a great deal of background noise or data corruption. Useful for 5G, WIFI, WiMAX, Digital TV, SATCOM, etc.

The application demonstrated is Ltransfer running on an ARM emulated sub-system to transmit/receive data across an LDPC/OFDM wireless link. Errors are injected and corrected by the system.

Also demonstrated is simultaneous emulation and simulation running in cooperation to overcome performance issues and still using low cost PC systems.

Additional References:

July 13, 2020

This demo is about mobile networking (MANET). It's a part of LeWiz's wireless demo video series.
MANET uses no networking infrastructure so it can be deployed anywhere.
The routing protocol used is the active-routing OLSR (Optimized Link State Routing). Its main advantage is to reduce latency in network routing.

May 8, 2020

This demo is about Orthogonal Frequency Division Multiplexing (OFDM). OFDM is an advanced concept for wireless communications in the air or underwater. It uses multiple sub-carriers instead of the conventional method of single-carrier. OFDM has major advantages in coping with difficult channel conditions and better security. The demo shows simulation of OFDM with hardware acceleration in Verilog and results in digital simulation and waves in time domain.

January 30, 2020

Video demo of modeling wireless link propagation loss due to physical, weather, environment conditions. Additional factors include frequency, distance, TX power, RX sensitivity, etc. These physical factors create complexity in wireless link modeling. The models can be used in emulation system or system of systems to model large network of platforms.

October 7, 2019

Demo of emulation application using a wireless gateway system. Emulated the embedded system with QEMU, SystemC and Virtual I/O. The architecture supports mixed computing architectures ARM CPU, FPGA/ASIC logic/IP cores with Verilog RTL/SystemC, Virtual I/O with wireless network concurrent with Ethernet network. Demo with data intensive Web transfers of images and videos. Applicable usages of gateways are in ground, air and space vehicles.

February 10, 2019

The purpose of co-simulation is to enable hardware and software development in parallel. It shortens total development time, enabling testing of software with actual hardware code before any hardware is available. This will verify the functionalities and compatibility of hardware and software before production.