Building Satellite Communication Systems in MATLAB for Start-Ups and Enterprises
Overview
With a multitude of opportunities for satellite communications start-ups to gain momentum as the demand for global connectivity is growing, it is crucial to leverage the cutting-edge technology for designing and modelling end-to-end satellite communication systems.
Join our expert-led webinar to explore capabilities of MATLAB for satellite system design. This session will provide valuable insights into how the Satellite Communications Toolbox and RF Blockset can be harnessed to create sophisticated designs tailored for dynamic scenarios such as aircraft - satellite constellation handoffs. Attendees will gain practical knowledge through a hands-on demonstration, showcasing the power and flexibility of MATLAB.
Overview of Satellite Communications System Design in MATLAB:
- Satellite Communications Toolbox: learn the capabilities, get an insight in how to address common and complex challenges in designing satellite systems, and see how you can easily automate the creation of robust communication links and testing and validation of protocols.
- Overview of RF Blockset Workflow: learn about the workflows within the RF Blockset that enable detailed modeling and simulation of RF frontend components together with antennas and arrays, crucial for accurate representation of real-world hardware performance.
- Aircraft Handoff Scenario Simulation: observe a practical use case where an aircraft communicates with a constellation of satellites. Experience how the model can estimate high level quality characteristics of the link (Power, SNR, EVM...) and how these can be used for controlling the handoff process.
About the Presenters
Dr. Alvaro Blanco del Campo is a Technical Expert at MathWorks EMEA and specializes in the domain of Radio Frequency. He has over 15 years of experience designing, building, testing and validating Radio Frequency systems, from signal generation to antenna design for civil and military applications. Alvaro is a Telecommunications Engineer and holds a doctorate in High Resolution Radars, obtained at the Technical University of Madrid.
Dr. Ahmad Saad is with the application engineering group at MathWorks specializing in wireless communications and signal processing. Prior to joining MathWorks, he was a researcher and team lead at the Fraunhofer Society in Munich, Germany, where he was involved in the design and modeling of cognitive communication systems with applications in ultra-reliable industrial and vehicular connectivity. He obtained his Ph.D. in communication systems, which was jointly supervised by the Fraunhofer Society and the University of Augsburg in Germany.
Recorded: 16 Apr 2024
Greetings to everyone joining us today. We are excited to have you on board with our session on building satellite communication systems in MATLAB for startups and enterprises. My name is Ahmad Saad, and alongside me is my friend and colleague Alvaro Blanco, and we are both from the Application Engineering Department at MathWorks.
Our agenda is structured into three main segments. In our first segment, we will dive into the MATLAB world and explore a hands on workflow for designing Satcom systems in Matlab. Next, we will explore an overview for satellite system design concepts. Finally, we will look at the design of antennas and RF systems, which are crucial components in any satellite communication system.
As the 5G standard continues to evolve, Satcom networks are expected to become increasingly important. Also, with 6G research up and running, satellite networks will play a key role in realizing many of its use cases. For example, by providing connectivity globally, reaching remote and rural areas, by enabling innovative applications and services in sectors such as aviation, disaster response, or environmental monitoring, or adding layers of resilience to the terrestrial network infrastructure.
End to end design and implementation workflows are essential for rapidly introducing NTN systems to the market. From the early requirements and research phases to design both on component and system levels to implementation on hardware, integration with test and verification and each and every step. And this is what MATLAB gives you with its powerful end to end workflows. And hopefully the benefit of MATLAB will become clear at the end of today's session.
So let us begin with the hands on workflow in MATLAB for designing satellite communication systems. Here is the scenario that we are going to model today. We have an aircraft that is flying between London and Rome. And we want to ensure the aircraft is always connected to the constellation of LEO satellites. So at each point in time, we will be steering the aircraft transmitter to point to the satellite that is sending the strongest signal so that a connection can be established.
The MATLAB workflow will include two parts. In the first part, I will walk you through the satellite scenario modeling in addition to beamforming. And in the second part, I will hand it over to Alvaro, who will walk us through the RF and the antenna design. So let me now switch to MATLAB to take a closer look at the MATLAB workflow.
So we start with the first part where we're going to build the scenario and perform the beamforming. So we create the satellite scenario. We define the global variables and the simulation time, the operating frequency, and then we create a satellite scenario object. So we call the satellite scenario.
We define its stop time, its sample time, and then we call the Satellite Scenario Viewer on the scenario object that we have just created. That will help us basically visualize our scenario throughout the simulation. So here we can see the scenario that we have just created. It is still empty. And the next step is basically adding the elements to this scenario.
So we add the satellite constellation next. So we will be using an iridium satellite constellation. We will be loading it from a TLE file. So we just call the satellite function on the scenario and on the TLE file. And this will basically add the iridium satellite constellation to our scenario. Then we add the transmitters and the receivers as well as the antennas. In this case, we will be using isotropic antennas for each and every one of the satellites.
So each one of the satellites will have a single element isotropic antenna. I design my single element. So I configure its size to be one by one. Then I call the receiver and the transmitter functions on the satellites with also specifying the antennas. Of course, I can also specify other parameters, such as the frequency and the power for the transmitter. So by doing this, this will basically, as I've said before, will add the iridium constellation to my scenario, as we can see here.
So after adding the constellation of satellites, the next step is to add the ground stations. So in this case, we have two ground stations, two airports, one in London and one in Rome at those specific coordinates. So those are the latitude and the longitude coordinates. And what we do also in a similar workflow, we call the ground station function on the scenario using those coordinates. So by doing this, this will add the airports to my scenario as well, as we can see here.
Now, after adding the airports also in a very similar workflow, we add the aircraft. We define the start and the end latitude, longitude, and altitude. We call the function on the scenario using the coordinates. And this will also add the aircraft to my scenario, as I can see here. In addition to its path that will be from the start to the finish longitude, latitude, and altitude.
So after adding the aircraft, we start adding the transmitters and the receivers and the antennas. So for the receiver part, I will also be using an omnidirectional antenna. So I call the receiver function on the aircraft with a certain mounting angle. For the transmitter part, I will be using a 64 element uniform rectangular array. And then I will mount it on the transmitter.
So I determine the wavelength. We determine the array size. In this case, it is eight by eight, which will give me a 64 element URA. And then for each element of my 64 element URA, I will be using the radiation pattern of a dipole antenna that I have already designed. So what I will do is I will just load this into my MATLAB workflow.
Next, in order to be able to work with this irradiation pattern, I need to package it in a phased custom antenna element object so that I can manipulate it with the phased array toolbox. So I create the phased custom antenna element. I configure the azimuth and the elevation angles, and then the irradiation pattern will be that of the dipole antenna that I have already loaded. And then what I can do is I can just also inspect the pattern of the dipole antenna using the pattern function by calling it also using the operating frequency. So this will give me the 3D activity pattern of the single antenna element that I will be using into the URA.
After that, I use the designed dipole antenna in a 64 element array. So we call the phased.ura object from the phased array toolbox. I specify the array size, the element spacing, and then the element. Each and every element of the 64 element array will be this dipole. And then I can also call the pattern function to investigate the radiation pattern of my 64 element array. So this is how the radiation pattern looks like.
Now I need to mount this transmitter antenna array onto my aircraft. So I call the transmitter function. I define the mounting angle as 0, 90, 0, which means it's pointing to the sky all the time. So pointing to the maximum of the radiation pattern upwards. And then what I can do is I can also visualize that onto the scenario itself. So I can call the pattern function on the scenario that I have created on the aircraft. And then this will also be visible onto my scenario. And here we can see how the radiation pattern is pointing 90 degrees upwards.
Now let us look at how the steering or how the pointing works for the transmitter of the aircraft. So here what I want to do is I want to be able to point the transmitter of the aircraft to the satellite with the strongest signal or to any given satellite. So for this, I will first get the angle, the mechanical angle between the transmitter of the aircraft and the certain satellite. And then what I will do is I will obtain or I will try to get the complex weights that need to be applied to the 64 element array so that I can steer to this angle, basically.
So what I do is I use the AER function from the satellite communication toolbox. This function will give me the azimuth, elevation, and range between the transmitter of the aircraft and any given satellite. In this case, it is satellite number 43. After getting the angle, I also wrap it to be between minus 180 and 180 degrees. And then I create a steering vector vector object. So I call the phase.steering vector function. This will create a steering vector object for me for an eight by eight antenna array.
And then I just call this steering vector onto the mechanical angle that I have obtained and using the operating frequency. And this will basically give me the phase shifts or the complex weights that need to be applied to each element of my 64 element array. And then I can also use the point add function to point the transmitter of the aircraft using those weights. So this is in a nutshell how the beam steering works.
So next, what we will do is we will apply the beamforming, which is at each step of the simulation, we will be looking at the satellite or we will try to obtain the number of the satellite that is giving me the strongest signal at the receiver of the aircraft in order to be able to steer the transmitter of the aircraft to it as well. So I use the link functionality from the satellite communication toolbox, and I create links between each and every satellite of the iridium constellation and the receiver of the aircraft.
And then so I call this downlink. So this will give me a list of downlinks. And then I call the signal strength on those downlinks. And the signal strength would give me then the received isotropic power that is the observed at the receiver of the aircraft from each satellite at each and every point in time in my simulation. So if I get the isotropic power at each point in time from each satellite and I plot it in a heatmap, for example, or in a 3D plot, I basically get something that would look like this.
So on the x-axis, this is the time step. So I have 300 time steps. On the y-axis is the number of the iridium satellite. And this is the received power at the receiver of the aircraft at each point in time. So here, for example, we see for satellite number 50 how the received power starts to be 0. As the satellite is not visible, it starts increasing. It reaches a maximum, and then it starts decreasing as the satellite sets beyond the horizon. And the same for the other satellites.
So what I will do next is I will just get the number of the satellite that's giving me the maximum isotropic power at each and every point in time. Next I will run the orbit propagation, which is I will advance the simulation step by step, I will advance the scenario step by step, and then I will select at each point in time, or at each step, the satellite with the strongest received signal. I will obtain the angle, the mechanical angle in this case, and then I will apply the steering vector that we have seen before to this mechanical angle in order to get the beam weights, the beam shifts, or the complex weights.
And this will basically give me a matrix of complex weights, which is of size 64 by 301, with 64 being the number of antenna elements in my antenna array and 301 being the number of time steps in my simulation. So this will give me, at each time step, the weights that I need to apply to my 64 element antenna.
So by waiting for this to compute, what we can do next is we can basically plot the computed azimuth and elevation angles from the transmitter of the satellite, from the transmitter of the spacecraft when it's pointing to the satellite of the strongest signal. So let me do this plot and then I can explain on the plot what we actually see. So let me make this figure a little bit bigger.
So here we can see on the upper figure, the x-axis is the simulation step time and on the y-axis is the number of the satellite. So we can see how the azimuth and the elevation angles of the aircraft track the satellite with the strongest signal. So here in this case, for example, the satellite or the strongest signal, the satellite number 18, as we can see here on the lower graph using this isotropic power plot that we have seen before.
So the azimuth and the elevation angles of the transmitter of the aircraft will keep tracking this satellite until it sets beyond the horizon. And then after that, it switches to the next satellite with the strongest signal. In this case, it is satellite number 13. And then it keeps tracking it and then switch to satellite number 55 and then so on and so forth. And it keeps doing this until the simulation is done. So this is more or less the criterion for the handover in order to keep the aircraft always connected. Basically to the satellite that is sending the strongest signal.
And after that, we convert the phase shifts into angles. We normalize them to weights between 0 and 360 degrees, and then we hand them over to the next part, which is the RF design and EVM analysis, which will be covered by Alvaro. So Alvaro, please take it from there. Thank you.
Thanks, Ahmad. So in this section two, again, as Ahmad has just said, we are going just to use the orientation angles that he has calculated in the previous section. And we are going just to use them to simulate what is the impact of the transmitter RF cascade that we are going to do and what is the impact of that design in the quality of the signal that is going to be transmitted. It's important just to mention that we are going just to consider only the transmitter, but it is feasible just to do with the same workflow, not only the transmitter, but also the chain and the receiver. Please, if that is your intention, you can contact us to help you sort it out.
But again, for today, what we are going to do, what is going to be shown is how we are going to design a transmitter architecture, how to design an antenna to merge both together their front end together with the antenna, and estimating the impact of that design in the quality of the signal. Injecting or just to create as a test a 5G signal to be injected to this system. And we are going just to see how its quality changes in three different situations. With a good angle of transmitting with a five dB of back offs we will see later what does it mean. A good angle with three dB of back off and a bad angle with 0 dB of back off.
First, we are going just to define the system variables, which means that we are going just to define that our input frequency. So our signal will be created at four gigahertz of carrier frequency. And the local oscillator, it will be 33 gigas. Therefore, our output signal will be at 27 gigas. The bandwidth of the signal will be 400 megahertz. And the simulation bandwidth for the RF part will be four times or almost five times higher, all around two gigahertz.
So first of all is to create the cascade. For that, we use the RF Budget app, which we see in the screen. We have just created a very simple transmitter with an amplifier to amplify the input side of the four gigahertz that the modulator to go up in frequency to 27, the power amplifier, and then finally the transmitted antenna. Very simple. What this app is able to calculate is just the results of analyzing how the signal just evolves through the cascade and taking into account non-linearities and also noises of the chain elements.
What is really important here is just to mention that there are two ways of calculating the results. It is just using the equations of the harmonic balance. And I always suggest our customers to use harmonic balance if they are going to work close to non-linear points of-- to close to non-linearity. In that sense, the important thing just to remind is, of course, what you can just obtain is just the signal. But for us, the most important is the linearity.
Here this system is just characterized or the non-linearity is fixed by the power amplifier. And here is just the input output power diagram of such a device. It's important to mention that one important value is the two DBMs input power of our power amplifier, which is close to what is slightly higher. That means with two DBMs we have already our system working in a non-linear behavior. And that is important to remind for the rest of the presentation.
So once we have already this design together with the power amplifier, the second step is the creation of the antenna design. First of all, it's just to mention that we have just simplified a bit the design of our antenna. It's not going to be of 64, but 32 elements for simplification and time of simulation. But here we do have a four by eight antenna array.
And therefore, we are going just to simulate the result of these using dipoles as the individual elements. And we are using two different tools that we provide at . The antenna array designer, which we just run electromagnetic simulation. And here we see the activity diagram in 3D obtained with such tool. And also the same result, the same radiation diagram, but using the sensor array analyzer.
What is the difference between them? So for the first one in the left, we are considering the coupling between the elements. This is an electromagnetic simulation. For the right one, we are only just calculating the array, the radiation pattern by the array factor-- by calculating the array factor, but not doing electromagnet simulation. That is the difference. And we see that both of them are just similar, but the nulls between the lows and the main diagrams are just obscured by the coupling, as we will see here in the result from the electromagnetic simulation.
The third step is just a matter of the designer, which wants us to use, of course, because the electromagnetic simulation is slower in time that the array factor. The third step is the angle's verification. We are just dividing the angles into types, good and bad. The good ones are those that are just close to elevation, 90 degrees and left it at 0. Why? Because whenever you are just pointing towards the sky and very high in the sky, therefore you are not pointing to the plane of the array itself.
So the beam can be really good form. Therefore, we have a higher directivity. That is what we call the good angles. And we can just also compare the result for the sensor. So for the sensor array analyzer, which means not electromagnetic simulation and the sensor designer or sensor array designer in which we are considering the electromagnetic coupling.
Again, for the bad ones are close to elevation 0. And it's just the same. In this case, the gain is smaller than the radiation pattern and therefore are not as well formed as before. And we can also compare the results using the 3D electromagnetic simulation or just the array factor. It's important just to mention that for this kind of analysis, even you can just create using two MATLAB scripts a sweep of the angles and create some kind of GIFs or videos just to make a complete sweep of all the angles that you would like just to analyze.
The fourth step is what you are just merging all together in the Simulink environment. In that case, we are just creating a model using RF block set, in which we will have an input. We will see how just with the RF system, just calling a function is just injecting the signal. We will just create that later. And then the structure is we have a Wilkinson divided one to four ideal and one for others, which are Wilkinson's one to eight, as we will see in this diagram.
These Wilkinson are just performed or just simulated by SIB files. And therefore, each of the chains are just extracted directly from the RF Budget app. So the RF Budget app has just the capability of extracting directly this chain. And then by just copy paste, we can just create as many as we want and therefore create very complex structures like we have here.
And finally, the behavior of the antenna. We have here the antenna model that can just be directly created from our tools. And here we will just model what is the impact of the antenna, not only loading the front end, but also the diagram radiation patterns, which also affects the results.
The fifth step is the creation of the input signal. In that sense, what we are going to just use is the 5G toolbox, which directly just calling one single function with script. We can just create a signal of 400 with a subcarrier spacing of 120 kilohertz using a specific reference channel and the mode of TDD.
Once we do have that signal generated, we can just store it in a variable name, which is in waveform. And this waveform we can just scale in power. What we are going to do is, as we mentioned before, we are just going to by varying slightly that input power to be sure that we are working in the linear behavior of the power amplifier in a mild, non-linear behavior of the amplifier and a non-linear behavior directly. And that is what we meant with the scale input power, sweeping what is the input.
But first we are going just to analyze only the directly generated signal. We see that it's very clear that there are no power in the adjacent channels. Indeed, are just below minus 40 DBMs for both. The EVM is almost perfect. Here we see the diagram of the constellation, which is perfect.
Then the three points that we are going just to use is good angle with a backup of five degrees. So pretty linear. We will have a very good signal quality, good angle with a backup of three degrees, which is bilinear and therefore good but not as good as before. And then a bad angle with a back off of 0 degrees, which means we are in the non-linear and we will see how low signal quality we are going just to obtain.
We just analyze again the angles with good and bad ones. But what I would like us to go is directly for the comparison, because this is the first case in which we are in the linear region. That is the diagram for the bilinear. We will see right now for the bilinear region of this with a back off of three degrees, not five degrees like before. And then finally, with the 0 degrees of the bad angle in which we will see that is just impossible anymore just to discriminate between the symbols.
So as a summary, we have created a transmitter architecture. We have just created a data using electromagnetic simulator and a refactors. We have mixed the transmitted RF architecture, but also with generated signals and the antenna capabilities. And then we have just compared the results in three different working conditions. In a linear region, in a bilinear, and in a non-linear just comparing only those kind of analysis, this power analysis that can be done.
Therefore, the next step is where I am going just to give back the word to my colleague, Ahmad. And we are going just to see the satellite system design overview using MATLAB. So floor is yours, Ahmad.
Thanks, Alvaro. Let us now revisit the satellite system design concepts that we have just seen in the MATLAB example and explore additional features. MATLAB provides powerful workflows for Satcom design, addressing key technical challenges. Starting with access or visibility analysis to link analysis, and link budget calculations, to the generation of standard, waveforms to end to end simulations with all of those capabilities integrated within MATLAB's flexible environment.
Let's look a little bit closer at orbit propagation and visibility analysis. MATLAB provides different ways to generate and visualize scenarios and orbits. First, you can use two line element files that you can read into MATLAB and then apply different orbit propagators on them, such as SGP4, SDP4, or two body Keplerian. Also orbit mean elements messages or OMM files are supported by MATLAB.
Or you can import time stamped ephemeris data directly into MATLAB that are coming either from MATLAB or other third party products where you can have compelling visualizations and you can compare the different orbits and propagation models and see how they differ from one another.
MATLAB also enables the visualization of access for many satellite scenarios and configurations. Also taking into consideration different design parameters. So we talk about visibility contours, ground station, minimum elevation angles, satellite steering constraints with compelling visualization capabilities, as we can see in this video, where you can see when the visual access is established between the satellite and the ground station through this red dotted line.
Next, we will explore how MATLAB helps in analyzing links and calculating link budgets. MATLAB greatly simplifies the process of creating and simulating satellite communication scenarios and links. So you start by establishing a scenario with satellites, ground stations, and constellations. Then you can add gimbals, transmitters, and receivers. Then you proceed to equip your transmitters and receivers with antennas. And the antenna toolbox in MATLAB allows for the attachment of different kinds of antennas and antenna arrays.
Next, you might want to explore beamforming techniques. And MATLAB provides an extensive library of beamforming methods and techniques that you can use on your antenna arrays.
Here in this video, we can see how MATLAB provides visualization capabilities that allow you to visualize the dynamic nature of satellite antennas. Throughout a simulation, those antennas must maintain precise orientation towards the ground station. MATLAB allows you to investigate that in a visual way as well.
With MATLAB, you can also analyze time variant links for dynamic scenarios. So you can build multihop links between satellites, constellations, and ground stations, and you can observe orbits in motion and links being established or being disconnected, as we see in this video. And this will allow you to investigate also durations of link outages.
For static link analysis, you can use the Link Budget Analyzer app that allows you to look at uplinks, downlinks and crosslinks. The app also gives you visual output for sensitivity analysis. So you can change certain parameters such as power amplifier output or the link distance and examine their effect on the link margin. The app also allows you to perform availability analysis using the ITUP.618 channel model.
MATLAB also provides powerful capabilities to calculate Doppler shifts and latencies throughout entire simulations. So if you want to address Doppler induced frequency shifts, the first step is being able to determine the Doppler and delay profiles. And MATLAB helps you with easy functions and straightforward calls, as you can see in this figure. And those functions are also scalable. So they scale up to scenarios of 1,000 satellites and the network of 20 ground stations. Really powerful.
Next is standard satellite communication waveforms, which are crucial for testing receiver chips. MATLAB provides ideal waveforms for a number of technologies and enables you to compare them in order to simulate real hardware effects. For DVB, MATLAB helps you with generating DVB S2, S2X, or RCS2 waveforms. CCSDS waveforms are also supported in Matlab that cover telemetry and telecommand. Also optical waveforms as well, the CCSDS optical high photon efficiency. And for GPS, MATLAB supports legacy modes, including course and precision code waveforms with standard compliant frame formats.
After creating scenarios and generating waveforms, next we integrate everything together in an end to end simulation. And standard based channel and propagation loss models are crucial when you are building end to end simulations. MATLAB offers models that adhere to ITU and 3GPP standards, including attenuation models for gases, clouds, fogs, and rainfall as per the ITUP.618. Also NR NTN channel models based on the 3GPP standard. Also for optical links utilizing SCPPM for deep space optical communication channels.
MATLAB provides full reference receiver designs that allow you to demodulate, decode, and look at the simulation performance of a number of different technologies, such as DVB, CCSDS. You can also utilize the power of the 5G toolbox to build end to end 5G NTN reference designs that are available from the 5G toolbox. You also have reference receiver designs for a GPS navigation. All in open MATLAB code. So you can replace any block. You can adjust it, you can change it, you can add your own algorithms to the receiver, and examine with your own custom functionalities.
Here is an example of a full end to end workflow in MATLAB to simulate and model a new radio NTN PDSCH link. And this, of course, can be used as a basis to build network oriented simulations. So we start with the transmitter processing blocks. Then you add the channel model. Then you add the receiver processing blocks. You run your simulation to code, for example, the measured output or even other performance indicators that you want to look at.
In our final segment, I will hand over to Alvaro, who will help us revisit the antenna and the RF system design concepts and also conclude the presentation. So thank you for listening. And Alvaro, the floor is yours.
Thanks, Ahmad. In the previous section, we have just learned how to design satellite systems. In this second, we will be focused on the creation of the RF front ends, which can be used in such systems. The workflow that I am going to present allow the user to model the RF chain, but also the antenna, either if it's an individual radiation element or if it's an array. And finally, let's move in the same simulation environment where several design cycles can be made.
So let's start with the system chain modeling. In the previous section, we were in the amazing satellite world with orbits and 3D representations and the scenarios. But now we change to the field of the radio frequency and antennas. What can be done using MathWorks tools? Our simulation environment allows us to simulate RF systems end to end and divide them in very simple and understandable blocks. This eases the pain of serving documentation on our collaboration either if you work for a multinational company or for a small startup.
In the figure, it can be seen a complete communication system model with a simplistic channel of only losses. Moreover, tools allow watching the signals inside the system. In the figure now it can be seen the resulting decoded 64 QIM signal after being generated, transmitted, propagated through the channel, received, and demodulated.
It is worth mentioning that the receiver's antenna more than one signal can be present, meaning that interference signals can be simulated either using different current frequencies, angles of arrival, or even polarizations. In summary, we are going to see the steps to achieve this kind of model. While in the first section, we saw this kind of model only for the transmitter.
The first step, while we are just doing their design, is to create the block cascade for a link budget analysis. We suggest to use the app we see in the slide, the RF Budget Analyzer. First thing to do is to define system specifications. That is input frequency, available input power, and the signal bandwidth. Next, the blocks cascade. Among all the possibilities, user can include the antennas or an S parameter block, which allows to use directly measurements from the lab or given by the vendors.
Following step, block specifications. User must define each block. For example, for the S parameter block, you must specify the route to the file for the modulator, the gain, noise figure, nonlinear behavior, among others. While for the amplifier, there are also a few that can be seen in this slide.
After the definitions comes the results plotting. This feature has been upgraded in latest releases and user can plot 2D characteristics in Cartesian, polar, or SB charts, but also in 3D, showing characteristic evolution through the cascade. Like for example, for wideband noise figure. Also a table summary listing intermediate and global values of the change characteristics is presented, which can be obtained either using these equations or harmonic balance.
Finally, for jumping to the next step in the design process, there is an Export button. Here you can just define whether wants to generate a MATLAB script which mimics the analysis with the app, create an Excel table, or even generate a Simulink model using RF block set library.
Now, this slide shows the result of exporting the block set. You obtain an equivalent chain, but using the RF block set blocks. But there are more. Input and output ports together with the RF configuration blocks are also directly configured and given to the user for free, something that can be complicated as well as time consuming for specific difficult configurations.
But working in this environment with the RF block set comes along with many more advantages. First of all, now we are in the Simulink environment. So the user can connect the system to all other library blocks. For example, signal generation and modulation from the library, ADCs and DACs and PLLs from the mixed signal toolbox, or beamforming techniques from the phased array.
Because also another advantage is that now there is no limitation in the number of inputs and outputs like there is in the RF budget. The architecture can be much more complicated, and it's very easy and straightforward to copy paste and generate complicated structures. But there are more advantages. Like, for example, a data integration.
In this section, it will be shown how antennas and later arrays can be designed and analyzed for being integrated together with previous RF front end specifications. It must be pointed out that if the antenna or the array is simulated by third party software, it can also be included by using S parameters and the radiation pattern.
In a similar way as before, there is an app for antenna development. The antenna designer. Visual aspect is similar. And again, specifications must be introduced. Radiation type, polarization, and the bandwidth. Secondly, the user must choose the type of antenna and if it has making a structure. And last but not least, the design frequency and pressing Accept button for analyze to be done.
Here are the results presented. the visual appearance and distribution is customizable. The is divided in sections. On the left, all the tables and the other properties are listed, especially geometric ones like size or thickness. Then on the right side, user has the visual section where impedance and then adaptation orders or radiation patterns are shown. Finally, user has the possibility to export the design to MATLAB, creating an object variable that can be used in the script like we have done before.
But what happens if your antenna is not in the library? Then you can just customize your antenna. If the antenna is a 2D structure, you can create it using basic shapes like rectangles, squares, or circles and do math operations with them. Finally, define the fitting point and execute the electromagnetic simulation. If your antenna is a 3D structure, you can import the SDL file, defining its shape, specifying the fitting point, and again, run the electromagnetic simulation.
And finally, if your antenna is planar with multilayer structure mixing dielectrics and metals, you can use PCB stack object for defining structure. Also, together with the bias and the feed points allows to run the electromagnetic simulation.
But nowadays are commonly no longer the antennas for by only one radiation element, but several working together and forming arrays. This is key in order to obtain increased performances in terms of directivity, bandwidths, and level of secondary loads, among many others. What does MathWorks provide for such designs?
The initial point for the design of such structures is the Sensor Array Analyzer. The app appearance is very similar to the and allows to estimate the array radiation pattern based on array geometry that it can be linear, rectangular, conformal, custom, 3D. Which one is the individual element form in the array? There are a library of fully customizable elements, and all the results will be automatically shown, allowing the user to iterate for optimization.
Of course, final designer results can be exported to MATLAB and other formats like x parameters and radiation pattern matrices. But it is important to emphasize that the array pattern is calculated with the by superposition based on the individual element, radiation characteristics, together with the array factor. There is no electromagnetic simulation involved in this app. This way, user obtains a first estimation of the array performance, but coupling effects are not taken into account. If those effects must be taken into account, another app is needed. The antenna array designer.
So array designer up. We execute electromagnetic simulations like we did for the antenna. But we can take into account coupling effects in our design. How to do that? What are the steps? First, select an array geometry, emphasizing that arbitrarily 3D design can be also performed by the conformal option. Choose a design the individual element at the operating frequency.
Worth mentioning that radiation patterns can be directly imported or even obtained from other third party simulators. Visualize the results and iterate on the array geometrical properties. And finally, it can be generated multiple scripts for automation purposes or antenna array blocks to be created and included in the Simulink RF simulation environment.
In the end, either arrays or antennas designs are just done for being included in the overall RF system model. The advantage of using the MathWorks tools is that this process is straightforward thanks to the Export button available in the apps, allowing fast simulations and enabling several design cycles.
But again, if you have your antenna or you already simulated with another tool, do not worry. You just need S parameters and the radiation pattern from the antenna to include it in your design in the Simulink RF environment. Contact us if such solution is needed.
To wrap up, here are the takeaways of today's session. We have explored how MATLAB workflow provides a comprehensive environment for easy collaboration, suitable for big and small teams and different roles. Different levels of abstractions are available, allowing different simulation types and accuracies. Workflow can cope with a standard compliance requirements, reducing time on the lab and development cycles.
Calls to action. I would like just to mention that what you can do is talk to our experts if you want to know more. For example, with me or with my colleague, Ahmad. To help you get started and especially for startups, we have an extensive list of examples and workflows to use out of the box to get started.
At MathWorks, all the documentation is public on our web page, and participate in webinars, public events, and conferences. Have a look or join us in our booth to know more about us. All these workflows and apps require time to learn. We do provide training courses to speed up the learning curve. Or even we can together with you to create a specific curriculum paths depending on functions, responsibilities, or roles, like the slide that you can just see on the screen.
That's it. That's everything for today's session. And right now, we would like just to open the Q&A time.
Featured Product