МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Звіт з лабораторної роботи №2
з дисципліни: «Цифрова обробка сигналів»
на тему: «Дискретизація і квантування сигналів»
Завдання
Форма сигналу:
Варіант
№
Параметри сигналу
А1
А2
А3
А4
/
8
-12
17
4
1
11
19
2/7
4/8
0
20
-3
5
2
-5
6
19
1/3
3/8
0
Тобто, аналітичний запис сигналу такий:
Аналітичний розрахунок кроку дискретизації та періоду сигналу
Згідно теореми Котельникова: , де : - гранична частота. Оскільки, заданий сигнал містить різні частоти, то граничною буде найбільша з них: .
Отже: .
Підставивши отримане значення у теорему Котельникова, маємо крок дискретизації:
Для знаходження періоду заданого сигналу слід знайти найменше спільне кратне між періодами всіх окремих складових сигналу. Таких частин є чотири (чотири доданки присутні в аналітичному представленні сигналу):
; ;
;
Як відомо, амплітуда та фаза не впливають на період сигналу, тому до уваги слід брати лише частоту. Отже, складові заданого сигналу мають такі періоди: ; ; ; . Очевидно, що найменше спільне кратне становить (воно ділиться без остачі на решту періодів). Таким чином період заданого складеного сигналу становить:
Текст програми
clear all
//очистка пам’яті
clc
//закриття всіх графічних вікон
close()
//очистка екрану
A1=-3; A2=5; A3=2; A4=-5;
//амплітуда
w1=6; w2=19; w3=1/3; w4=3/8;
//частота
phi1=%pi/2; phi2=%pi/4; phi3=0; phi4=%pi/6;
//фаза
M=2^3;
//кількість рівнів квантування
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=")
//дисперсія
Оцінка похибки оцифровування
Koef
M
A
B
D
1
8
1.4523548
- 0.0064112
0.7420725
32
0.3259239
0.0369919
0.0374364
256
0.0401403
0.0024167
0.0005782
2
8
1.5279938
0.0281808
0.7770604
32
0.3469651
- 0.0101300
0.0412174
256
0.0421292
0.0005540
0.0005715
4
8
1.7277255
0.0233922
0.9759288
32
0.3893297
0.0060301
0.0510923
256
0.0474204
0.0019286
0.0007655
8
8
1.7277255
0.0402130
0.9770745
32
0.3896946
0.0025544
0.0514916
256
0.0474434
0.0010910
0.0007526
Графіки дискретного квантового сигналу для таких параметрів: М=8; koef=8
/
Висновки
В даній лабораторній роботі проведено оцифровування сигналу, заданого аналітичним виразом :
Для цього визначено крок дискретизації та період досліджуваного сигналу. Вони становлять, відповідно : ;
Здійснено оцінку точності оцифровування за критеріями абсолютної, середньої похибки та дисперсії, в залежності від частоти дискретизації та кількості рівнів квантування. З отриманих результатів видно, що перший параметр практично не впливає на точність оцифровування, тоді...