reylei.m

来自「经典的短波信道模拟程序——wattson模型」· M 代码 · 共 27 行

M
27
字号
function output=reylei(s,fm,fs,Ns,inter)
% 实现多普勒扩展与瑞利衰落
% clc;clear;fs=9600;fm=10;Ns=15000;s=sin(2*pi*2000*[1:Ns]/fs);s=hilbert(s);
    if fm == 0
        output = s;
    else
    fm = fm*400;             % 针对fm = 0.1Hz;
    b=gaussfir(2*fm/fs,250); % H=GAUSSFIR(BT,NT):BT:
    K=length(b);
    N=ceil(Ns/10)+2*K;

    noise=(randn(1,N)+j*randn(1,N))*1;                % Rayleigh distribution    % randn('state',sum(100*clock));
    noise=filter(b,1,noise);
    noise=noise(K+1:N-K);noise=noise-mean(noise);
    N = round(length(noise)/2);                                            %       figure;plot(real(noise));

    noise_sample = noise(N-inter:N+inter);                                       %       figure;plot(real(noise_sample));
    noise_inter = interp(noise_sample,400);          % 插值还原fm = 0.1Hz;
    
    noise_real = noise_inter(1:Ns);
%     noise_real = noise_real-mean(noise_real);
    rms=sqrt(mean((abs(noise_real)).^2));

    r=noise_real.*s;
    output=r./rms;

    end

⌨️ 快捷键说明

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