dspsk_demod.m

来自「多用户检测 直接序列扩频 码解码部分」· M 代码 · 共 32 行

M
32
字号
function  [x, pskout ]= dspsk_DEMOD(y,ds_parm)
pn =ds_parm.pn;
pnoffset = ds_parm.pnoffset;
Fd = ds_parm.fd;
Fc = ds_parm.fc;
Fs = ds_parm.fs;
N = ds_parm.N;
mod = ds_parm.mod;
rdcdma = ds_parm.rdcdma;

if  (Fs/Fd) ~= round(Fs/Fd)
    error('Fs/Fd is not a integer!');
end;

ylen = length(y);
yslen = N*Fs/Fd;    % 单符号周期的样值个数
off = pnoffset;
tmy = 0;
x = [];
pskout = [];
while tmy+yslen <= ylen
    ys = y(tmy+1:tmy+yslen);
    [xi,pski] = psk_SymDEMOD(ys,ds_parm);
    x = [x,xi];
    pskout = [pskout, pski'];
    tmy = tmy + yslen;
    if ( rdcdma == 'R' )
        ds_parm.pnoffset = ds_parm.pnoffset + N;  % R-CDMA要求调制的PN码连续非周期调制
    end;
    % 如果不是R-CDMA,按短码处理,即pnoffset 参量不变,在下一BIT周期重复    
end;

⌨️ 快捷键说明

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