Метода, страница 5
Описание файла
PDF-файл из архива "Метода", который расположен в категории "". Всё это находится в предмете "статистическая динамика" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "статистическая динамика" в общих файлах.
Просмотр PDF-файла онлайн
Текст 5 страницы из PDF
По методике, описанной в работе № 1, рассчитаем параметры формирующего фильтра для шума с заданной спектральнойплотностью.2. По той же методике сформируем полезный сигнал с заданной спектральной плотностью.40Ниже показано, как в коде программы в MATLAB можно одновременно создать помеху и полезный сигнал.Очистим вначале пространство переменных:clear;s = tf('s')2.1. Запишем передаточную функцию формирующего фильтрадля помехи:W_form = 1/(0.5*s+1)2.2.
Запишем передаточную функцию формирующего фильтрадля полезного сигнала:W_p = 3/(0.005*s^2+0.05*s+1)2.3. Положим дисперсию белого шума на входе формирующего фильтра помехи равной единице:disp_val = 12.4. Аналогично для входа формирующего фильтра полезногосигнала:disp_val_p = 13. Будем обрабатывать одновременно 100 реализаций случайного процесса:num_ser = 1004. Выберем период дискретизации:time_scale = 0.0015. Зададим размеры массива времени и заполним его. Длительность периода обработки сигнала была выбрана при выполненииработы № 2.t_obrabotki = 10;[u,t] = gensig('square', 1, ...t_obrabotki,time_scale);size_u = size(u,1)6. Создадим массив num_ser реализаций белого шума с длиной size_u и дисперсией disp_val и disp_val_p:41r = randn(num_ser,size(u,1));r_p = randn(num_ser,size(u,1));noise_= zeros(num_ser,size(u,1));noise_p = zeros(num_ser,size(u,1));for series = 1:num_serfor i = 1:size(u,1)noise_(series,i) = sqrt(disp_val)*...r(series,i);noise_p(series,i) = sqrt(disp_val_p)*...r_p(series,i);end;end;7.
Пропустим семейство реализаций белого шума через формирующий фильтр при помощи функции lsim:ai_noise = zeros(1,size(u,1));ai_noise_p = zeros(1,size(u,1));modell_inp = zeros(num_ser,size(u,1));modell_inp_p = zeros(num_ser,size(u,1));for series = 1:num_serfor i = 1:size(u,1)ai_noise(i) = noise_(series,i);ai_noise_p(i) = noise_p(series,i);end;model_i_noise = lsim(W_form,ai_noise,t);model_i_noise_p = lsim(W_p,ai_noise_p,t);for i = 1:size(u,1)modell_inp(series,i)= ...model_i_noise(i);modell_inp_p(series,i)= ...model_i_noise_p(i);end;end;8.
Получим семейство реализаций случайного процесса на входе системы:input = zeros(num_ser,size(u,1));for series = 1:num_serfor i = 1:size(u,1)42input(series,i) = modell_inp(series,i)+ ...modell_inp_p(series,i);end;end;9. Выведем на печать графики входного сигнала системы (дляудобства сравнения графиков будем рассматривать лишь первыедве секунды — рис. 24):t_to_plot = 2;plot(t(1:(t_to_plot/time_scale+1)), ...input(:,1:(t_to_plot/ time_scale+1)));grid on;xlabel('t, cекунды', 'FontSize', 12);set(gca, 'FontSize', 12);10.
Пропустим входной сигнал через систему, воспользовавшись алгоритмом, описанном в работе № 2.10.1. Предварительно запишем передаточные функции разомкнутой и замкнутой системы:W_s_razomk = 1/(0.005*s^2+0.05*s)W_s = W_s_razomk/(1+ W_s_razomk)Рис. 24. Входной сигнал системы4310.2. Вычислим выходной сигнал:input_cur = zeros(1,size(u,1));modell_out = zeros(num_ser,size(u,1));for series = 1:num_serfor i = 1:size(u,1)input_cur(i) = input(series,i);end;model_output = lsim(W_s, input_cur,t);for i = 1:size(u,1)modell_out(series,i) = ...model_output(i);end;end;10.3.
Выведем выходной сигнал на экран (рис. 25):plot(t(1:(t_to_plot/time_scale+1)), ...modell_out(:,1:(t_to_plot/time_scale+1)));grid on;xlabel('t, cекунды', 'FontSize', 12);set(gca, 'FontSize', 12);Рис. 25. Выходной сигнал системы44Рис. 26. Случайный сигнал ошибки системы11. Определим ошибку системы и выведем ее на экран (рис. 26).err_= zeros(num_ser,size(u,1));for series = 1:num_serfor i = 1:size(u,1)err_(series,i) = modell_out(series,i)...-modell_inp_p(series,i);end;end;plot(t(1:(t_to_plot/time_scale+1)), ...err_(:,1:(t_to_plot / time_scale+1)));grid on; xlabel('t, cекунды','FontSize',12);set(gca, 'FontSize', 12);12. Определим статистические характеристики выходного сигнала и ошибки системы (математическое ожидание, дисперсию,корреляционную функцию, спектральную плотность) по алгоритму, описанному в работе № 2.13. Выполним оценку результатов.
Исследуем семейство реализаций ошибки системы err_ после затухания переходного процесса (время start_time примем таким же, как в работе № 2).Для этого значения массива err_ запишем в массив values:45start_time = 2; %начало периода анализаvalues = zeros(num_ser, size(u,1)- ...start_time/time_scale);for j = 1:num_serfor i = (start_time/time_scale+1):size(u,1)values(j, i- start_time/time_scale)...= err_(j,i);end;end;14. Рассчитаем среднее по множеству реализаций случайногопроцесса по формуле (14):mean_ = mean(values,1);15. Вычислим дисперсию случайного процесса по формуле(16) с коррекцией на шаг дискретизации:std_= std(values,0,1);disp_= zeros(1,size(values,2));for i = 1:size(values,2);disp_(i) = std_(i)^2/time_scale;end;16.
Определим оценку корреляционной функции и спектральной плотности по формулам (15), (26), (43), (44):value_r = zeros(1, size(values,2));covv =zeros(num_ser, 2*size(values,2)-1);NFFT = 2^nextpow2(size(values,2));spec = zeros(num_ser, NFFT);for series = 1:num_serfor i = 1: size(values,2)value_r(i) = values(series,i);end;[covvb,lags_] = xcov(value_r,'coeff');for i = 1:(2* size(values,2)-1)covv(series,i)=covvb(i);end;temp_sp = 2*abs(fft(value_r,NFFT)) .../ size(values,2);46for i = 1:NFFTspec(series, i) = temp_sp(i);end;end;cov_ = mean(covv,1);f = 1/time_scale*0.5*linspace(-0.125, ...0.125,NFFT/8);spect_= mean(spec,1);lags_= lags_*time_scale;17.
Отобразим результаты на экране монитора.17.1. Среднее по реализациям ошибки (рис. 27):plot(t((start_time/time_scale+1): ...size(u,1)), mean_); grid on;xlabel('t, cекунды', 'FontSize', 12);set(gca, 'FontSize', 12);17.2. Дисперсия ошибки (рис. 28):plot(t((start_time/time_scale+1): ...size(u,1)), disp_); grid on;xlabel('t, cекунды', 'FontSize', 12);set(gca, 'FontSize', 12);Рис.
27. Среднее по реализациям ошибки47Рис. 28. Дисперсия ошибки системы17.3. Корреляционная функция (рис. 29):plot(lags_, cov_); grid on;xlabel('\tau, секунды', 'FontSize', 12);ylabel('K(\tau)', 'FontSize', 12);title('Корреляционная функция', ...'FontSize', 12);set(gca, 'FontSize', 12);17.4. Спектральная плотность (рис. 30):plot (f, [spect_(NFFT/16:-1:1) ...spect_(1:NFFT/16)]); grid on;xlabel('\omega, Гц', 'FontSize', 12);ylabel('S(\omega)', 'FontSize', 12);title('Спектральная плотность', ...'FontSize', 12);set(gca, 'FontSize', 12);48Рис. 29.
Корреляционная функция ошибки системыРис. 30. Спектральная плотность ошибки системы49Требования к отчетуОтчет о выполненной работе должен содержать:– текст команд, выполненных в среде MATLAB;– распечатки графиков, отображающих основные статистическиехарактеристики процессов (выходной сигнал линейной системы, ееошибку, математическое ожидание, дисперсию, корреляционнуюфункцию, спектральную плотность);– сопоставление результатов, полученных в лабораторной работе, с результатами предварительно выполненных аналитическихрасчетов.50СПИСОК ЛИТЕРАТУРЫ1.
Астапов Ю.М., Медведев В.С. Статистическая теория систем автоматического регулирования и управления. М.: Наука, 1982. 304 с.2. Методы классической и современной теории автоматическогоуправления. В 5 т. Т. 1: Анализ и статистическая динамика систем автоматического управления / К.А. Пупков, Н.Д. Егупов, А.И. Баркин и др.М.: Изд-во МГТУ им.
Н.Э. Баумана, 2000. 748 с.3. Дьяконов В.П. MATLAB 6.5 SP1/7.0 + Simulink 5/6 в математике имоделировании. М.: Солон-Пресс, 2005. 576 с4. Потемкин В.Г. Вычисления в среде MATLAB. М.: Диалог-МИФИ,2004. 720 с.51ОГЛАВЛЕНИЕВведение.......................................................................................................31. Основные математические соотношения, используемые пристатистическом анализе автоматических систем ....................................41.1. Характеристики случайных процессов .............................................41.2. Определение характеристик стационарного случайного процессана выходе линейной системы ..........................................................101.3.
Вычисление дисперсии сигнала на выходе линейной системы.....132. Применение пакета MATLAB для статистического анализаавтоматических систем..........................................................................152.1. Определение характеристик эргодического случайного процессас помощью пакета MATLAB ...........................................................152.2. Формирование случайного сигнала ................................................172.3. Моделирование линейной системы.................................................183. Методические указания к выполнению лабораторных работ ..............193.1. Работа № 1.
Формирование случайного сигнала с заданнойспектральной плотностью ...............................................................193.2. Работа № 2. Анализ линейной системы при воздействиислучайного возмущения и детерминированногополезного сигнала............................................................................283.3. Работа № 3.
Анализ линейной системы при воздействиислучайного полезного сигнала и случайного шума ........................39Список литературы ....................................................................................5152.