МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЕОМ
ЗВІТ
до лабораторної роботи №3
на тему:
На тему: «Розрахунок і побудова цифрових СІХ фільтрів з частотною вибіркою. Фільтрація складених сигналів»
з дисципліни:
«Проектування комп'ютерних засобів обробки сигналів та зображень»
Львів – 2016
Мета роботи
Ознайомитись з різними типами цифрових фільтрів, навчитись розраховувати різні типи фільтрів і застосовувати їх на практиці. Дослідити використання вагових функцій при побудові частотних фільтрів з скінченною імпульсною характеристикою.
Теоретичні відомості
Фільтр — це система, що вибірково змінює форму сигналу (амплітудно-частотну або фазово-частотну характеристику). Основною метою фільтрації є: покращання якості сигналу, виділення із сигналів інформації або розділення, об’єднаних раніше, сигналів для, наприклад, ефективного використання доступного каналу зв’язку.
Типи цифрових фільтрів
ЦФ поділені на два великі класи: фільтри з нескінченною імпульсною характеристикою (НІХ-фільтри) і фільтри з скінченною імпульсною характеристикою (СІХ-фільтри). Фільтр кожного типу (рис.1) можна представити через коефіцієнти його імпульсної характеристики h(k) (k=0,1,…). Вхідний і вихідний сигнали фільтра зв’язані через операцію згортки, даний зв'язок наведений у виразі (1) для НІХ- фільтра, і у виразі (2) для СІХ – фільтра.
(1)
(2)
Рис.1 Спрощена схема ЦФ
Для НІХ – фільтрів імпульсна характеристика має безкінечну довжину, тоді як для СІХ – фільтра вона скінченна, оскільки h(k) для СІХ-фільтрів може приймати всього N значень. На практиці вичислити вихід НІХ - фільтра з використанням рівності (1) неможливо, оскільки довжина імпульсного відгуку надто велика (теоретично – нескінченна). Замість цього рівняння НІХ – фільтрації переписується в рекурсивній формі
, (3)
де і - коефіцієнти фільтра. Дана рівність (значення h(k) для СІХ-фільтра або і для НІХ- фільтра) використовується в багатьох задачах розробки фільтрів. Варто відмітити, що у виразі (3) поточна вихідна вибірка y(n) являється функцією попередніх виходів, а також поточної і попередніх вхідних вибірок. Таким чином НІХ-фільтр — це в деякому вигляді система із зворотнім зв’язком. Якщо взяти всі bk рівними нулю, то вираз (3) зводиться до рівності (2).
, (4)
де, P — порядок фільтру, x(n) — вхідній сигнал, y(n) — вихідний сигнал, а bi — коефіцієнти фільтра.
, (5)
де, P — порядок вхідного сигналу, bi — коефіцієнти вхідного сигналу, Q — порядок зворотнього зв’язку(порядок фільтру) , ai — коефіцієнти зворотнього зв’язку , x(n) — вхідний, а y(n) — вихідний сигнали.
Вирази (4) та (5) відповідають рівнянням СІХ на НІХ фільтрів відповідно.
Використання цифрових фільтрів
ЦФ набули широкого використання у задачах частотної фільтрації. Розрізняють такі частотні фільтри:
Фільтр низьких частот (ФНЧ) — фільтр, що ефективно пропускає частотний спектр сигналу нижче деякої частоти (частота зрізу), і зменшує (чи послаблює) частоти сигналу вище цієї частоти. Степінь послаблення кожної частоти залежить від виду фільтра.
Фільтр верхніх частот (ФВЧ) — фільтр, що пропускає високі частоти вхідного сигналу, при цьому послаблює частоти сигналу менші, ніж частота зрізу. Степінь послаблення залежить от конкретного виду фільтра.
Смуговий фільтр — фільтр, який пропускає частоти, що знаходяться в потрібному діапазоні і вирізує всі решта частоти. Такі фільтри також можуть бути виготовлені комбінуванням ФНЧ і ФВЧ.
Загороджувальний фільтр ( режекторний фільтр) — фільтр, що не пропускає коливання деякого визначеного діапазону частот, і пропускає коливання з частотами, що виходять за межі цього діапазону. Загороджувальний фільтр, призначений для послаблення одної визначеної частоти, називається вузькосмуговим загороджувальним фільтром або фільтром-пробкою.
На рис.2 наведені графіки ідеальних амплітудно-частотних характеристик (АЧХ) описаних
типів фільтрів.
Рис.1 . Графіки ідеальних АЧХ різних типів фільтрів
Варіанти завдань
Варіант
Вхідний сигнал,
t=0..1000
Частоти вхідного сигналу, кГц,ωn
Фільтр
Частоти фільтра,кГц
Частота
дискретизації,
кГц
Ширина смуги переходу, кГц
Затухання в смузі послаблення,
дБ
59
2.3
8.624
13.1
ФВЧ
4.7
14
0,18
-25,5
Використовуючи таблицю 1, вибрав hD(n) для смугового фільтру:
З таблиці 2 задовольняє умову вікно Трикутне.
Тип вікна
Рівень бокових пелюсток, дБ
Ширина перехідної зони,(N=256)
Аналітичний вираз
Трикутне
-26,5
0,0187
Тоді кГц
Згідно таблиці 2, для функції Гемінга при N=256 смуга перехідної рівна 0,0187.З формули (8) знайшов значення коефіцієнта . Знаходимо значення N при , , візьмемо N=368, і коефіцієнти будуть рівні
Де,
Із-за ефекту змазування характеристики фільтра, що вводиться ваговою функцією, частота зрізу отриманого фільтра буде відрізнятися від заданої в специфікації. Щоб врахувати цей ефект, використаємо — центр смуги переходу:
Обчислюємо значення hD(n) згідно виразу (7).
Оскільки симетрична функції то варто обчислити лише її значення на проміжку
n=0:
n=1:
n=2:
n=184:
Обчисливши всі коефіцієнти , решта коефіцієнтів знаходимо із правила симетріїі .
Отримані коефіцієнти підставляємо у вираз:
,
,
Де x(-n)=0.
Алгоритм обчислення коефіцієнтів фільтра та його застосування реалізований програмно на основі середовища SCILAB. Текст програми наведений в додатку. Нижче наведено результати розрахунку і застосування спроектованого фільтра.
Результат роботи програми
Малюнок 1. Вхідний складений сигнал
Малюнок 2. Частотний спектр складеного сигналу
Малюнок 3. Графік вагової функції
Малюнок 4.Вихідний відфільтрований складений сигнал
Малюнок 5. Частотний спектр відфільтрованого сигналу
Малюнок 6. Імпульсна характеристика фільтра
Висновок: Після виконання даної лабораторної роботи вдалося ознайомитися з різними типами цифрових фільтрів. Навчився розраховувати різні типи фільтрів і застосовувати їх на практиці. Дослідив використання вагових функцій при побудові частотних фільтрів з скінченною характеристикою.
Додатки
Текст програми
close,close,close,close,close,close,close
clear all;
clc;
//%Filter parameters
Fc=4700;
Fs=14000;
df=180;
N=256;
df2=0.0187;
//%Additional calculation
df1=df/Fs;
k=N*df2;
N1=round(k/df1)
//%Input signal generation
t=-1:2/Fs:1-2/Fs;
xx=sin(2.3*%pi*t*1000)+sin(8.624*%pi*t*1000)+sin(13.1*%pi*t*1000);
xx=[xx,xx(1:192)];
k=size(t)
//%Input signal extention
for i=1:k(2)+N1;
if i<=N1
x(i)=0;
else
x(i)=xx(i-N1);
end;
end;
//% Input signal visualisation
figure(1);
x1=x(400:700);
plot(x1);
title('Input signal');
figure(2);
xf=abs(fft(x));
plot(xf);
title('Input signal frequences');
n=-floor(N1/2):floor(N1/2)
//% Wage function calculation and visualisation
for i=1:N1
w(i)= 1- abs(i) / N;
end;
figure(3);
plot(w);
title('Function Trykutne');
//%Impulse response calculation
fc1=(Fc+df/2)/Fs;
for i=1:N1
if n(i)==0
Hdn(i)=(1- 2*fc1)*w(i);
else
Hdn(i)=-(2*fc1*sin(n(i)*2*%pi*fc1)/(n(i)*2*%pi*fc1));
Hdn(i)=Hdn(i)*w(i)
end;
end;
y=zeros(1,k(2)+N1+1);
//% Signal filtration
for m=N1+1:k(2)+N1+1
for i=1:N1
y(m)=y(m)+Hdn(i)*x(m-i);
end;
end;
//% Output sinnal cutting
for m=N1+1:k(2)+N1+1
yy(m-N1)=y(m);
end;
//% results visualisation
figure(4)
y1=y(700:1000);
yy=[yy;yy(1:191)];
plot(y1);
title('Output signal');
figure(5)
plot(abs(fft(yy)));
title('Output signal frequences');
figure(6)
plot(abs(fft(Hdn)));
title('Impulse function');