Лекция Основи на линейната филтрация. Формиране на



Дата13.01.2018
Размер60.06 Kb.
#44894
ТипЛекция




Лекция 8. Основи на линейната филтрация. Формиране на

случайни процеси с помощта на филтър



Аналогов линеен филтър

В общия случай предаващата функция на линеен аналогов филтър, която се дефинира като отношение на изходния сигнал В(s) към входния сигнал A(s), се описва от формулата:




(1)
където (n+1)-мерния вектор b и (m+1)-мерния вектор a задават параметрите на филтъра.

Ще разгледаме основите на линейната филтрация с пример за линеен филтър, който се описва във времето от следното диференциално уравнение от втори ред:


(2)


където x(t) е процеса като функция на времето, който се задава на входа на филтъра; y(t) е процеса на изхода на филтъра; w0 e честотата на собствените колебания на филтъра; е коефициент на затихване на филтъра. Вижда се че това уравнение е подобно на уравнението описващо принудени трептения под действието на външна сила Ax.

Предаващата функция на този филтър се задава от израза:




(3)
където се предполага експоненциална зависимост на изходния сигнал y=exp(st).

За изображение и анализ на предаващата функция се използва процудурата freqs(b,a,w), която извежда на екрана два прозореца с графиките на Амплитудно Честотната Характеристика /АЧХ/ и Фазово Честотната Характеристика /ФЧХ/ на филтъра. Аргументите са съответно векторите на коефициентите на числителя b и знаменателя a на предаващата функция, както и вектора w на честотите. Стойностите по подразбиране за вектора на честотата са 200 равномерно разположени точки. Ще разгледаме следния пример. Нека имаме предаваща функция със следните параметри: A=1; =0.05; T0=2/w0=1. Изпълнете следната програма и разгледайте резултата:

T0=1;zeta=0.05;omega0=2*pi/T0;A=1;

a1=[1, 2*zeta*omega0, omega0^2];

b1=[1];


freqs(b1,a1)

Появяват се два прозореца, където са представени графично амплитудно-честотна характеристика (АЧХ) и фазово-честотна характеристика (ФЧХ) на филтъра. Вижда се че максимума на пропускане на филтъра е при честота w0=2. Цифров линеен филтър

Предаващата функция на цифров линеен филтър се задава от формулата:


(4)
За да реализираме дискретен филтър трябва да оцифрим аналоговия входен процес x(t) като разделим времето на равни интервали със стъпка Ts. Тогава процеса в к-тия дискретен момент ще означим с x(k) където t=kTs. Ще дискретизираме уравнение (2), което описва филтъра като използваме следните формули за първа и втора производна:




(5)

След като заместим (5) в (2) можем да получим дискретния аналог на диференциалното уравнение (2):


(6)


Ако сега приложим формула (4) ще получим следната формула за предаващата функция на дискретния филтър:


(7)

Така цифровия аналог на разглежданата трептяща система е цифров филтър с коефициенти в числителя и знаменателя зададени от (7). За да получим числовата честотна характеристика H(ej) по дискретната предаваща функция H(z) можем да използваме процедурата freqz(), която е подобна на аналоговата процедура freqs().

Реализирайте следната програма и разгледайте получените характеристики АЧХ и ФЧХ.

T0=1; zeta=0.05; Ts=0.01;

omega0=2*pi/T0; A=1; omegas=omega0*Ts;

a(1)=1+2*zeta*omegas +omegas^2;

a(2)=-2*(1+zeta*omegas); a(3)=1;

b(1)=A*Ts*Ts*(2*zeta*omega0^2);

freqz(b,a)

ФИЛТРИРАНЕ НА ШУМ

Като пример ще разгледаме следната задача:



  1. Ще генерираме “полезен” хармоничен сигнал.

  2. Ще моделираме реален процес на измерване като към полезния сигнал добавим като шум на приемния преобразовател още една хармоника с различна честота и амплитуда, а също като шум на измерителя ще добавим бял гаусов шум.

  3. Ще създадем подходящ филтър и ще филтрираме шума като сравним възстановения сигнал с изходния полезен сигнал.

1. Формиране на полезен сигнал


Нека полезният сигнал има период Т1=1 и амплитуда А1=0.75. Ще формираме

сигнала като вектор от дискретни стойности със времева стъпка Ts=0.001.

Ts=0.001; t=10:Ts:20; A1=0.75; T1=1;

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

plot(t,Yp);grid

2. Формиране на измерения сигнал

Нека при преминаване през първичния преобразовател ПП към полезния сигнал се добавя високочестотна хармоника с период T2=0.2, амплитуда A2=10 и фазово отместване /4. Нека измерителя добавя гаусов шум с амплитуда Ash=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(size(t));

plot(t,X);grid

3. Филтриране на измерения сигнал

Понеже честотата на полезния сигнал е предварително известна, можем да го възстановим с помощта на цифров резонансен филтър от вида, който разгледахме. Периодът на филтъра избираме да е равен на периода на полезния сигнал Tf=T1. За да възстановим и амплитудата на сигнала трябва да умножим входния сигнал на филтъра с коефициента на затихване 2w02 (тъй като амплитудата на сигнала намалява точно толкова пъти при преминаване през филтъра). Това е направено по-долу при дефиниране на b(1). Ще дефинираме векторите b и а за определяне предаващата функция на филтъра:

T1=1; Tf=T1; zeta=0.05; Ts=0.001;

omega0=2*pi/Tf; A=1; omegas=omega0*Ts;

a(1)=1+2*zeta*omegas +omegas^2;

a(2)=-2*(1+zeta*omegas); a(3)=1;

b(1)=A*Ts*Ts*(2*zeta*omega0^2);

Накрая ще пропуснем измерения сигнал x(t) през филтъра. Това става с помощта на процедурата y=filter(b, a, x) където b и а са векторите от числителя и знаменателя на предаващата функция на филтъра.

%формиране на полезния сигнал

Ts=0.001; t=0:Ts:20; A1=0.75; T1=1;

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

%формиране на измерения сигнал/добавяне на шум/

T2=0.2; A2= 10; eps=pi/4; Ash=5;

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

%формиране на подходящ филтър

T1=1; Tf=T1; zeta=0.05; omega0=2*pi/Tf;

A=1; omegas=omega0*Ts;

a(1)=1+2*zeta*omegas + omegas^2; a(2)=-2*(1+zeta*omegas);a(3)=1;

b(1)=A*Ts*Ts*(2*zeta*omega0^2);

%пропускане на измерения сигнал през филтъра

y=filter(b,a,x);

%визуализиране на възстановения сигнал y и полезния сигнал Yp

plot(t,y,'.',t,Yp);grid

Виждаме, че шумовете са отстранени на изхода на филтъра, но възстановения сигнал и полезния сигнал се отличават в две неща:



  • Амплитудата на възстановения сигнал достига полезния

сигнал след един преходен процес, който е характерен за филтъра като динамична система, която тръгва от нулеви начални условия. Можем да отстраним преходния процес като на графиката изрежем интервала от t=10 до t=20:

plot(t(10002:end),y(10002:end),'.',t(10002:end),Yp(10002:end));grid



  • Втората особеност е че има фазово отместване около /2 между

възстановения и полезния сигнал. Това е разбираемо понеже, както видяхме от фазовата честотна характеристика на филтъра, при резонанс имаме точно такова фазово отместване. За да избегнем фазовите изкривявания можем да приложим процедурата filtfilt(), която осъществява двойна филтрация – веднъж в една посока и втори път в обратна посока. Ефекта от тази обработка може да се види като изпълним командите:

y=filtfilt(b,a,x);

plot(t,y,'.',t,Yp);grid

Вижда се че сега имаме фазово съгласуване между възстановения и

полезния сигнал.

ФОРМИРАНЕ НА СЛУЧАЕН ПРОЦЕС

С помощта на филтър може да се формира случаен процес със зададена корелационна функция. Отначало генерираме нормално разпределен (Гаусов) случаен процес, след което пропускаме сигнала през филтър, чийто динамически свойства определят корелационната функция на резултатния случаен сигнал.



  1. Ще формираме два случайни Гаусови процеса x1(t) и x2(t), които се

отличават по времевата стъпка Ts, т.е по гъстотата на случайните пулсации.

Ts=0.01; t=0:Ts:20; x1=randn(1,length(t));

plot(t,x1);grid

Вторият процес е следният:

Ts=0.001; t=0:Ts:20; x2=randn(1,length(t));

plot(t,x2);grid



  1. Ще създадем дискретен филтър от втори порядък със собствена честота

1Hz т.е. w0=2 и коефициент на затихване =0.05. За първия процес имаме:

Ts=0.01; t=0:Ts:20; x1=randn(1,length(t));omega0=2*pi; zeta =0.05; A=1; omegas=omega0*Ts;

a=[1+2*zeta*omegas+omegas^2, -2*(1+zeta*omegas), 1];

b=[A*2*zeta*omegas^2];

y1=filter(b,a,x1);

plot(t,y1); grid

За вторият процес само времевата стъпка е по-малка на порядък т.е. имаме:

Ts=0.001; t=0:Ts:20; x2=randn(1,length(t));omega0=2*pi; zeta =0.05; A=1; omegas=omega0*Ts;

a=[1+2*zeta*omegas+omegas^2, -2*(1+zeta*omegas), 1];

b=[A*2*zeta*omegas^2];

y2=filter(b,a,x2);

plot(t,y2); grid



Вижда се че и в двата случая на изхода на формиращия филтър се образуват случайни процеси с преобладаваща честота 1Hz.
Каталог: ~tank -> ComputerDataProcessing
~tank -> Програма за изчисляване на средна стойност
ComputerDataProcessing -> Лекция спектрален анализ на периодични процеси цел на спектралния анализ на сигналите е определянето на
ComputerDataProcessing -> Лекция Интерполация и прекарване на крива през точки
ComputerDataProcessing -> Лекция 5 Основни елементи на програмната среда matlab
ComputerDataProcessing -> Лекция Запознаване със средата на електронните таблици Excel. Работа с данни в работния лист. Въвеждане и използване на формули и функции. Равномерно и Гаусово (нормално) разпределения и основни статистически
ComputerDataProcessing -> Лекция №4. Апроксимация на зависимост между две величини (апроксимираща крива). Метод на най-малките квадрати. Линейна и квадратична регресия
ComputerDataProcessing -> Лекция 10. Статистически анализ
ComputerDataProcessing -> Лекция Дискретни вероятностни разпределения. Биномно разпределение и разпределение на Поасон. Графични възможности в Excel


Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница