Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Цифровая обработка сигналов. Методическая разработка к лабораторным занятиям для студентов-бакалавров дневного и заочного обучения
.pdf
- Δ/2
ξ
n
x
k,
x
n
Δ/2
ξ
- /2
1 /
/2
p(ξ)
123
1
d)(p
2
2/
2/
3
2/
2/
2
2
r2
2
2
2
X
12
1
Рисунок П.2 Временные зависимости входного и выходного сигналов квантователя и
ошибок квантования
Поскольку абсолютная ошибка не зависит от уровня сигнала при = const, то относи-
тельная ошибка квантования увеличивается с уменьшением уровня сигнала, что является не-
достатком равномерного квантователя.
При случайном характере сигнала и большом количестве уровней квантования последо-
вательность отсчетов представляет собой стационарный случайный процесс с равномерной
плотностью вероятности, называемый шумом квантования. Закон распределения этого слу-
чайного процесса показан на рисунке П.3.
Рисунок П.3. Плотность вероятности шумов квантования
Для равномерного распределения, симметричного относительно начала координат,
среднее значение случайной величины равно нулю, а дисперсия определяется соотношением
. (П.2)
Подставляя в последнее соотношение (П.1), получим
(П.3)
41

Таким образом, при равномерном квантовании дисперсия шума квантования зависит от
2
x
2
2
X
)1r(2
2
2
x
X
32N_S
8.10
X
lg20r6lg10N_S
x
2
2
x
ДБ
x
x
x
k
Δ
параметров квантователя X и r и не зависит от уровня входного сигнала.
Определим отношение сигнал/шум на выходе квантователя как отношение дисперсии
сигнала
Отношение сигнал/шум в децибелах определяется выражением
Из него видно:
1. Введение каждого дополнительного разряда в кодовое слово квантователя увеличива-
ет отношение сигнал/шум на 6дБ.
2. С уменьшением среднеквадратичного уровня сигнала x отношение сигнал/шум
уменьшается, что является недостатком равномерного квантователя.
Указанный недостаток устраняется в квантователях с переменным шагом квантования, в
которых шаг квантования уменьшается с уменьшением абсолютной величины уровня вход-
ного сигнала
Характеристика квантователя с неравномерным шагом квантования приведена на рисун-
ке П.4.
к дисперсии шума
.
(П.4)
(П.5)
Рисунок П.4 Характеристика квантования при неравномерном шаге квантования
Из нее видно, что равномерно распределенным уровням выходного квантованного сигнала соответствуют неравномерно распределенные уровни входного дискретного сигнала.
По мере уменьшения абсолютной величины уровня квантованного сигнала шаг квантования
уменьшается. При уменьшении шага квантования ступенчатая характеристика приближается
к нелинейной зависимости, проходящей через середины вертикальных отрезков, образующих ступеньки. Поэтому квантователь с неравномерным шагом квантования называют также
нелинейным квантователем.
На рисунке П.5 показана структурная схема нелинейного квантователя.
42

x
x
k
y
k
y
Входной
нелинейный
преобразователь
Линейный
квантователь
Выходной
нелинейный
преобразователь
Нелинейный квантователь
y
k
xsign
1ln
X
x
21ln
2
X
y
kkk
ysign11lny
X
2
exp
2
X
x
,B2B1lg101lnlg208.4r6N_S
2
ДБ
x
2
X
B
Рисунок П.5. Структурная схема тракта «нелинейный
квантователь-- выходной нелинейный преобразователь»
Входной нелинейный преобразователь выполняет нелинейное преобразование входного
дискретного сигнала x в выходной дискретный сигнал y. Затем осуществляется квантование
сигнала y линейным квантователем. Для устранения нелинейных искажений квантованного
сигнала он подвергается обратному нелинейному преобразованию в выходном нелинейном
преобразователе, который преобразует сигнал y k в сигнал x
преобразователя результирующая характеристика тракта, т.е. зависимость x k от x получается
ступенчато-линейной.
Возможно использование различных видов нелинейности входного нелинейного преоб-
разователя, осуществляющего компрессию входного сигнала. Наиболее распространенным
является - закон, при котором зависимость y от x определяется соотношением
. За счет второго нелинейного
k
ент компрессии.
При этом выходной нелинейный преобразователь должен обладать обратной характеристикой
ходной нелинейный преобразователь» описывается соотношением
где
сигнала при двух значениях коэффициента компрессии (сплошные кривые). При μ=500 от-
ношение сигнал-шум практически не зависит от уровня сигнала.
Отношение сигнал/шум при использовании системы «нелинейный квантователь - вы-
.
На рисунке П.6 приведены зависимости S_N(r,μ,X,σ
, (П.6) где - коэффици-
. (П.7)
(П.8)
) от среднеквадратического уровня
x
43

0 0.1 0.2 0.3
10
100
S_N 8 500 1 x
S_N 8 10 1 x
S_N1 8 1 x
x
Рисунок П.6 Зависимость отношения сигнал/шум от среднеквадратичного уровня сигнала
при разных значениях коэффициента компрессии
При μ=10 при слабых сигналах отношение сигнал/шум меньше, чем при μ=500, а при
сильных, наоборот, больше. Для сравнения на этом же рисунке показана пунктирная кривая,
выражающая зависимость отношения сигнал/шум на выходе линейного квантователя
S_N1(r,X,σx) от среднеквадратического уровня сигнала. Из рисунка видно, что при слабых
сигналах нелинейный квантователь обеспечивает более высокое отношение сигнал/шум по
сравнению с линейным. По мере увеличения коэффициента компрессии отношение сиг-
нал/шум повышается.
44

Программа моделирования характеристик квантования
линейного и нелинейного квантователей
001 //Программа моделирования характеристик квантования
002 //линейного и нелинейного квантователя
003 // Имя программы: Kvant1.sce
004 //
005 //Ввод исходных данных
006 X=2;//Диапазон квантователя
007 r=4;//Количество двоичных разрядов
008 nmax=1000;//Количество отсчетов
009 m=10;//Коэффициент компрессии
010 //
011 //Формирование функции квантования
012 //линейного квантователя
001 function x0k=kvant(r0, x0, X);
002 //r0 - количество разрядов квантователя
003 //x0 - значение отсчёта дискретного сигнала
004 //на входе квантователя
005 //X - диапазон квантователя
006 //x0k - значение отсчёта квантованного сигнала
007 v2=zeros(1:r0);
008 v=(x0+X/2+X/2^(r0+1))/X;
009 for i=1:r0
010 v=2*v;
011 if v>=1 then v2(i)=1;
012 else v2(i)=0;
013 end
014 if v>=1 then v=v-1;
015 end
016 end
017 x0k=0;
018 for i=1:r0
019 x0k=x0k+v2(i)*2^(-(i));
020 end
021 x0k=(x0k-0.5)*X;
022 endfunction;
035 //
036 //Функция входного нелинейного преобразования
001 function y0=FNT(x0, m, X);
002 //x0-значение отсчёта сигнала на входе преобразователя
003 //m - коэффициент компрессии
004 //X - диапазон квантователя
005 //y0-значение отсчёта сигнала на выходе преобразователя
006 y1=0.5*X*((log(1+2*m*abs(x0)/X))/log(1+m));
007 if x0<0 then y0=-y1;
008 else y0=y1;
009 end
010 endfunction;
047 //
Приложение Б
к лабораторной работе №2
45

048 //Функция обратного нелинейного преобразования
001 function y0=IFNT(x0, m, X);
002 //x0-значение отсчета сигнала на входе преобразователя
003 //m - коэффициент компрессии
004 //X – диапазон квантователя
005 //y0-значение отсчёта сигнала на выходе преобразователя
006 y1=(X/(2*m))*(exp((2*abs(x0)*log(1+m))/X)-1);
007 if x0<0 then y0=-y1;
008 else y0=y1;
009 end
010 endfunction;
059 //
060 //Формирование сигнала,
061 //изменяющегося во времени по линейному закону
062 x=zeros(1:nmax);
063 for n=1:nmax
064 x(n)=X*(n/nmax-0.5);
065 end
066 clf()
067 subplot(3,2,1)
068 n=1:nmax;
069 plot2d(n,x,style=[color("green")])
070 xgrid
071 xtitle('Сигнал на входе квантователя')
072 //Сигнал на выходе линейного квантователя
073 xk=zeros(1:nmax);
074 for n=1:nmax
075 xk(n)=kvant(r,x(n),X);
076 end
077 xk=zeros(1:nmax);
078 for n=1:nmax
079 xk(n)=kvant(r,x(n),X);
080 end
081 subplot(3,2,2)
082 n=1:nmax;
083 plot2d(x,xk,style=[color("blue")])
084 xgrid
085 xtitle('Характеристика линейного квантователя ')
086 //Нелинейное преобразование входного сигнала
087 for n=1:nmax
088 y(n)=FNT(x(n),m,X);
089 end
090 //
091 subplot(3,2,3)
092 n=1:nmax;
093 plot2d(x,y,style=[color("blue")])
094 xgrid
095 xtitle('Характеристика входного нелинейного
преобразователя')
096 //Квантование сигнала
097 yk=zeros(1:nmax);
098 for n=1:nmax
46

099 yk(n)=kvant(r,y(n),X);
100 end
101 subplot(3,2,4)
102 n=1:nmax;
103 plot2d(x,yk,style=[color("blue")])
104 xgrid
105 xtitle('Характеристика квантования нелинейного
квантователя')
106 //Обратное нелинейное преобразование квантованного
сигнала
107 for n=1:nmax
108 x(n)=IFNT(y(n),m,X);
109 xk(n)=IFNT(yk(n),m,X);
110 end
111 subplot(3,2,5)
112 plot2d(y,x,style=[color("blue")])
113 xgrid
114 xtitle('Характеристика обратного нелинейного
преобразования')
115 subplot(3,2,6)
116 plot2d(x,xk,style=[color("red")])
117 xgrid
118 xtitle('Результирующая характеристика компрессор экспандер')
47

Программа моделирования процесса квантования
синусоидального сигнала
001 //Программа моделирования процесса квантования
002 //синусоидального сигнала
003 //Имя программы:kvant2
004 //Ввод исходных данных
005 Xc=1.5; // Амплитуда сигнала
006 X=1.8; // Диапазон квантователя
007 nc=64; // Количество отсчетов в периоде сигнала
008 r=8; // Количество двоичных разрядов квантователя
009 nmax=100; //Максимальное количество отсчетов
010 //
011 //Функция квантования
001 function x0k=kvant(r0, x0, X);
002 //r0 - количество двоичных разрядов
003 //x0 - значение отсчета дискретного сигнала
004 // на входе квантователя
005 //X - диапазон квантователя
006 //x0k - значение отсчета квантованного сигнала
007 v2=zeros(1:r0);
008 v=(x0+X/2+X/2^(r0+1))/X;
009 for i=1:r0
010 v=2*v;
011 if v>=1 then v2(i)=1;
012 else v2(i)=0;
013 end
014 if v>=1 then v=v-1;
015 end
016 end
017 x0k=0;
018 for i=1:r0
019 x0k=x0k+v2(i)*2^(-(i));
020 end
021 x0k=(x0k-0.5)*X;
022 endfunction;
034 //
035 xk=zeros(1:nmax);
036 s0=zeros(1:nmax);
037 // Синусоидальный сигнал на входе квантователя
038 x=zeros(1:nmax);
039 n=1:nmax;
040 x=Xc*sin(2*%pi*n/nc);
041 clf()
042 subplot(2,2,1)
043 n=1:nmax;
044 plot2d3(n,x,style=[color("red")])
045 xgrid
046 xtitle('Сигнал на входе квантователя ')
047//Сигнал на выходе квантователя
Приложение В
к лабораторной работе №2
48

048 for n=1:nmax
049 xk(n)=kvant(r,x(n),X);
050 end
051 subplot(2,2,2)
052 n=1:nmax;
053 plot2d3(n,xk,style=[color("blue")])
054 xgrid
055 xtitle('Сигнал на выходе квантователя ')
056 //Определение спектра входного сигнала
057 for i=1:nc
058 xs(i)=x(i);
059 end
060 Sx=fft(xs);
061 Sx0=abs(Sx)/max(abs(Sx));
062 Ampx1=zeros(1:6);
063 for m=1:6
064 if Sx0(m)*100<0.01 then
065 Ampx1(m)=0;
066 else Ampx1(m)=Sx0(m)*100;
067 end
068 end
069 subplot(2,2,3)
070 m=1:6;
071 plot2d3(m-1,Ampx1,style=[color("red")])
072 xgrid
073 xtitle('Спектр входного сигнала ')
074 //Определение спектра квантованноо сигнала
075 for i=1:nc
076 xs(i)=xk(i);
077 end
078 Sx=fft(xs);
079 Sx0=abs(Sx)/max(abs(Sx));
080 Ampx2=zeros(1:6);
081 for m=1:6
082 if Sx0(m)*100<0.001 then
083 Ampx2(m)=0;
084 else Ampx2(m)=Sx0(m)*100;
085 end
086 end
087 subplot(2,2,4)
088 m=1:6;
089 plot2d3(m-1,Ampx2,style=[color("blue")])
090 xgrid
091 xtitle('Спектр выходного сигнала ')
49

Программа моделирования процесса квантования
случайного сигнала
001 //Моделирование процесса квантования случайного сигнала
002 // с нормальным законом распределения и нулевым средним
003 // Ввод исходных данных
004 X=8; // Диапазон квантователя
005 r=3; // Количество разрядов квантователя
006 sigmaS=1; //Среднеквадратическое отклонение
007 nmax=100; // Максимальный номер отсчёта
008 //
009 // Обнуление массивов
010 xk=zeros(1:nmax);
011 osh=zeros(1:nmax);
012 //
013 //Формирование случайного сигнала с
014 // нормальным законом распределения
015 x=grand(nmax,1,'nor',0,sigmaS);
016 //
017//Функция квантования
001 function x0k=kvant(r0, x0, X);
002 //r0 - количество разрядов квантователя
003 //x0 - значение отсчёта входного сигнала
004 //X - диапазон квантователя
005 //x0k - значение отсчёта выходного сигнала
006 v=zeros(1:nmax);
007 v2=zeros(1:r0);
008 v=(x0+X/2+X/2^(r0+1))/X;
009 for i=1:r0
010 v=2*v;
011 if v>=1 then v2(i)=1;
012 else v2(i)=0;
013 end
014 if v>=1 then v=v-1;
015 end
016 end
017 x0k=0;
018 for i=1:r0
019 x0k=x0k+v2(i)*2^(-(i));
020 end
021 x0k=(x0k-1/2)*X;
022 endfunction;
040 //
041 //Определение выходного сигнала квантователя
042 for n=1:nmax;
043 xk(n)=kvant(r,x(n),X);
044 end
045 //
046 // Определение сигнала ошибки
047 for n=1:nmax
Приложение Г
к лабораторной работе №2
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
