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

📄 modla.asv

📁 mpsk加高斯信道传输模型
💻 ASV
字号:
function [y,yshape]=modla(code_num,sample_rate,carrier_frequency,symbol_rate,shape,mode)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                   相位调制信号生成程序                                       %
%                                    生成MPSK(M=2,4,8)                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%函数体[y,y_com]=modla(code_num,M,sample_rate,carrier_frequency,symbol_rate,delay,rool
%factor,shape,mode)
%参数说明
%    y                    输出调制信号序列
%    y_com                星座图映射序列
%    code_num             码元数目
%    M                    调制阶数
%    sample_rate          采样速率
%    carrier_frequency    载波频率
%    symbol_rate          符号速率
%    shape                成型脉冲形状
%        shape=1              矩形脉冲
%        shape=2              升余弦脉冲
%        shape=3              平方根升余弦脉冲
%    mode                 调制体制,有3种形式
%        mode=1              BPSK调制
%        mode=2              QPSK调制
%        mode=3             8PSK调制
%函数体
%参数初始化
if mode==1
    M=2;
elseif mode==2
    M=4;
elseif mode==3
    M=8;
end
x=randint(1,code_num,M);
T=1/symbol_rate;%码元间隔
nsample=sample_rate/symbol_rate;%重采样个数
t=0:1/sample_rate:(code_num/symbol_rate-1/sample_rate);%仿真时间序列
%N=4096;%FFT点数
%f=sample_rate*(0:N-1)/N;%频率序列
mod=exp(j*2*pi*carrier_frequency*t);%调制信号序列
%MPSK调制
% if shape==2|shape==3
%     roolfactor=input('请输入升余弦/平方根升余弦滚降系数');
% end
roolfactor=0.5;
switch mode
    %BPSK调制
    case 1,
        y_com=pskmod(x,2);%低通复包络映射
        %scatterplot(y_com);
        switch shape
            case 1,
                yshape=fil(y_com,nsample,roolfactor,1);
            case 2,
                yshape=fil(y_com,nsample,roolfactor,2);
            case 3,
                yshape=fil(y_com,nsample,roolfactor,3);
        end
        y=real(yshape.*mod);
    %QPSK调制
    case 2,
        y_com=pskmod(x,4);%低通复包络映射
        %scatterplot(y_com);
        switch shape
            case 1,
                yshape=fil(y_com,nsample,roolfactor,1);
            case 2,
                yshape=fil(y_com,nsample,roolfactor,2);
            case 3,
                yshape=fil(y_com,nsample,roolfactor,3);
        end
        y=yshape.*mod;
    %8PSK调制
    case 3,
        y_com=pskmod(x,8);%低通复包络映射
        %scatterplot(y_com);
        switch shape
            case 1,
                yshape=fil(y_com,nsample,roolfactor,1);
            case 2,
                yshape=fil(y_com,nsample,roolfactor,2);
            case 3,
                yshape=fil(y_com,nsample,roolfactor,3);
        end
        y=real(yshape.*mod);
  end

⌨️ 快捷键说明

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