?? ofdm_64qam.m
字號:
% 64QAM/OFDM system
% The number of subcarrier is 16
clear all
% THe IFFT input SubCarrier is 15+Zero(17) = 32
% USEFUL DATA : 51.840Mbps(STM-0)
% CODING : 26/27
% Coded data : (51.840*27/26) 53.83385Mbps
% 64QAM mapping Data : (53.83385/6) = 8.972308Msps
% subcarrier spacing is (8.972308/16) = 0.5982MHz
% OFDM signal BW (=Subcarr_spacing * 16), (=8.972308MHz) 3dB point
% OFDM signal 99% PWR BW : 9.5330772MHz((=Subcarr_spacing * 17/16)
% Nyquist frequency is 2*8.972308 >= 17.944616MHz
% Hence the sampling interval (ts) = 1/(17.944616MHz) = 55.727. . . ns
%%%%%%%%%% Initialization %%%%%%%%%%%%%%%%%%%%%
Number=50;
Num_car = 32;
Zero_Num = 0;
SubCarrier = Num_car + Zero_Num;
d_rate = 51.84*10^6; % required information bit rate
c_rate = 26/27; % code rate
coded_rate = d_rate/c_rate; % coded symbol rate
SymbolRate = coded_rate/(log2(64)); % 64QAM symbol rate
SubCarrierSpacing = SymbolRate/Num_car; % subcarrier spacing
OF_Carrierdur = 1/SubCarrierSpacing;
OF_Symdur = OF_Carrierdur*SubCarrier;
iff_N = 32; % This must be carefully selected to prevent spectral aliasing
ts = 1/(OF_Carrierdur);
fs = 1/ts; % this must be larger than the OFDM BW*2
df = 2*10^3; % required frequency resolution
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Path_Num = 2;%input ('Enter is Path of Number(1~2): ');
%64 QAM Generator
QAM_Data = QAM_Generator(Num_car*Number);
disp('End of QAM_Generator');
%IFFT
IFFTData= Radix2IFFT(QAM_Data,SubCarrier);
%Plot_frequence(IFFTData);%2 graph
disp('End of Radix2IFFT');
%Insert Zero
for st=1:SubCarrier*Number,
IFFTDataWithZero(st*2-1)=IFFTData(st);
IFFTDataWithZero(st*2)=0;
end;
%Filter
for loop=0:31,
alpha=input ('Enter is fading Depth (0~1) : ');%0.9;
FadingDelay=16*10^-9;
SampleDelay=input ('Enter is SampleDelay : ');
SampleDelay=10^-9*SampleDelay;
delay=SampleDelay;
FilteredData=Dig_Filter(IFFTDataWithZero,delay);
delay=FadingDelay+SampleDelay;
DelayedData=DelayFilter(IFFTDataWithZero,delay);
disp('End of Dig_Filter');
delay=FadingDelay+SampleDelay;
MultiPathData=FilteredData-alpha*DelayedData;
%Spectrum Display
%Spec_Display(FilteredData);
%Spec_Display(DelayedData);
Spec_Display(MultiPathData);
for j=0:Number-1,
OFDM_Dat= IFFTData(SubCarrier*j+1:SubCarrier*(j+1));
pt(SubCarrier*j+1:SubCarrier*(j+1))=fft(OFDM_Dat);
end;
%Constel(QAM_Data,SubCarrier);
for j=0:Number-1,
for k=0:SubCarrier-1,
SamplingPoint=j*SubCarrier+k;
pop(k+1)=FilteredData(16+SamplingPoint*2);
end;
FFTData(j*SubCarrier+1:(j+1)*SubCarrier)=fft(pop);
end;
%Constel(FFTData,SubCarrier);
for j=0:Number-1,
for k=0:SubCarrier-1,
SamplingPoint=j*SubCarrier+k;
pop(k+1)=MultiPathData(16+SamplingPoint*2);
end;
FFTData(j*SubCarrier+1:(j+1)*SubCarrier)=fft(pop);
end;
Constel(FFTData,SubCarrier); % original constellation
end;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -