Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НОВИКОВ_2013-14 / Лаб_№2.doc
Скачиваний:
30
Добавлен:
19.03.2015
Размер:
203.26 Кб
Скачать

2

Министерство образования и науки российской федерации

________________________________________________________________________

Коломенский институт (филиал)

Федерального государственного бюджетного образовательного учреждения

высшего профессионального образования

«Московский государственный открытый университет

им. В.С. Черномырдина»

УТВЕРЖДЕНО

Учебно-методическим

Советом КИ МГОУ

НОВИКОВ В.Г.

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

для выполнения лабораторной работы № 2

по моделированию систем

ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ

при Исследовании систем

с помощью пакета MatLab

Signal Processing Toolbox

г. Коломна

2012 г.

СОДЕРЖАНИЕ

1. Введение

2. Общие средства фильтрации. Формирование случайных процессов

2.1. Общие основы линейной фильтрации

2.2. Формирование случайных процессов

3. Спектральный и статистический анализ

3.1. Основные понятия

3.2. Примеры спектрального анализа

4. Задание на самостоятельную работу

1. Введение

Цифровая обработка сигналов включает в себя создание средств численного преобразования массива заданного (измеренного в дискретные моменты времени) процесса изменения некоторой непрерывнойфизической величиныс целью извлечения из него полезной информации о другой физической величине, содержащейся в измеренном сигнале.

Общая схема образования измеряемого сигнала и процесса его преобразования в целях получения информации о величине, которая должна быть измерена, представлена на рисунке.

Фильтрна рисунке служит для преобразования входного дискретного во времени сигнала в выходной с минимизацией искажений, вызванных шумами.

Пакет MatLab Signal Processing Toolbox позволяет:

- рассчитывать конкретные числовые характеристики цифровых и аналоговых фильтров по требуемым АФЧХ;

- формировать последовательности типовых временных сигналов;

- обрабатывать их при помощи спроектированных фильтров.

2. Общие средства фильтрации. Формирование случайных процессов

2.1. Общие основы линейной фильтрации

Фильтрация – это преобразование заданного сигнала с помощью линейного фильтра.

Рассмотрим основы линейной фильтрации на примере линейного стационарного фильтра второго порядка, передаточная функция которого имеет вид:

, (1)

где x -заданный процесс;

y– получаемый на выходе фильтра процесс;

ω0– частота собственных колебаний фильтра;

ξ – относительный коэффициент затухания этого фильтра.

Для контроля и графического представления передаточной функции любого динамического звена удобно использовать процедуру freqs.

В общем случае обращение к ней имеет вид:

h= freqs (b,a,w).

При этом процедура создает вектор hкомплексных значений частотной характеристикиW(jω)по передаточной функцииW(s), заданной векторами коэффициентов ее числителя (b) и знаменателя (a), а также по заданному векторуwчастотыω. Если аргументw не задан, то выбирается 200 отсчетов частоты, для которых вычисляется частотная характеристика.

Пример.

A=1;ξ=0.05; T0 = 2π / ω0=1.

Вычислим значения коэффициентов числителя и знаменателя и выведем графики АЧХ и ФЧХ:

>> T0=1;dz=0.05;

>> om0=2*pi/T0;a=1

>> A=1;

>> a1(1)=1;a1(2)=2*dz*om0;a1(3)=om0^2;b1(1)=A;

>> freqs(b1,a1)

Дискретная передаточная функция, соответствующая непрерывному фильтру (1) (которая может быть получена путем Z- преобразования разностного уравнения - дискретного аналога дифференциального уравнения), имеет вид:

, (2)

где =1+2 ξ (ω0Ts)+ (ω0Ts)2;

= -2 (1+ξ (ω0Ts));

=1.

В общем случае дискретная передаточная функция имеет вид:

(3)

В системе MatLabфильтрация сигнала, описываемого дискретной передаточной функцией вида осуществляется процедуройfilter следующим образом:

y= filter(b, a, x)

где x – заданный вектор значений входного сигнала;

y – вектор значений выходного сигнала фильтра, получаемого вследствие фильтрации;

b – вектор коэффициентов числителя дискретной передаточной функции (1);

a – вектор коэффициентов знаменателя дискретной этой функции.

Пример

Полезный сигнал имеет синусоидальную форму с известным периодом T1=1cи амплитудойA1= 0.75. сформируем этот сигнал как вектор его значений в дискретные моменты времени с дискретомTs=0.001c:

>> Ts=0.001;

>> t=0:Ts:20;

>> A1=0.75; T1=1;

>> Yp=A1*sin(2*pi*t/T1);

>> plot(t,Yp),grid;

>> title('P-signal');

>> xlabel('t, c');

>> ylabel('Yp')

Пусть вследствие прохождения через преобразователь и в результате измерения к полезному сигналу добавились шумы:

- более высокочастотная синусоида с периодом T2 =0.2cи амплитудойA2=10;

- белый гауссовский шум измерителя с интенсивностью Aш =5.

В результате создается такой измеренный сигнал x(t):

>> T2=0.2;A2=10; eps=pi/4;

>> Ash=5;

>> x=A1*sin(2*pi*t/T1)+A2*sin(2*pi*t/T2+eps)+Ash*randn(1,length(t));

>> plot(t,x), grid

>> title('input')

>> xlabel('t, c')

>> ylabel('x(t)')

Требуется так обработать измеренные данные x, чтобы восстановить по ним полезный процесс как можно точнее.

Т.к. частота полезного сигнала заранее известна, восстановление его можно выполнить при помощи резонансного фильтра вида (2). При этом необходимо создать такой фильтр, чтобы период его собственных колебаний Tф был равен периоду колебаний полезного сигнала (Tф= T1).

Чтобы после прохождения через такой фильтр амплитуда восстановленного сигнала совпадала с амплитудой полезного сигнала, нужно входной сигнал фильтра домножить на постоянную величину 2ξω02 (поскольку при резонансе амплитуда выходного сигнала уменьшается именно во столько раз по сравнению с амплитудой входного сигнала).

Сформируем фильтр, описанный выше:

>> T1=1; Tf=T1;dz=0.05;

>> om0=2*pi/Tf;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*Ts*Ts*(2*dz*om0^2);

Пропустим сформированный процесс через него:

>> y=filter(b,a,x);

>> plot(t(10002:end),y(10002:end),t(10002:end),Yp(10002:end)),grid

>> title('procesOut(Tf=1,dz=0.05)');

>> xlabel('t, c');

>> ylabel('Y(t)')

В результате получим процесс, приведенный на рисунке.

Из рисунка можно заметить два недостатка:

- восстановленный процесс устанавливается на выходе фильтра только спустя некоторое время вследствие нулевых начальных условий самого фильтра как динамического звена;

- в установившемся режиме наблюдается значительный сдвиг фаз (π/2) между восстанавливаемым и восстановленным процессами.

Для избежания фазовых искажений полезного сигнала при его восстановлении можно воспользоваться процедурой двойной фильтрации – filtfilt, которая осуществляет обработку вектора в два приема: сначала в прямом, а затем в обратном направлении.

Результат представлен ниже.

>> y=filtfilt(b,a,x);

>> plot(t,y,t,Yp),grid;

>> title('procedure FILTFILT (Tf=1,dz=0.05)');

>> xlabel('t, c');

>> ylabel('Y(t)')

Соседние файлы в папке НОВИКОВ_2013-14