EE 357 – Electromagnetic Laboratory Lab 10 – Rectangular Waveguide Toan Vo Dai April 24th, 2018 1 Overview Modes of operation TEz TMz Summary Assignment Introduction of Waveguide Waveguides are metallic transmission lines that are used to interconnect transmitters and receivers with antennas Circular Waveguide Rectangular Waveguide Ridge Waveguide 2 Overview Modes of operation TEz TMz Summary Assignment Introduction of Waveguide Waveguides are metallic transmission lines that are used to interconnect transmitters and receivers with antennas Waveguide connection with antenna system 3 Overview Modes of operation TEz TMz Summary Assignment Advantages and Disadvantages of Waveguide • Advantages – It is completely shielded (excellent isolation between adjacent signals can be obtained) – Transmit extremely high peak powers – Has very low loss at microwave frequencies • Disadvantages – High costs. Manufacturing volumes are low, and waveguide materials such as copper and silver are relatively expensive. – Unwieldy size and mass, particularly at lower frequencies – Can’t pass DC currents along with your RF signal 4 Overview Modes of operation TEz TMz Summary Assignment Modes of operation – Waveguide propagation modes depend on operating frequency, shape and size of the guide. The modes of the waveguide are classified into following types: – Transverse Electric (TE) have no electric field component in the direction of propagation – Transverse Magnetic (TM) have no magnetic field component in the direction of propagation – Transverse Electromagnetic (TEM) have no electric field or magnetic field component in the direction of propagation (not valid for rectangular waveguide) 5 Overview Modes of operation TEz TMz Summary Assignment Modes of operation – There are infinite number of fields configuration that satisfy Maxwell’s equation and boundaries conditions of the geometry – The mode with smallest cut-off frequency is referred to as dominant mode – For rectangular waveguide, if a > b, the dominant mode is 𝑇𝐸10 . If a < b, the dominant mode is 𝑇𝐸01 6 Overview Modes of operation TEz TMz Summary Assignment Rectangular Waveguide Fields Equations – TE mode 𝐸𝑥 = 𝐴𝑚𝑛 𝛽𝑦 cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜖 𝐴𝑚𝑛 𝛽𝑥 𝐸𝑦 = − sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜖 𝐸𝑧 = 0 𝐻𝑥 = Cut-off freq: 𝑓𝑐 𝑚𝑛 = 2𝜋 1 𝜇𝜖 𝑚𝜋 2 𝑎 + 𝑛𝜋 2 𝑏 𝑚 = 0, 1, 2, … 𝑛 = 0, 1, 2, … 𝑚 𝑎𝑛𝑑 𝑛 𝑛𝑜𝑡 𝑧𝑒𝑟𝑜 𝑠𝑖𝑚𝑢𝑙𝑡𝑎𝑛𝑒𝑜𝑢𝑠𝑙𝑦 𝑚𝜋 𝑛𝜋 2 𝛽𝑥 = , 𝛽𝑦 = , 𝛽𝑧 = 𝛽 2 − (𝛽𝑥2 + 𝛽𝑦2 ) 𝑎 𝑏 𝐴𝑚𝑛 𝛽𝑥 𝛽𝑦 sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐴𝑚𝑛 𝛽𝑦 𝛽𝑧 𝐻𝑦 = cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐴𝑚𝑛 𝛽𝑐2 𝐻𝑧 = −𝑗 cos 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 7 Overview Modes of operation TEz TMz Summary Assignment Rectangular Waveguide Fields Equations – TE mode 𝐸𝑥 = 𝐴𝑚𝑛 𝛽𝑦 cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜖 𝐴𝑚𝑛 𝛽𝑥 𝐸𝑦 = − sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜖 𝐸𝑧 = 0 𝐻𝑥 = Cut-off freq: 𝑓𝑐 𝑚𝑛 = 2𝜋 1 𝜇𝜖 𝑚𝜋 2 𝑎 𝑚 = 0, 1, 2, … 𝑛 = 0, 1, 2, … 𝑚 𝑎𝑛𝑑 𝑛 𝑛𝑜𝑡 𝑧𝑒𝑟𝑜 𝑠𝑖𝑚𝑢𝑙𝑡𝑎𝑛𝑒𝑜𝑢𝑠𝑙𝑦 + 𝑛𝜋 2 𝑏 𝐴𝑚𝑛 𝛽𝑥 𝛽𝑦 sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐴𝑚𝑛 𝛽𝑦 𝛽𝑧 𝐻𝑦 = cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐴𝑚𝑛 𝛽𝑐2 𝐻𝑧 = −𝑗 cos 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 8 Overview Modes of operation TEz TMz Summary Assignment Rectangular Waveguide Fields Equations – TM mode 𝐸𝑥 = −𝐵𝑚𝑛 𝛽𝑥 𝛽𝑧 c𝑜𝑠 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 −𝐵𝑚𝑛 𝛽𝑦 𝛽𝑧 𝐸𝑦 = sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐵𝑚𝑛 𝛽𝑐2 𝐸𝑧 = −𝑗 sin 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 Cut-off freq: 𝑓𝑐 𝑚𝑛 = 2𝜋 1 𝜇𝜖 𝑚𝜋 2 𝑎 + 𝑛𝜋 2 𝑏 𝑚 = 1, 2, … 𝑛 = 1, 2, … 𝑚𝜋 𝑛𝜋 2 𝛽𝑥 = , 𝛽𝑦 = , 𝛽𝑧 = 𝛽 2 − (𝛽𝑥2 + 𝛽𝑦2 ) 𝑎 𝑏 𝐵𝑚𝑛 𝛽𝑦 𝐻𝑥 = sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜇 𝐵𝑚𝑛 𝛽𝑥 𝐻𝑦 = − cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜇 𝐻𝑧 = 0 9 Overview Modes of operation TEz TMz Summary Assignment Summary – Waveguide propagation modes depend on operating frequency, shape and size of the guide. The modes of the waveguide are classified into following types: – Transverse Electric (TE) have no electric field component in the direction of propagation – Transverse Magnetic (TM) have no magnetic field component in the direction of propagation – There are infinite number of fields configuration that satisfy Maxwell’s equation and boundaries conditions of the geometry – The mode with smallest cut-off frequency is referred to as dominant mode – For rectangular waveguide, if a > b, the dominant mode is 𝑇𝐸10. If a < b, the dominant mode is 𝑇𝐸01 10 Overview Modes of operation TEz TMz Summary Assignment Assignments • Assignment 1 The inner dimensions of an X-band WR90 rectangular waveguide are a = 2.286 cm and b = 1.016 cm. Assume free space within the guide. Determine (in GHz) the cutoff frequencies in the following TE and/or TM modes. (𝑇𝐸01 , 𝑇𝐸10 , 𝑇𝐸11 , 𝑇𝐸12 , 𝑇𝐸20 , 𝑇𝐸21 , 𝑇𝐸02 , 𝑇𝐸22 , 𝑇𝐸30 , 𝑇𝐸31 , 𝑇𝐸40 , 𝑇𝐸41 ) (𝑇𝑀11 , 𝑇𝑀21 , 𝑇𝑀31 , 𝑇𝑀12 , 𝑇𝑀22 , 𝑇𝑀41 ) • Assignment 2 Use the provided MATLAB software to plot the fields pattern inside the rectangular waveguide of the following modes and compare the results with references provided in the next slide. (𝑇𝐸01 , 𝑇𝐸10 , 𝑇𝐸11 , 𝑇𝐸12 , 𝑇𝐸20 , 𝑇𝐸21 , 𝑇𝐸02 , 𝑇𝐸22 , 𝑇𝐸30 , 𝑇𝐸31 , 𝑇𝐸40 , 𝑇𝐸41 ) (𝑇𝑀11 , 𝑇𝑀21 , 𝑇𝑀31 , 𝑇𝑀12 , 𝑇𝑀22 , 𝑇𝑀41 ) 11 Overview Modes of operation TEz TMz Summary Assignment References results of fields pattern 12 C. S. Lee, S. W. Lee, and S. L. Chuang, “Plot of modal field distribution in rectangular and circular waveguides,” IEEE Trans. Microwave Theory Tech, 1985, IEEE Thank you for listening 13 function varargout = Rectangular_waveguied_GUI(varargin) % RECTANGULAR_WAVEGUIED_GUI MATLAB code for Rectangular_waveguied_GUI.fig % RECTANGULAR_WAVEGUIED_GUI, by itself, creates a new RECTANGULAR_WAVEGUIED_GUI or raises the existing % singleton*. % % H = RECTANGULAR_WAVEGUIED_GUI returns the handle to a new RECTANGULAR_WAVEGUIED_GUI or the handle to % the existing singleton*. % % RECTANGULAR_WAVEGUIED_GUI(‘CALLBACK’,hObject,eventData,handles,…) calls the local % function named CALLBACK in RECTANGULAR_WAVEGUIED_GUI.M with the given input arguments. % % RECTANGULAR_WAVEGUIED_GUI(‘Property’,’Value’,…) creates a new RECTANGULAR_WAVEGUIED_GUI or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Rectangular_waveguied_GUI_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to Rectangular_waveguied_GUI_OpeningFcn via varargin. % % *See GUI Options on GUIDE’s Tools menu. Choose “GUI allows only one % instance to run (singleton)”. % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help Rectangular_waveguied_GUI % Last Modified by GUIDE v2.5 15-Apr-2018 15:41:42 % Begin initialization code – DO NOT EDIT gui_Singleton = 1; gui_State = struct(‘gui_Name’, mfilename, … ‘gui_Singleton’, gui_Singleton, … ‘gui_OpeningFcn’, @Rectangular_waveguied_GUI_OpeningFcn, … ‘gui_OutputFcn’, @Rectangular_waveguied_GUI_OutputFcn, … ‘gui_LayoutFcn’, [] , … ‘gui_Callback’, []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code – DO NOT EDIT % — Executes just before Rectangular_waveguied_GUI is made visible. function Rectangular_waveguied_GUI_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved – to be defined in a future version of MATLAB % handles % varargin structure with handles and user data (see GUIDATA) command line arguments to Rectangular_waveguied_GUI (see VARARGIN) % Choose default command line output for Rectangular_waveguied_GUI handles.output = hObject; myImage = imread(‘Rec_WG.PNG’); set(handles.axes8,’Units’,’pixels’); % resizePos = get(handles.axes8,’Position’); % myImage = imresize(myImage, [resizePos(3) resizePos(3)]); axes(handles.axes8); imshow(myImage); set(handles.axes8,’Units’,’normalized’); % Update handles structure guidata(hObject, handles); % UIWAIT makes Rectangular_waveguied_GUI wait for user response (see UIRESUME) % uiwait(handles.figure1); % — Outputs from this function are returned to the command line. function varargout = Rectangular_waveguied_GUI_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % — Executes on button press in radiobutton1. function radiobutton1_Callback(hObject, eventdata, handles) % hObject handle to radiobutton1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,’Value’) returns toggle state of radiobutton1 % — Executes on button press in radiobutton2. function radiobutton2_Callback(hObject, eventdata, handles) % hObject handle to radiobutton2 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,’Value’) returns toggle state of radiobutton2 function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit1 as text % str2double(get(hObject,’String’)) returns contents of edit1 as a double input_m = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_m)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit2 as text % str2double(get(hObject,’String’)) returns contents of edit2 as a double input_n = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_n)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit3 as text % str2double(get(hObject,’String’)) returns contents of edit3 as a double input_a = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_a)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit5 as text % str2double(get(hObject,’String’)) returns contents of edit5 as a double input_b = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_b)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit6 as text % str2double(get(hObject,’String’)) returns contents of edit6 as a double % — Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end % — Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mode_assign = get(handles.uipanel1,’SelectedObject’) mode = get(mode_assign,’String’) mu0 = pi*4e-7; eps0 = 8.85418781761e-12; zf0 = sqrt(mu0/eps0); c0 = 1/sqrt(eps0*mu0); f0_str = get(handles.edit7,’String’); f0_GHz = str2double(f0_str); f0 = f0_GHz*1e9; %resonant frequency omega0 = 2*pi*f0; lambda_0 = c0/f0; %wavelength of resonant frequency k_0 = 2*pi/lambda_0; m n a b % = = = = h get(handles.edit1,’String’); get(handles.edit2,’String’); get(handles.edit3,’String’); get(handles.edit5,’String’); = get(handles.edit8,’String’); if strcmp(mode,’Transverse Electric (TE)’) == 1 f_c = 1/(2*pi*sqrt(mu0*eps0))*sqrt((str2double(m)*pi/str2double(a))^2+ (str2double(n)*pi/str2double(b))^2); f_c_string = num2str(f_c/1e9); set(handles.edit6,’String’,f_c_string); guidata(hObject,handles); if f0 < f_c errordlg(‘Operating Frequency must GREATER than Cut-off Frequency’); else betax = str2double(m)*pi/str2double(a); betay = str2double(n)*pi/str2double(b); betaz = sqrt(k_0^2-(betax^2+betay^2)); Amn = 1; x = linspace(0,str2double(a),31); y = linspace(0,str2double(b),31); z = linspace(0,lambda_0,31); [X,Y] = meshgrid(x,y); betac = 2*pi*f_c*sqrt(mu0*eps0); for i = 1:length(x) for j = 1:length(y) for mm = 1:length(z) Ex(j,i,mm) = Amn*betay/eps0*cos(betax*x(i))*sin(betay*y(j))*exp(-1j*betaz*z(mm)); Ey(j,i,mm) = -Amn*betax/eps0*sin(betax*x(i))*cos(betay*y(j))*exp(-1j*betaz*z(mm)); Ez(j,i,mm) = 0; Hx(j,i,mm) = Amn*betax*betaz/(omega0*mu0*eps0)*sin(betax*x(i))*cos(betay*y(j))*exp(1j*betaz*z(mm)); Hy(j,i,mm) = Amn*betay*betaz/(omega0*mu0*eps0)*cos(betax*x(i))*sin(betay*y(j))*exp(1j*betaz*z(mm)); Hz(j,i,mm) = -1j*Amn*(betac^2)/(omega0*mu0*eps0)*cos(betax*x(i))*cos(betay*y(j))*exp(1j*betaz*z(mm)); end end end end elseif strcmp(mode,’Transverse Magnetic (TM)’) == 1 if str2double(m) == 0 || str2double(n) == 0 errordlg(‘For TM mode, m or n cannot be 0’, ‘Error’); else f_c = 1/(2*pi*sqrt(mu0*eps0))*sqrt((str2double(m)*pi/str2double(a))^2+ (str2double(n)*pi/str2double(b))^2); f_c_string = num2str(f_c/1e9); set(handles.edit6,’String’,f_c_string); guidata(hObject,handles); if f0 < f_c errordlg(‘Operating Frequency must GREATER than Cut-off Frequency’); else betax = str2double(m)*pi/str2double(a); betay = str2double(n)*pi/str2double(b); betaz = sqrt(k_0^2-(betax^2+betay^2)); Bmn = 1; x = linspace(0,str2double(a),31); y = linspace(0,str2double(b),31); z = linspace(0,lambda_0,31); [X,Y] = betac = for i = for meshgrid(x,y); 2*pi*f_c*sqrt(mu0*eps0); 1:length(x) j = 1:length(y) for mm = 1:length(z) Ex(j,i,mm) = -Bmn*betax*betaz/(omega0*mu0*eps0)*cos(betax*x(i))*sin(betay*y(j))*exp(1j*betaz*z(mm)); Ey(j,i,mm) = -Bmn*betay*betaz/(omega0*mu0*eps0)*sin(betax*x(i))*cos(betay*y(j))*exp(1j*betaz*z(mm)); Ez(j,i,mm) = -1j*Bmn*(betac^2)/(omega0*mu0*eps0)*sin(betax*x(i))*sin(betay*y(j))*exp(1j*betaz*z(mm)); Hx(j,i,mm) = Bmn*betay/mu0*sin(betax*x(i))*cos(betay*y(j))*exp(-1j*betaz*z(mm)); Hy(j,i,mm) = -Bmn*betax/mu0*cos(betax*x(i))*sin(betay*y(j))*exp(-1j*betaz*z(mm)); Hz(j,i,mm) = 0; end end end end end end x = linspace(0,str2double(a),31); y = linspace(0,str2double(b),31); z = linspace(0,lambda_0,31); axes(handles.axes1); [X1,Y1] = meshgrid(x,y); Ex1 = Ex(:,:,1); Ey1 = Ey(:,:,1); quiver(X1,Y1,Ex1,Ey1,1.5); % axis equal title(‘Electric Field (xy-plane)’, ‘FontSize’, 10); xlabel(‘x (m)’, ‘FontSize’, 10); ylabel(‘y (m)’, ‘FontSize’, 10); xlim([x(1) x(end)]); ylim([y(1) y(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes3); [Y2,Z2] = meshgrid(y,z); Ey2 = reshape(Ey(:,15,:),length(y),length(z)); Ez2 = reshape(Ez(:,15,:),length(y),length(z)); quiver(Z2,Y2,Ez2,Ey2,1.5); % axis equal title(‘Electric Field (yz-plane)’, ‘FontSize’, 10); xlabel(‘z (m)’, ‘FontSize’, 10); ylabel(‘y (m)’, ‘FontSize’, 10); xlim([z(1) z(end)]); ylim([y(1) y(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes4); [X3,Z3] = meshgrid(x,z); Ex3 = reshape(Ex(15,:,:),length(x),length(z)); Ez3 = reshape(Ez(15,:,:),length(x),length(z)); quiver(Z3,X3,Ez3,Ex3,1.5); % axis equal title(‘Electric Field (xz-plane)’, ‘FontSize’, 10); xlabel(‘z (m)’, ‘FontSize’, 10); ylabel(‘x (m)’, ‘FontSize’, 10); xlim([z(1) z(end)]); ylim([x(1) x(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes5); [X1,Y1] = meshgrid(x,y); Hx1 = Hx(:,:,1); Hy1 = Hy(:,:,1); quiver(X1,Y1,Hx1,Hy1,1.5); % axis equal title(‘Magnetic Field (xy-plane)’, ‘FontSize’, 10); xlabel(‘x (m)’, ‘FontSize’, 10); ylabel(‘y (m)’, ‘FontSize’, 10); xlim([x(1) x(end)]); ylim([y(1) y(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes6); [Y2,Z2] = meshgrid(y,z); Hy2 = reshape(Hy(:,15,:),length(y),length(z)); Hz2 = reshape(Hz(:,15,:),length(y),length(z)); quiver(Z2,Y2,Hz2,Hy2,1.5); % axis equal title(‘Magnetic Field (yz-plane)’, ‘FontSize’, 10); xlabel(‘z (m)’, ‘FontSize’, 10); ylabel(‘y (m)’, ‘FontSize’, 10); xlim([z(1) z(end)]); ylim([y(1) y(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes7); [X3,Z3] = meshgrid(x,z); Hx3 = reshape(Hx(15,:,:),length(x),length(z)); Hz3 = reshape(Hz(15,:,:),length(x),length(z)); quiver(Z3,X3,Hz3,Hx3,1.5); % axis equal title(‘Magnetic Field (xz-plane)’, ‘FontSize’, 10); xlabel(‘z (m)’, ‘FontSize’, 10); ylabel(‘x (m)’, ‘FontSize’, 10); xlim([z(1) z(end)]); ylim([x(1) x(end)]); set(gca, ‘FontSize’, 10); function edit7_Callback(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit7 as text % str2double(get(hObject,’String’)) returns contents of edit7 as a double input_f = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_f)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit7_CreateFcn(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end % % % % % % % % — Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [filename, pathname, filterindex] = uiputfile( … {‘*.PNG’,’Portable Network Graphic file (*.PNG)’;… ‘*.*’, ‘All Files (*.*)’}); % — Executes on slider movement. function slider1_Callback(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’Value’) returns position of slider % get(hObject,’Min’) and get(hObject,’Max’) to determine range of slider % — Executes during object creation, after setting all properties. function slider1_CreateFcn(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,[.9 .9 .9]); end function edit8_Callback(hObject, eventdata, handles) % hObject handle to edit8 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit8 as text % str2double(get(hObject,’String’)) returns contents of edit8 as a double % — Executes during object creation, after setting all properties. function edit8_CreateFcn(hObject, eventdata, handles) % hObject handle to edit8 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end EE 357 – Electromagnetic Laboratory Lab 10 – Rectangular Waveguide Toan Vo Dai April 24th, 2018 1 Overview Modes of operation TEz TMz Summary Assignment Introduction of Waveguide Waveguides are metallic transmission lines that are used to interconnect transmitters and receivers with antennas Circular Waveguide Rectangular Waveguide Ridge Waveguide 2 Overview Modes of operation TEz TMz Summary Assignment Introduction of Waveguide Waveguides are metallic transmission lines that are used to interconnect transmitters and receivers with antennas Waveguide connection with antenna system 3 Overview Modes of operation TEz TMz Summary Assignment Advantages and Disadvantages of Waveguide • Advantages – It is completely shielded (excellent isolation between adjacent signals can be obtained) – Transmit extremely high peak powers – Has very low loss at microwave frequencies • Disadvantages – High costs. Manufacturing volumes are low, and waveguide materials such as copper and silver are relatively expensive. – Unwieldy size and mass, particularly at lower frequencies – Can’t pass DC currents along with your RF signal 4 Overview Modes of operation TEz TMz Summary Assignment Modes of operation – Waveguide propagation modes depend on operating frequency, shape and size of the guide. The modes of the waveguide are classified into following types: – Transverse Electric (TE) have no electric field component in the direction of propagation – Transverse Magnetic (TM) have no magnetic field component in the direction of propagation – Transverse Electromagnetic (TEM) have no electric field or magnetic field component in the direction of propagation (not valid for rectangular waveguide) 5 Overview Modes of operation TEz TMz Summary Assignment Modes of operation – There are infinite number of fields configuration that satisfy Maxwell’s equation and boundaries conditions of the geometry – The mode with smallest cut-off frequency is referred to as dominant mode – For rectangular waveguide, if a > b, the dominant mode is 𝑇𝐸10 . If a < b, the dominant mode is 𝑇𝐸01 6 Overview Modes of operation TEz TMz Summary Assignment Rectangular Waveguide Fields Equations – TE mode 𝐸𝑥 = 𝐴𝑚𝑛 𝛽𝑦 cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜖 𝐴𝑚𝑛 𝛽𝑥 𝐸𝑦 = − sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜖 𝐸𝑧 = 0 𝐻𝑥 = Cut-off freq: 𝑓𝑐 𝑚𝑛 = 2𝜋 1 𝜇𝜖 𝑚𝜋 2 𝑎 + 𝑛𝜋 2 𝑏 𝑚 = 0, 1, 2, … 𝑛 = 0, 1, 2, … 𝑚 𝑎𝑛𝑑 𝑛 𝑛𝑜𝑡 𝑧𝑒𝑟𝑜 𝑠𝑖𝑚𝑢𝑙𝑡𝑎𝑛𝑒𝑜𝑢𝑠𝑙𝑦 𝑚𝜋 𝑛𝜋 2 𝛽𝑥 = , 𝛽𝑦 = , 𝛽𝑧 = 𝛽 2 − (𝛽𝑥2 + 𝛽𝑦2 ) 𝑎 𝑏 𝐴𝑚𝑛 𝛽𝑥 𝛽𝑦 sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐴𝑚𝑛 𝛽𝑦 𝛽𝑧 𝐻𝑦 = cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐴𝑚𝑛 𝛽𝑐2 𝐻𝑧 = −𝑗 cos 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 7 Overview Modes of operation TEz TMz Summary Assignment Rectangular Waveguide Fields Equations – TE mode 𝐸𝑥 = 𝐴𝑚𝑛 𝛽𝑦 cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜖 𝐴𝑚𝑛 𝛽𝑥 𝐸𝑦 = − sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜖 𝐸𝑧 = 0 𝐻𝑥 = Cut-off freq: 𝑓𝑐 𝑚𝑛 = 2𝜋 1 𝜇𝜖 𝑚𝜋 2 𝑎 𝑚 = 0, 1, 2, … 𝑛 = 0, 1, 2, … 𝑚 𝑎𝑛𝑑 𝑛 𝑛𝑜𝑡 𝑧𝑒𝑟𝑜 𝑠𝑖𝑚𝑢𝑙𝑡𝑎𝑛𝑒𝑜𝑢𝑠𝑙𝑦 + 𝑛𝜋 2 𝑏 𝐴𝑚𝑛 𝛽𝑥 𝛽𝑦 sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐴𝑚𝑛 𝛽𝑦 𝛽𝑧 𝐻𝑦 = cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐴𝑚𝑛 𝛽𝑐2 𝐻𝑧 = −𝑗 cos 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 8 Overview Modes of operation TEz TMz Summary Assignment Rectangular Waveguide Fields Equations – TM mode 𝐸𝑥 = −𝐵𝑚𝑛 𝛽𝑥 𝛽𝑧 c𝑜𝑠 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 −𝐵𝑚𝑛 𝛽𝑦 𝛽𝑧 𝐸𝑦 = sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 𝐵𝑚𝑛 𝛽𝑐2 𝐸𝑧 = −𝑗 sin 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜔𝜇𝜖 Cut-off freq: 𝑓𝑐 𝑚𝑛 = 2𝜋 1 𝜇𝜖 𝑚𝜋 2 𝑎 + 𝑛𝜋 2 𝑏 𝑚 = 1, 2, … 𝑛 = 1, 2, … 𝑚𝜋 𝑛𝜋 2 𝛽𝑥 = , 𝛽𝑦 = , 𝛽𝑧 = 𝛽 2 − (𝛽𝑥2 + 𝛽𝑦2 ) 𝑎 𝑏 𝐵𝑚𝑛 𝛽𝑦 𝐻𝑥 = sin 𝛽𝑥 𝑥 cos 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜇 𝐵𝑚𝑛 𝛽𝑥 𝐻𝑦 = − cos 𝛽𝑥 𝑥 sin 𝛽𝑦 𝑦 𝑒 −𝑗𝛽𝑧 𝑧 𝜇 𝐻𝑧 = 0 9 Overview Modes of operation TEz TMz Summary Assignment Summary – Waveguide propagation modes depend on operating frequency, shape and size of the guide. The modes of the waveguide are classified into following types: – Transverse Electric (TE) have no electric field component in the direction of propagation – Transverse Magnetic (TM) have no magnetic field component in the direction of propagation – There are infinite number of fields configuration that satisfy Maxwell’s equation and boundaries conditions of the geometry – The mode with smallest cut-off frequency is referred to as dominant mode – For rectangular waveguide, if a > b, the dominant mode is 𝑇𝐸10. If a < b, the dominant mode is 𝑇𝐸01 10 Overview Modes of operation TEz TMz Summary Assignment Assignments • Assignment 1 The inner dimensions of an X-band WR90 rectangular waveguide are a = 2.286 cm and b = 1.016 cm. Assume free space within the guide. Determine (in GHz) the cutoff frequencies in the following TE and/or TM modes. (𝑇𝐸01 , 𝑇𝐸10 , 𝑇𝐸11 , 𝑇𝐸12 , 𝑇𝐸20 , 𝑇𝐸21 , 𝑇𝐸02 , 𝑇𝐸22 , 𝑇𝐸30 , 𝑇𝐸31 , 𝑇𝐸40 , 𝑇𝐸41 ) (𝑇𝑀11 , 𝑇𝑀21 , 𝑇𝑀31 , 𝑇𝑀12 , 𝑇𝑀22 , 𝑇𝑀41 ) • Assignment 2 Use the provided MATLAB software to plot the fields pattern inside the rectangular waveguide of the following modes and compare the results with references provided in the next slide. (𝑇𝐸01 , 𝑇𝐸10 , 𝑇𝐸11 , 𝑇𝐸12 , 𝑇𝐸20 , 𝑇𝐸21 , 𝑇𝐸02 , 𝑇𝐸22 , 𝑇𝐸30 , 𝑇𝐸31 , 𝑇𝐸40 , 𝑇𝐸41 ) (𝑇𝑀11 , 𝑇𝑀21 , 𝑇𝑀31 , 𝑇𝑀12 , 𝑇𝑀22 , 𝑇𝑀41 ) 11 Overview Modes of operation TEz TMz Summary Assignment References results of fields pattern 12 C. S. Lee, S. W. Lee, and S. L. Chuang, “Plot of modal field distribution in rectangular and circular waveguides,” IEEE Trans. Microwave Theory Tech, 1985, IEEE Thank you for listening 13 function varargout = Rectangular_waveguied_GUI(varargin) % RECTANGULAR_WAVEGUIED_GUI MATLAB code for Rectangular_waveguied_GUI.fig % RECTANGULAR_WAVEGUIED_GUI, by itself, creates a new RECTANGULAR_WAVEGUIED_GUI or raises the existing % singleton*. % % H = RECTANGULAR_WAVEGUIED_GUI returns the handle to a new RECTANGULAR_WAVEGUIED_GUI or the handle to % the existing singleton*. % % RECTANGULAR_WAVEGUIED_GUI(‘CALLBACK’,hObject,eventData,handles,…) calls the local % function named CALLBACK in RECTANGULAR_WAVEGUIED_GUI.M with the given input arguments. % % RECTANGULAR_WAVEGUIED_GUI(‘Property’,’Value’,…) creates a new RECTANGULAR_WAVEGUIED_GUI or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Rectangular_waveguied_GUI_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to Rectangular_waveguied_GUI_OpeningFcn via varargin. % % *See GUI Options on GUIDE’s Tools menu. Choose “GUI allows only one % instance to run (singleton)”. % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help Rectangular_waveguied_GUI % Last Modified by GUIDE v2.5 15-Apr-2018 15:41:42 % Begin initialization code – DO NOT EDIT gui_Singleton = 1; gui_State = struct(‘gui_Name’, mfilename, … ‘gui_Singleton’, gui_Singleton, … ‘gui_OpeningFcn’, @Rectangular_waveguied_GUI_OpeningFcn, … ‘gui_OutputFcn’, @Rectangular_waveguied_GUI_OutputFcn, … ‘gui_LayoutFcn’, [] , … ‘gui_Callback’, []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code – DO NOT EDIT % — Executes just before Rectangular_waveguied_GUI is made visible. function Rectangular_waveguied_GUI_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved – to be defined in a future version of MATLAB % handles % varargin structure with handles and user data (see GUIDATA) command line arguments to Rectangular_waveguied_GUI (see VARARGIN) % Choose default command line output for Rectangular_waveguied_GUI handles.output = hObject; myImage = imread(‘Rec_WG.PNG’); set(handles.axes8,’Units’,’pixels’); % resizePos = get(handles.axes8,’Position’); % myImage = imresize(myImage, [resizePos(3) resizePos(3)]); axes(handles.axes8); imshow(myImage); set(handles.axes8,’Units’,’normalized’); % Update handles structure guidata(hObject, handles); % UIWAIT makes Rectangular_waveguied_GUI wait for user response (see UIRESUME) % uiwait(handles.figure1); % — Outputs from this function are returned to the command line. function varargout = Rectangular_waveguied_GUI_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % — Executes on button press in radiobutton1. function radiobutton1_Callback(hObject, eventdata, handles) % hObject handle to radiobutton1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,’Value’) returns toggle state of radiobutton1 % — Executes on button press in radiobutton2. function radiobutton2_Callback(hObject, eventdata, handles) % hObject handle to radiobutton2 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,’Value’) returns toggle state of radiobutton2 function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit1 as text % str2double(get(hObject,’String’)) returns contents of edit1 as a double input_m = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_m)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit2 as text % str2double(get(hObject,’String’)) returns contents of edit2 as a double input_n = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_n)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit3 as text % str2double(get(hObject,’String’)) returns contents of edit3 as a double input_a = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_a)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit5 as text % str2double(get(hObject,’String’)) returns contents of edit5 as a double input_b = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_b)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit6 as text % str2double(get(hObject,’String’)) returns contents of edit6 as a double % — Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end % — Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mode_assign = get(handles.uipanel1,’SelectedObject’) mode = get(mode_assign,’String’) mu0 = pi*4e-7; eps0 = 8.85418781761e-12; zf0 = sqrt(mu0/eps0); c0 = 1/sqrt(eps0*mu0); f0_str = get(handles.edit7,’String’); f0_GHz = str2double(f0_str); f0 = f0_GHz*1e9; %resonant frequency omega0 = 2*pi*f0; lambda_0 = c0/f0; %wavelength of resonant frequency k_0 = 2*pi/lambda_0; m n a b % = = = = h get(handles.edit1,’String’); get(handles.edit2,’String’); get(handles.edit3,’String’); get(handles.edit5,’String’); = get(handles.edit8,’String’); if strcmp(mode,’Transverse Electric (TE)’) == 1 f_c = 1/(2*pi*sqrt(mu0*eps0))*sqrt((str2double(m)*pi/str2double(a))^2+ (str2double(n)*pi/str2double(b))^2); f_c_string = num2str(f_c/1e9); set(handles.edit6,’String’,f_c_string); guidata(hObject,handles); if f0 < f_c errordlg(‘Operating Frequency must GREATER than Cut-off Frequency’); else betax = str2double(m)*pi/str2double(a); betay = str2double(n)*pi/str2double(b); betaz = sqrt(k_0^2-(betax^2+betay^2)); Amn = 1; x = linspace(0,str2double(a),31); y = linspace(0,str2double(b),31); z = linspace(0,lambda_0,31); [X,Y] = meshgrid(x,y); betac = 2*pi*f_c*sqrt(mu0*eps0); for i = 1:length(x) for j = 1:length(y) for mm = 1:length(z) Ex(j,i,mm) = Amn*betay/eps0*cos(betax*x(i))*sin(betay*y(j))*exp(-1j*betaz*z(mm)); Ey(j,i,mm) = -Amn*betax/eps0*sin(betax*x(i))*cos(betay*y(j))*exp(-1j*betaz*z(mm)); Ez(j,i,mm) = 0; Hx(j,i,mm) = Amn*betax*betaz/(omega0*mu0*eps0)*sin(betax*x(i))*cos(betay*y(j))*exp(1j*betaz*z(mm)); Hy(j,i,mm) = Amn*betay*betaz/(omega0*mu0*eps0)*cos(betax*x(i))*sin(betay*y(j))*exp(1j*betaz*z(mm)); Hz(j,i,mm) = -1j*Amn*(betac^2)/(omega0*mu0*eps0)*cos(betax*x(i))*cos(betay*y(j))*exp(1j*betaz*z(mm)); end end end end elseif strcmp(mode,’Transverse Magnetic (TM)’) == 1 if str2double(m) == 0 || str2double(n) == 0 errordlg(‘For TM mode, m or n cannot be 0’, ‘Error’); else f_c = 1/(2*pi*sqrt(mu0*eps0))*sqrt((str2double(m)*pi/str2double(a))^2+ (str2double(n)*pi/str2double(b))^2); f_c_string = num2str(f_c/1e9); set(handles.edit6,’String’,f_c_string); guidata(hObject,handles); if f0 < f_c errordlg(‘Operating Frequency must GREATER than Cut-off Frequency’); else betax = str2double(m)*pi/str2double(a); betay = str2double(n)*pi/str2double(b); betaz = sqrt(k_0^2-(betax^2+betay^2)); Bmn = 1; x = linspace(0,str2double(a),31); y = linspace(0,str2double(b),31); z = linspace(0,lambda_0,31); [X,Y] = betac = for i = for meshgrid(x,y); 2*pi*f_c*sqrt(mu0*eps0); 1:length(x) j = 1:length(y) for mm = 1:length(z) Ex(j,i,mm) = -Bmn*betax*betaz/(omega0*mu0*eps0)*cos(betax*x(i))*sin(betay*y(j))*exp(1j*betaz*z(mm)); Ey(j,i,mm) = -Bmn*betay*betaz/(omega0*mu0*eps0)*sin(betax*x(i))*cos(betay*y(j))*exp(1j*betaz*z(mm)); Ez(j,i,mm) = -1j*Bmn*(betac^2)/(omega0*mu0*eps0)*sin(betax*x(i))*sin(betay*y(j))*exp(1j*betaz*z(mm)); Hx(j,i,mm) = Bmn*betay/mu0*sin(betax*x(i))*cos(betay*y(j))*exp(-1j*betaz*z(mm)); Hy(j,i,mm) = -Bmn*betax/mu0*cos(betax*x(i))*sin(betay*y(j))*exp(-1j*betaz*z(mm)); Hz(j,i,mm) = 0; end end end end end end x = linspace(0,str2double(a),31); y = linspace(0,str2double(b),31); z = linspace(0,lambda_0,31); axes(handles.axes1); [X1,Y1] = meshgrid(x,y); Ex1 = Ex(:,:,1); Ey1 = Ey(:,:,1); quiver(X1,Y1,Ex1,Ey1,1.5); % axis equal title(‘Electric Field (xy-plane)’, ‘FontSize’, 10); xlabel(‘x (m)’, ‘FontSize’, 10); ylabel(‘y (m)’, ‘FontSize’, 10); xlim([x(1) x(end)]); ylim([y(1) y(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes3); [Y2,Z2] = meshgrid(y,z); Ey2 = reshape(Ey(:,15,:),length(y),length(z)); Ez2 = reshape(Ez(:,15,:),length(y),length(z)); quiver(Z2,Y2,Ez2,Ey2,1.5); % axis equal title(‘Electric Field (yz-plane)’, ‘FontSize’, 10); xlabel(‘z (m)’, ‘FontSize’, 10); ylabel(‘y (m)’, ‘FontSize’, 10); xlim([z(1) z(end)]); ylim([y(1) y(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes4); [X3,Z3] = meshgrid(x,z); Ex3 = reshape(Ex(15,:,:),length(x),length(z)); Ez3 = reshape(Ez(15,:,:),length(x),length(z)); quiver(Z3,X3,Ez3,Ex3,1.5); % axis equal title(‘Electric Field (xz-plane)’, ‘FontSize’, 10); xlabel(‘z (m)’, ‘FontSize’, 10); ylabel(‘x (m)’, ‘FontSize’, 10); xlim([z(1) z(end)]); ylim([x(1) x(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes5); [X1,Y1] = meshgrid(x,y); Hx1 = Hx(:,:,1); Hy1 = Hy(:,:,1); quiver(X1,Y1,Hx1,Hy1,1.5); % axis equal title(‘Magnetic Field (xy-plane)’, ‘FontSize’, 10); xlabel(‘x (m)’, ‘FontSize’, 10); ylabel(‘y (m)’, ‘FontSize’, 10); xlim([x(1) x(end)]); ylim([y(1) y(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes6); [Y2,Z2] = meshgrid(y,z); Hy2 = reshape(Hy(:,15,:),length(y),length(z)); Hz2 = reshape(Hz(:,15,:),length(y),length(z)); quiver(Z2,Y2,Hz2,Hy2,1.5); % axis equal title(‘Magnetic Field (yz-plane)’, ‘FontSize’, 10); xlabel(‘z (m)’, ‘FontSize’, 10); ylabel(‘y (m)’, ‘FontSize’, 10); xlim([z(1) z(end)]); ylim([y(1) y(end)]); set(gca, ‘FontSize’, 10); axes(handles.axes7); [X3,Z3] = meshgrid(x,z); Hx3 = reshape(Hx(15,:,:),length(x),length(z)); Hz3 = reshape(Hz(15,:,:),length(x),length(z)); quiver(Z3,X3,Hz3,Hx3,1.5); % axis equal title(‘Magnetic Field (xz-plane)’, ‘FontSize’, 10); xlabel(‘z (m)’, ‘FontSize’, 10); ylabel(‘x (m)’, ‘FontSize’, 10); xlim([z(1) z(end)]); ylim([x(1) x(end)]); set(gca, ‘FontSize’, 10); function edit7_Callback(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit7 as text % str2double(get(hObject,’String’)) returns contents of edit7 as a double input_f = str2num(get(hObject,’String’)); %checks to see if input is empty. if so, default input1_editText to zero if (isempty(input_f)) set(hObject,’String’,’0′) end guidata(hObject, handles); % — Executes during object creation, after setting all properties. function edit7_CreateFcn(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end % % % % % % % % — Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [filename, pathname, filterindex] = uiputfile( … {‘*.PNG’,’Portable Network Graphic file (*.PNG)’;… ‘*.*’, ‘All Files (*.*)’}); % — Executes on slider movement. function slider1_Callback(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’Value’) returns position of slider % get(hObject,’Min’) and get(hObject,’Max’) to determine range of slider % — Executes during object creation, after setting all properties. function slider1_CreateFcn(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,[.9 .9 .9]); end function edit8_Callback(hObject, eventdata, handles) % hObject handle to edit8 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit8 as text % str2double(get(hObject,’String’)) returns contents of edit8 as a double % — Executes during object creation, after setting all properties. function edit8_CreateFcn(hObject, eventdata, handles) % hObject handle to edit8 (see GCBO) % eventdata reserved – to be defined in a future version of MATLAB % handles empty – handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’), get(0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end Introduction The purpose of this lab is to learn about antenna polarization. We will be using lab volt antenna training system to measure the radiation pattern of different antenna. Antenna polarization Polarization of an antenna is the polarization of the wave transmitted (radiated) by the antenna. Polarization refers to the path traced by the tip of the electric field vector as a function of time. There are three forms of polarization: linear, circular and elliptic. We will only discuss linear polarization of antenna. IT Linear polarization is when the vector that describes the electric field is always directed along a line, which is normal the direction of propagation. Results Electromagnetic Laboratory Lab8 Spring 2019 Introduction: The purpose of this lab is to learn about the antenna working, Different types of antenna, parameters of antenna and how these parameters can be measured. Antenna: The device that is used to transmit radio signal from one end to another end is called antenna. The radio signals are sent and received through antenna. n transmission, a radio transmitter supplies an electric current to the antenna’s terminals, and the antenna radiates the energy from the current as electromagnetic waves (radio waves). In reception, an antenna intercepts some of the power of a radio wave in order to produce an electric current at its terminals, that is applied to a receiver to be amplified. Antennas are essential components of all radio equipment. There are different types of antenna • Dipole • Biconical • Loop • Helix • Horn • Parabolic reflector • Microstrip patch • Array of patch Different method can be used for antenna measurement • • • Planar scanning Cylindrical scanning Spherical scanning In this experiment radiation pattern of horn antenna and patch antenna is measured and is compared with the ideal pattern. Results: y b х a Z
Purchase answer to see full attachment