МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Лабораторна робота №2
з дисципліни " Цифрова обробка сигналів "
Львів – 2014 р.
Тема: ДИСКРЕТИЗАЦІЯ І КВАНТУВАННЯ СИГНАЛІВ.
Мета роботи: Дослідити процес дискретизації і квантування сигналів, оцінити похибку оцифровування.
ЗАВДАННЯ
при чому, згідно варіанту:
№
А1
А2
А3
А4
2
25
18
0,73
-7
4
12
2
1/3
0
Тобто, аналітичний запис сигналу такий:
.
Аналітичний розрахунок кроку дискретизації та періоду сигналу
Згідно теореми Котельникова: , де : - гранична частота. Оскільки, заданий сигнал містить різні частоти, то граничною буде найбільша з них: . Отже: .
Підставивши отримане значення у теорему Котельникова, маємо крок дискретизації:
Для знаходження періоду заданого сигналу слід знайти найменше спільне кратне між періодами всіх окремих складових сигналу. Таких частин є чотири (чотири доданки присутні в аналітичному представленні сигналу):
; ;
;
Як відомо, амплітуда та фаза не впливають на період сигналу, тому до уваги слід брати лише частоту.
Отже, складові заданого сигналу мають такі періоди:
; ; ; .
Очевидно, що найменше спільне кратне становить (воно ділиться без остачі на решту періодів). Таким чином період заданого складеного сигналу становить:
Текст програми
clear all
//очистка пам’яті
clc
//закриття всіх графічних вікон
close()
//очистка екрану
A1=25; A2=18; A3=0.73; A4=-7;
//амплітуда
w1=4; w2=12; w3=2; w4=1/3;
//частота
phi1=%pi/5; phi2=%pi/2; phi3=0; phi4=%pi/4;
//фаза
M=2^5;
//кількість рівнів квантування
koef=2^0;
//коефіцієнт кількості відліків
w_gr=max([w1,w2,w4,w3]);
//гранична кругова частота
f_gr=w_gr/(2*%pi);
//гранична лінійна частота
dt=1/(2*f_gr*koef);
//дискрет часу за теоремою //Котельникова
T=6*%pi;
//період з аналітичних розрахунків
t=0:dt:T-dt;
//вектор часу для одного періоду
x=A1*cos(w1*t+phi1)-A2*sin(w2*t+phi2)+A3*sin(w3*t+phi3)-A4*cos(w4*t+phi4);
//вектор дискретного сигналу
maxA=max(abs(x))
//максимальне значення амплітуди
minA=-maxA
//мінімальне значення амплітуди
N=length(x);
//довжина вектору сигналу
k=(maxA-minA)/(M-1);
//квант амплітуди
K=minA:k:maxA;
//вектор рівнів квантування
y=floor(x/k)*k;
if modulo(M,2)==0
y=y+k/2;
end;
//округлення дискретного значення //сигналу до найближчого рівня //квантування, а отже, отримання //квантованого, тобто цифрового //сигналу
KK=ones(N,1)*K; plot(t,KK,'k--')
ff=gca()
ff.auto_ticks=["on","on","on"]
xlabel('Час,с'); ylabel('Рівні квантування')
//відображення рівнів квантування
plot2d(t,x,3)
//графік дискретного сигналу
plot2d2(t,y,5)
//графік квантованого сигналу
a=max(abs(y-x))
disp(a,"a=")
//абсолютна похибка
b=(1/N)*(sum(y)-sum(x))
disp(b,"b=")
//середня похибка
d=(1/N)*sum((y-x).^2)
disp(d,"d=")
//дисперсія
4. Оцінка похибки оцифровування
Koef
M
A
B
D
1
8
6.8068734
0.1908623
11.275014
32
1.5478236
0.0430979
0.8663435
256
0.1808839
0.0104787
0.0130490
2
8
6.8068734
0.0954311
12.219797
32
1.5478236
3.917D-15
0.7915504
256
0.1858362
- 0.0026197
0.0127830
4
8
6.825131
0.2862934
13.599957
32
1.5478236
- 0.0430979
0.7661018
256
0.1858362
0.0026197
0.0120126
8
8
6.8557119
0.0954311
14.562559
32
1.5478236
5.557D-15
0.7872766
256
0.1886025
0.0019648
0.0119084
5. Графіки дискретного та квантованого сигналу для таких параметрів :
М=32; koef=4
/
6. Висновки
В даній лабораторній роботі проведено оцифровування сигналу, заданого аналітичним виразом : .
Для цього визначено крок дискретизації та період досліджуваного сигналу. Вони становлять, відповідно : ;
Здійснено оцінку точності оцифровування за критеріями абсолютної, середньої похибки та дисперсії, в залежності від частоти дискретизації та кількості рівнів квантування. З отриманих результатів видно, що перший параметр практично не впливає на точність оцифровування, тоді як зі збільшенням другого, точність оцифровування збільшується.
Отже, для коректного представлення сигналу слід забезпечити частоту дискретизації не менше ніж