资源简介

OFDM瑞利衰落信道下的MATLAB程序

资源截图

代码片段和文件信息

close all
clear all
clc

nbitpersym  = 52;   % number of bits per OFDM symbol (same as the number of subcarriers for BPSK)
nsym        = 10^4; % number of symbols
len_fft     = 64;   % fft size
sub_car     = 52;   % number of data subcarriers
EbNo        = 0:5:40;

EsNo= EbNo + 10*log10(52/64)+ 10*log10(64/80); % symbol to noise ratio

snr= EsNo - 10*log10(64/80); % snr as to be used by awgn fn.

M = modem.pskmod(2); % modulation object

% Generating data

t_data=randint(nbitpersym*nsym1);

% modulating data

mod_data = modulate(Mt_data);

% serial to parallel conversion

par_data = reshape(mod_datanbitpersymnsym).‘;

% pilot insertion

pilot_ins_data=[zeros(nsym6) par_data(:[1:nbitpersym/2]) zeros(nsym1) par_data(:[nbitpersym/2+1:nbitpersym]) zeros(nsym5)] ;

% fourier transform time doamain data and normalizing the data

IFFT_data = (64/sqrt(52))*ifft(fftshift(pilot_ins_data.‘)).‘;

% addition cyclic prefix

cylic_add_data = [IFFT_data(:[49:64]) IFFT_data].‘;

% parallel to serial coversion

ser_data = reshape(cylic_add_data80*nsym1);

% passing thru channel

h=rayleighchan(1/1000010);

changain1=filter(hones(nsym*801));
a=max(max(abs(changain1)));
changain1=changain1./a;

chan_data = ch

评论

共有 条评论