OPISIS_LAB4
.pdffor i=1:length(EsN0dB),%Monte |
Carlo Simulation |
|
for j=1:nSym |
|
|
%----------------- |
Transmitter |
-------------------- |
d=ceil(M.*rand(1,N));%uniform distributed random syms from 1:M [X,ref]=modulation_mapper(MOD_TYPE,M,d);
x= ifft(X,N);% IDFT
s = add_cyclic_prefix(x,Ncp); %add CP
%-------------- |
Channel ---------------- |
|
r = add_awgn_noise(s,EsN0dB(i));%add AWGN |
noise r = s+n |
|
%----------------- |
Receiver---------------------- |
|
y = remove_cyclic_prefix(r,Ncp,N);%remove |
CP |
|
Y = fft(y,N);%DFT |
|
[~,dcap]= iqOptDetector(Y,ref);%demapper using IQ detector
%----------------Error counter------------------
numErrors=sum(d~=dcap);%Count number of symbol errors errors(i)=errors(i)+numErrors;%accumulate symbol errors end
end
simulatedSER = errors/(nSym*N); theoreticalSER=ser_awgn(EbN0dB,MOD_TYPE,M);
%Plot theoretical curves and simulated BER points plot(EbN0dB,log10(simulatedSER),'ro');hold on; plot(EbN0dB,log10(theoreticalSER),'r-');grid on; title(['Performance of ',num2str(M),'-', MOD_TYPE,' OFDM over AWGN channel']);
xlabel('Eb/N0 (dB)');ylabel('Symbol Error Rate'); legend('simulated','theoretical');
Рисунок 5 – Вероятность символьной ошибки для MPSK-CP-OFDM и MQAM-CP-OFDM
на канале с АБГШ
6. Характеристики CP-OFDM в релеевском канале
Теперь мы изучаем эффект от использования OFDM в частотно-избирательном канале. Блок-схема для моделирования CP-OFDM с дискретным временем в основной полосе частот по частотно-избирательному каналу показана на рисунке 6.
Рисунок 6 – Передатчик и приемник OFDM с простым эквалайзером частотной области
В этой модели импульсная характеристика канала h соответствует импульсной характеристике частотно-избирательного канала, и пусть H будет его соответствующей частотной характеристикой. Шум в канале n считается аддитивным белым гауссовским.
Систему передачи OFDM можно записать как
Y DFT IDFT X |
h n |
|
|
|
|
DFT IDFT X |
h z |
|
|
|
|
где X – вход блока ОДПФ в передатчике, Y – выход |
блока ДПФ в приемнике, а |
|
z DFT n представляет некоррелированный |
гауссов |
шум. Поскольку ДПФ двух |
циклически свернутых сигналов эквивалентно произведению их отдельных ДПФ,
уравнение может быть далее упрощено как
Y X·DFT h z
(8)
X·H z
Если мы знаем частотную характеристику канала, процесс эквализации в частотной области выполняется просто как деление принятого сигнала на частотную характеристику канала. Отметим, что мы будем считать, что частотная либо импульсная характеристика канал нам известна.
V= |
Y |
(9) |
|
H |
|||
|
|
Для реализации кода моделирования выбрана частотно-избирательная модель канала Рэлея. Программа 5 объединяет все функциональные блоки системы передачи
OFDM, для моделирования производительности системы OFDM по каналу с рэлеевскими замираниями, избирательным по частоте. Код поддерживает два типа базовой модуляции для OFDM: MPSK или MQAM. Код генерирует символы случайных данных, модулирует их с использованием выбранного типа модуляции, преобразует модулированные символы в частотную область с помощью операции ОДПФ и добавляет циклический префикс для формирования символа OFDM.
Затем символы OFDM проходят через частотно-избирательный канал Рэлея,
который можно смоделировать с использованием фильтра с числом отводов L 1. Далее символы OFDM складываются с шумом АБГШ с дисперсией, которая соответствует заданному значению
На стороне приемника циклический префикс удаляется из принятого символа
OFDM, выполняется ДПФ с последующим точным выравниванием частотной области, как описано выражением (9). Символы после эквализации поступают в демодулятор для получения оценки исходных символов. Демодулятор реализован как простой IQ-детектор,
который использует метрику минимального евклидова расстояния для демодуляции.
Наконец, вероятность символьной ошибки вычисляется и сравнивается с теоретическими кривыми частоты ошибок символов для релеевского канала. На рисунке 6 показано, что характеристики идеально спроектированной системы OFDM в частотно-избирательном канале эквивалентны таковым в канале с плоскими замираниями, что оправдывает цель использования OFDM.
Программа 5. ofdm_on_freq_sel_chan.m: OFDM в частотно-избирательном канале с рэлеевскими замираниями
%CP-OFDM Rayleigh SER clear all; close all;
%--------Simulation parameters----------------
nSym=10^4; %Number of OFDM Symbols to transmit EbN0dB = 0:2:20; % bit to noise ratio MOD_TYPE='MQAM'; %modulation type - 'MPSK' or 'MQAM'
M=4; %choose modulation order for the chosen MOD_TYPE
N=64; %FFT size or total number of subcarriers (used + unused) 64 Ncp= 16; %number of symbols in the cyclic prefix
L=10; %Number of taps for the frequency selective channel model %--------Derived Parameters--------------------
k=log2(M); %number of bits per modulated symbol
EsN0dB = 10*log10(k*N/(N+Ncp))+EbN0dB; %account for overheads errors= zeros(1,length(EsN0dB)); %to store symbol errors
for i=1:length(EsN0dB),%Monte Carlo Simulation
for j=1:nSym |
|
%----------------- |
Transmitter-------------------- |
d=ceil(M.*rand(1,N));%uniform distributed random syms from 1:M [X,ref]=modulation_mapper(MOD_TYPE,M,d);
x= ifft(X,N);% IDFT
s = add_cyclic_prefix(x,Ncp); %add CP
% |
-------------- Channel ---------------- |
h |
=1/sqrt(2)*(randn(1,L)+1i*randn(1,L)); %CIR |
H = fft(h,N);
hs = conv(h,s);%filter the OFDM sym through freq. sel. channel r = add_awgn_noise(hs,EsN0dB(i));%add AWGN noise r = s+n
% |
----------------- |
Receiver---------------------- |
y = |
remove_cyclic_prefix(r,Ncp,N);%remove CP |
|
Y |
= |
fft(y,N);%DFT |
V = Y./H;%equalization
[~,dcap]= iqOptDetector(V,ref);%demapper using IQ detector
%----------------Error counter------------------
numErrors=sum(d~=dcap);%Count number of symbol errors errors(i)=errors(i)+numErrors;%accumulate symbol errors end
end
simulatedSER = errors/(nSym*N);%symbol error from simulation %theoretical SER for Rayleigh flat-fading theoreticalSER=ser_rayleigh(EbN0dB,MOD_TYPE,M); semilogy(EbN0dB,simulatedSER,'ko');hold on; semilogy(EbN0dB,theoreticalSER,'k-');grid on;
title(['Performance of ',num2str(M),'-', MOD_TYPE,' OFDM over Freq Selective Rayleigh channel']);
xlabel('Eb/N0 (dB)');ylabel('Symbol Error Rate'); legend('simulated','theoretical');
Рисунок 6 – Вероятность символьной ошибки для MPSK-CP-OFDM и MQAM-CP-OFDM в
случае релеевских замираний
Задание на лабораторную работу №4
С использованием приведенных программных кодов и значений по варианту
1.Получить график вероятности символьной ошибки для CP-OFDM с
модуляцией поднесущих по варианту для обоих типов каналов.
2.Получить спектр сигнала CP-OFDM с модуляцией поднесущих по варианту.
3.Существует разновидность OFDM, когда в конец символа добавляется группа нулей, гарантирующих обнуление импульсной характеристики канала к моменту прихода нового символа (т.н. zero-padding OFDM, ZP-OFPM). Установив длину такой группы равной длине циклического префикса для случая CP-OFDM, получить график вероятности символьной ошибки для ZP-OFDM с модуляцией поднесущих по варианту для обоих типов каналов.
Если параметр по варианту не задан – параметры оставить без изменений.
Отчет без кода программ загрузить в ОРИОКС.
Вариант |
Модуляция |
Число |
|
поднесущих |
поднесущих |
||
|
|||
|
|
|
|
1 |
256QAM |
64 |
|
|
|
|
|
2 |
64PSK |
512 |
|
|
|
|
|
3 |
64QAM |
1024 |
|
|
|
|
|
4 |
32PSK |
32 |
|
|
|
|
|
5 |
16QAM |
128 |
|
|
|
|
|
6 |
64PSK |
64 |
|
|
|
|
|
7 |
4QAM |
512 |
|
|
|
|
|
8 |
8PSK |
1024 |
|
|
|
|
|
9 |
BPSK |
32 |
|
|
|
|
|
10 |
64QAM |
128 |
|
|
|
|
|
11 |
256QAM |
64 |
|
|
|
|
|
12 |
64PSK |
512 |
|
|
|
|
|
13 |
64QAM |
1024 |
|
|
|
|
|
14 |
32PSK |
32 |
|
|
|
|
|
15 |
16QAM |
128 |
|
|
|
|
|
16 |
64PSK |
64 |
|
|
|
|
|
17 |
4QAM |
512 |
|
|
|
|
|
18 |
8PSK |
1024 |
|
|
|
|
|
19 |
BPSK |
32 |
|
|
|
|
|
20 |
64QAM |
128 |
|
|
|
|
|
21 |
256QAM |
64 |
|
|
|
|
|
22 |
64PSK |
512 |
|
|
|
|
|
23 |
64QAM |
1024 |
|
|
|
|
|
24 |
32PSK |
32 |
|
|
|
|
|
25 |
16QAM |
128 |
|
|
|
|
|
26 |
64PSK |
64 |
|
|
|
|
|
27 |
4QAM |
512 |
|
|
|
|
|
28 |
8PSK |
1024 |
|
|
|
|
|
29 |
BPSK |
32 |
|
|
|
|
|
30 |
64QAM |
128 |
|
|
|
|