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

📄 kanale.m

📁 非常好的M_QAM调制解调程序
💻 M
字号:
function [out RayL fad1]=kanale(Yqam,snr,kanal,shift)


if kanal==1
    out=awgn(Yqam,snr,'measured');
    RayL = 0;   
    fad1 = 0;
elseif kanal==2
    c1 = rayleighchan;                    %Kanal Rayleigh tap 1
    reset(c1,[12345;54321]);
    c1.ResetBeforeFiltering = 0;
    c2 = rayleighchan;                    %Kanal Rayleigh tap 2
    reset(c2,[54321;12345]);
    c2.ResetBeforeFiltering = 0;
                
    fad1 = filter(c1,ones(1,length(Yqam))); fad1 = abs(fad1);
    fad2 = filter(c2,ones(1,length(Yqam))); fad2 = abs(fad2);
    faded_sig1 = fad1.*Yqam;
    faded_sig2 = fad2.*[zeros(1,shift) Yqam(1:end-shift)];

    sigPower1 = sum(abs(faded_sig1(:)).^2)/length(faded_sig1(:));
    sigPower1db = 10*log10(sigPower1);
    sigPower2 = sum(abs(faded_sig2(:)).^2)/length(faded_sig2(:));
    sigPower2db = 10*log10(sigPower2);
    att = (10^(-3/10))*sigPower1/sigPower2;
    faded_sig2 = faded_sig2.*sqrt(att);

    faded_Sig = faded_sig1 + faded_sig2;
    RayL = faded_Sig;
    out=awgn(faded_Sig,snr,'measured');
end

⌨️ 快捷键说明

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