![](/user_photo/_userpic.png)
OPISIS_LAB6
.pdf![](/html/67296/114/html_tKCrg1eQ6n.LIvw/htmlconvd-z50nbP41x1.jpg)
[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
h_sys=conv(w,h_k); %overall effect of channel and equalizer
34 disp(['ZF equalizer design: N=', num2str(N), ...' Delay=',num2str(delay), ' error=', num2str(error)]);
disp('ZF equalizer weights:'); disp(w);
%Frequency response of channel,equalizer & overall system [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)');
figure; %Plot equalizer input and output(time-domain response) 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');
Рисунок 8.7 − Входные и выходные выборки от разработанного эквалайзера с нулевым форсированием
8.4.4 Недостатки эквалайзера с нулевым форсированием Так как отклик эквалайзера с принудительным обнулением является
обратной характеристикой канала (см. Рисунок 8.6), эквалайзер с принудительным обнулением применяет большое усиление на тех частотах, где канал имеет сильное затухание или спектральные нули. В результате большое усиление также усиливает
![](/html/67296/114/html_tKCrg1eQ6n.LIvw/htmlconvd-z50nbP42x1.jpg)
аддитивный шум на этих частотах, и, следовательно, выравнивание с нулевым форсированием страдает от усиления шума. Другая проблема заключается в том,
что аддитивный белый шум (который может быть добавлен как часть модели канала) может стать цветным, что усложняет оптимальное обнаружение.
Результаты моделирования на рисунке 8.8 (полученные путем увеличения стандартного отклонения аддитивного шума) показывают влияние аддитивного шума канала на выходной сигнал эквалайзера. Эти нежелательные эффекты можно устранить, применив критерий минимальной среднеквадратичной ошибки.
Рисунок 8.8 − Влияние аддитивного шума на выход эквалайзера с нулевым форсированием
8.7 Модуляция BPSK с установкой нуля и эквалайзерами MMSE
После разработки и тестирования линейных эквалайзеров с нулевым форсированием следующей очевидной задачей является проверка их производительности по каналу связи. Производительность линейных эквалайзеров полностью зависит от характеристик канала, по которому происходит
![](/html/67296/114/html_tKCrg1eQ6n.LIvw/htmlconvd-z50nbP43x1.jpg)
коммуникация. В качестве примера тестируются три отдельных канала с характеристиками, показанными на рисунке 8.13.
В имитационной модели, показанной на рисунке 8.14, последовательность случайных данных, модулированных модуляцией BPSK, индивидуально проходит через дискретные каналы, указанные в 8.13. В дополнение к фильтрации модулированного BPSK
Рисунок 8.13 − Дискретные временные характеристики трех каналов
Данные по этим каналам, передаваемые данные также смешиваются с аддитивным белым гауссовским шумом (как диктуется заданным значением Полученные данные затем проходят через оптимизированные по задержке версии эквалайзера с нулевым принуждением и эквалайзера MMSE, независимо по двум разным путям. Выходы эквалайзеров проходят через пороговый детектор, который дает оценку переданных информационных символов. Затем обнаруженные символы сравниваются с исходной последовательностью данных и вычисляется
частота ошибок по битам. Моделирование выполняется для различных значенийEb / N0 , и полученные кривые производительности показаны на Рисунке 8.15.
Характеристики трех каналов A, B и C во временной и частотной областях показаны на рисунке 8.13. Результаты моделирования производительности,
показанные на рисунке 8.15, также включают производительность канала связи по каналу, свободному от ISI (отсутствие межсимвольных помех).
Оба эквалайзера лучше всего работают в канале A, который имеет типичный отклик хорошего телефонного канала (отклик канала постепенный по всей полосе без спектральных нулей). Эквалайзер MMSE работает лучше, чем эквалайзер ZF
для канала C, который имеет худшую спектральную характеристику. Следующая лучшая производительность эквалайзера MMSE достигается для канала B. Канал B
по-прежнему имеет спектральный ноль, но он не такой серьезный, как у канала C.
Фильтры с принудительным обнулением работают хуже всего по каналам B и C.
Это потому, что конструкция фильтра с нулевым форсированием по своей сути исключает канальный шум в уравнении конструкции для вычисления весов отводов.
Можно сделать вывод, что линейные эквалайзеры дают хорошие характеристики по сравнению с каналами с хорошим поведением, которые не демонстрируют спектральные нули. С другой стороны, они неадекватны для полной компенсации межсимвольных помех по каналам, которые демонстрируют спектральные нули, что часто является реальностью. Эквалайзеры с обратной связью по принятию решений предлагают эффективное решение этой проблемы.
Нелинейные эквалайзеры с пониженной сложностью также являются предметом внимания исследователей, стремящихся преодолеть вышеупомянутые ограничения линейных эквалайзеров.
![](/html/67296/114/html_tKCrg1eQ6n.LIvw/htmlconvd-z50nbP45x1.jpg)
Рисунок 8.14 − Имитационная модель для модуляции BPSK с эквалайзером ZF
Рисунок 8.15 − Показатели частоты ошибок для эквалайзера ZF
Далее приводится полный код моделирования. Код моделирования повторно использует функции add_awgn_noise.m и iqOptDetector.m, использованные ранее.
![](/html/67296/114/html_tKCrg1eQ6n.LIvw/htmlconvd-z50nbP46x1.jpg)
Программа 8.11: bpsk_isi_channels_equalizers.m: Производительность
линейных эквалайзеров FIR по каналам ISI
%Demonstration of Eb/N0 Vs SER for baseband BPSK modulation scheme
%over different ISI channels with MMSE and ZF equalizers
clear all; clc;
%---------Input Fields------------------------
N=1e5;%Number of bits to transmit
EbN0dB = 0:2:30; % Eb/N0 range in dB for simulation M=2; %2-PSK
h_c=[0.04 -0.05 0.07 -0.21 -0.5 0.72 0.36 0.21 0.03 0.07];%Channel A h_c=[0.407 0.815 0.407]; %uncomment this for Channel B
h_c=[0.227 0.460 0.688 0.460 0.227]; %uncomment this for Channel C nTaps = 31; %Desired number of taps for equalizer filter
SER_zf = zeros(length(EbN0dB),1); SER_mmse = zeros(length(EbN0dB),1); %-----------------Transmitter---------------------
d= randi([0,1],1,N); %Uniformly distributed random source symbols ref=cos(((M:-1:1)-1)/M*2*pi); %BPSK ideal constellation
s = ref(d+1); %BPSK Mapping
x = conv(s,h_c); %apply channel effect on transmitted symbols for i=1:length(EbN0dB), %----------------Channel---------------------
r=add_awgn_noise(x,EbN0dB(i));%add AWGN noise r = x+n %---------------Receiver--------------------
%DELAY OPTIMIZED ZF equalizer [h_zf,error,optDelay]=zf_equalizer(h_c,nTaps);%design ZF equalizer y_zf=conv(h_zf,r);%filter the received signal through ZF equalizer y_zf = y_zf(optDelay+1:optDelay+N);%samples from optDelay position %Optimum Detection in the receiver - Euclidean distance Method dcap_zf=(y_zf>=0);%1 is added since message symbols are m=1,2 SER_zf(i)=sum((d~=dcap_zf))/N;%SER when filtered thro ZF equalizer end
theoreticalSER = 0.5*erfc(sqrt(10.^(EbN0dB/10)));%BPSK theory SER figure;
semilogy(EbN0dB,SER_zf,'g'); hold on; semilogy(EbN0dB,theoreticalSER,'k'); ylim([1e-4,1]); title('Probability of Symbol Error for BPSK signals'); xlabel('E_b/N_0 (dB)');ylabel('Probability of Symbol Error - P_s'); legend('ZF Equalizer','No interference');grid on; [H_c,W]=freqz(h_c);%compute and plot channel characteristics figure;subplot(1,2,1);stem(h_c);%time domain subplot(1,2,2);plot(W,20*log10(abs(H_c)/max(abs(H_c))));%freq domain
Задание на лабораторную работу №6
С использованием приведенных программных кодов
1.Получить график вероятности битовой ошибки и глазковую диаграмму для данных по варианту.
2.Получить график 8.6.
3.Получить график вероятности битовой ошибки для ZF-эквалайзера и данных по варианту
Отчет без кода программ (для основного задания) и только измененные
фрагменты (если вы делали дополнительное задание) загрузить в ОРИОКС.
|
|
|
|
Таблица 4. Варианты заданий |
|
|
|
|
|
|
|
Вариант |
К-т |
К-т скругления |
Тип модуляции (задание 1) |
Тип модуляции (задание 3) |
|
передискретизации |
|||||
|
|
|
|
||
|
|
|
|
|
|
1 |
4 |
0,5 |
PAM-4 |
PSK-4 |
|
|
|
|
|
|
|
2 |
8 |
0,35 |
PAM-8 |
PSK-8 |
|
|
|
|
|
|
|
3 |
4 |
0,3 |
PAM-16 |
PSK-16 |
|
|
|
|
|
|
|
4 |
8 |
0,2 |
PAM-32 |
PSK-32 |
|
|
|
|
|
|
|
5 |
4 |
0,5 |
PAM-4 |
PSK-4 |
|
|
|
|
|
|
|
6 |
8 |
0,35 |
PAM-8 |
PSK-8 |
|
|
|
|
|
|
|
7 |
4 |
0,3 |
PAM-16 |
PSK-16 |
|
|
|
|
|
|
|
8 |
8 |
0,2 |
PAM-32 |
PSK-32 |
|
|
|
|
|
|
|
9 |
4 |
0,5 |
PAM-4 |
PSK-4 |
|
|
|
|
|
|
|
10 |
8 |
0,35 |
PAM-8 |
PSK-8 |
|
|
|
|
|
|
|
11 |
4 |
0,3 |
PAM-16 |
PSK-16 |
|
|
|
|
|
|
|
12 |
8 |
0,2 |
PAM-32 |
PSK-32 |
|
|
|
|
|
|
|
13 |
4 |
0,5 |
PAM-4 |
PSK-4 |
|
|
|
|
|
|
|
14 |
8 |
0,35 |
PAM-8 |
PSK-8 |
|
|
|
|
|
|
|
15 |
4 |
0,3 |
PAM-16 |
PSK-16 |
|
|
|
|
|
|
|
16 |
8 |
0,2 |
PAM-32 |
PSK-32 |
|
|
|
|
|
|
|
17 |
4 |
0,5 |
PAM-4 |
PSK-4 |
|
|
|
|
|
|
|
18 |
8 |
0,35 |
PAM-8 |
PSK-8 |
|
|
|
|
|
|
19 |
4 |
0,3 |
PAM-16 |
PSK-16 |
|
|
|
|
|
20 |
8 |
0,2 |
PAM-32 |
PSK-32 |
|
|
|
|
|
21 |
4 |
0,5 |
PAM-4 |
PSK-4 |
|
|
|
|
|
22 |
8 |
0,35 |
PAM-8 |
PSK-8 |
|
|
|
|
|
23 |
4 |
0,3 |
PAM-16 |
PSK-16 |
|
|
|
|
|
24 |
8 |
0,2 |
PAM-32 |
PSK-32 |
|
|
|
|
|
25 |
4 |
0,5 |
PAM-4 |
PSK-4 |
|
|
|
|
|
26 |
8 |
0,35 |
PAM-8 |
PSK-8 |
|
|
|
|
|
27 |
4 |
0,3 |
PAM-16 |
PSK-16 |
|
|
|
|
|
28 |
8 |
0,2 |
PAM-32 |
PSK-32 |
|
|
|
|
|
29 |
8 |
0,35 |
PAM-4 |
PSK-16 |
|
|
|
|
|
30 |
4 |
0,3 |
PAM-8 |
PSK-32 |
|
|
|
|
|