На главную страницу сайта
· Наш магазин · Объявления · Рейтинг · Статьи · Частоты · Копилка · Аэродромы · Live!
· Файлы · Диапазоны · Сигналы · Музей · Mods · LPD-форум · Клуб · Радиостанции
На сайте: гостей - 52,
участников - 5 [ WolAN, ra1amw, Mihaill, Lupus68, andory]
 · Начало · Опросы · События · Статистика · Поиск · Регистрация · Правила · FAQ · Галерея ·
 Форум —› Разработка, ремонт, схемы, модификации —› Помогите с OFDM 
Широкополосные связные радиоприемники в нашем магазине


Icom IC-R6
руб.

Yaesu VR-120D
руб.

Icom IC-R75
руб.

Yaesu VR-160
руб.

Icom IC-R20
руб.
Автор Сообщение
yang
Участник
Offline1.0
с ноя 2009
Сообщений: 4

Дата: 13 Май 2011 14:44:18 #  

необходимо смоделировать в матлабе код офдм для qpsk и расчитать ber EbNo
код для офдм есть помогите подалуйста к нему найти как расчитать ber!



% ---------------
% A: Setting Parameters
% ---------------
M = 4; % QPSK signal constellation
no_of_data_points = 224; % have 128 data points
block_size = 4; % size of each ofdm block
cp_len = ceil(0.1*block_size); % length of cyclic prefix
no_of_ifft_points = block_size; % 128 points for the FFT/IFFT
no_of_fft_points = block_size;


% ---------------------------------------------
% B: % +++++ TRANSMITTER +++++
% ---------------------------------------------
% 1. Generate 1 x 128 vector of random data points
data_source = randsrc(1, no_of_data_points, 0:M-1);
figure(1)
stem(data_source); grid on; xlabel('Data Points'); ylabel('transmitted data phase representation')
title('Transmitted Data "O"')


% 2. Perform QPSK modulation
qpsk_modulated_data = pskmod(data_source, M);
scatterplot(qpsk_modulated_data);title('MODULATED TRANSMITTED DATA');

% 3. Do IFFT on each block
% Make the serial stream a matrix where each column represents a pre-OFDM
% block (w/o cyclic prefixing)
% First: Find out the number of colums that will exist after reshaping
num_cols=length(qpsk_modulated_data)/block_size;
data_matrix = reshape(qpsk_modulated_data, block_size, num_cols);

% Second: Create empty matix to put the IFFT'd data
cp_start = block_size-cp_len;
cp_end = block_size;

% Third: Operate columnwise & do CP
for i=1:num_cols,
ifft_data_matrix(:,i) = ifft((data_matrix(:,i)),no_of_ifft_points);
% Compute and append Cyclic Prefix
for j=1:cp_len,
actual_cp(j,i) = ifft_data_matrix(j+cp_start,i);
end
% Append the CP to the existing block to create the actual OFDM block
ifft_data(:,i) = vertcat(actual_cp(:,i),ifft_data_matrix(:,i));
end

% 4. Convert to serial stream for transmission
[rows_ifft_data cols_ifft_data]=size(ifft_data);
len_ofdm_data = rows_ifft_data*cols_ifft_data;

% Actual OFDM signal to be transmitted
ofdm_signal = reshape(ifft_data, 1, len_ofdm_data);
figure(3)
plot(real(ofdm_signal)); xlabel('Time'); ylabel('Amplitude');
title('OFDM Signal');grid on;

%

% --------------------------------
% E: % +++++ CHANNEL +++++
% --------------------------------
% Create a complex multipath channel
channel = randn(1,block_size) + sqrt(-1)*randn(1,block_size);

% ------------------------------------------
% F: % +++++ RECEIVER +++++
% ------------------------------------------

% 1. Pass the ofdm signal through the channel
after_channel = filter(channel, 1, ofdm_signal);

% 2. Add Noise
awgn_noise = awgn(zeros(1,length(after_channel)),0);

% 3. Add noise to signal...

recvd_signal = awgn_noise+after_channel;

% 4. Convert Data back to "parallel" form to perform FFT
recvd_signal_matrix = reshape(recvd_signal,rows_ifft_data, cols_ifft_data);

% 5. Remove CP
recvd_signal_matrix(1:cp_len,:)=[];

% 6. Perform FFT
for i=1:cols_ifft_data,
% FFT
fft_data_matrix(:,i) = fft(recvd_signal_matrix(:,i),no_of_fft_points);
end

% 7. Convert to serial stream
recvd_serial_data = reshape(fft_data_matrix, 1,(block_size*num_cols));

% 8. Demodulate the data
qpsk_demodulated_data = pskdemod(recvd_serial_data,M);

figure(7)
stem(qpsk_demodulated_data,'rx');
grid on;xlabel('Data Points');ylabel('received data phase representation');title('Received Data "X"')
yang
Участник
Offline1.0
с ноя 2009
Сообщений: 4

Дата: 13 Май 2011 14:57:27 · Поправил: yang (13 Май 2011 14:58:55) #  

очень прошу помочь если кто может написать как здесь расcчитать ber От EbNo
Реклама
Google
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 13 Май 2011 15:09:18 #  

Что это такое? Кусок кода, непонятно откуда. И кто такой ber?
yang
Участник
Offline1.0
с ноя 2009
Сообщений: 4

Дата: 13 Май 2011 15:19:04 #  

код формирующий офдм сигнал приемник передатчик...ber- Bit error rate я прошу помощи в построении кода для построения BER от отношения сигнал шум
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 13 Май 2011 15:25:23 #  

Здесь врядли кто поможет, я в матлабе не работаю, чтобы сказать что-то определенное, нужно смотреть весь проект, по приведенному отрывку непонятно вообще ничего.
yang
Участник
Offline1.0
с ноя 2009
Сообщений: 4

Дата: 13 Май 2011 15:29:44 #  

а где помогут?
это не отрывок а полная программа
которую надо дополнить о чем я и прошу(
Programmist
Участник
Offline4.0
с ноя 2008
Москва
Сообщений: 3826

Дата: 13 Май 2011 15:34:07 #  

Какая она полная? Где описание матриц и все остальные модули? Помогут на форумах по матлабу, где этим занимаются.
 

Создавать сообщения могут только зарегистрированные участники форума.
Войти в форум :: » Логин » Пароль
Начало
Средства связи, рации. Купить радиостанции Motorola, Yaesu, Vertex, приемники, антенны.
Время загрузки страницы (сек.): 0.050; miniBB ®