mc_sfb.m

来自「B3g_phase2_C语言_Matlab程序及说明」· M 代码 · 共 19 行

M
19
字号
function s=mc_sfb(x,Slot_length,prototype_filter,Carrier_number,SubCarrier_first,SubCarrier_last,Sampling_factor,Filter_length)


K1=floor(Filter_length/Carrier_number/2);
K2=Filter_length-2*Carrier_number*K1;            % Filter_length=2*K1*Carrier_number+K2;  


N=Sampling_factor*(Slot_length-1)+Filter_length;                            
s=zeros(1,N);

x=x.*exp(j*2*pi*((SubCarrier_first:SubCarrier_last)-(Carrier_number-1)/2)'*(Sampling_factor*(0:Slot_length-1)-(Filter_length-1)/2)/Carrier_number);

for n=0:Slot_length-1
    tmp=exp(-j*pi*(0:Carrier_number-1)*(Carrier_number-1)/Carrier_number).*conj(ifft([zeros(SubCarrier_first,1); x(:,n+1)],Carrier_number)')*Carrier_number;
    tmp1=[tmp (-1)^(Carrier_number-1)*tmp];
    s(n*Sampling_factor+1:n*Sampling_factor+Filter_length)=s(n*Sampling_factor+1:n*Sampling_factor+Filter_length)+[repmat(tmp1,1,K1) tmp1(1:K2)].*prototype_filter;
end

⌨️ 快捷键说明

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