⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ofdm_demod_eq.m

📁 OFDM通信系统抗多径衰落干扰研究,顺便求OFDM系统中关于频谱偏移的估计与补偿的
💻 M
字号:
function [s_out] = ofdm_demod_eq(s_in)
%% ofdm 解调
%% 输入为二进制序列

global trainingSymbols;
global trainingSymbols_len;
global ifft_len;
global CP_len;
global bitPerSymbol;
global symbolPerCarrier;
global carriers;
global s_len
% 接收 ,进行串并转换
P_S = reshape(s_in, ifft_len+CP_len, symbolPerCarrier + trainingSymbols_len + 1);

%去CP
PDeCP = P_S(1+CP_len:ifft_len+CP_len,:);
% fft
P_FFT = fft(PDeCP,ifft_len,1);
P_FFT2 = P_FFT(carriers,:);
RxTrainSymbols = P_FFT2(:, (1: trainingSymbols_len));

%RxTrainSymbols = P_FFT2(:, (1: trainingSymbols_len,size(P_FFT2,2)-trainingSymbols_len+1:size(P_FFT2,2));

%信道均衡
% % 原理:寻求1/H,对FFT之后的数据进行频域补偿
% % 1/H = conj(H)/H^2 because H^2 = H * conj(H) 
H = RxTrainSymbols./ trainingSymbols;
H_2 = H.^2;
H_2 = sum(H_2,2);
H_C2 = sum(H,2);
H_C2 = conj(H_C2); 
H = H_C2./H_2 ;    % 1/H = conj(H)/H^2
P_FFT3 = H*ones(1,size(P_FFT2,2)).*P_FFT2 ;     %简单线性插值
P_FFT4 = P_FFT2(:,(trainingSymbols_len+2:size(P_FFT3,2)));

%% 画星座图
% figure(55);
% Tmp = reshape(P_FFT4,1,[]);
% plot(real(Tmp),imag(Tmp),'.');
% title('接收端星座图');axis([-3 3 -3 3]);
%   
SQam = Qam4_demod(P_FFT4);
% 并串转换
s_out = reshape(SQam,1,s_len);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -