Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
to print.doc
Скачиваний:
8
Добавлен:
20.11.2018
Размер:
1.16 Mб
Скачать

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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]