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

📄 test1.m

📁 OFDM通信系统抗多径衰落干扰研究,顺便求OFDM系统中关于频谱偏移的估计与补偿的
💻 M
字号:
%% 测试 ofdm,画测试曲线
%%
%% 本测试为  不同信道对系统性能的影响
%%
close all;clear all; clc; tic ; %计时开始
global CP_len;
global nSubC;
global ifft_len;
global bitPerSymbol;
global symbolPerCarrier;
global s_len;
global fade;        %信道衰弱

%% 测试参数
%SNR = 40; % dB
CP_len = 0;
nSubC = 48;
ifft_len = 256;
bitPerSymbol = 2;
symbolPerCarrier = 50;
%fade = [0, 0, 0, 0.4, 0.3]; % 信道参数,下标为延时点数,值为衰减系数

% 开始测试
s_len = nSubC*bitPerSymbol* symbolPerCarrier;

SNR = 0:2:20;
ber1 = zeros(1,length(SNR));
ber2 = zeros(1,length(SNR));
ber3 = zeros(1,length(SNR));

for kk = 1:length(SNR) 
    max = floor((2^kk)/10)+10;   
    fprintf('仿真信噪比: %d\n', SNR(kk));
    fprintf('仿真点数:   %d\n', max*bitPerSymbol*symbolPerCarrier*nSubC);
    
    fade = [0]; % 信道参数,下标为延时点数,值为衰减系数  
    ber = 0;
    for m = 1:max
        % 生成用于测试的随机比特
        s_in = floor( rand(1, s_len )*2 );    
        sch = ofdm_mod_eq(s_in);
        sch = channel(sch,SNR(kk));
        s_out = ofdm_demod_eq(sch);    
        %计算误比特率
        err_count = sum(abs(s_in-s_out));
        ber = ber + err_count/s_len;
    end
    ber1(kk) = ber/max;    
    
    fade = [0, 0, 0, 0, 0.4]; % 信道参数,下标为延时点数,值为衰减系数
    ber = 0;
    for m = 1:max
        % 生成用于测试的随机比特
        s_in = floor( rand(1, s_len )*2 );    
        sch = ofdm_mod_eq(s_in);
        sch = channel(sch,SNR(kk));
        s_out = ofdm_demod_eq(sch);    
        %计算误比特率
        err_count = sum(abs(s_in-s_out));
        ber = ber + err_count/s_len;
    end
    ber2(kk) = ber/max ;
    
    fade = [0, 0, 0, 0, 0.4, 0.3]; % 信道参数,下标为延时点数,值为衰减系数
    ber = 0;
    for m = 1:max
        % 生成用于测试的随机比特
        s_in = floor( rand(1, s_len )*2 );    
        sch = ofdm_mod_eq(s_in);
        sch = channel(sch,SNR(kk));
        s_out = ofdm_demod_eq(sch);    
        %计算误比特率
        err_count = sum(abs(s_in-s_out));
        ber = ber + err_count/s_len;
    end
    ber3(kk) = ber/max ;    
end
figure(2);
semilogy(SNR,ber1,'o-');
hold on;
semilogy(SNR,ber2,'r*-');
hold on;
semilogy(SNR,ber3,'gv-');

xlabel('SNR in dB');
ylabel('Bit Error Rate');
legend('AWGN','AWGN + 2 path','AWGN + 3 path');
grid;
toc

⌨️ 快捷键说明

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