ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.12.2024
Просмотров: 2900
Скачиваний: 5
СОДЕРЖАНИЕ
В.Г. Новиков моделирование систем
Тема 3. Моделирование динамических процессов с помощью пакета MatLab “Simulink”29
1.2. Ввод и преобразование моделей
1.3.1.1. Примеры анализа во временной области
1.3.1.2. Примеры анализа в частотной области
1.3.2. Примеры анализа во временной области
1.3.3. Примеры анализа в частотной области
1.3.4. Примеры применения процедур для вычисления полюсов и нулей системы
1.4. Задание на самостоятельную работу
1.4.1. Структурная схема модели
1.4.2. Требования к исследованию модели
1.4.3. Исходные параметры модели
1.4.4. Отчетность по лабораторной работе
2.2. Общие средства фильтрации. Формирование случайных процессов
2.2.1. Общие основы линейной фильтрации
2.2.2. Формирование случайных процессов
2.3. Спектральный и статистический анализ
2.3.2. Примеры спектрального анализа
2.4. Задание на самостоятельную работу
2.4.1 Цифровая обработка сигналов
2.4.2. Формирование случайного процесса из белого шума
2.4.3. Формирование процесса как сумма гармоник
2.4.5. Отчетность по лабораторной работе
Тема 3. Моделирование динамических процессов с помощью пакета MatLab “Simulink”
3.1. Краткие сведения о подсистеме MatLab simulink
3.1.1. Запуск подсистемы simulink
3.1.3. Некоторые основные приемы подготовки и редактирования модели
3.5.1. Установка параметров моделирования
3.5.2. Выполнение моделирования
3.2.2.2. Результат составления модели
3.2.3. Результаты моделирования
3.3. Задание на самостоятельную работу
4.1.1. Особенности процессов в линейных нестационарных системах
4.1.2. Особенности процессов в нелинейных сау
4.1.3. Метод фазового пространства
4.2.1. Приведение линейного дифференциального уравнения к канонической форме
4.2.2. Пример исследования нестационарных и нелинейных процессов
4.2.3. Методика формирования модели в системе MatLab
4.2.2.3. Пример результатов исследования
4.3. Задание на самостоятельную работу
5. 2. Пример имитационного моделирования процессов с использованием подсистемы MatLab simulink
5.2.2. Формирование схемы моделирования
5.2.3. Подготовка к имитационному моделированию
5.2.3.1. Настройка блока Random Number - источника случайного сигнала с нормальным распределением.
5.2.3.3. Настройка блока To Workspace - блока записи в рабочую область Matlab
5.2.3.4. Установка параметров моделирования и сохранение модели
5.2.3.5. Представление результатов имитационного моделирования
5.2.4. Результаты моделирования
2.2.2. Формирование случайных процессов
Сформировать случайный процесс с заданной корреляционной функцией можно, если:
- сначала сформировать случайный процесс, являющийся нормально распределенным белым шумом,
- а затем “пропустить его через некоторое динамическое звено (формирующий фильтр)”.
На выходе такого звена получается нормально распределенный случайный процесс с корреляционной функцией, вид которой определяется типом формирующего фильтра.
Белый гауссовый шум в MatLabобразуется при помощи процедурыrandn.
Для этого достаточно задать дискрет времени Ts, образовать с этим шагом массив (вектор)t моментов времени в нужном диапазоне, а затем сформировать по указанной процедуре вектор-столбец длиной, равной длине вектораt.
Например
>> Ts=0.01;
>> t=0:Ts:20;
>> x1=randn(1,length(t));
>> plot(t,x1),grid;
>> title('Gaus(T=0.01c)');
>> xlabel('t, c');
>> ylabel('X1(t)')
Соответствующий процесс имеет вид:
Для другого дискрета Ts=0.001с имеем
>> Ts=0.001;
>> t=0:Ts:20;
>> x2=randn(1,length(t));
>> plot(t,x2),grid;
>> title('Gaus Ts=0.001 c');
>> xlabel('t, c');
>> ylabel('X2(t)')
Создадим дискретный формирующий фильтр второго порядка с частотой собственных колебаний ω0= 2π рад\с =1 Гц и относительным коэффициентом колебаний затуханияξ=0.05 по выражениям (2) коэффициентов:
>> om0=2*pi;dz=0.05;A=1;oms=om0*Ts;
>> a(1)=1+2*dz*oms+oms^2;
>> a(2)=-2*(1+dz*oms;
>> a(3)=1;
>> b(1)=A*2*dz*oms^2;
Пропустим образованный процесс x1через созданный формирующий фильтр:
>> y1=filter(b,a,x1);
Построим соответствующий график:
Аналогичные операции произведем с процессом x2(t)
>> x2=randn(1,length(t));
>> Ts=0.001;
>> om0=2*pi;dz=0.05;A=1;oms=om0*Ts;
>> a(1)=1+2*dz*oms+oms^2;
>> a(2)=-2*(1+dz*oms);
>> a(3)=1;
>> b(1)=A*2*dz*oms^2;
>> y2=filter(b,a,x2);t=0:Ts:20;
>> plot(t,y2),grid;
>> title('procedure (T0=1;dz=0.05;Ts=0.001)');
>> xlabel('t, c');
>> ylabel('Y1(t)')
Как видим, на выходе формирующего фильтра действительно образуется случайный колебательный процесс с преобладающей частотой 1 Гц.
2.3. Спектральный и статистический анализ
2.3.1. Основные понятия
Основная задача спектрального анализа сигналов – выявление гармонического спектра этих сигналов, т.е. определение частот гармонических составляющих сигнала (выявление частотного спектра), амплитуд этих гармонических составляющих (амплитудного спектра) и их начальных фаз (фазового спектра).
В основе спектрального анализа лежит теория Фурье о возможности разложениялюбого периодического процесса на счетную сумму отдельных гармонических составляющих.
Процедуры fftи ifft осуществляют преобразования заданного вектора, соответствующиедискретному прямому (fft – Fast Fourier Transformation) и обратному (ifft – Invers Fast Fourier Transformation) преобразованиям Фурье.
Обращение к этим функциям
y=fft(x,n); x=ifft(y,n)
приводит к формированию вектора y в первом случае, и вектораx- во втором, по формулам:
(4)
где n– число элементов заданного вектораx; j – мнимая единица.
2.3.2. Примеры спектрального анализа
Входной сигнал представим в виде вектора, элементы которого равны значениям функции, являющейся суммой двух синусоид с частотами 5 и 12 Гц. Найти Фурье-изображение этого сигнала и вывести графики входного процесса и модуля его Фурье-изображения:
>> t=0:0.001:2;
>> x=sin(2*pi*5*t)+cos(2*pi*12*t);
>> plot(t,x),grid;
>> title('input');
>> xlabel('t, c');
>> ylabel('X(t)')
>> y=fft(x);
>> a=abs(y);
>> plot(a);grid;
>> title('fourier');
>> xlabel('number');
>> ylabel('absF(X(t))')
Теперь осуществим обратное преобразование с помощью функции ifft:
>> z=ifft(y);
>> plot(t,z), grid;
>> title('inverse');xlabel('number');
>> xlabel('t, c');
>> ylabel('Z(t))')
Как следует из последнего рисунка, воспроизведенный процесс в точности совпадает с исходным.
Из выражений (4) можно заметить:
- номер mсоответствует моменту времениtm , в который измерен входной сигналx(m);
- номер k – это индекс значения частотыfk, которому соответствует найденный элементy(k)дискретного преобразования Фурье;
- для перехода от индексов к временной и частотной областям, необходимо знать значение шага h дискрета времени, через который измерен входной сигналx(t), и промежутокTвремени, на протяжении которого он измерен; тогда дискрет по частоте в изображении Фурье определяется выражением
Df=1/T,
а диапазон изменения частоты – выражением
F=1/h.
Так в нашем примере Df=0.5, F= 1000.
- Фурье - изображение определяется функцией fftтолько для положительных частот в диапазоне от0доF, что неудобно для построения графиков Фурье – изображения от частоты; более удобным является переход к вектору Фурье – изображения, определенному в диапазоне частот[-F/2 - F/2].
Сформируем для данного примера массив частот и выведем график с аргументом частотой
>> f=0:0.5:1000;
>> plot(f,a)'grid;
>> plot(f,a);grid;
>> title('F(x)');xlabel('friquency, Hz');
>> ylabel('abs(F(X))')
На рисунке трудно различить частоты (5 и 12 Гц), с которыми колеблется входной сигнал.
Для установления истинного спектра входного сигнала необходимо вначале преобразовать полученный вектор y Фурье – изображения с помощью процедурыfftshift. Она предназначена для формирования нового вектораz из заданногоу путем перестановки второй половины векторау в первую половину вектораz
>> f1=-500:0.5:500;
>> v=fftshift(y);
>> a=abs(v);
>> plot(f1(970:1030),a(970:1030));grid;
>> title('F/N');
>> xlabel('friquency, Hz');
>> ylabel('abs(F(X))/N')
Из графика видно, что в спектре входного сигнала есть две гармоники- 5 и 12 Гц.
Неудобным является то, что по графику невозможно определить амплитуду этих гармоник. Чтобы сделать это, необходимо весь вектор yразделить на число его элементовN:
>> N=length(y);
>> a=abs(v)/N;
>> plot(f1(970:1030),a(970:1030));grid;
>> title('F/N');
>> xlabel('friquency, Hz');
>> ylabel('abs(F(X))/N')
2.4. Задание на самостоятельную работу
2.4.1 Цифровая обработка сигналов
Провести цифровую обработку сигналов системы.
На выходе системы измеряемый сигнал x(t)представляет собой сумму трех сигналов:
x(t) = x0(t) + x1(t) + xш(t),
где x0(t)=A0 sin[(2π/T0) t] - измеряемый (полезный) сигнал;
x1(t) = A1 sin[(2π/T1) t] – регулярный шум преобразователя;
xш(t) – шум измерений, с интенсивностьюAш.
Подобрать дискретный фильтр второго порядка вида (2) с параметрами Aф, ξфпри условии, что период его собственных колебаний равен периоду колебаний полезного сигнала, а выделяемый сигнал максимально воспроизводит полезный сигнал.
Представить все соответствующие графики.
2.4.2. Формирование случайного процесса из белого шума
Сформировать случайный процесс из белого шума, используя формирующий фильтр второго порядка вида (2) с частотой собственных колебаний fфф и относительным коэффициентом колебаний затуханияξфф.
Представить все соответствующие графики.
2.4.3. Формирование процесса как сумма гармоник
Сформировать процесс на выходе системы следующего вида:
x(t) = x2(t) + x3(t) + x4(t),
где x2(t)=A2 sin[(2π*f2* t];
x3(t)=A3 sin[(2π*f3* t];
x4(t)=A4 sin[(2π*f4* t];
Выполнить спектральный анализ сигнала на выходе системы.
2.4.4. Исходные данные
Исходные параметры для исследований для каждого варианта заданы в таблице.
2.4.5. Отчетность по лабораторной работе
Результаты исследований для отчета оформить в текстовом процессоре Word.