Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Цифровая обработка сигналов. Методическая разработка к лабораторным занятиям для студентов-бакалавров дневного и заочного обучения

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
- Δ/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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]