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

📄 test.asv

📁 cmda仿真程序
💻 ASV
字号:
clear, clc, close all

% 0 产生扩频码
I_Chip = kasami(1);
I_Chip = I_Chip(1,:);

Q_Chip = gold(1);
Q_Chip = Q_Chip(1,:);

SNR = -18;
NumBit = 10;
SynOffset = 0;
BER_Total = [];


for SNR = -15:-1:-20
    
for SimuTimes = 1:3
    
% 1 产生帧信息
    DataFrame = randn(2,500);
    DataFrame(DataFrame <= 0) = -1;
    DataFrame(DataFrame > 0) = 1;

% 2 扩频
    DSFrame = BD_DSSS(DataFrame, I_Chip, Q_Chip);
    DsStream = DSFrame(1,1:NumBit * 255);
    
% 3 信道干扰
    for n = 1:NumBit * 255  % 产生的随机干扰不相关
        noise(1,n) = randn;
    end

    RecStream = DsStream + 10^(-1 * SNR / 20) * noise;
% 4 解扩
    for i = 1:(NumBit - 1)
        tempRecFrame1 = RecStream(((i - 1) * 255 + 1 + SynOffset):i * 255 + SynOffset);
        RecBit(i) = sum(tempRecFrame1 * I_Chip');
    end 
% 5 单步相关
%    for i = 1:(NumBit - 2)*255
%        tempRecFrame2 = RecStream(i + SynOffset:i + 254 + SynOffset);
%        StepCorr(i) = sum(tempRecFrame2 * I_Chip');
%    end
    
% 7 误码率    
    RecBit(RecBit <= 0) = -1;
    RecBit(RecBit > 0) = 1;
    TxBit = DataFrame(1,1:NumBit - 1);
    BER(SimuTimes) = 0.5 * sum(abs(TxBit - RecBit))/NumBit
%    Offset(SynOffset + 1) = SynOffset
    
% 8 对特定 SynOffset 画图显示结果
    if ((SynOffset == 0) && (SimuTimes == 1))
        subplot(2,2,1)
        plot(DsStream(1:1000))
        axis([1 1000 -50 50]);
   
        for i = 1:(NumBit - 2)*255
            tempRecFrame2 = RecStream(i + SynOffset:i + 254 + SynOffset);
            StepCorr(i) = sum(tempRecFrame2 * I_Chip');
        end
   
        subplot(2,2,2)
        plot(RecStream(1:1000))
        axis([1 1000 -50 50]);
        hold on
        plot(DsStream(1:1000),'r.')
    

        subplot(2,2,3)
        plot(StepCorr)
        axis([-100 NumBit* 256 -1000 1000]);

        hold on
        subplot(2,2,3)
        plot([(0:NumBit - 3)*255 + 1],StepCorr((0:NumBit - 3)*255 + 1), 'rd');

        pause(3)
    end


end

subplot(2,2,4)
plot(1:SimuTimes, BER,'r.')
hold on
pause(3)

SNR = SNR
BER_Total = [BER_Total mean(BER,2)]
end

SNR = -15:-1:-20

figure
plot(SNR, BER_Total,'r')

⌨️ 快捷键说明

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