Log in

SMR Optimization via Matlab Toolbox

By Chloe Allison 29 August 2019

In this article we discuss Genetic Algorithm (GA) optimization for a Solid Mounted Resonator (SMR) design using OnScale Command Line Interface (CLI) and MATLAB Optimization Toolbox.

What is an SMR?

SMRs are a type of bulk acoustic wave (BAW) resonators used for Radio Frequency (RF) filter applications in mobile phones. SMR structures typically consist of a piezoelectric layer stacked on top of multiple thick layers (aka acoustic mirror or Bragg Reflector) mounted on a substrate.

The Bragg reflector is built to reduce substrate losses and maintain a high Quality (Q) factor, which is a key performance metric for these types of resonators to achieve the desired filter performance.

Optimizing with The Genetic Algorithm

Genetic Algorithm (GA) is a method used to optimize constrained or unconstrained problems and is modelled after biological evolution. This random-based algorithm echoes the process of natural selection by selecting the fittest individuals to produce the next generation of offspring.


This algorithm is particularly useful for optimizing problems with many variables. GA starts with a random population which is made up of individuals. The fittest individuals from that population are then used to form another population. The more suitable they are, the more likely they will be chosen to produce offspring.


Basic Steps:

1. Generate random population which is made up of individuals

2. Evaluate the fitness of each individual in the population and give them a score

3. Select individuals called parents from current population (better fitness = more likely selection)

4. Produce children from the parents through crossover (combine both parents attributes) and mutation (random changes to single parent)

5. Place children in the next population

6. Go to Step 2


GA could go on forever, so it is important to have a stopping criterion e.g. limit the search to finite number of populations. When the algorithm reaches the stopping criteria, the best individual is returned. GA is a very powerful tool for optimizing multivariate engineering problems.

What needs to be optimized in an SMR?

As mentioned previously, Q-factor which is the ratio of stored energy to dissipated energy, is one of the most important performance characteristics of an SMR. It is important that energy is conserved and doesn’t leak through the substrate to achieve high performance. Therefore, Bragg reflectors are an important design feature of SMRs as they stop this energy leakage.

The current practice is to set the Bragg layers to a quarter wavelength thickness which produces a Q roughly in the range of 500-800. However, if the Bragg layers are optimized, Q can reach 1500 or more.

With 5G on its way, mobile phone manufacturers are in a very competitive environment and require the highest performance filters in their handsets so SMR optimization is becoming a crucial step in the SMR design process.

How to perform this GA Optimization with OnScale?

OnScale can be controlled through its Python or MATLAB API, called the OnScale CLI. OnScale Command Line Interface is a way to submit, download and post process FE simulations through the command line.


This allows users to use OnScale’s HPC Platform to run 1000’s of parallel simulations from their preferred program (Python, MATLAB, etc…) and making batch processing of these simulations a trivial task. When combining OnScale’s ability to evaluate many designs in parallel with GA it unlocks the ability to rapidly solve complex design problems.

SMR Optimization using OnScale CLI and Matlab

Using OnScale CLI and MATLAB Global Optimization Toolbox, we optimized the thickness of the Silicon Dioxide and Tungsten Bragg layers in a 1D SMR model to get the highest Q-factor. The stopping criteria was a maximum of 20 populations. This optimization took 4 minutes to complete, running 400 simulations in total. The GA was set to minimise the cost function of 2000-Q.

The best design came back with a best score of 423.1 corresponding to a Q-factor of 1,577 which is a much higher Q-factor than typical quarter wavelength filters.

How can you try it?

Genetic Algorithm paired with the OnScale CLI is a powerful optimization method which can accelerate design process high performance devices like solidly mounted resonators.

We provide some models ready to use on the website. Check out our SMR Optimization Advanced Example here.

If you need some help setting up the OnScale CLI and using it to perform your own optimization studies, please contact us via our forum!


Chloe Allison
Chloe Allison

Chloe Allison is an Application Engineer at OnScale. She received her MA in Electrical and Electronics Engineering from the University of Strathclyde. As part of our engineering team Chloe assists with developing applications, improving our existing software and providing technical support to our customers.