channel.m

来自「OFDM系统」· M 代码 · 共 60 行

M
60
字号
function [ GetData Channel ] = Channel( TransData, SNR )global FLAG_AWGN;global FLAG_MULTIPATH;global Num_Channel;global Channel_Est;global Num_Train;global Theta;global Channel;SNR = 10^(SNR/10);% generate channelChanData = randn(1,Num_Channel) + randn(1,Num_Channel)*sqrt(-1);ChanData = ChanData / sqrt(2*Num_Channel);ChanData = [ ChanData , zeros(1,64-Num_Channel) ];% add Multi-channelif(FLAG_MULTIPATH == 1)    RecData = conv(TransData, ChanData);     %length of RecData be 63 more else    RecData = [ TransData , zeros(1,63) ];end% output the ture channelChannel = ChanData ;% % add frequency offset% angle = 1:length(RecData);% phase = exp(sqrt(-1) * Theta*angle);% RecData = RecData .* phase;% add gauss noiseLength_Rec = length( RecData ) - 16 - Num_Train*80;        Gauss1 = randn(1,Length_Rec);Gauss2 = randn(1,Length_Rec);Gauss=Gauss1+Gauss2*sqrt(-1);if(FLAG_AWGN == 1)    GetData = [RecData(1:16+Num_Train*80), RecData(17+Num_Train*80 : end) + Gauss/sqrt(SNR*2)];else    GetData = RecData;end

⌨️ 快捷键说明

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