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

OPISIS_LAB6

.pdf
Скачиваний:
32
Добавлен:
24.12.2021
Размер:
1.27 Mб
Скачать
d k

На рисунке 8.4 показано эквивалентное представление модели канала в частотной области, где частотная характеристика может быть вычислена с использованием Z-преобразования как

W z

 

w k z-k

 

 

(8.5)

 

k

 

 

Линейный эквалайзер — это самый простой тип эквалайзера, который пытается инвертировать передаточную функцию канала H(z) и фильтрует полученные символы с инвертированным ответом. Впоследствии, используя устройство посимвольного принятия решения, отфильтрованные выходные сигналы эквалайзера используются для оценки информационных символов.

Структура линейного эквалайзера может быть типа КИХ или БИХ. Вес отводов эквалайзера рассчитывается на основе критерия оптимизации. Мы сосредоточимся на критериях нулевого принуждения (ZF) и минимальной среднеквадратичной ошибки (MMSE).

Рисунок 8.4 − Эквивалентная модель канала в частотной области с линейным эквалайзером

8.4 Эквалайзер с принудительной установкой нуля

Эквалайзер с принудительной установкой нуля (ZF) назван так потому, что

он устанавливает остаточный ISI на выходе эквалайзера до нуля.

Оптимальный эквалайзер с нулевым форсированием достигает идеального

выравнивания,

форсируя

остаточный

ISI в

моменты дискретизации kT , за

исключением

k 0 . Эта

цель может

быть

достигнута, если мы допустим

эквалайзер со структурой с бесконечной импульсной характеристикой (БИХ). В

большинстве практических приложений передаточная функция канала H z

может быть аппроксимирована фильтром с конечным откликом (КИХ), и,

следовательно, его идеальным уравнительным аналогом W z будет БИХ-фильтр.

1

 

 

W z

 

 

(8.6)

H z

В результате итоговая общая передаточная функция, обозначенная Q z ,

определяется как

 

Q z H z W z 1

(8.7)

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

q[k] h[k] w[k] [k k0

1,

for k k0

 

]

for k k0

(8.8)

 

0,

 

Для практического применения из-за присущей им стабильности и лучшей иммунизации против эффектов слов конечной длины, FIR-фильтры предпочтительнее, чем IIR-фильтры. Реализация эквалайзера с нулевым форсированием в качестве КИХ-фильтра означала бы наложение причинно-

следственной связи и ограничение длины на фильтр эквалайзера, передаточная функция которого принимает форму

W z

N 1

 

-k

 

 

w k z

 

(8.9)

 

k 0

 

 

 

Учитывая импульсную характеристику канала длиной L и эквалайзерный фильтр длиной N, решение с нулевым форсированием в уравнении 8.8 может быть выражено следующим образом.

 

 

 

q[k] h[k] w[k] h[i]w[k i] [k ko ],

k 0,... , L N 2

(8.10)

i

 

 

Проще говоря, с решением с нулевым форсированием общая импульсная

характеристика принимает следующую форму.

 

 

q[k] h[k] w[k] [k ko ] [0,0, ,0,1,0, , 0,0]

(8.11)

где q[k] 1 в позиции k0. Сумма свертки последовательности конечной длины h

длины L и причинной последовательности конечной длины w длины N может быть выражена в матричной форме как

q

q 0

 

 

 

 

 

 

 

q 1

 

 

 

q 2

 

 

 

 

 

 

 

 

 

 

 

 

h

L N 2

 

 

 

 

 

 

h 0 h 1

h2

L N 2

h[ 1]

h 0 h 1

h L N 3

h

N 1

 

 

 

w 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w 1

 

 

 

 

 

 

 

 

 

 

 

h

 

N 2

 

 

 

 

 

 

 

 

 

 

h

N 3

 

 

 

w 2

 

 

 

 

 

(8.12)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h L 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w N 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Очевидно, решение с нулевым воздействием в уравнении 8.8 может быть выражено в матричной форме как

h

h 0 h 1

h2

L N 2

h[ 1]

h

N 1

 

 

 

w 0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

N 2

 

 

 

 

 

 

 

 

 

 

 

 

 

h

0

 

 

 

w 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h 1

h

N 3

 

 

 

w 2

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(8.13)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h L N 3

h L 1

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

H w k0

Если мы предположим причинность импульсной характеристики канала, h[k] 0 для k 0 и если L выбрано достаточно большим, h[k] 0 выполняется для k L . Тогда решение с нулевым воздействием может быть упрощено как

h 0

 

0

 

 

0

 

 

 

 

 

 

 

h 1

 

h

 

0

 

0

 

 

 

 

 

 

 

 

h

 

 

 

 

2

 

h 1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

h L 1

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

w 0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

w 1

 

 

 

 

 

 

 

w 2

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(8.14)

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

0

 

w N 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

L 1

 

w N 1

 

 

 

 

 

 

 

 

 

 

0

 

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

H T h

T h w k

0

(8.15)

H w k

 

 

0

 

 

Если предполагается, что эквалайзер с нулевым форсированием идеально компенсирует импульсную характеристику канала, выход эквалайзера будет дельта-функцией Дирака, которая задерживается определенными символами из-за задержки эквалайзера (k0). В матричной форме это условие представлено как

H w k

(8.16)

0

где H - прямоугольная матрица канала, как определено в уравнениях 8.13 и 8.15, w

- вектор-столбец, содержащий веса отводов эквалайзера, а k0 - вектор-столбец,

представляющий дельта-функцию Дирака, со всеми элементами, равными нулю, за исключением элемента единицы в (k0) -я позиция. Положение элемента единицы в матрице k0 определяет задержку эквалайзера ( k0 ). Задержка эквалайзера допускает сквозную системную задержку. Без задержки эквалайзера было бы

трудно компенсировать эффективную задержку канала с помощью причинного эквалайзера FIR.

Повышение шума Исходя из данной модели канала с дискретным временем (рисунок 8.3),

полученная последовательность r может быть вычислена как сумма свертки входной последовательности a длины N и импульсной характеристики канала h

длины L.

r

 

k

 

h

k

 

a

k

 

n

k

 

 

 

h i a

k i

 

n

k

 

k 0,1,..., L N 2

(8.22)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

Следуя выводам, аналогичным уравнениям 8.10 и 8.12, сумма свертки может быть выражена в матричной форме как

r

r 0

 

 

h 0

 

 

 

h 1

r 1

 

 

 

 

 

r 2

 

h 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h L N 2

L N 2

 

 

 

 

 

 

 

 

h[ 1]

h 0 h 1

h L N 3

h

N 1

 

 

 

a 0

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 1

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

N 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

N 3

 

 

 

 

a 2

 

 

 

n 2

(8.23)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h L 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a N 1

 

 

 

n N 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r H a n

(8.24)

Если используется линейный эквалайзер с нулевым форсированием,

получение выходного сигнала эквалайзера эквивалентно применению псевдообратной матрицы H † к вектору принятой сигнальной последовательности r

H r H H a H n a n

(8.25)

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

Имитационная модель эквалайзера ZF показана на рисунке 8.3.

Имитационная модель включает в себя общую импульсную характеристику h t

непрерывного временного канала с дискретным временем, эквивалентным h k , и

дискретным временным нулевым форсирующим эквалайзером w k , разнесенным по символам. Цель состоит в том, чтобы разработать эквалайзер с нулевым форсированием длины N, который мог бы компенсировать эффекты искажения,

вносимые каналом длины L.

В качестве примера для моделирования предполагается, что частота дискретизации всей системы равна Fs 100 Гц с 5 отсчетами на символnSamp 5 , а также предполагается модель канала со следующей общей импульсной характеристикой канала при скорости передачи в бодах.

h(t)

 

1

 

(8.26)

 

 

 

 

t

2

 

 

1

 

 

 

 

 

 

T

 

 

 

 

sym

 

Программа 8.1: Модель канала

%System parameters

nSamp=5; %Number of samples per symbol determines baud rate Tsym Fs=100; %Sampling Frequency of the system

Ts=1/Fs; %Sampling time Tsym=nSamp*Ts; %symbol time period

%Define transfer function of the channel

k=6; %define limits for computing channel response

N0 = 0.001; %Standard deviation of AWGN channel noise

t = -k*Tsym:Ts:k*Tsym; %time base defined till +/-kTsym

h_t = 1./(1+(t/Tsym).^2);%channel model, replace with your own model h_t = h_t + N0*randn(1,length(h_t));%add Noise to the channel response h_k = h_t(1:nSamp:end);%downsampling to represent symbol rate sampler t_inst=t(1:nSamp:end); %symbol sampling instants

Затем постройте импульсную характеристику канала для вышеупомянутой модели, получившийся график показан на Рисунке 8.5.

Программа 8.2: Построение импульсной характеристики канала

figure; plot(t,h_t); hold on; %channel response at all sampling instants stem(t_inst,h_k,'r'); %channel response at symbol sampling instants legend('continuous-time model','discrete-time model');

title('Channel impulse response'); xlabel('Time (s)');ylabel('Amplitude');

Рисунок 8.5 − Импульсная характеристика канала

Поскольку характеристика канала, изображенная на рисунке 8.5, имеет длину L = 13, желателен принудительный фильтр с нулевым принуждением с длиной N L . Давайте зафиксируем длину фильтра с принуждением к нулю равной N = 14. Конструкция эквалайзера с принуждением к нулю соответствует уравнению 8.18, а задержка эквалайзера определяет положение одиночной «1» в

матрице k0 , которая представляет дельта-функцию Дирака.

Учитывая импульсную характеристику канала и желаемую длину эквалайзера, следующая функция проектирует эквалайзер с нулевым форсированием, используя уравнения 8.18, 8.20 и 8.21.

Программа 8.3: zf_equalizer.m: Функция для разработки эквалайзера ZF и

выравнивания сигнала

function [w,err,optDelay]=zf_equalizer(h,N,delay)

%Delay optimized zero forcing equalizer.

%[w,err,optDelay]=zf_equalizer(h,N,delay) designs a ZERO FORCING equalizer

%w for given channel impulse response h, the desired length of the equalizer

%N and equalizer delay (delay). Also returns the equalizer error (err),the

%best optimal delay (optDelay) that could work best for the designed equalizer

%[w,err,optDelay]=zf_equalizer(h,N) designs a DELAY OPTIMIZED ZERO FORCING

%equalizer w for given channel impulse response h, the desired length of the

%equalizer N. Also returns equalizer error(err),the best optimal delay(optDelay)

h=h(:); %Channel matrix to solve simultaneous equations L=length(h); %length of CIR

H=convMatrix(h,N); %(L+N-1)xN matrix - see Chapter 1 %section title - Methods to compute convolution %compute optimum delay based on MSE

Hp = inv(H'*H)*H'; %Moore-Penrose Pseudo inverse [~,optDelay] = max(diag(H*Hp)); optDelay=optDelay-1;%since Matlab index starts from 1 k0=optDelay;

if nargin==3,

if delay >=(L+N-1), error('Too large delay'); end k0=delay;

end d=zeros(N+L-1,1);

d(k0+1)=1; %optimized position of equalizer delay w=Hp*d;%Least Squares solution

err=1-H(k0+1,:)*w; %equalizer error (MSE)-reference [5] MSE=(1-d'*H*Hp*d);%MSE and err are equivalent

end

Давайте спроектируем эквалайзер с нулевым форсированием с N = 14

ответвлениями для данной характеристики канала на рисунке 8.5 и задержкой эквалайзера k0 , установленной на 11. Разработанный эквалайзер испытывается путем отправки импульсной характеристики канала в качестве входа, r[k] h[k].

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

Программа 8.4: Разработка и испытание эквалайзера обнуления

%Equalizer Design Parameters

N = 14; %Desired number of taps for equalizer filter delay = 11;

%design zero-forcing equalizer for given channel and get tap weights

%and filter the input through the equalizer find equalizer co-effs for given CIR

[w,error,k0]=zf_equalizer(h_k,N,delay); %[w,error,k0]=zf_equalizer(h,N,); %Try this delay optimized equalizer r_k=h_k; %Test the equalizer with the sampled channel response as input d_k=conv(w,r_k); %filter input through the eq

1h_sys=conv(w,h_k); %overall effect of channel and equalizer

disp(['ZF Equalizer Design: N=', num2str(N), ...' Delay=',num2str(delay), ' Error=', num2str(error)]);

disp('ZF equalizer weights:'); disp(w);

Вычислите и постройте частотную характеристику канала, эквалайзера и всей системы. Результирующий график, представленный на рисунке 8.6,

показывает, как эквалайзер с нулевым принуждением скомпенсировал отклик канала, инвертируя его.

Программа 8.5: Частотные характеристики канального эквалайзера и системы в целом

[H_F,Omega_1]=freqz(h_k); %frequency response of channel [W,Omega_2]=freqz(w); %frequency response of equalizer [H_sys,Omega_3]=freqz(h_sys); %frequency response of overall system figure;

plot(Omega_1/pi,20*log(abs(H_F)/max(abs(H_F))),'g'); hold on; plot(Omega_2/pi,20*log(abs(W)/max(abs(W))),'r'); plot(Omega_3/pi,20*log(abs(H_sys)/max(abs(H_sys))),'k'); legend('channel','ZF equalizer','overall system'); title('Frequency response');ylabel('Magnitude(dB)'); xlabel('Normalized frequency(x \pi rad/sample)');

Рисунок 8.6 − Эквалайзер с нулевым форсированием компенсирует отклик канала

Отклик фильтра во временной области показан на рисунке 8.7. График показывает, что эквалайзер идеально скомпенсировал вход, когда r[k] h[k].

Программа 8.6: Разработка и испытание эквалайзера обнуления

figure; %Plot equalizer input and output subplot(2,1,1); stem(0:1:length(r_k)-1,r_k);

title('Equalizer input'); xlabel('Samples'); ylabel('Amplitude'); subplot(2,1,2); stem(0:1:length(d_k)-1,d_k);

title(['Equalizer output- N=', num2str(N), ...' Delay=',num2str(delay), ' Error=', num2str(error)]);

xlabel('Samples'); ylabel('Amplitude');

Расчетная расчетная ошибка нулевого принуждения зависит от задержки эквалайзера. Для эквалайзера с 14 отводами и задержкой 11 ошибка

MSE 7,04 10 4 для бесшумного входа. С другой стороны, ошибка = 0,9985 для задержки = 1. Таким образом, задержка эквалайзера играет жизненно важную роль в конструкции эквалайзера с нулевым форсированием. Знание задержки, вносимой эквалайзером, очень важно для определения положения первого действительного отсчета на выходе эквалайзера (см. Разделы 8.6 и 8.7). Полный код моделирования,

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

Программа 8.7: zf_equalizer_test.m: Моделирование эквалайзера с принудительной установкой нуля

clearvars; clc; %System parameters

nSamp=5; %Number of samples per symbol determines baud rate Tsym Fs=100; %Sampling Frequency of the system

Ts=1/Fs; %Sampling time Tsym=nSamp*Ts; %symbol time period

%Define transfer function of the channel

k=6; %define limits for computing channel response

N0 = 0.001; %Standard deviation of AWGN channel noise

t = -k*Tsym:Ts:k*Tsym; %time base defined till +/-kTsym

h_t = 1./(1+(t/Tsym).?2);%channel model, replace with your own model h_t = h_t + N0*randn(1,length(h_t));%add Noise to the channel response h_k = h_t(1:nSamp:end);%downsampling to represent symbol rate sampler t_inst=t(1:nSamp:end); %symbol sampling instants

figure; plot(t,h_t); hold on; %channel response at all sampling instants stem(t_inst,h_k,'r'); %channel response at symbol sampling instants legend('continuous-time model','discrete-time model');

title('Channel impulse response'); xlabel('Time (s)');ylabel('Amplitude'); %Equalizer Design Parameters

N = 14; %Desired number of taps for equalizer filter delay = 11;

%design zero-forcing equalizer for given channel and get tap weights

%and filter the input through the equalizer find equalizer co-effs for given CIR

Соседние файлы в предмете Основы построения инфокоммуникационных систем и сетей