## Petalinux

Petalinux is the Xilinx’s toolchain used for creating whole embedded Linux system for Xilinx devices. It is a convenient way of building all blocks necessary to create the bootable image for the targeted platform. But lets go to the very beginning. What you need for using the Petalinux toolchain except the Development board? Well basically one has to create “a preferably virtual OS – VirtualBox or Vmware player” with the OS recommended via...

## Fixed – Point

I have decided to create a small introduction to the concept of using fixed point representation in FPGA for DSP Operations. Because naturally in RTL design (VHDL, Verilog), there is no standard data format such as "integer or float", but only logic vector with bits representing the data (Ommiting now also the numeric libraries found in verilog and VHDL), its always a good idea to negotiate and or describe the data formats at the input of some...

## Daylight Simulation

Weather is among one of my hobbies and as such, I love to watch windy and various satellite images (Such as en.sat24.com ) as well as enjoying the rain and storms outside and eventually taking images. Unfortunately I don't have the time to focus entirely on weather forecasts and mathematics models, as it would consume all of my free time - So far,I can only say, that there are some awesome books about this topic - most notably the Atmospheric...

## Finite Differences in Electromagnetic with CUDA

Back at the university, I got excited about one of the methods used for computing various quantities from electro magnetics. Particularly the method of finite differences, which is not among the widely used methods, but is somewhat simple to understand and compute (Its not the most efficient method either - but it can be easily accelerated by CUDA). It can be used to calculate the distribution of electric field within a well-defined shape such...

## Real time Julia and Mandelbrot set Visualization

Both the Julia set and the Mandelbrot set are among the most famous fractals sets and it is likely,that you have seen some images of those sets already. They are basically endlessly - repeating patterns in complex plane. To see whether a point from the complex plane lies in a fractal set or not, one has to compute an equation over and over again and see whether it converge or diverge. If for the given point the equation does converge, the point...

## Kepler Orbit Demo

In one of my previous posts (Available HERE), I was using numerical math to create a real-time 2D simulation of moving objects by taking into account Newton's laws of motion and the Newton's law of gravity. The simulation was powered by several methods for solving Ordinary systems of differential equations, including the most basic Euler Method and followed by some advanced methods, such as Runge-Kutta 4th order. This numerical model has...

## CUDA QSWIFT Library with QR EigenValue solver

When I was deciding which topic to use for my diploma thesis back at my university, there were several interesting topics. I ended up choosing "Suppression of photobleaching in Super-Resolution Optical Fluctuation Imaging using digital filtering." which was kind of close to my specialization and besides, I had a great leader of my thesis. If you are interested, feel free to read HERE . The truth is however that some other topics were of mine...

## Cuda FFT R2/R4/R8

When I was starting to learn with CUDA, our teacher told us to chooose an algorithm and implement it in CUDA for a semestral project. For me as beginner, everything seemed complicated as I had no idea how to code anything in CUDA. I would have probably even stuggled with parallel reduction algorithm, but I wanted to know how FFT works and so I asked him whether I could actually work on FFT. I received a negative answer back then that FFT might...

## Differential Equations

And thus it was, that one day, I have decided to create a simulation of Satellite's movement around the Earth by numerically solving differential equations. To be honest, I wanted to know how the satellite's movements can be estimated. But numerically solving the related equations is actually not the way of how that is done in modern GNSS systems mostly due to the fact of error accumulation over time. Simply said, each numerical method has...

## Hamming Codes

Hamming codes are basic Linear Block Codes. The most common configuration is Hamming [7,4] with 3 parity bits, 4 data bits and 7 bits total. The codeword length can be increased however to any arbitrary 2N - 1 as the algorithm is generic. The code can detect and repair 1 error or detect two errors. This is bound by the hamming distance, which is 3 for standard hamming codes, but can be extended to 4 in case of extended hamming codes, which...

Hello and welcome to IrisCores! This will be “hopefully” mine personal technical blog for the upcomming decade(s). It took me a while to chose this domain name, but I have had several reasons to do that (Except for the fact that Iris is my favorite flower🌱) and even for choosing rather a subdomain for blogging – As the name suggest, it opens for more professional business usage, which is even why I have stayed away from DNS names, which would be more appropriate for my personality – rain, woods and cycling.

At the beginning of 2023, most of the posts from my previous domain ( https://www.beechwood.eu ) has been either revised and moved here or discarded in case the topic was outdated or a complete nonsense. Because beeing partially IT admin is sometimes fun, I have decided to keep maintaining the back-end, but to ease my pain a little bit and give me more freedom and less worries, the site is proudly powered by GCP ☁️

After graduating from Czech Technical University in Prague in 2016, I started working in GPGPU (General Purpose GPU ≈ **CUDA** ) for accelerating processing of large data sets and variety of computing intensive algorithms for signal and image processing. Soon after, I started my career as an FPGA designer and since then I have widely broadened my expertise among other related fields such as high speed data interfacing, communication on standartized interfaces such as AXI or PCIe and cooperation with software world and kernel drivers.

My dream is to live and work in peace in the coutryside, have a dog (or two 😇), a loving wife and a wonderfull family ☄️. I find joy in appreciations to my work, but I never expect to receive any. I learned the hard way that if you need something, you have to ask for it and go for it and that every small step you take brings you closer.

Love and kindness. Two words, that make life worth living