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

📄 zfl_ber.m

📁 BER of Zero forcing Equalizer
💻 M
字号:
function ZFL_BER(b,h,n)
%Zero_forcing linear Equalizer co eq_tap =1000
% b:input
% b=sign(rand(1,5)-.5)          %ma hoa BPSK 
% h:channel
% d:output
%------------------
eq_tap = length(h);
pulse = zeros(1, eq_tap); pulse(1)=1;

% -----channel-----
%h = pulse;                         %khong co ISI
%h(1:4) = rand(1,4);                %co ISI
%h = h/norm(h);

% --ZFL equalizer--
%fft(h) .* fft(eq) = fft(pulse)
leng= length(b);
eq = ifft(fft(pulse) ./ fft(h));                         
ho = conv(b, h);                    % channel output

%n = randn(1, length(ho));          % noise
figure;
SNR=[0:20]; BER=[];
for k = 1:length(SNR)
No = 1/(10^(SNR(k)/10));
n = No.* n; 
y = ho+n;                           % Equalizer input
d = conv(y, eq);                    % Equalizer output
d = sign(d);                        % Ma hoa

e1 = abs(b - d(1:leng))/2 ;            %error vector
BE1 = sum(e1);                      %error bits  
e2 = abs(b - d(eq_tap +1 : eq_tap +leng))/2 ;            %error vector
BE2 = sum(e2);                      %error bits 

BE = min (BE1, BE2);    
BER(k) = BE /leng;                    %bit error rate

n = n ./ No;
end
semilogy(SNR,BER,'bx-');
grid on;
xlabel('SNR = 1/N_o (dB)');
ylabel('BER');
title('BER of Zero-forcing Linnear Equalizer');
return

⌨️ 快捷键说明

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