You are on page 1of 23

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

Національний авіаційний університет


Кафедра біокібернетики та аерокосмічної медицини

КУРСОВА РОБОТА
з дисципліни «Оброблення біомедичних сигналів»
Тема: «Аналіз і синтез лінійних цифрових фільтрів біомедичних сигналів»
Спеціальність 172 «Телекомунікації та радіотехніка»

Виконав Білоус Олександр Ігорович


група БМ-412
№ залікової книжки 4619952
Керівник к.т.н., доц. Буриченко М.Ю.
Київ 2019
Вихідні дані для виконання курсової роботи

Завдання № 1

№ вар. Передатна функція фільтра Параметри


N=6
7

Завдання № 2

№ вар. Параметри фільтра


Тип фільтра
fs, Гц fc, Гц α f1, Гц f2, Гц

7 Смуговий 200 20 0.10 20 100

Завдання № 3

№ варіанта Амплітуда Частота Дисперсія шуму, σ2


сигналу, А сигналу f,
Гц

7 0.4 20 0.4

Завдання 1. Визначити основні характеристики цифрових фільтрів,


що заданий передатною функцією.
1.1. Виконати для свого варіанту даних такі пункти завдання

1. Записати різницеве рівняння фільтра за його передатною функцією.

2. Накреслити структуру фільтра в прямій формі.

3. Обчислити значення нулів qi і полюсів pi фільтра.

4. Накреслити карту нулів і полюсів фільтра.

5. Оцінити стійкість фільтра.

6. Обчислити 20 відліків імпульсної характеристики фільтра і


побудувати її графік.

7. Обчислити 20 відліків перехідної характеристики фільтра і


побудувати її графік.

8. Побудувати графіки АЧХ і ФЧХ фільтра.

9. Синтезувати сигнал типу білий шум і

10. Виконати фільтрацію сигналу фільтрами.

11. Побудувати графіки вхідного і вихідного сигналів фільтрів.

12. Обчислити спектральні щільності вхідного і вихідного сигналів


фільтра, побудувати графіки отриманих спектральних щільностей.

1.2.Методичні вказівки до виконання завдання 1


1.2.1. Різницеве рівняння фільтра в загальному виді
N −1 M−1
y (n)= ∑ bi x (n−i)−¿ ∑ a k y ( n−k)¿.
i=0 k=1

Коефіцієнти різницевого рівняння пов’язані з коефіцієнтами передатної


функції фільтра:

- коефіцієнти різницевого рівняння bi при x(n – i) дорівнюють


коефіцієнтам чисельника передавальної функції при z – i, i = 0,1…, N–1;
- коефіцієнти різницевого рівняння ak при у(n – k) дорівнюють
коефіцієнтам знаменника передавальної функції із протилежним знаком
при z-k, k = 1, 2…, M –1.
1.2.2. Структура фільтра відображає структуру алгоритму обробки
сигналу. Наприклад, передатна функція рекурсивного фільтра 1-го порядку
b0
H (z )=
1+ a1 z −1

відповідає різницевому рівнянню y (n)=b0 x(n)−a1 y (n−1).

Пряма структура такого фільтра наведена на рисунку.

Для фільтрів високого порядку в структуру необхідно додати необхідні


елементи.

1.2.3. Значення нулів і полюсів обчислюють як корені поліномів


чисельника і знаменника передатної функції фільтра. Для обчислення можна
скористатися функцією roots.

1.2.4. Карту нулів і полюсів зображають в комплексній z-площині за


допомогою функції zplane.

1.2.5. Стійкість фільтра можна оцінити по її передатній функції.

1.2.6. Обчислити відліки імпульсної характеристики і побудувати їх


графік можна за допомогою функції impz.

1.2.7. Обчислити відліки перехідної характеристики фільтра можна за


допомогою функції stepz.

1.2.8. Графіки АЧХ і ФЧХ можна побудувати за допомогою функції


freqz.

1.2.9. Моделювання реалізації нормально розподіленого білого шуму


реалізує функція randn.

1.2.10. Для фільтрації сигналів використовується функція filter.

1.2.11. Графіки вхідного і вихідного сигналів треба побудувати в


одному графічному вікні функціями plot, subplot.

1.2.12. Спектральну щільність вхідного і вихідного сигналів фільтра


обчислити функціями pwelch і pmtm.

Завдання 2. Виконати синтез цифрового фільтра 2-го порядку


Фільтр 2-го порядку задано передатною функцією виду

1+ b1 z −1 +b 2 z−2
H ( z )= (1)
1+ a1 z −1 + a2 z−2

2.1. Виконати для свого варіанту даних такі пункти завдання

1. Обчислити коефіцієнти чисельника і знаменника передатної функції


фільтра виду (1)

2. Записати різницеве рівняння фільтра.

3. Обчислити нулі і полюси фільтра.

4. Накреслити карту нулів і полюсів фільтра.

5. Побудувати графіки АЧХ і ФЧХ фільтра.

6. Зробити обґрунтований висновок щодо стійкості фільтра.

7. Обчислити 20 відліків імпульсної характеристики фільтра і


побудувати її графік.

8. Обчислити 20 відліків перехідної характеристики фільтра і


побудувати її графік.

9. Побудувати графіки АЧХ і ФЧХ фільтра.

10. Записати аналітичний вираз для комплексної частотної


характеристики фільтра.

11. Обчислити коефіцієнт передачі фільтра на заданих частотах f 1 . і f 2 .

2.2. Методичні вказівки до виконання завдання 2


Синтез фільтра можна виконати згідно з методикою, що наведена у
Додатку 2, у такій послідовності.

2.2.1. Вибрати тип фільтра згідно варіанту, задати коефіцієнти b 1 і b 2


передатної функції (див. таблицю).

Значення коефіцієнтів
Тип фільтра
b1 b2

Нижніх частот 2 1

Верхніх частот -2 1
Смуговий 0 –1

Режекторний 2 cos ϕ 1

2.2.2. Обчислити кутове положення полюсів фільтра ϕ =2 π f c / f s, де fc

– критична частота, f s – частота дискретизації. Критична частота f c фільтра


дорівнює частоті зрізу для фільтрів нижніх і верхніх частот, резонансній
частоті для смугового фільтра і частоті затримки для режекторного фільтра.

2.2.3. Обчислити відстань r полюсів від початку координат z-площини:


r =e−α , де α
– заданий коефіцієнт демпфірування АЧХ. Наближення полюсів
до одиничного кола (при α → 0 r → 1) зменшує демпфірування, а
наближення до початку координат (при α → ∞ r → 0)
збільшує його.

2.2.4. Обчислити коефіцієнти a1 і a2 передатної функції фільтра:


a 1=−2 r cos ϕa 1=−2 rcosφ, a 2=r 2a 2=r 2φ=2 π f c /f s.

2.2.5. Записати передатну функцію фільтра.

2.2.6. Пункти 2 – 9 завдання 2 виконати, користуючись вказівками до


завдання 1.

2.2.7. Аналітичний вираз для комплексної частотної характеристики


фільтра отримують з передатної функції підстановкою z=e jωT .

2.2.8. Коефіцієнт передачі обчислюють підстановкою в аналітичний


вираз значень частот. Результати розрахунку треба порівняти зі значеннями,
що отримані при побудові АЧХ і ФЧХ і зробити висновки.

Завдання 3. Фільтрація сигналів синтезованим фільтром


1. Синтезувати сигнал із заданими параметрами.

2. Виконати фільтрацію сигналу фільтром із завдання 2.

3. Побудувати графіки вхідного сигналу й сигналу після фільтра.

4. Обчислити спектральні щільності вхідного і вихідного сигналів,


побудувати графіки отриманих спектральних щільностей.

3.1. Методичні вказівки до виконання


3.1.1. Сигнал має гармонійну складову і адитивний шум з нормальним
розподілом амплітуд
x= A cos ( 2 πft )+ v (t) .

Моделювання реалізації нормально розподіленого білого шуму з одиничною


дисперсією виконує функція randn.

3.1.2. Фільтрацію сигналів виконує функція filter.

3.1.3 Графіки вхідного і вихідного сигналів треба побудувати в одному


графічному вікні функціями plot, subplot.

3.1.4. Спектральну щільність вхідного і вихідного сигналів фільтра


обчислити функціями pwelch і pmtm.
ВИКОНАННЯ РОБОТИ
Завдання 1.
Передатна функція фільтра:

N=6

1.1. Різницеве рівняння фільтра:


y(n)= x(n)+x(n-1)+x(n-2)+x(n-3)+x(n-4)+x(n-5)-6y(n)

1.2. Структура фільтра в прямій формі:

Рис.1.2. Структура фільтра в прямій формі


1.3. Нулі і полюси фільтра.
Код програми:
% Знаменник ПФ фільтра
a= [1 1 1 1 1 1];
% Чисельник ПФ фільтра
b= [6];
% 3.1. Нулі фільтра
q=roots(b)
% 3.2. Полюси фільтра
p=roots(a)

Результат виконання програми:

1.4. Карта нулів і полюсів фільтра.


Код програми:
p= 0.5000 + 0.8660i
0.5000 - 0.8660i
-1.0000 + 0.0000i
-0.5000 + 0.8660i
-0.5000 - 0.8660i
q= 0
% 4. Картa нулів і полюсів
map=zplane(b,a)
Рис.1.4. Карта нулів і полюсів
1.5. Оцінка стійкості фільтра.
Оскільки полюси фільтра знаходяться в одиничному колі (див. рис 1.4.) на
комплексній площині, то можна стверджувати, що фільтр стійкий.
1.6. Побудова імпульсної характеристики.
Код програми:
% 7. Імпульсна характеристика фільтра
imp=fvtool(b,a) % обираємо в меню Analasys пункт Impulse Response
Рис.1.6. Імпульсна характеристика фільтра
1.7. Побудова перехідної характеристики фільтра.
Код програми:
% 8. Перехідна характеристика фільтра
stab=fvtool(b,a) % обираємо в меню Analasys пункт Step Response

Рис.1.7. Перехідна характеристика фільтра


1.8. Побудова графіків АЧХ і ФЧХ фільтра.
Код програми:
% 9. АЧХ і ФЧХ фільтра
MR_PR=fvtool(b,a)%обираємо в меню Analasys відповідно пункти Magnitude
%Response і Phase Response
Рис.1.8.1. АЧХ фільтра

Рис. 1.8.2. ФЧХ фільтра


1.9. Моделювання реалізації нормально розподіленого білого шуму
реалізує функція randn.

Код програми:
S=randn(10);
Juvelir(S);

1.10. Для фільтрації сигналів використовується функція filter.

Код програми:
dick=filter(b,a,S);
disp(Juvelir);

Рис. 1.10 Фільтрація білого шума


1.11. Графіки вхідного і вихідного сигналів треба побудувати в одному
графічному вікні функціями plot, subplot.

Рис.1.11. Фільтрація вхідного і вихідного сигналу білого шуму

Код програми:
S=randn(10);
disp(S);
dick=filter(b,a,S);
disp(dick);
subplot(2,1,1),plot(S);
subplot(2,1,2),plot(Juvelir);
1.12. Спектральну щільність вхідного і вихідного сигналів фільтра обчислити
функціями pwelch і pmtm.

Код програми:
pss=pwelch(S);
plot(pss);
pxx=pmtm(S);
plot(pxx);

2.1. Обчислення коефіцієнтів чисельника і знаменника передатної функції


фільтра.
Код програми:
% Обчислення коефіцієнтів чисельника і знаменника передатної функції
% фільтра
al=0.10
r=1-al;
fc=20;
fs=200;
phi=2*pi*fc/fs;
b1=0;
b2=-1;
b=[1 b1 b2]
a1=-2*r*cos(phi);
a2=r^2;
a=[1 a1 a2]
sys = tf([1 b1 b2],[1 a1 a2],0.1,'Variable','z^-1')
Результат виконання програми:
b =1 0 -1
a =1.0000 -1.4562 0.8100
Transfer function:
1 - z^-2
--------------------------
1 - 1.456 z^-1 + 0.81 z^-2
Sampling time (seconds): 0.1
2.2. Різницеве рівняння фільтра.
y ( n )=x ( n )−x ( n−2 )− y ( n )−1.456 ( n−1 ) +0.81 y (n−2)
2.3. Обчислення нулів та полюсів фільтра.
Код програми:
% 3.1. Нулі фільтра
q=roots(b)
% 3.2. Полюси фільтра
p=roots(a)
Результат виконання програми:
q=
-1
1
p=
0.7281 + 0.5290i
0.7281 - 0.5290i
-1
1
0.7281 + 0.5290i
0.7281 - 0.5290i
-1
1
0.7281 + 0.5290i
0.7281 - 0.5290i
2.4. Карта нулів і полюсів фільтра.
Код програми:
% 4. Картa нулів і полюсів
map=zplane(b,a)

Рис 2.4 Карта нулів і полюсів


2.5. АЧХ і ФЧХ фільтра.
Код програми:
% 5. АЧХ і ФЧХ фільтра
MR_PR=fvtool(b,a)%обираємо в меню Analasys відповідно пункти
Magnitude
Рис.2.5.1. АЧХ фільтра

Рис.2.5.2. ФЧХ фільтра


2.6. Оцінка стійкості фільтра.
Оскільки полюси фільтра знаходяться в одиничному колі (див. рис
2.1.4.) на комплексній площині, то можна стверджувати, що фільтр
стійкий.
2.7. Імпульсна характеристика фільтра.
Код програми:
% 7. Імпульсна характеристика фільтра
imp=fvtool(b,a) % обираємо в меню Analasys пункт Impulse Response
Рис.2.1.7. Імпульсна характеристика фільтра
2.8. Перехідна характеристика фільтра.
Код програми:
% 8. Перехідна характеристика фільтра
stab=fvtool(b,a) % обираємо в меню Analasys пункт Step Response

Рис.2.8. Перехідна характеристика фільтра


2.9. Аналітичний вираз для комплексної частотної характеристики
фільтра
1−e−2 jwT
H (e jwT )=
1−1.456 e− jwT + 0. 81 e−2 jwT
2.10. Обчислити коефіцієнт передачі фільтра на частотах f1=20Гц,
f2=100Гц
Код програми:
%11 Коефіцієнти передачі фільтра на заданих частотах
H1=(1-1*exp(-1i*2*pi*20*0.005))/(1-1.456*exp(-1i*2*pi*20*0.005)+0.81
*exp(-2*1i*2*pi*20*0.005));
H2=(1-1*exp(-1i*2*pi*100*0.005))/(1-1.456*exp(-1i*2*pi*100*0.005)+
0.81*exp(-2*1i*2*pi*100*0.005));
Результат виконання програми:
H1 =
5.107393267837778 + 2.090634626878727i
H2 =
0.612369871402327 - 0.000000000000000i

Завдання 3.
3.1. Синтезування сигналу.
Код програми:
fs=200;
N=200;
t=(0:(N-1))/fs;
s1=0.4*cos(2*pi*20*t);
v=0.4-1*randn(size(t));
x=s1+v;
Код програми:
%Фільтрація вхідного сигналу
b =[1 0 -1];
a =[1.0000 -1.4562 0.8100];
y=filter(b,a,x);
3.3. Побудова вхідного і відфільтрованого сигналу
Код програми:
%графіки вхідного та відфільтрованого сигналу
figure(3)
subplot(2,1,1), plot(x)
subplot(2,1,2), plot(y)
Рис. 3.3. Вхідний і відфільтрований сигнал

3.4. Спектральні потужності вхідного і вихідного сигналів.


Код програми:
% розрахунок спектральної щільності потужності вхідного
сигналу
nfft =512 ;
winb = bartlett(length(x));
noverlapb = length(winb)/2;
[PxxU,fb1] = pwelch(x,winb,noverlapb,nfft,fs);
[PxxT1,gg1]=pmtm(x,3.5,512,fs,[],0.99)
figure(1)
subplot(2,1,1), plot(fb1, PxxU)
title ('метод Уелча')
xlabel('Normalized Frequency (\times\pi rad/sample)')
ylabel('Power/frequency (dB/rad/sample)')
subplot(2,1,2), plot(gg1,5*PxxT1)
title('метод Томпсона')
xlabel('Normalized Frequency (\times\pi rad/sample)')
ylabel('Power/frequency (dB/rad/sample)')
% розрахунок спектральної щільності потужності вихідного
сигналу
nfft =512 ;
winb = bartlett(length(y));
noverlapb = length(winb)/2;
[PxxU,fb2] = pwelch(y,winb,noverlapb,nfft,fs);
[PxxT2,gg]=pmtm(y,3.5,512,fs,[],0.99)
figure(2)
subplot(2,1,1), plot(fb2, PxxU)
title ('метод Уелча')
xlabel('Normalized Frequency (\times\pi rad/sample)')
ylabel('Power/frequency (dB/rad/sample)')
subplot(2,1,2), plot(gg,5*PxxT2)
title('метод Томпсона')
xlabel('Normalized Frequency (\times\pi rad/sample)')
ylabel('Power/frequency (dB/rad/sample)')

Рис. 3.4.1. Спектральна щільність вхідного сигналу, розрахована за методом


Уелча і Томпсона
Рис.3.4.2. Спектральна щільність вихідного сигналу, розрахована за методом
Уелча і Томпсона
Висновки
Робота оформлена за допомогою програми MATLAB. Розрахунки
виконані згідно методичних рекомендацій, та в правильному порядку.
У завданнях 1 і 2 обчисливши рівняння, ми отримали стійкий фільтр. У
завданні 3 спектральна щільність вхідного та вихідного сигналу в межах
допустимого.
Список літератури
1. Айфичер Э.С., Джервис Б.У. Цифровая обработка сигналов:
практический подход. - М.: Изд. дом "Вильямс", 2004. - 992 с.
2. Дьяконов В.П., Абраменкова И.В. MATLAB. Обработка сигналов
и изображений. Специальный справочник. - Спб.: Питер, 2002. - 608 с.

3.Фільтр // Великий тлумачний словник сучасної української мови (з


дод. і допов.) / уклад. і гол. ред. В. Т. Бусел. — 5-те вид. — К. ; Ірпінь :
Перун, 2005. — ISBN 966-569-013-2.

4. Мала гірнича енциклопедія : у 3 т. / за


ред. В. С. Білецького. — Д. : Східний видавничий дім, 2004—2013.

You might also like