Wednesday, April 13, 2022

15-RF & Microwave Circuit Overview

RF & Microwave circuit analysis is used in the design of analog circuits operating approximately in the 100 MHz to 100 GHz frequency range. This is my main area of interest and the reason I researched how to design circuit simulation software. I was amazed as a young engineer at how well circuit simulators could predict the performce of large hybrid microwave circuits and monolithic microwave integrated circuits (MMICs).  As we have seen with the Test Diagram and Digital Sim projects, circuit simulation is a diagram with analysis. 

In this case, we will create a diagram using RF & Microwave components such as resistor, capacitor, inductor, input and ouput ports, ground, wires for interconnecting components, microstrip and potentially other distributed components. We will use a "Traverse" method to evaluate the RF performance of each component until we achieve the full circuit analysis. The analysis method will evaluate arbituary N-port circuits over a specified frequency range and display the results on XY line chart and data display table in terms of S-parameters.

This project will use the Nuget library called "Mathnet.Numerics" for complex matrix analysis. The library provides 64-Bit double precision for most complex variables. Unfortunately, it only provide 32-Bit float precision for complex matrix operations. A future post may show how to write a similar microwave tool using C++/Qt using the Eigen math library which has double precision for complex matrix operations. Another possibility is to write a custom math library for C# with full double precision support.

Since this is my key area of interest, I will go through the fine details of the software architecture, models, and user interfaces. I will identify the sources for model equations. Hopefully, this will bridge the learning gap of how to design a RF & Microwave Circuit simulation software application. In a future post, I hope to show how the architecture and algorithms used in C#/WinForms can be ported to other languages and graphics libraries such as C++/Qt to create a cross-platform application that can run on Windows, Mac, Linux, Android and IOS. Why tackle this mountain of software design? Because it's there...and to learn new things.


No comments:

Post a Comment

34-Microwave Tools with Analysis (Series Final Post)

In this final blog post, I have integrated Y-Matrix analysis into the Microwave Tools project. This version has addition Lumped, Ideal, Micr...