www.gusucode.com > rf 工具箱matlab源码程序 > rf/+rfckt/@parallelplate/parallelplate.m
classdef (CaseInsensitiveProperties,TruncatedProperties) ... parallelplate < rfckt.basetxline %rfckt.parallelplate class % rfckt.parallelplate extends rfckt.basetxline. % % rfckt.parallelplate properties: % Name - Property is of type 'string' (read only) % nPort - Property is of type 'int32' (read only) % AnalyzedResult - Property is of type 'handle' (read only) % LineLength - Property is of type 'MATLAB array' % StubMode - Property is of type 'StubModeTypeDATATYPE enumeration: % {'NotAStub','Series','Shunt','None'}' % Termination - Property is of type 'TerminationTypeDATATYPE % enumeration: {'NotApplicable','Open','Short','None'}' % Width - Property is of type 'MATLAB array' % Separation - Property is of type 'MATLAB array' % MuR - Property is of type 'MATLAB array' % EpsilonR - Property is of type 'MATLAB array' % LossTangent - Property is of type 'MATLAB array' % SigmaCond - Property is of type 'MATLAB array' % % rfckt.parallelplate methods: % calckl - H, FREQ) returns e^(-kl) % checkproperty - Check the properties of the object. properties %WIDTH Property is of type 'MATLAB array' Width = 5e-3; end methods function set.Width(obj,value) if ~isequal(obj.Width,value) % DataType = 'MATLAB array' obj.Width = setpositive(obj,value,'Width', ... false,false,false); end end end % set and get functions for Width properties %SEPARATION Property is of type 'MATLAB array' Separation = 1e-3; end methods function set.Separation(obj,value) if ~isequal(obj.Separation,value) % DataType = 'MATLAB array' obj.Separation = setpositive(obj,value,'Separation', ... false,false,false); end end end % set and get functions for Separation properties %MUR Property is of type 'MATLAB array' MuR = 1; end methods function set.MuR(obj,value) if ~isequal(obj.MuR,value) % DataType = 'MATLAB array' obj.MuR = setpositive(obj,value,'MuR',false,false,false); end end end % set and get functions for MuR properties %EPSILONR Property is of type 'MATLAB array' EpsilonR = 2.3; end methods function set.EpsilonR(obj,value) if ~isequal(obj.EpsilonR,value) % DataType = 'MATLAB array' obj.EpsilonR = setpositive(obj,value,'EpsilonR', ... false,false,false); end end end % set and get functions for EpsilonR properties %LOSSTANGENT Property is of type 'MATLAB array' LossTangent = 0; end methods function set.LossTangent(obj,value) if ~isequal(obj.LossTangent,value) % DataType = 'MATLAB array' obj.LossTangent = setpositive(obj,value,'LossTangent', ... true,false,false); end end end % set and get functions for LossTangent properties %SIGMACOND Property is of type 'MATLAB array' SigmaCond = inf; end methods function set.SigmaCond(obj,value) if ~isequal(obj.SigmaCond,value) % DataType = 'MATLAB array' obj.SigmaCond = setpositive(obj,value,'SigmaCond', ... false,true,false); end end end % set and get functions for SigmaCond properties (Hidden) %SIGMADIEL Property is of type 'MATLAB array' SigmaDiel = 0; end methods function set.SigmaDiel(obj,value) if ~isequal(obj.SigmaDiel,value) % DataType = 'MATLAB array' obj.SigmaDiel = setsigmadiel(obj,value,'SigmaDiel'); end end end % set and get functions for SigmaDiel properties (Hidden) %ISSUEWARNINGFORNONZEROSIGMADIEL Property is of type 'bool' IssueWarningforNonzeroSigmaDiel = true; end methods % constructor block function h = parallelplate(varargin) %PARALLELPLATE Constructor. % H = RFCKT.PARALLELPLATE('PROPERTY1', VALUE1, 'PROPERTY2', ... % VALUE2, ...) % returns a parallel-plate transmission line object, H, based on % the properties specified by the input arguments in the % PROPERTY/VALUE pairs. Any properties you do not specify retain % their default values, which can be viewed by typing % 'h = rfckt.parallelplate'. % % A parallel-plate object has the following properties. All the % properties are writable except for the ones explicitly noted % otherwise. % % Property Name Description % --------------------------------------------------------------- % Name - Object name. (read only) % nPort - Number of ports. (read only) % AnalyzedResult - Analyzed result. It is generated during % analysis (read only) % LineLength - Line length (m) % StubMode - 'NotAStub', 'Series' or 'Shunt' % Termination - 'NotApplicable', 'Open' or 'Short' % Width - Plate width (m) % Separation - Plate separation (m) % MuR - Relative permeability constant % EpsilonR - Relative permittivity constant % LossTangent - Loss tangent of dielectric % SigmaCond - Conductivity of conductor (S/m) % % rfckt.parallelplate methods: % % Analysis % analyze - Analyze an RFCKT object in frequency domain % % Plots and Charts % circle - Draw circles on a Smith chart % loglog - Plot the specified parameters on the X-Y plane % with logarithmic scales for both the % X- and Y- axes % plot - Plot the specified parameters on the X-Y plane % plotyy - Plot the specified parameters on the X-Y plane % with y tick labels on the left and right % polar - Plot the specified parameters on a % polar plane chart % semilogx - Plot the specified parameters on the X-Y plane % with logarithmic scale for the X-axis % semilogy - Plot the specified parameters on the X-Y plane % with logarithmic scale for the Y-axis % smith - Plot the specified parameters on a Smith chart % table - Display the specified parameters in a table % % Parameters and Formats % listformat - List the valid formats for a parameter % listparam - List the valid parameters that can be % visualized % % Data Access and Restoration % calculate - Calculate the specified parameters % getz0 - Get the characteristic impedance of % transmission line object % extract - Extract the specified network parameters % % To get detailed help on a method from the command line, type % 'help rfckt.parallelplate/<METHOD>', where METHOD is one of the % methods listed above. For instance, % 'help rfckt.parallelplate/plot'. % % Example: % % % Create a parallel-plate transmission line % h = rfckt.parallelplate('LineLength',0.045) % % Do frequency domain analysis at the given frequency % f = .9e9:1e8:3e9; % Simulation frequency % analyze(h,f); % Do frequency domain % analysis % % List valid parameters and formats for visualization % listparam(h) % listformat(h, 'S21') % % Get the txline characteristic impedance % z0 = getz0(h) % % Visualize the analyzed results % figure(1) % plot(h, 'S21', 'dB'); % Plot S21 in dB on the % X-Y plane % figure(2) % smith(h, 'GammaIN', 'zy'); % Plot GAMMAIN on a % ZY Smith chart % % See also RFCKT, RFCKT.TXLINE, RFCKT.RLCGLINE, RFCKT.TWOWIRE, % RFCKT.COAXIAL, RFCKT.MICROSTRIP, RFCKT.CPW, RFDATA % Copyright 2003-2010 The MathWorks, Inc. %UDD % h = rfckt.parallelplate; set(h, 'Name', 'Parallel-Plate Transmission Line'); % Check the read only properties checkreadonlyproperty(h, varargin, {'Name', 'nPort', 'RFdata', ... 'AnalyzedResult', 'Z0', 'PV', 'Loss'}); % Set the values for the properties if nargin % If nargin is zero, next statement will print set(h, varargin{:}); end checkproperty(h); end % parallelplate end % constructor block methods % method signatures y = calckl(h,freq) checkproperty(h) end % method signatures end % classdef