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

📄 pathloss.m

📁 block_mimo_ ofdm_channelestimation编码 很好的程序
💻 M
📖 第 1 页 / 共 2 页
字号:
                        case (5e9)                     % Nokia pathloss model for urban_macro (NLOS)
                            if (min(MsBsDistance)<35)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 35 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 34.5 + 8 + 35.0 * log10(MsBsDistance);                 %3dB subtracted compared to original formula because of antenna gain
                    end
                case {'los'}
                    switch (CenterFrequency)
                        case (2e9)                      % SCM urban_macro model [1, Section 5.2 and Table 5.1]
                            if (min(MsBsDistance)<35)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 35 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 30.18 + 26.0 * log10(MsBsDistance);

                        case (5e9)                     % Nokia pathloss model for urban_macro (NLOS)
                            if (min(MsBsDistance)<35)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 35 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 30.18 + 8 + 26.0 * log10(MsBsDistance);                %3dB subtracted compared to original formula because of antenna gain
                    end

                    warning('no SCM LOS path-loss is defined for urban macro - urban micro LOS path-loss is used')
            end


        else

            switch lower(Options)
                case {'none','polarized','urban_canyon'}

                    switch (CenterFrequency)
                        case (2e9)                      % SCM urban_macro model [1, Section 5.2 and Table 5.1]
                            if (min(MsBsDistance)<35)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 35 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 11.14 + 38.0 * log10(MsBsDistance);

                        case (5e9)                     % Nokia pathloss model for urban_macro (NLOS)
                            if (min(MsBsDistance)<35)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 35 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 11.14 + 8 + 38.0 * log10(MsBsDistance);              %3dB subtracted compared to original formula because of antenna gain
                    end
                case {'los'}
                    switch (CenterFrequency)
                        case (2e9)                      % SCM urban_macro model [1, Section 5.2 and Table 5.1]
                            if (min(MsBsDistance)<35)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 35 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 30.18 + 26.0 * log10(MsBsDistance);

                        case (5e9)                     % Nokia pathloss model for urban_macro (NLOS)
                            if (min(MsBsDistance)<35)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 35 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 30.18 + 8 + 26.0 * log10(MsBsDistance);                %3dB subtracted compared to original formula because of antenna gain
                    end

            end

        end




    case {'urban_micro'}


        if ~strcmpi(scmpar.AlternativePathloss,'yes')

            % options for urban micro
            switch lower(Options)

                case {'none','polarized','urban_canyon'}

                    switch (CenterFrequency)
                        case (2e9)              % SCM urban_micro model [1, Section 5.2 and Table 5.1]
                            if (min(MsBsDistance)<20)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 20 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 34.53 + 38.0 * log10(MsBsDistance);

                        case (5e9)              % Nokia pathloss model for urban_micro (distance-fit based model)
                            if (min(MsBsDistance)<20)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 20 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 34.53 + 8 + 38.0 * log10(MsBsDistance);
                    end



                case ('los')

                    switch (CenterFrequency)
                        case (2e9)              % SCM urban_micro model [1, Section 5.2 and Table 5.1]
                            if (min(MsBsDistance)<20)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 20 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 30.18 + 26.0 * log10(MsBsDistance);

                        case (5e9)              % Nokia pathloss model for urban_micro (distance-fit based model)
                            if (min(MsBsDistance)<20)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 20 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 30.18 + 8 + 26.0 * log10(MsBsDistance);
                    end


            end % end options for urban micro


        else

            switch lower(Options)

                case {'none','polarized','urban_canyon'}

                    switch (CenterFrequency)
                        case (2e9)              % SCM urban_micro model [1, Section 5.2 and Table 5.1]
                            if (min(MsBsDistance)<20)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 20 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 31.81 + 40.5 * log10(MsBsDistance);

                        case (5e9)              % Nokia pathloss model for urban_micro (distance-fit based model)
                            if (min(MsBsDistance)<20)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 20 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 31.81 + 8 + 40.5 * log10(MsBsDistance);
                    end



                case ('los')

                    switch (CenterFrequency)
                        case (2e9)              % SCM urban_micro model [1, Section 5.2 and Table 5.1]
                            if (min(MsBsDistance)<20)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 20 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 30.18 + 26.0 * log10(MsBsDistance);

                        case (5e9)              % Nokia pathloss model for urban_micro (distance-fit based model)
                            if (min(MsBsDistance)<20)
                                warning('MATLAB:TooSmallMsBsDistance','MsBsDistance less than 20 meters encountered. Path loss computation may be unreliable.')
                            end
                            loss = 30.18 + 8 + 26.0 * log10(MsBsDistance);
                    end


            end % end options for urban micro

        end

end     % end switch Scenario


% output
loss=loss(:);

⌨️ 快捷键说明

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