demodulate.m

来自「TD中扩频的链路级仿真 通过MATLAB实现」· M 代码 · 共 25 行

M
25
字号
%解调信号

function [Demodulate_Signal]=Demodulate(Received_Signal);

a=Received_Signal;
n=length(a);            %收到的比特数

c=zeros(1,2*n);
for ii=1:2:2*n-1,
    b=a((ii-1)/2+1);
    b_angle=angle(b);
    if     -pi/4<=b_angle & b_angle<pi/4,  
           c(ii)=1 ;   c(ii+1)=-1;
    elseif pi/4<=b_angle & b_angle< 3*pi/4,  
           c(ii)=1;   c(ii+1)=1;
    elseif (3*pi/4<=b_angle & b_angle<=pi)|( -pi<=b_angle & b_angle<=-3*pi/4),  
           c(ii)=-1;   c(ii+1)=1;
    elseif  -3*pi/4<=b_angle & b_angle<-pi/4,  
           c(ii)=-1;    c(ii+1)=-1;
    end
    
end 
Demodulate_Signal=c;

⌨️ 快捷键说明

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