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

ФОСМС2015fokin_12345

.pdf
Скачиваний:
27
Добавлен:
11.06.2015
Размер:
7.6 Mб
Скачать

Предсказатель ДИКМ

Предсказатель сигнала в кодере TX и декодере RX реализован в ИМ функцией

рекурсивного алгоритма МНК (RLSE)

function [xqhn,P,a]=prdctr(en,xqs,M,P,a,alpha)

Сравнивая графики ошибки квантования с компандером и в случае ДИКМ, можно сделать следующий вывод: при меньшем числе уровней квантования (N=8) ДИКМ обеспечивает меньшую ошибку квантования, нежели квантователь с компандером (N=16).

function [xqhn,P,a]=prdctr(en,xqs,M,P,a,alpha) % One-step-ahead predictor based on RLSE

%

Input:

en

=

Prediction error

%

 

xqs

=

Predictor input history [1 xq(n-M) ... xq(n-1)]

%M = Order of the predictor

%P = Matrix to be initialized as, say, an identity matrix

%a = Previous parameter estimate of dimension M+1

%alpha= Forgetting factor <=1

%Output: xqhn = Predictor output

%P = Updated P matrix

%a = Updated parameter estimate of dimension M+1

K= P*xqs/(xqs'*P*xqs +alpha); % Predictor gain

xqhn= a'*xqs;

% Predictor output

a=

a +K*en;

% Parameter update

P=

(eye(M+1,M+1)-K*xqs')*P/alpha; % Parameter update

21

Моделирование работы ДИКМ

%sim_DPCM.m

%adaptive predictor in TX and the predictor

%with the same (transmitted) coefficients in RX clear, clf

T=0.01; nmax=20; t=[0:nmax-1]*T;

%b0=min(x); bN=max(x); xmax=max(abs([b0 bN]))

b0=-0.4; bN=0.4; N=8;

% left/rightmost boundary & # of bits/sample

delta=(bN-b0)/N;

% the width

of the quantization interval

b=b0+[0:N]*delta;

% the boundary vector

c=b(1:N)+delta/2;

% quantization level vector

M=2; M1=M+1;

% dimension

of predictor(RLSE)

% initialize the parameters of the predictor

P=eye(M1,M1); a=zeros(M1,1); alpha=1;

%initialize the (memory) buffers of

TX/predictor

xqs=[1; zeros(M,1)];

xqhn=0; dn=0;

dqn=0;

%initialize the (memory) buffers of

RX/predictor

yqs=[1; zeros(M,1)];

 

 

for n=1:nmax

 

 

x(n)= sin(6*(n-1)*T);

xqs= [1; xqs(3:M1); xqhn+dqn]; %the predictor output history if n<40 %training period for adaptive predictor

[xqh(n),P,a]=prdctr(dn,xqs,M,P,a,alpha); %adaptive predictor else

xqh(n)= a'*xqs; %non-adaptive predictor

end

 

d(n)=x(n)-xqh(n);

%prediction error

dq(n)=adc(d(n),b,c);

%quantizer at TX(encoder)

dn=d(n); dqn=dq(n); xqhn=xqh(n);

%store/delay

yq(n)=a'*yqs +dqn;

%the output of predictor at RX

yqs=[1; yqs(3:M1); yq(n)];

%store/delay

end

subplot(211); plot(t,x,'linewidth', 1, 'color','k'); hold on; stairs(t,d, 'linewidth', 1, 'color', 'b'); stairs(t,dq,'linewidth', 1, 'color','r'); stairs(t,yq,'linewidth', 1, 'color','m');

legend('analog signal x(t)','quantizer input d[n]',...

'quantizer output d_{q}[n]','rx/decoder output y_{q}[n]' ); str1=sprintf('Analog and quantized signals; N=%d', N); title(str1); subplot(212), plot(t,x-yq,'r-');

str21=sprintf(' Error between analog signal x(t) '); str22=sprintf('and output y_{q}[n] of the rx/decoder'); str3=[str21;str22]; title(str3);

legend('x(t) -y_{q}[n]','Location','southeast');

22

Структура приемопередатчика ДМ

Дельта-модуляция получается из ДИКМ исключением предсказателя и ограничением

числа бит квантователя до одного, при этом одним битом можно представить два

уровня квантования ±∆ 2. В канал передается величина = ±∆ 2, знак которой определяется сравнением текущего значения и предыдущего квантованного значения − 1 . Приемник, получив величину ±∆ 2, добавляет её к предыдущей

оценке

− 1

и, таким образом, получает текущую оценку

сигнала

.

 

 

 

 

 

 

 

 

 

 

 

(Дельта (∆) модулятор)

 

 

(Дельта (∆) демодулятор)

 

 

Приемник/декодер

 

 

Приемник/декодер

 

x(t)

x[n]

d[n]

dq[n]

 

 

yq[n]=xq[n]≈x(t)

 

Дискр-р

+

Квантователь

 

Канал

+

+

 

 

 

+

 

 

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xq[n]=xq[n-1]

xq[n]

 

 

yq[n]=yq[n-1]

yq[n]

 

 

z¯¹

+

 

 

 

z¯¹

 

Анализ результатов работы ДМ показывает, что фиксированный интервал приводит к погрешностям в области резких изменений и в области слабых изменений значений

аналогового сигнала. Одним из вариантов снижения погрешности является использование адаптивно изменяемого интервала ∆ . Правило адаптации, использованное далее в программе, можно представить выражением:

∆ = ∆−1

 

 

 

−1

.

(4.4.1)

 

 

 

 

 

 

 

23

Моделирование работы ДМ

%sim_DM.m

% simulates the DM (Delta Modulation) system clear, clf;

T=0.01; nmax=140; t=[0:nmax-1]*T; b0=-0.1; bN=0.1; N=2;

for itr=1:2

delta=(bN-b0)/N;

% Width of the quantization interval

xqhn=0; yqn=0;

% Initialize the (memory) buffers

for n=1:nmax

 

x(n)= sin(6*(n-1)*T); % +.2*(rand-0.5); xqh(n)=xqhn; % Predictor(delay) output d(n)=x(n)-xqh(n); % Comparator input dq(n)= sign(d(n))*delta/2; % Comparator

%with adaptive adjustment of quantization interval width or not if itr==2

delta=delta*50^(dq(n)*dqn); % Eq.(4.4.1)

end

 

dqn=dq(n); xqhn=xqh(n)+dqn;

% Store/Delay

yq(n)=yqn+dq(n);

% Receiver(DM decoder)

yqn=yq(n);

% Store/Delay

end

subplot(2,2,itr);plot(t,x,'k'); hold on; axis([0 T*nmax -1 1]); stairs(t,d, 'linewidth', 1, 'color','b'); stairs(t,dq,'linewidth', 1, 'color','r'); stairs(t,yq,'linewidth', 1, 'color','m');

legend('analog signal x(t)','quantizer input d[n]',...

'quantizer output d_{q}[n]','rx/decoder output y_{q}[n]'); str1=sprintf('Analog and quantized signals; N=%d', N); title(str1); subplot(2,2,itr+2); plot(t,x-yq,'r-'); axis([0 T*nmax -0.2 0.2]);

str21= sprintf('Error between analog signal x(t)

');

str22= sprintf('and output y_{q}[n] of

the rx/decoder

');

str231=sprintf('(width of quantization

interval fixed)

');

str232=sprintf('(width of quantization interval adaptively adjusted)'); str1=[str21; str22; str231];

str2=[str21; str22; str232]; if itr==1

title(str1); elseif itr==2

title(str2);

end

legend('x(t) -y_{q}[n]','Location','southeast'); sum_of_squared_error=(x-yq)*(x-yq)'

end

24

Иллюстрация работы ДМ

25

Тема 3.1. АДИКМ. Теория

Цель: Изучить принципы работы АДИКМ, АДМ

Задачи:

Изучить принципы функционирования АДИКМ

Изучить принцип работы устройства предсказания

Изучить структурные схемы АДИКМ по рек. G721/G.722

Изучить особенности реализации АДИКМ

План:

Передача и прием в системе с предсказанием

Передача и прием в системе с ДИКМ

Устройство предсказания

Принцип работы АДИКМ

Передача и прием в системе с АДИКМ

Рекомендация G.721 (G.726)

Рекомендация G.722

Особенности реализации АДИКМ

АДМ

Содержание отчета: определяется задачами и планом практического занятия ДЗ: изучить материал по плану

26

Передача и прием в системе с предсказанием

С целью снижения требований к пропускной способности канала можно использовать наличие корреляции между отсчетными значениями передаваемого сообщения. Такой метод называется передачей с предсказанием.

На передающем конце последовательность значений поступает на один вход

вычитающего устройства, в то время как на другой вход поступает предсказанное

значение , полученное тем или иным методом в устройстве предсказания на основе анализа как предыдущих отсчетных значений сообщения, так и текущих передаваемых значений на выходе вычитающего устройства.

На приемном конце значения сообщения восстанавливаются путем добавления

принятого сигнала ошибки предсказания

к предсказываемому значению .

27

Передача и прием в системе с ДИКМ

В системе с дифференциальной импульсно-кодовой модуляцией (ДИКМ — Differencial Pulse Code Modulation, DPCM) отсчетные значения ошибки предсказания подвергаются квантованию с переходом к значениям аналогично тому, как это делается при использовании обычной ИКМ, однако при существенно меньшем числе

уровней квантования. Таким образом, при одинаковом качестве передачи речи метод ДИКМ позволяет использовать меньшее число разрядов в кодовых комбинациях по сравнению с ИКМ.

При этом существует большое число различных вариантов реализации метода ДИКМ, наиболее типичный из которых работает следующим образом:

= −

= +

28

Устройство предсказания

В качестве предсказываемого значения сообщения в простейшем случае может быть использовано предыдущее отсчетное значение, хотя в общем случае используется выражение

=

 

 

 

− ,

 

=1

 

 

так что предсказатель может быть реализован в виде трансверсального фильтра на основе (регистра сдвига) L-отводной линии задержки с временем задержки между отводами, равным интервалу временной дискретизации ∆.

Очевидно, что получаемые на выходе приемного устройства значения сообщения несколько отличаются от переданных значений вследствие погрешности предсказания и влияния шума в канале. Тем не менее, метод ДИКМ даже с простейшим предсказателем по предыдущему значению сообщения (предсказатель первого порядка, = 1 ) позволяет при том же качестве передачи сообщений, что и при методе ИКМ, снизить скорость передачи до 56 Кбит/с. В случае же использования предсказателя третьего

порядка ( = 3) эта скорость может быть снижена до значения 48 Кбит/с.

29

 

Принцип работы АДИКМ

Дальнейшее снижение скорости передачи цифрового потока, достигаемое при использовании ДИКМ, может быть получено путем перехода к адаптивной дифференциальной импульсно-кодовой модуляции (АДИКМ — Adaptive Differencial Pulse Code Modulation, ADPCM).

При АДИКМ производится либо адаптивное регулирование величины шага квантования сигнала ошибки предсказания в соответствии с изменяющимся уровнем средней мощности речевого сообщения (шаг квантования пропорционален значению уровня мощности), либо шаг квантования не изменяется, но автоматически

поддерживается постоянный уровень средней мощности сообщения. Кроме того, осуществляется также автоматическая подстройка коэффициентов устройства предсказания на основе статистического оценивания параметров передаваемого сообщения. Логическая схема формирования (а) и приема (б) сигнала АДИКМ, основанная на втором методе, включает цепи автоматической регулировки усиления и подстройки параметров предсказателя.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]