- •І. Розрахунок та дослідження нерекурсивних цифрових фільтрів
- •1.1 Розрахунок фнч1
- •1.1.1. Розрахунок цифрових фільтрів в командному вікні
- •1.1.2.Побудова графіківАчх і фчх
- •1.1.3. Побудова графіку іпх
- •1.1.4. Розрахунок фільтра ак за допомогою пакета sptool
- •1.1.5. Розрахунок фільтра ак за допомогою пакета fdatool
- •1.2 Розрахунок фнч2
- •1.2.1. Розрахунок цифрових фільтрів в командному вікні
- •1.2.2.Побудова графіківАчх і фчх
- •1.2.3. Побудова графіку іпх
- •1.2.4. Розрахунок фільтра ак за допомогою пакета sptool
- •1.2.5. Розрахунок фільтра ак за допомогою пакета fdatool
- •1.3 Розрахунок усередненого фнЧсер
- •1.3.1. Розрахунок цифрових фільтрів в командному вікні
- •1.3.2.Побудова графіківАчх і фчх
- •1.3.3. Побудова графіку іпх
- •1.3.4. Розрахунок фільтра ак за допомогою пакета sptool
- •1.3.5. Розрахунок фільтра ак за допомогою пакета fdatool
Вихідні дані:
Варіант №20.
ФНЧ1:
N=3
fд= 3300
fс= 260
Вікно (НЦФ) - Блекмана
Прототип (РЦФ) - Баттерворт
Сигнал - Пачка з двох експоненціальних радіоімпульсів
ФНЧ2:
N=3
fд=3300
fс= 360
Вікно (НЦФ) - Блекмана
Прототип (РЦФ) - Баттерворт
Сигнал - Пачка з двох експоненціальних радіоімпульсів
І. Розрахунок та дослідження нерекурсивних цифрових фільтрів
1.1 Розрахунок фнч1
Розрахунок ФНЧ 6-го порядка (N = 3) для fс =260 Гц, fд =3300 Гц. Розрахунок коефіцієнтів ак:
;
;
;
;
Рівняння НЦФ порядка N записують у вигляді
Для розрахунків зручніше використовувати фільтр порядка 2N з алгоритмом фільтрації вида:
При N=6 можна записати
у(n) = а-3х(n + 3) + а-2х(n + 2) + а-1х(n +1) +аох(n) + а1х(n -1) + а2х(n -2) + а3х(n - 3)
де х(n) - вхідний сигнал (відлік сигнала) в момент часу пТд;
у(n) - відповідний вихідний сигнал;
Будуємо графік ІПХ неперервного ФНЧ
dt=1; % крок дискретизації
dtau=2*dt; % відстань між нулями
fc=1/(2*dtau); % частота зрізу
t=-3*dtau:0.1:3*dtau; % час
h=2*fc*sinc(2*pi*fc*t); % ІПХ
plot(t,h) % графік
xlabel('t')
ylabel('h')
title ('Графік ІПХ неперервного ФНЧ')
grid on % сітка на графіку
Рис. 1.1.1 Графік ІПХ неперервного ФНЧ
Аналітичний вираз частотної характеристики фільтра Нд(ώ). Для парних ак=а-к передаточна функція Нд(ώ) речовинна і полягає з суми урівноважених косинусоїд:
а для непарних ак =-а-к - чисто уявна і полягає з суми синусоїд:
Частотна характеристика ФНЧ:
a0=0.158; % нулевий коефіцієнт фільтру
ak=[0.0 0.017 0.095 0.095 0.017 0.00]; % коефіцієнти фільтру з 1 по 6
dt=1; % крок дискретизації
N=3; % половина порядку фільтра
df=0.02; % крок по частоті
f=-0.5:df:1.5; % діапазон частот
% розрахунок суми
sum=0;
for k=1:N,
sum=sum+ak(k)*cos(2*pi*f*k*dt);
end;
H=a0+2*sum; % частотна характеристика
plot(f,H) % побудова графіку
xlabel('f')
ylabel('H')
title ('Частотна характеристика ФНЧ')
grid on % побудова сітки
Коефіцієнти ак ФНЧ, розраховані вручну |
Коефіцієнти ак ФНЧ, розраховані за допомогою MatLab |
а0 = 0.157 |
а0 =0.157 |
а0 = 0.095 |
а0 =0.095 |
а0 = 0.017 |
а0 =0.017 |
а0 = 0.00 |
а0 =0.00 |
Рис. 1.1.2 - Частотна характеристика ФНЧ.
1.1.1. Розрахунок цифрових фільтрів в командному вікні
Розрахунок коефіцієнтів ак нерекурсивного фільтра за допомогою функції fir1. Функція fir1 реалізує обчислення по методу зворотнього перетворення Фурьє з викоритсанням вікон:
a=fir1(n,Wn,’ftype’,window,’normalization’)
Тут:
n - порядок фільтра - ціле парне число (кількість коефіцієнтів фільтра рівне n+1);
Wn — відносна частота зрізу (по відношеню до частоти Найквіста, рівної половині частоти дискретизації Fd) - число в діапазоні (0,1); являється вектором з двух чисел, якщо фільтр смуговий або режекторний;
'ftype' - тип фільтра ('low'- ФНЧ; 'high' - ФВЧ; 'bandpass' - смуговий; 'stop' -режекторний);
window — вектор-стовбець з n+1 елементів (за замовчуванням застосовується вікно Хемінга hamming(n+l));
'normalization' - норміровка АЧХ и ІПХ (по умолчанню значення 'scale' -одиничне значення АЧХ в центрі полоси пропускання; 'noscale' - норміровка не проводиться).
При нормалізації максимальне значення АЧХ в точності рівне одиниці. При відсутності нормалізації із-за ефекта Гібса максимальне значення АЧХ більше одиниці. Цим і пояснюється, що розраховані коефіцієнти фільтра в відсутності нормалізації більше таких при наявності нормалізації.
>> window=blackman(7) % синтез прамоугольного окна из 7 отсчетов
a=fir1(6,0.158,window,'noscale') % расчет коэфф-в КИХ-фильтра без нормализации
Результат:
a = -0.0000 0.0173 0.0955 0.1580 0.0955 0.0173 -0.0000