📄 channel.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -