- •І. Розрахунок та дослідження нерекурсивних цифрових фільтрів
- •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
1.2.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.218,window,'noscale') % расчет коэфф-в КИХ-фильтра без нормализации
Результат:
a = -0.0000 0.0203 0.1269 0.2180 0.1269 0.0203 -0.0000
-
Коефіцієнти ак ФНЧ, розраховані вручну
Коефіцієнти ак ФНЧ, розраховані за допомогою MatLab
а0 = 0,218
а0 = 0,218
а1 = 0,126
а1 = 0,126
а2 = 0,02
а2 = 0,02
а3 = 0,000
а3 = 0,000
1.2.2.Побудова графіківАчх і фчх
a=fir1(6,0.218,window,'noscale')
[H,f] = freqz(a,6,3300);
figure;plot(f,20*log10(abs(H))); grid on % Графік АЧХ
xlabel('f')
ylabel('20*log10(abs(H))')
title ('Графік АЧХ ФНЧ')
[phi,f] = phasez(a,6,3300);
figure;plot(f,phi/pi*180); grid on % Графік ФЧХ
xlabel('f')
ylabel('phi/pi*180')
title ('Графік ФЧХ ФНЧ')
Рис. 1.2.4- Графік АЧХ ФНЧ.
Рис. 1.2.5- Графік ФЧХ ФНЧ.
1.2.3. Побудова графіку іпх
Побудову графіку ІПХ зручно виконувати командами:
a=fir1(6,0.218,window,'noscale')
[h,t] = impz(a);
stem(t,h)
xlabel('t')
ylabel('h')
title ('Графік ІПХ ФНЧ')
Рис. 1.2.6- Графік ІПХ ФНЧ.
1.2.4. Розрахунок фільтра ак за допомогою пакета sptool
В з'явівшомуся вікні Filter Designer:
1) задати частоту дискретизації (задаємо 3300Гц);
2) вибрати в позиції Algoritm значення Kaiser Window FIR;
3) відключити прапорець Minimum Order;
4) задати Order=6;
5) задати Type=lowpass;
6) задати Passband Fp=360 Гц;
7) відключити прапорець Autodesigne;
8) натиснути кнопку Apply;
9) в вікні sptool в колонкі Filters натиснути кнопку View;
10) в з'явившомуся вікні Filter Viewer спостерігаємо графіки АЧХ, ФЧХ, ІПХ (ІПХ спостерігаємо після активізації відповідного прапорця).
Рисунок 1.2.7 -Вікно Filter Designer
Рис. 1.2.8- Вікно Filter Viewer
Пакет sptool дозволяє моделювати процес фільтрації за допомогою розрахованого фільтра. Для цього в середу пакета sptool потрібно імпортувати вхідний сигнал, генерований в робочому вікні програми Matlab. Фільтрація відбувається після натиску кнопки Apply.