Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

wireless comunication system simulation

Status
Not open for further replies.

matido

Junior Member level 1
Joined
Sep 13, 2006
Messages
15
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,283
Activity points
1,398
wireless comunication

hi
i'm modeling a communication system(MB-OFDM UWB) in matlab,but i have no advanced knowledge on the digital communication simulation , i need to figure out the changes of SNR due to system modification so could you help me to build a system like:

convolution encoder(rates :1/3, 1/2, 3/4, 5/8 )+puncturing---->
block interleaver--->
QPSK modulation--->
(insert :channel est. sequence,pilots)IFFT--->channel--->
FFT(channel est.)--->
QPSK demod--->
deinterleaver--->
viterbi decoder

i have managed to build the QPSK modulator-demod,and figured out how to implement the OFDM ,BUT i need a block code of the encoder-decoder with puncturing and interleaver parts ,i have very limited time to finish the model.
has anyone experience on this subject?

Thank u for your attention .
 

    V

    Points: 2
    Helpful Answer Positive Rating
try mathwork.com
 

Re: wireless comunication

hi
i'm modeling a communication system(MB-OFDM UWB) in matlab,but i have no advanced knowledge on the digital communication simulation , i need to figure out the changes of SNR due to system modification so could you help me to build a system like:

convolution encoder(rates :1/3, 1/2, 3/4, 5/8 )+puncturing---->
block interleaver--->
QPSK modulation--->
(insert :channel est. sequence,pilots)IFFT--->channel--->
FFT(channel est.)--->
QPSK demod--->
deinterleaver--->
viterbi decoder

i have managed to build the QPSK modulator-demod,and figured out how to implement the OFDM ,BUT i need a block code of the encoder-decoder with puncturing and interleaver parts ,i have very limited time to finish the model.
has anyone experience on this subject?

Thank u for your attention .

Hello,
please i am also intrested in this topic , so please if you have any matlab code related to the MBOFDM please send it for me ,
my mail adress is:
b.bahja@yahoo.fr
 

try to search these codes on "pudn". i am sure you can google it.
 

%==========================================================================
% The mfile investigates the generation, transmission and reception of
% the OFDM signal without channel noise or HPA effect
%==========================================================================
clear all
clc
close
% ---------------
% A: Setting Parameters
% ---------------
M = 4; % QPSK signal constellation
no_of_data_points = 64; % have 64 data points
block_size = 8; % size of each ofdm block
cp_len = ceil(0.1*block_size); % length of cyclic prefix
no_of_ifft_points = block_size; % 8 points for the FFT/IFFT
no_of_fft_points = block_size;
% ---------------------------------------------
% B: % +++++ TRANSMITTER +++++
% ---------------------------------------------
% 1. Generate 1 x 64 vector of data points phase representations
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('qpsk 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: % +++++ RECEIVER +++++
% ------------------------------------------

% 1. Pass the ofdm signal through the channel
recvd_signal = ofdm_signal;

% 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);
scatterplot(qpsk_modulated_data);title('qpsk modulated received data')

figure(5)
stem(qpsk_demodulated_data,'rx');
grid on;xlabel('data points');ylabel('received data phase representation');title('Received Data "X"')

---------- Post added at 11:46 ---------- Previous post was at 11:44 ----------

for viterbi decoding, use virebi decoder Matlab command!
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top