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

📄 dfe_main.m

📁 在无线通信中
💻 M
字号:

clear all
close all
clc

global cir_matrix_t
global N
global flag
flag = 1;    %%%%% flag = 0 表示使用的是两茎信道
snr = [6:16];
iter_num = 10;
N = 1000;
% N = 32;
ber = [];
for snr_index=1:length(snr)
    err = 0;
    lambda = power(10,-snr(snr_index)/20);
    for iter =1:iter_num
        equal_bit = [];
        bit_signal = randint(1,N);
%         bit_signal = [ 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1  0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1];
        modul_signal = mod_4PSK(bit_signal);
        
        rx_sym = Through_channel(modul_signal,N/2);
        
        rx_signal = awgn(rx_sym,snr(snr_index));
%         rx_signal = rx_sym;
        equal_signal = equalizer(rx_signal,lambda);
        
        for k=1:N/2
            if real(equal_signal(1,k))>0.5
                equal_bit = [equal_bit 0 0];
            elseif real(equal_signal(1,k)<-0.5)
                equal_bit = [equal_bit 1 1];
            elseif imag(equal_signal(1,k))>0.5
                equal_bit = [equal_bit 1 0];
            else equal_bit = [equal_bit 0 1 ];
            end
        end
        errr = sum(abs(equal_bit-bit_signal));
%         if errr>0
%             errr
%         c = (cir_matrix_t(:,1)+cir_matrix_t(:,end))/2;
%         ci(1,1:506) = real(c(1))   ;
%         cr = real(cir_matrix_t(1,:));
%         plot(cr)
%         hold on
%         plot(ci,'r')
%         pause
%         close
%         end 
        err = err+ errr;
    end
%     if (err/(N*iter_num))>0.0001 
        
        err/(N*iter_num);
        snr_index;
        
        
%     end
    
    ber = [ber err/(N*iter_num)];

end
ber
semilogy(snr,ber,'*-')
hold on
grid on

%  c = (cir_matrix_t(:,1)+cir_matrix_t(:,end))/2;
% ci(1,1:506) = real(c(1))   ;
% cr = real(cir_matrix_t(1,:));
% plot(cr)
% hold on
% plot(ci)

⌨️ 快捷键说明

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