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

📄 oqpsk.asv

📁 cmda仿真程序
💻 ASV
字号:
% OQPSK Demodulation
clear,close,clc

ErrBit = 0;
ErrBitDigital = 0;

SNR = -10;
NumData = 1000;

Debug = 1;

% 1 OQPSK调制
t = 0:pi/180:20*pi;

data = 1*pi/4;

tx = cos(t + data);



for f = 1:NumData
% 2 信道传输
for j = 1:max(size(t))
    noise(j) = randn;
end

meanNoise = 10^(-SNR/20) * mean(noise);

rx = tx + 10^(-SNR/20) * noise;

% 3 OQPSK解调

vcoi = cos(t);
vcoq = sin(t);

ipath = vcoi.* rx;
qpath = vcoq.* rx;

idec = mean(ipath);
qdec = mean(qpath);

% 4 数字采样解调
indexI = find(mod(t, pi) == 0);
indexQ = find(mod(t, pi) == pi/2);

idecDigtal = sum(ipath(1,indexI));
qdecDigtal = sum(qpath(1,indexQ));

%plot(ipath);
%hold
%plot(qpath,'r')

% 5  误码率分析
if((idec <=0) || qdec >= 0)
    ErrBit = ErrBit + 1
end

%if((idecDigtal <=0) || qdecDigtal >= 0)
if(idecDigtal <=0)
    ErrBitDigital = ErrBitDigital + 1
    sumNoise(ErrBitDigital + 1,1) = sum(noise(indexI));
    sumNoise(ErrBitDigital + 1,2) = sum(ipath(1,indexI));
    
    if (Debug == 1)
        ClearChn = tx(indexI).*vcoi(indexI)
        NoiseChn = rx(indexI).*vcoi(indexI)
        NoiseSap = noise(indexI)
        sumClearChn = sum(ClearChn)
        sumNoiseChn = sum(NoiseChn)
        sumNoiseSap = sum(NoiseSap)
    end
        
end


end

BER = ErrBit/NumData
ErrBitDigital = ErrBitDigital/NumData
sumNoise

⌨️ 快捷键说明

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