Диссертация (1149334), страница 8
Текст из файла (страница 8)
лист. А.1, А.2, А.3), аналитических оценок (3.33) и (3.34) (см. лист. А.4и лист. А.5 соответственно), оценки (3.35) (см. лист. А.6) и оценки (3.36) (см.лист. А.7). Также приведена программная реализация построения диаграмм полосы захвата без проскальзывания на основе полученных оценок (см. лист. А.8).Для системы (3.37) с треугольной формой характеристики ФД (3.39) приведены программные реализации численной оценки полосы захвата без проскальзывания (см.
лист. А.9, А.2, А.10) и вычисления точного аналитическогозначения полосы захвата без проскальзывания (см. лист. А.11). Аналогично случаю синусоидальной формы характеристики ФД приведена программная реализация построения диаграмм полосы захвата без проскальзывания на основеполученных оценок (см. лист. А.12).12function dz = PLLSysSin (t , z , omega_e , tau_1 , tau_2 , L)%Matlab функция для задания системы (3.13)34567dz = zeros (2 ,1) ;dz (1) = sin ( z (2) ) ;dz (2) = omega_e - L *( z (1) + tau_2 * sin ( z (2) )) / tau_1 ;endЛистинг А.1: Функция задания системы (3.13).7012function [ value , isterminal , direction ] = Event (t , y , initial_value ,halt_value )%Matlab event функция для остановки численного интегрирования34567value = ( y (2) - initial_value ) ^2 - halt_value ^2;isterminal =1;direction =0;endЛистинг А.2: Matlab event функция для остановки численногоинтегрирования.123function omega_l = NumericalEstimateSinusoidal ( L , tau_1 , tau_2 )%NUMERICALESTIMATESINUSOIDAL%Вычисление значения с помощью методов численного интегрирования45678910)︁(︁free 1 Δ, 0системыinitial_value = pi ; % Δ -координата состояния равновесия (3.13)halt_value = pi ; %Максимальное отклонение от значения initial_value причисленном интегрировании%Задание опций ODE solver, системы дифференциальных уравнений PLLSysSin исобытия EventxoverFcn = @ (t , y ) Event (t , y , initial_value , halt_value ) ; %eventfor stopping integrationoptions = odeset ( ’ RelTol ’ , 1.
e -10 , ’ AbsTol ’ , 1. e -10 , ’ events ’,xoverFcn ) ;sys = @(t , z) PLLSysSin (t , z , 0 , tau_1 , tau_2 , L ) ;1112len = 1. e4 ; %Задание времени интегрирования1314151617[T ,Y , Te , Ye , De ] = ode15s ( sys , -[0 len ] , [0 initial_value +1. e -4] ,options ) ; %Matlab функция интегрирования на основе методаГираomega_l = Y ( end , 1) * L / tau_1 /2; %Вычисление значения в соотвествии с(3.12)clear T Y Te Ye De ; %Освобождение памятиendЛистинг А.3: Matlab функция для численной оценки полосы захвата безпроскальзывания СФС с идеальным ПИФ первого порядка и синусоидальнойформой характеристики ФД.1function omega_l = FirstApproxEstimate ( L , tau_1 , tau_2 )7123%FIRSTAPPROXESTIMATE%Вычисление значения в соответствии с оценкой (3.33)456a = tau_2 / tau_1 ;b = 1/ tau_1 ;789omega_l = sqrt ( b * L ) + a * L /3;endЛистинг А.4: Реализация аналитической оценки (3.33) полосы захвата безпроскальзывания СФС с идеальным ПИФ первого порядка и синусоидальнойформой характеристики ФД.123function omega_l = SecondApproxEstimate ( L , tau_1 , tau_2 )%SECONDAPPROXESTIMATE%Вычисление значения в соответствии с оценкой (3.34)456a = tau_2 / tau_1 ;b = 1/ tau_1 ;789omega_l = sqrt ( b * L ) + a * L /3 + a ^2* L *(5 -6* log (2) ) * sqrt ( b * L ) /18/ b ;endЛистинг А.5: Реализация аналитической оценки (3.34) полосы захвата безпроскальзывания СФС с идеальным ПИФ первого порядка и синусоидальнойформой характеристики ФД.123function omega_l = GardnerEstimate ( L , tau_1 , tau_2 )%GARDNERESTIMATE%Вычисление в соответствии с оценкой (3.35)456L_Sb = L / tau_1 * tau_2 ;a_Sb = 1/ tau_2 / L_Sb ;789omega_l = 1.85*(1/2 + sqrt ( a_Sb ) ) * L_Sb /2;endЛистинг А.6: Реализация оценки (3.35) полосы захвата без проскальзыванияСФС с идеальным ПИФ первого порядка и синусоидальной формойхарактеристики ФД.721234567function omega_l = StensbyEstimate ( L , tau_1 , tau_2 )%STENSBYESTIMATE%Вычисление в соответствии с оценкой (3.36)L_Sb = L / tau_1 * tau_2 ;a_Sb = 1/ tau_2 / L_Sb ;k1 = (1 - sqrt (4* a_Sb + 1) ) /2;k3 = ( a_Sb + 3* k1 ) /6/(1 -4* k1 ) ;891011Sb_approx = - a_Sb * pi /12*(4* sin ( pi /4) /(3* pi * k1 /4 + k3 *(3* pi /4) ^3) +2* sin ( pi /2) /( k1 * pi /2 + k3 *( pi /2) ^3) + 4* sin (3* pi /4) /( k1 * pi /4 +k3 *( pi /4) ^3) + 1/ k1 ) ;omega_l = Sb_approx * L_Sb /2;endЛистинг А.7: Реализация оценки (3.36) полосы захвата без проскальзыванияСФС с идеальным ПИФ первого порядка и синусоидальной формойхарактеристики ФД.123456789101112clear all ;%Задание опций Matlab figure для отображения диаграммfigure ;hold on ;grid on ;text ( -0.05 , 0.5 , ’\ tau_2 ’ , ’ Units ’, ’ normalized ’) ;xlabel ( ’ K_0 / \ tau_1 ’) ;ylabel ( ’\ omega_l *\ tau_1 / K_0 ’);ax = gca ;ax .
YAxisLocation = ’ right ’;set ( ax , ’ XScale ’ , ’ log ’) ;set ( ax , ’ fontsize ’ ,20) ;13141516free%Задание значений Δ, 1omega_e = 0;tau_1 = 0.5;171819%Задание набора значений 2tau2_values = 0:0.1:1;2021%Внешний for цикл, внутри которого выполняется построение кривой для каждогозначения 273222324for i =1: size ( tau2_values ,2)tau_2 = tau2_values ( i );= zeros (0 ,2) ; %Переменная для хранения наборов значений(︁ )︁]︁[︁ arrayOmega_l0, 101252627282930313233343536%Внутренний for цикл для вычисления значения для каждого значения 10for j =0:0.05:4L_tau1 = 10^ j ;L = L_tau1 * tau_1 ;omega_l = GardnerEstimate ( L , tau_1 , tau_2 ) ; %Вычисление в соответствии с оценкой (3.35)%omega_l = StensbyEstimate( L, tau_1, tau_2 );%omega_l = FirstApproxEstimate( L, tau_1, tau_2 );%omega_l = SecondApproxEstimate( L, tau_1, tau_2 );%omega_l = NumericalEstimateSinusoidal( L, tau_1, tau_2 );arrayOmega_l = [ arrayOmega_l ; [ L_tau1 omega_l ]];end ;3738394041%Построение кривой для фиксированного значения 2semilogx ( arrayOmega_l (: , 1) , arrayOmega_l (: , 2) , ’ blue ’ ,’ LineWidth ’ , 3) ;text ( arrayOmega_l (1 , 1) , arrayOmega_l (1 , 2) , sprintf ( ’ %.2 f ’ ,tau_2 ) , ’ HorizontalAlignment ’ , ’ right ’) ;end ;Листинг А.8: Matlab скрипт для построения диаграмм полосы захвата безпроскальзывания СФС с идеальным ПИФ первого порядка и синусоидальнойформой характеристики ФД.12function dz = PLLSysTriangle (t , z , omega_e , tau_1 , tau_2 , L )%Matlab функция для задания системы (3.37) c (Δ ) вида (3.39)34567dz = zeros (2 ,1) ;dz (1) = sawtooth ( z (2) + pi /2 , 0.5) ;dz (2) = omega_e - L *( z (1) + tau_2 * sawtooth (z (2) + pi /2 , 0.5) )/ tau_1 ;endЛистинг А.9: Функция задания системы (3.37) с треугольной формойхарактеристики ФД (3.39).1function omega_l = NumericalEstimateTriangular ( L , tau_1 , tau_2 )7423%NUMERICALESTIMATETRIANGULAR%Вычисление значения с помощью методов численного интегрирования45678910(︁free 1 Δ, 0)︁системыinitial_value = pi ; % Δ -координата состояния равновесия(3.37) c (Δ ) вида (3.39)halt_value = pi ; %Максимальное отклонение от значения initial_value причисленном интегрировании%Задание опций ODE solver, системы дифференциальных уравнений PLLSysTriangle исобытия EventxoverFcn = @ (t , y ) Event (t , y , initial_value , halt_value ) ; %eventfor stopping integrationoptions = odeset ( ’ RelTol ’ , 1.
e -10 , ’ AbsTol ’ , 1. e -10 , ’ events ’,xoverFcn ) ;sys = @(t , z) PLLSysTriangle (t , z , 0 , tau_1 , tau_2 , L ) ;1112len = 1. e4 ; %Задание времени интегрирования1314151617[T ,Y , Te , Ye , De ] = ode15s ( sys , -[0 len ] , [0 initial_value +1. e -4] ,options ) ; %Matlab функция интегрирования на основе методаГираomega_l = Y ( end , 1) * L / tau_1 /2; %Вычисление значения в соотвествии с(3.12)clear T Y Te Ye De ; %Освобождение памятиendЛистинг А.10: Реализация численной оценки полосы захвата безпроскальзывания СФС с идеальным ПИФ первого порядка и треугольнойформой характеристики ФД.12345function omega_l = AnalyticalValueTriangular ( L , tau_1 , tau_2 )%ANALYTICALVALUETRIANGULAR%Вычисление значения из соотношений (3.57), (3.58) и (3.59)a = tau_2 / tau_1 ;b = 1/ tau_1 ;67891011k = 2/ pi ;d2 = ( - a * L + sqrt ( a ^2* L ^2 + 4* b * L *( pi -1/ k ) )) /2;if ((( a * L * k ) ^2 -4* b * L * k ) >=0)c1 = (1 + sqrt (( a ^2* L ^2 +4* b* L *( pi -1/ k) ) /( a ^2* L ^2+4* b * L *( -1/ k ) ) ) ) /2/ k ;c2 = (1 - sqrt (( a ^2* L ^2 +4* b* L *( pi -1/ k) ) /( a ^2* L ^2+4* b * L *( -1/ k ) ) ) ) /2/ k ;7512131415161718192021omega_l = c1 /2* sqrt ( a ^2* L ^2* k ^2 4* b *L * k ) *( - c2 / c1 ) ^( - a * L * k /2/ sqrt ( a ^2* L ^2* k ^2 - 4* b * L * k ) + 1/2) ;elsealpha = -a * L* k /2;beta = sqrt (4* b *L * k - a ^2* L ^2* k ^2) /2;c1 = 1/ k ;c2 = ( d2 - alpha / k ) / beta ;t0 = atan ( - c1 / c2 ) / beta ;omega_l = exp ( alpha * t0 ) * beta *( c2 * cos ( beta * t0 ) c1 * sin ( beta * t0 ) ) /2;end ;endЛистинг А.11: Реализация точного определения из соотношений (3.40), (3.41)и (3.42) полосы захвата без проскальзывания СФС с идеальным ПИФ первогопорядка и треугольной формой характеристики ФД.123456789101112clear all ;%Задание опций Matlab figure для отображения диаграммfigure ;hold on ;grid on ;text ( -0.05 , 0.5 , ’\ tau_2 ’ , ’ Units ’, ’ normalized ’) ;xlabel ( ’ K_0 / \ tau_1 ’) ;ylabel ( ’\ omega_l *\ tau_1 / K_0 ’);ax = gca ;ax .
















