image thumbnail
from Dielectric resonator antenna (DRA) design and analysis utility by Alexandre Perron
Rapidly analyze and/or design dielectric resonator antennas of various shapes.

aRing_fr
%--------------------------------------------------------------------------
%                               aRing_fr.m                                   
%--------------------------------------------------------------------------
%  Analyse d'un rsonateur annulaire (franais)                                              
%
%    A) ENTRES
%
%    1. 'a' = rayon externe du rsonateur (en cm)
%    2. 'b' = rayon interne du rsonateur (en cm)
%    3. 'h' = hauteur du rsonateur (en cm)                          
%    4. 'er' = constante dilectrique relative du rsonateur         
%    5. 'VSWR' = taux d'ondes stationnaires tolr pour le calcul de la   
%       bande passante d'impdance
%
%    B) SORTIES
%
%    - La frquence de rsonance, le facteur-Q et la bande passante       
%      d'impdance pour les modes : TE01d et TM01d.
%--------------------------------------------------------------------------
%  Rfrences :
%
%  - M. Verplanken et J. Van Bladel, "The electric dipole resonances of
%    ring resonators of very high permittivity", IEEE Transactions on 
%    microwave theory and techniques, Vol. 24, Num. 2, fvrier 1976, pp. 
%    108-112.
%  - M. Verplanken et J. Van Bladel, "The magnetic dipole resonances of
%    ring resonators of very high permittivity", IEEE Transactions on 
%    microwave theory and techniques, Vol. 27, Num. 4, avril 1979, pp.
%    328-332
%--------------------------------------------------------------------------
%  Note : Ce fichier fait partie de l'Outil de conception et d'analyse 
%         des rsonateurs dilectriques (DRA.m).
%
%  Programmation : Alexandre Perron (perrona@emt.inrs.ca)               
%  Affiliation : Institut national de la recherche scientifique (INRS)  
%  Dernire modification : Le 31 juillet 2008                              
%--------------------------------------------------------------------------

function aRing_fr

% Entte :
clc
disp(strvcat('===============================================================',...
             ' Outil de conception et d''analyse des rsonateur dilectriques',...
             '==============================================================='));
disp(sprintf('\n-------------- Analyse d''un rsonateur annulaire ---------------'));

repeter = 1;
while repeter == 1
    repeter = 0;
    
    % Entre des paramtres :
    a = [];
    while isempty(a)||(isnumeric(a) == 0),
        a = input('\nEntrez le rayon externe (a) du rsonateur (en cm) : ');
    end

    b = [];
    while isempty(b)||(isnumeric(b) == 0),
        b = input('\nEntrez le rayon interne (b) du rsonateur (en cm) : ');
    end

    h = [];
    while isempty(h)||(isnumeric(h) == 0),
        h = input('\nEntrez la hauteur (h) du rsonateur (en cm) : ');
    end

    er = [];
    while isempty(er)||(isnumeric(er) == 0),
        er = input('\nEntrez la constante dilectrique (er) du rsonateur : ');
    end
    
    VSWR = [];
    while isempty(VSWR)||(isnumeric(VSWR) == 0),
        VSWR = input('\nEntrez le VSWR pour le calcul de la bande passante (ex.: 2) : ');
    end
    
    % Un avertissement est affich si certaines limites sont dpasses :
    if (b/a > 0.75)||(h/a > 1.3)
        choix = [];
        while isempty(choix)||(choix ~= 1 && choix ~= 2 && choix ~= 3)
            choix = input(['\nAvertissement! Le ratio ''rayon interne/rayon externe'' (b/a) dpasse 0.75 et/ou\n',...
                             'le ratio ''hauteur/rayon externe'' (h/a) dpasse 1.3. Les rsultats des estimations\n',...
                             'risquent d''tre errons, surtout pour le mode TE01d! Dsirez-vous :\n', ...
                             '   (1) Effectuer tout de mme le calcul sans modifier les valeurs entres?\n', ...
                             '   (2) Entrer de nouvelles valeurs?\n', ...
                             '   (3) Retourner au menu principal?\n', ...
                             'Faites votre choix : ']);
        end
        switch choix
            case 1
                break
            case 2
                repeter = 1;
            case 3
                return
        end
    % Un avertissement est affich si la constante dilectrique est plus petite que 20 :    
    elseif (er < 20 && repeter == 0)
        choix = [];
        while isempty(choix)||(choix ~= 1 && choix ~= 2 && choix ~= 3)
            choix = input(['\nAvertissement! Les approximations utilises ne sont valides que pour une constante\n',...
                             'dilectrique leve (er > 20). Les rsultats risquent d''tre errons! Dsirez-vous :\n', ...
                             '   (1) Effectuer tout de mme le calcul sans modifier les valeurs entres?\n', ...
                             '   (2) Entrer de nouvelles valeurs?\n', ...
                             '   (3) Retourner au menu principal?\n', ...
                             'Faites votre choix : ']);
        end
        switch choix
            case 1
                break
            case 2
                repeter = 1;
            case 3
                return
        end     
    end        
end

%============================%
% Calculs pour le mode TE01d %
%============================%

% Frquence de rsonance (en GHz) :
freq_TE = 4.7713*polyval(coeffTE(b/a),h/a)/sqrt(er)/a;
% Facteur-Q
facteurQ_TE = polyval(coeffQTE(b/a),h/a)*er^1.5;
% Bande passante :
BW_TE = (VSWR-1)/(sqrt(VSWR)*facteurQ_TE)*100;

%============================%
% Calculs pour le mode TM01d %
%============================%

% Frquence de rsonance (en GHz) :
freq_TM = 299792458/2/pi/sqrt(er)*sqrt((pi/2/h)^2+(calcX0(b/a)/a)^2)/1e7;
% Facteur-Q
facteurQ_TM = polyval(coeffQTM(b/a),h/a)*er^2.5;
% Bande passante :
BW_TM = (VSWR-1)/(sqrt(VSWR)*facteurQ_TM)*100;

% Entte :
clc
disp(strvcat('===============================================================',...
             ' Outil de conception et d''analyse des rsonateur dilectriques',...
             '==============================================================='));
disp(sprintf('\n-------------- Analyse d''un rsonateur annulaire --------------\n'));

% Affichage des paramtres d'entre :
disp(sprintf('Rayon externe (a) du rsonateur (en cm) = %5.4f',a));
disp(sprintf('Rayon interne (b) du rsonateur (en cm) = %5.4f',b));
disp(sprintf('Hauteur (h) du rsonateur (en cm) = %5.4f',h));
disp(sprintf('Constante dilectrique du rsonateur = %5.4f',er));

% Affichage des rsultats :
disp(sprintf('\n'));
disp(strvcat('                   Mode TE01d                    ', ...
             '-------------------------------------------------'));
disp(sprintf('    Frquence de rsonance (en GHz) = %5.4f',freq_TE));
disp(sprintf('                          Facteur-Q = %5.4f',facteurQ_TE));
disp(sprintf('    Bande passante (en pourcentage) = %5.4f',BW_TE));

disp(sprintf('\n'));
disp(strvcat('                   Mode TM01d                    ', ...
             '-------------------------------------------------'));
disp(sprintf('    Frquence de rsonance (en GHz) = %5.4f',freq_TM));
disp(sprintf('                          Facteur-Q = %5.4f',facteurQ_TM));
disp(sprintf('    Bande passante (en pourcentage) = %5.4f',BW_TM));

end

Contact us at files@mathworks.com