- •Міністерство освіти і науки, молоді та спорту україни
- •Лабораторна робота №1.
- •Теоретична частина
- •Хід роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання.
- •Варіанти завдань
- •Лабораторна робота №2
- •Теоретична частина
- •1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 8 through 9 4.5000 5.0000
- •Хід роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання.
- •Варіанти завдань
- •Лабораторна робота №3
- •Теоретична частина
- •Хід роботи
- •Хід роботи
- •Приклад розрахунку фільтра Батерворта
- •Xlabel('f,kHz')
- •Хід роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання.
- •Рекомендована література
- •Я.Г.Притуляк, н.Я.Возна, о.І.Волинський, і.Б.Албанський
1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 8 through 9 4.5000 5.0000
Дослідження функції інтерполяції у MATLAB.
Інтерполяція в MATLAB виконується за допомогою функції interp. Синтаксис її виклику наступний:
у = interp(x. r)
Тут х — вхідний сигнал, r — цілочисельний коефіцієнт підвищення частоти дискретизації. Вихідний параметр у — інтерпольований сигнал.
Для інтерполяції використовується нерекурсивний фільтр з лінійною ФЧХ, що перекриває ціле число міжвідлікових інтервалів. За замовчуванням порядок фільтру рівний 8*r, тобто фільтр в кожен момент використовує 8 відліків вхідного сигналу. Частота зрізу фільтру за замовчуванням рівна половині початкової частоти Найквіста. Використовуючи третій і четвертий вхідний параметри, можна керувати довжиною фільтру і його частотою зрізу:
у = interp(x. r. 1. alpha).
Тут 1 — половина кількості відліків, використовуваних для інтерполяції (довжина фільтру рівна 2*r*1+1), alpha — нормована частота зрізу фільтру (значення 1 відповідає частоті Найквіста). За замовчуванням 1=4 і alpha=0,5.
При вказівці двох вихідних параметрів в другому з них функція повернення;: коефіцієнти фільтру, використаного для інтерполяції:
[у. b] = interp(.)
Розглянемо приклад інтерполяції, сформувавши для цього 13 відліків, приймають значення ±1, і доповнивши їх з кожного боку п'ятьма нулями:
» x = [0 0 0 0 0 1 1 1 1 1 -1 -1 1 1 -1 1 -1 1 0 0 0 0 0];
підвищуємо частоту дискретизації в 5 раз
» y = interp(x,5);
графік інтерпольованого сигналу –суцільна лінія
» plot((0:length(y)-1), y);
графік початкового сигналу - кружки
» hold on
» plot((0:length(x)-1)*5, x, 'o');
» hold off
Рис.3. Початковий (кружечки) і інтерпольований (суцільна лінія) сигнали
при п'ятикратному підвищенні частоти дискретизації
Зверніть увагу на великі викиди, сформовані між відліками з однаковими значеннями в процесі інтерполяції. Ці викиди обумовлені саме обмеженням смуги частот вихідного сигналу.
Хід роботи
Ознайомитись з теоретичними відомостями лабораторної роботи.
Запустити програму в командному вікні програми MATLAB використавши свій варіант завдання.
Скопіювати у звіт лабораторної роботи лістинг програми.
Скопіювати у звіт лабораторної роботи скріншот вихідного сигнала .
Скопіювати у звіт лабораторної роботи скріншот графік передискретизованого сигнала.
Написати висновки до лабораторної роботи.
Оформити звіт згідно вимог.
Вимоги до оформлення звіту
Результати виконаної лабораторної роботи оформляються у вигляді звіту на листах стандартного паперу формату А4, який має містити:
титульний лист;
мету роботи;
завдання для конкретного варіанта;
текст програми;
копію екрана з результатами виконання (на основних кроках);
короткі висновки щодо виконаної роботи.
Контрольні запитання.
Що означає функція інтерполяції?
Що означає функція екстраполяції?
Коли застосовуються відповідні функції?
Умови зменшення помилки від застосованих функцій?
Варіанти завдань
1 |
х=[0 000011111-1-111-11-1100000] |
2 |
х=[0 0000111111-1-11-111100000] |
3 |
х=[0 000011-1-11-1-111-11-1100000] |
4 |
х=[0 000011111-1-11111-1100000] |
5 |
х=[0 000011111-1-111-111-100000] |
6 |
х=[0 0000111111-11111-1100000] |
7 |
х=[0 000011111-1111-11-1100000] |
8 |
х=[0 0000111-11-1-111-11-1100000] |
9 |
х=[0 0000111-11-1111-11-1100000] |
10 |
х=[0 000011-1-11-11-11-11-1100000] |
11 |
х=[0 000011-1111-1-11-111100000] |
12 |
х=[0 0000111-1-1-1111-11-1100000] |