- •Міністерство освіти і науки, молоді та спорту україни
- •Лабораторна робота №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')
- •Хід роботи
- •Вимоги до оформлення звіту
- •Контрольні запитання.
- •Рекомендована література
- •Я.Г.Притуляк, н.Я.Возна, о.І.Волинський, і.Б.Албанський
Лабораторна робота №3
Тема. «Дослідження функції передискретизації за допомогою програмного середовища MatLab».
Мета роботи. Вивчити основні функції MatLab для виконання передискретизації, засвоїти навики працювання на MatLab.
Теоретична частина
Для виконання передискретизації в MatLab використовується функція resample. Синтаксис її виклику наступний:
у = resample(x. р. q)
Тут х — вхідний сигнал, р і q — чисельник і знаменник дробового коефіцієнта зміни частоти дискретизації. Вихідний параметр у — передискретизований сигнал. Як фільтр використовується нерекурсивний ФНЧ, розрахований за допомогою функції firls з використанням вікна Кайзера.
Ядром функції resample є функція upfirdn (upsampling, FIR filtering and downsampling), яка і виконує приведену вище послідовність дій. Ця функція реалізована в машинних кодах (у вигляді DLL-файлу) для досягнення максимальної продуктивності. Функцію upfirdn можна використовувати в тих випадках, коли при передискретизации необхідно задати конкретний ФНЧ. Синтаксис виклику функції upfirdn наступний:
у = upfirdn(x. h. р. q)
Тут х — вхідний сигнал, p/q — коефіцієнт зміни частоти дискретизації, h — імпульсна характеристика нерекурсивного ФНЧ. Вихідний параметр у — передискретизованний сигнал.
Для здійснення блокової обробки сигналу є варіант синтаксису з доступом до внутрішнього стану фільтру:
[у. z2] = upfirdn(x. h. р. q. z1)
Тут zl — початковий стан фільтру, z2 - його кінцевий стан. Довжина вектора zl повинна бути на одиницю менше довжини імпульсної характеристики фільтру h.
Якщо один з параметрів х і h є матрицею, ця матриця розглядається як багатоканальний сигнал або фільтр (кожен стовпець матриці відповідає одному каналу). Якщо обидва параметри х і h є матрицями з однакові числом стовпців, при обробці кожного сигналу використовується свій фільтр. Вихідний сигнал у у всіх цих випадках є матрицею з тим же числом стовпців.
Як приклад збільшимо в 5/4 рази частоту кусково-лінійного сигналу що є набором відліків із значеннями
(4, 5, 6, 7, 8, 9, 10, 6, 5,4, 3, 2}.
Результат показаний на рис.1.
» x = [4:10 6:-1:2];
» y= resample(x, 9, 7);
графік початкового сигналу - стеблинки
» stem(0:length(x)-1, x);
графік передискретизированного сигналу - хрестики
» hold on
» plot((0:length(y)-1)*4/5, y, 'x');
» hold off
Рис 1Початковій (стеблинки) і передискретизований
(хрестики) сигнали при підвищенні частоти дискретизації в 5/4 рази
На рис.1 видно, що нові відліки дійсно інтерполюють початковий сигнал, проте спостерігається і ефект Гиббса хоча в даному випадку він виражений слабо, оскільки частота дискретизації змінюється.
Хід роботи
Ознайомитись з теоретичними відомостями лабораторної роботи.
Запустити програму в командному вікні програми MATLAB використавши свій варіант завдання.
Скопіювати у звіт лабораторної роботи лістинг програми.
Скопіювати у звіт лабораторної роботи скріншот вихідного сигналу .
Скопіювати у звіт лабораторної роботи скріншот графіку передискретизованого сигналу.
5.Написати висновки до лабораторної роботи.
6.Оформити звіт згідно вимог.
ВИМОГИ ДО ОФОРМЛЕННЯ ЗВІТУ
Результати виконаної лабораторної роботи оформляються у вигляді звіту на листах стандартного паперу формату А4, який має містити:
титульний лист;
мету роботи;
завдання для конкретного варіанта;
текст програми;
копію екрана з результатами виконання (на основних кроках);
короткі висновки щодо виконаної роботи.
Звіти, складені без дотримання цих вимог, прийматися не будуть.
КОНТРОЛЬНІ ЗАПИТАННЯ.
1. Яка функція використовується для виконання пере дискретизації в MATLAB.
2. Напишіть синтаксис виклику функції передискретизації.
3. Для чого в MATLAB використовується функція resample.
4. Яка функція в MATLAB є ядром функції передискретизації.
5. Напишіть синтаксис виклику функції upfidn.
6. Що означає функція передискретизації?
7. Коли застосовується функція передискретизації?
ВАРІАНТИ ЗАВДАНЬ
1 |
y= resample(x, 3, 2); |
2 |
y= resample(x, 9, 7); |
3 |
y= resample(x, 6, 4); |
4 |
y= resample(x, 6, 5); |
5 |
y= resample(x, 9, 8); |
6 |
y= resample(x, 8, 6); |
7 |
y= resample(x, 8, 7); |
8 |
y= resample(x, 13, 9); |
9 |
y= resample(x, 7, 5); |
10 |
y= resample(x, 9, 7); |
11 |
y= resample(x, 10, 6); |
12 |
y= resample(x, 11, 8); |
ЛАБОРАТОРНА РОБОТА №4
Тема. «Дослідження Гаусового радіоімпульса».
Мета роботи. Ознайомитись з функціями дослідження Гаусового радіоімпульсу gauspuls.
ТЕОРЕТИЧНА ЧАСТИНА
Для формування одиночного радіоімпульсу з Гаусовою огинаючою і одиничною амплітудою служить функція gauspuls:
у = gauspulsCt. fc. bw, bwr)
Тут t — вектор значень часу, fc — несуча частота в герцах, bw — відносна ширина спектру (ширина спектру, що ділиться на несучу частоту), bwr рівень (у децибелах), по якому проводиться вимірювання ширини спектру.
Результат, що повертається, у — вектор розрахованих значень сигналу, що визначаються за наступною формулою:
у = ехр(-аt2) cos(2пfct). (1)
коефіцієнт а керує тривалістю імпульсу і, відповідно, шириною його спектру. Сигнал (1) має спектральну функцію, рівну :
Якщо fс >>a, то можна знехтувати накладенням «хвостів» зрушених копій спектра. Тоді параметр а пов'язаний з відносною шириною спектру і рівнем в децибелах, по якому вона визначається, таким чином:
Параметри bwr, bw і fc можна упустити. При цьому використовуються їх значення по замовчуванню: bwr=-6 дБ, bw=0,5 і fс=1000 Гц.
При виклику функції gauspuls можна використовувати від одного до трьох вихідних параметрів:
[у. yq. ye] = gauspuls (...)
У другому вихідному параметрі yq функція повертає доповнення квадратури (quadrature) для розрахованого радіоімпульсу у. Вектор yq відрізняється від вектора у фазовим зрушенням несучого коливання на 90°.
У третьому вихідному параметрі уе функція повертає огинаючу (envelope) сформованого радіоімпульсу. Вектор уе є перший множник формули (1) (відсутнє множення на косинус).
В якості прикладу сформуємо Гаусів радіоімпульс з несучою частотою 4 кГц і відносною шириною спектру 10%, зміряною по рівню -20 дБ, а потім побудуємо графік його спектру, щоб переконатися в правильності розрахунків. Частоту дискретизації приймемо рівною 16 кГц.
Лістинг програми.
» Fs = 16еЗ;
частота дискретизації
» t = -10e-3:1/Fs:10e-3;
дискретний час
» Fc = 4еЗ;
несуча частота
» bw = 0.1;
відносна ширина спектру
» bwr = -20;
рівень вимірювання ширини спектру
» s = gauspuls (t. Fc. bw. bwr):
» Nfft = 2^nextpow2(length(s)):
» sp = fft(s. Nfft):
спектр
» sp_dB = 20*loglO(abs(sp)):
амплітудний спектр в дБ
» f = (0:Nfft-1)/Nfft*Fs;
вектор частот спектру
» plot(t. s)
графік сигналу
» figure
графік амплітудного спектру
» plot(f(1:Nfft/2).
»sp_dB(1:Nfft/2))
максимальний рівень спектру в децибелах
» sp_max_db = 20*log10(max(abs(sp)));
edges = Fc * [1-bw/2 1+bw/2]:
граничні частоти
відображаємо задані при розрахунку межі спектру
» hold on
» plot(edges. sp_max_db([l l])+bwr. 'о')
» hold off
а)
б)
в)
Рисунок 1. Гаусів радіоімпульс, сформований функцією gauspuls (а), і його амплітудний спектр (б, в)
З графіка спектру (див. рис.1 б, в) видно, що задані при виклику функції gauspuls параметри спектру витримані точно.
Нарешті, у функції gauspuls є ще один варіант використання — вона дозволяє розрахувати час, за який що огинає Гаусів імпульс впаде до заданого рівня щодо максимуму. При цьому замість вектора значень часу в якості першого вхідного параметру використовується рядок 'cutoff':
tc = gauspuls('cutoff'. fc. bw. bwr. tpe)
Вхідні параметри fc, bw і bwr мають той же сенс, що і раніше, а tpe — що рівень огинає (у децибелах щодо максимуму), момент досягнення якого потрібно визначити.
Повертаючий результат tc — момент досягнення що огинає рівня tpe (тому напівширина імпульсу, зміряна по рівню tpe).
В якості прикладу розрахуємо час, за який що огинає сформований у попередньому прикладі імпульс зменшується на 6 дБ (приблизно у два рази):
» gauspuls(‘cutoff'. Fc. bw. bwr. -6)
ans =
= 0.0020
Отриманий результат відповідає графіку сигналу, приведеному на рис.1, зверху.