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

📄 depsk.m

📁 OFDM系统
💻 M
字号:
%自己定义的4PSK解调的函数

function  y = DEPSK(x);
L = length(x);                                          %要解调的序列的长度                                             
y = zeros(1,2*L);                                       %定义输出的序列长度为输入序列的两倍

%--------------------------------------------------------------------------
%这里考虑到经过IFFT,低通滤波,加噪声信号后得到的输入序列的实部和虚部不是严格的
%为1和0,所以在解调的时候对实部和虚部采用的是四相位的方法,由于angle的范围从-pi到pi
%所以这里的范围从-pi/4到 pi/4,pi/4到3*pi/4,3*pi/4到pi和-pi到-3*pi/4,-3*pi/4到 -pi/4

for i=1:L
    if (angle(x(i)) <= pi/4 && angle(x(i)) >= 0) || (angle(x(i)) < 0 && angle(x(i))>-pi/4)              %解调前符号1  0  --〉 调制后符号00    
        y(2*i-1) = 0;                                                          
        y(2*i) = 0;
    elseif (angle(x(i)) <= 3*pi/4 && angle(x(i)) > pi/4)                                                %解调前符号0  1  --〉 调制后符号01
        y(2*i-1) = 0;
        y(2*i) = 1;
    elseif (angle(x(i)) <= pi && angle(x(i)) > 3*pi/4) || (angle(x(i)) <= -3*pi/4 && angle(x(i))>-pi)   %解调前符号-1 0  --〉 调制后符号10
        y(2*i-1) = 1;
        y(2*i) = 0;
    elseif (angle(x(i)) <= -pi/4 && angle(x(i)) > -3*pi/4)                                              %解调前符号0 -1  --〉 调制后符号11
        y(2*i-1) = 1;
        y(2*i) = 1;
    end
end

⌨️ 快捷键说明

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