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

📄 chap4b_func.m

📁 《Wireless Communications and Networking》(《无线通信和网络》)配套MATLAB源码。该书涵盖了第一、二、和三代蜂窝通信系统从物理层到网络层的关键特性。
💻 M
字号:
function chap4b_func (action)handle = findobj(gcbf, 'Tag', 'Type');Type = get(handle,'Value');handle = findobj(gcbf, 'Tag', 'ff_tap');FFTap = eval(get(handle,'String'));handle = findobj(gcbf, 'Tag', 'fb_tap');FBTap = eval(get(handle,'String'));handle = findobj(gcbf, 'Tag', 'DSignal');DSignal = get(handle,'Value');handle = findobj(gcbf, 'Tag', 'N');N = eval(get(handle,'String'));vmT = 0.0005;X = rand(1, N);Kdb = 5;%Rician[RCn, var1] = Rician(vmT, N, 20000, Kdb);%RAYLEIGH[RLn, var2] = Rayleigh(vmT, N, 20000);% normalized noisewn=randn(1, N);RC_K = 10^(0.1*Kdb);global A cn tn;A = 1;Npass = 8;max = 40;min = 0;delta = (max - min) / Npass;for i = 1:Npass+1      SNR_db(i) = (i-1)*delta + min;      tn(1:FBTap)= 0;   cn(1:FFTap+FBTap) = 0;   if(mod(FFTap, 2) == 0 & FFTap ~= 0)      error ('Even number of ff-taps')      return;   end   if(FFTap > 0)   tmp = (FFTap + 1)/2;   cn(tmp) = 0.5;   endfor k = 1:N   if X(k) < 0.5      X(k) = 0;      An(k) = -A;   else      X(k) = 1;      An(k) = A;   endend%[RCn, var1] = Rayleigh(0.001, N, 1);A1n = An.*abs(RCn);  %length NA2n = An.*real(RLn); %length N %Noise   std_n = sqrt(2*(1.5+RC_K))*sqrt(var1)*10^(-0.05*SNR_db(i));   Wn = std_n * wn;Pi = (1.5 + RC_K)*2*var1;Rn(1) = A1n(1);for k=2:N   Rn(k) = A1n(k) + A2n(k-1);endRn = Rn + Wn;% no equalizationerror_ne = 0;for k = 1: N   if Rn(k) > 0      V(k) = 1;   else      V(k) = 0;   end      if V(k) ~= X(k)      error_ne = error_ne + 1;   endendBER_ne(i) = error_ne/N;%Adaptive DFEif FFTap==0   tmp = 0;else   tmp = FFTap-1;endshift = tmp/2;for k =1:N-tmp   [pn(k)] = DFE(Rn(k:k+tmp), Pi, FFTap, FBTap, An(k+shift), DSignal);   if pn(k) > 0      Z(k) = 1;   else      Z(k) = 0;   end   enderror_dfe = 0;for k = 1: N-tmp   if Z(k) ~= X(k+shift)      error_dfe = error_dfe + 1;   endenderror_dfe;BER_dfe(i) = error_dfe/N;end%Plot graphssemilogy(SNR_db, BER_dfe, 'b-+');grid on;hold on;semilogy(SNR_db, BER_ne, 'g-*');xlabel('SNR/bit (dB)');ylabel('Bit Error Rate');legend('Adaptive DFE','no equalization',0);hold off;return;

⌨️ 快捷键说明

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