get_channel_muti_parameter.m

来自「协同通信以及感知无线电方面的仿真」· M 代码 · 共 22 行

M
22
字号
function [channel]=get_channel_muti_parameter(channel,signal_sequence,ruili_sigma);
%获得信道乘性噪声

channel.attenuation.d=1/(channel.attenuation.distance^2);%pass loss is constant for the whole transmittion

switch channel.attenuation.pattern
    case 'no'  %no fading at all(only pass loss)
        channel.attenuation.phi=zeros(size(signal_sequence));
        channel.attenuation.h=ones(size(signal_sequence))*channel.attenuation.d;
        channel.attenuation.h_mag=channel.attenuation.h;   
    case 'Rayleigh'%Rayleigh
        nr_of_blocks=ceil(size(signal_sequence,2)/channel.attenuation.block_length);
        h_block=(randn(nr_of_blocks,1)+j*randn(nr_of_blocks,1))*channel.attenuation.d*sqrt(ruili_sigma);
        h=reshape((h_block*ones(1,channel.attenuation.block_length))',1,nr_of_blocks*channel.attenuation.block_length);
        channel.attenuation.h=h(1:(size(signal_sequence,2)));
        [channel.attenuation.phi,channel.attenuation.h_mag]=cart2pol(real(channel.attenuation.h),imag(channel.attenuation.h));
        channel.attenuation.phi=-channel.attenuation.phi;
    otherwise
        error(['Fading pattern unknown:',channel.attenuation.pattern]);
end

⌨️ 快捷键说明

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