leftimage for poohprod.ru

Smith Chart – plots with Matlab

1.- Aid for RF problems

2.- Calculate Reflection Coefficient, VSWR and Return loss

3.- Video: alternative code to draw the chart

1.- Useful for visualization of radio frequency and transmission line problems

The Smith chart was created by Phillip H. Smith in 1939. It’s a graphical tool designed for electrical engineers specializing in radio frequency (RF) to solve problems related to transmission lines and matching circuits.

Use of the Smith chart has grown over the years and it’s still used today, not only as a problem solving tool, but as a graphical display to show how RF parameters behave at one or more frequencies.

The Smith chart can be used to represent many parameters including impedances, admittances, reflection and transmission coefficients, scattering parameters...

Normalized scaling allows the Smith chart to be used for problems involving any characteristic or system impedance which is represented by the center point of the chart. The most commonly used normalization impedance is 50 ohms. Once an answer is obtained through the graphical method, it is easy to convert between the normalized impedance and the corresponding unnormalized value by multiplying by the characteristic impedance. Reflection coefficients can be read directly from the chart.

Use of the Smith chart and the meaning of the results obtained requires a good understanding of AC circuits and transmission line theory, both of which are needed by RF engineers.

In the chart, there are horizontal circles that represent constant resistances; vertical circles represent constant reactances. The complex impedance (or admittance )is normalized using a reference, which usually is the characteristic impedance Z0.

The chart is part of current CAD tools and modern measurement equipments. It’s a graphic of the reflection coefficient in polar coordinates.

Let’s create a chart with Matlab.

function draw_smith_chart

% Draw outer circle
t = linspace(0, 2*pi, 100);
x = cos(t);
y = sin(t);
plot(x, y,
'linewidth', 3); axis equal;

% Place title and remove ticks from axes
title(' Smith Chart ')

% Draw circles along horizontal axis
k = [.25 .5 .75];
for i = 1 : length(k)
x(i,:) = k(i) + (1 - k(i)) * cos(t);
y(i,:) = (1 - k(i)) * sin(t);
plot(x(i,:), y(i,:),

% Draw partial circles along vertical axis
kt = [2.5 pi 3.79 4.22];
k = [.5 1 2 4];

for i = 1 : length(kt)
t = linspace(kt(i), 1.5*pi, 50);
a(i,:) = 1 + k(i) * cos(t);
b(i,:) = k(i) + k(i) * sin(t);
plot(a(i,:), b(i,:),
'k:', a(i,:), -b(i,:),'k:' )

2.- Calculate the Reflection Coefficient, VSWR and Return Loss

Now, let’s prepare some formulas to calculate typical values used in RF theory. To plot a reflection coefficient we need a normalized impedance with magnitude and angle. It’s a good idea to deliver the angle in degrees to make it easier to visualize, and also let’s calculate the Voltage Standing Wave Ratio (VSWR) and the return loss.

function [m, thd, SWR, rloss] = smith_ch_calc(Z0, Zl)

% Draw appropriate chart

% Normalize given impedance
zl = Zl/Z0;

% Calculate reflection, magnitude and angle
g = (zl - 1)/(zl + 1);
m = abs(g);
th = angle(g);

% Plot appropriate point
polar(th, m, 'r*')

% Change radians to degrees
thd = th * 180/pi;

% Calculate VSWR and return loss.
% We can add epsilon to magnitude, to avoid div by 0 or log(0)

SWR = (1 + m)/(1 - m + eps);
rloss = -20 * log10(m + eps);

Now, let’s try our functions:

clear, clc, close all, format compact
[m1, d1, VSWR1, Rloss1] = smith_ch_calc(50, 50)
[m2, d2, VSWR2, Rloss2] = smith_ch_calc(50, 100 + 50j)
[m3, d3, VSWR3, Rloss3] = smith_ch_calc(50, 30 - j*47)

and the results are:

Smith Chart with Matlab

m1 = 0
d1 = 0
VSWR1 = 1.0000
Rloss1 = 313.0712

m2 = 0.4472
d2 = 26.5651
VSWR2 = 2.6180
Rloss2 = 6.9897

m3 = 0.5505
d3 = -82.6171
VSWR3 = 3.4494
Rloss3 = 5.1848

3.- Video: alternative code to draw the chart

This video shows an alternative code to draw the Smith Chart. You can pause the video to take appropriate notes...

From 'Smith Chart' to home

From 'Smith Chart' to '2D Graphics Menu'



Search Site

Draw Circles

footer for smith chart page

Related pages

interp2 examplegauss jordan elimination algorithmbisection method in matlablagrange interpolation example problemsxlsreadcalculus integral calculatorpiecewise functions graphingformula for sum of harmonic seriesdepreciation and salvage valuecurve fitting matlab commandascii to decimal tableprobability normal distribution calculatorprograming in matlabsolving systems of equations with matlabascii char codesdepreciation calculator computernormal distribution bell curve generatormatlab exponential curve fitright triangle pythagorean theorem calculator3d graph matlabroots of quadratic equation solverascii code azlaptop depreciationmaclaurin expansion calculatorconversion octal to decimalsalvage accountinglagrange approximationc program to generate pascal trianglestem function in matlabcramer rule examplegrey code generatorfibonacci codingcontinuous compound interest formula solve for pmaclaurin series for cos xconvert polar coordinates to cartesian coordinateshexadecimal binary conversionconvert cell array to matrixwap to find factorial of a numbersimple recursion examplesolved examples of nodal analysispiecewise graph definitionhousehold electricity consumption calculatortaylor series cosinesolve definite integral calculatormatlab patch 3dchisq calculatorwhat is the prime factorization for 49how to calculate correlation coefficient in matlabgauss jordan elimination algorithmgui matlab codematlab factorialthe prime factorization of 49matlab meshgridmatlab program for bisection methodamatorization tablematlab ideusing cramers rulelucas numbers listalgorithm for finding gcd of two numberssum of harmonic seriesinverse matrix gauss jordanchi square calconline definite integral calculatorfinding factorialconversion of binary to octalmatlab exercises for beginnersprobability and combinations calculatormatlab compare stringshalf life equation exponential decayamortisation table calculator