文档及代码程序如下

百度网盘。提取码2WTC


第一章 无线信道:传播与衰落

1.1 大尺度衰落

1.1.1 一般路径损耗模型

  • 自由空间的路径损耗模型
%% “PL_free.m”function PL = PL_free(fc,dist,Gt,Gr)
%自由空间路径损耗模型
%% 输入
%   fc      :   载波频率[Hz]
%   dist    :   基站和修动台之间的图[m]
%   Gt      :   发射机天线增益
%   Gr      :   接收机天线增益
%输出
%   PL      :   路径损耗[dB]
lamda = 3e8/fc;
tmp = lamda./(4*pi*dist);
if nargin > 2,tmp = tmp*sqrt(Gt); end
if nargin > 3,tmp = tmp*sqrt(Gr); end
PL = -20*log10(tmp);      %式(1.2)/(1.3)
  • 对数距离/正太阴影路径损耗模型
%% "PL_logdist_or_norm.m"function PL = PL_logdist_or_norm(fc,d,d0,n,sigma)%对数距离或对数阴影路径损耗模型
%% 输入
%   fc      :   载波频率[Hz]
%   d       :   基站和移动台之间的距离[m]
%   d0      :   参考距离[m]
%   n       :   路径损耗指数
%   sigma   :   方差[dB]
%% 输出
%   PL      :   路径损耗[dB]
lamda = 3e8/fc;
PL = -20*log10(lamda/(4*pi*d0)) + 10*n*log10(d/d0);    %式(1.4)
if nargin > 4PL - PL + sigma*randn(size(d));      %式(1.5)
end
  • 绘制不同的路径损耗模型
%% "plot_PL_general.m"clear all;clf;clc;
fc = 1.5e9;
d0 = 100;
sigma = 3;
distance = [1:2:31].^2;
Gt = [1,1,0.5];
Gr = [1,0.5,0.5];
Exp = [2,3,6];
for k = 1:3y_Free(k,:) = PL_free(fc,distance,Gt(k), Gr(k));y_logdist(k,:) = PL_logdist_or_norm(fc,distance,d0,Exp(k));y_lognorm(k,:) = PL_logdist_or_norm(fc,distance,d0,Exp(1),sigma);
end
figure('name','程序1.3','position',[0,40,1500,300]);
subplot(1,3,1);
semilogx(distance,y_Free(1,:),'k-o',distance,y_Free(2,:),'k-^' ,distance,y_Free(3,:),'k-s');
grid on;axis([1,1000,40,110]);
title(['Free PL-loss Model,f c=',num2str(fc/1e6),'MHz']);
xlabel('Distance[m]');ylabel('Path loss[dB]');
legend('G_t=1,G_r=1','G_t=1,G_r=0.5','G_t=0.5,G_r=0.5','location','b');
subplot(1,3,2);
semilogx(distance,y_logdist(1,:),'k-o' ,distance,y_logdist(2,:),'K-^' ,distance,y_logdist(3,:),'k-s');
grid on;axis([1 1000 40 110]);
title(['Log-distance Path-loss Model,f_c=',num2str(fc/1e6),'MHZ']);
xlabel('Distance[m]');ylabel('Path loss[dB]');
legend('n=2','n=3','n=6','location','b');
subplot(1,3,3);
semilogx(distance,y_lognorm(1,:),'k-o' ,distance,y_lognorm(2,:),'k-^' ,distance,y_lognorm(3,:),'k-s');
grid on;axis([1 1000 40 110]);
title(['Log-normal Path-loss Model,f_c=',num2str(fc/1e6),'MHz, ','\sigma=', num2str(sigma), 'dB']);
xlabel ('Distance[m]'); ylabel('Path loss[dB]');
legend('path 1','path 2','path 2','location','b');

1.1.2 Okumura/Hata模型

  • Hata路径损耗模型
%% Okumura/Hata模型
% "PL_Hata.m"
function PL=PL_Hata(fc,d,htx,hrx,Etype)
% Hata模型
% 输入
%     fc   : 载波频率[Hz]
%     d    : 基站与移动台之间的距离[m]
%     htx  : 发射机高度[m]
%     hrx  : 接收机高度[m]
%     Etype: 环境类型['urban','suburban','open']
% 输出
%     PL   : 路径损耗[dB]
if nargin<5Etype='URBAN';
end
fc = fc/(1e6);
if fc>=150&&fc<=200C_Rx=8.29*(log10(1.54*hrx))^2-1.1;
elseif fc>200C_Rx=3.2*(log10(11.75*hrx))^2-4.97;
elseC_Rx=0.8+(1.1*log10(fc)-0.7)*hrx-1.56*log10(fc);
end
PL=69.55+26.16*log10(fc)-13.82*log10(htx)-C_Rx...+(44.9-6.55*log10(htx))*log10(d/1000);
Etype=upper(Etype);
if Etype(1)=='S'PL=PL-2*(log10(fc/28))^2-5.4;
elseif Etype(1)=='O'PL=PL+(18.33-4.78*log10(fc))*log10(fc)-40.97;
end
  • 绘制Hata路径损耗模型
%% Okumura/Hata模型
% plot_PL_Hata.m
clear all;clf;
fc = 1.5e9;
htx = 30;
hrx = 2;
distance = [1:2:31].^2;
y_urban = PL_Hata(fc, distance, htx, hrx, 'urban');
y_suburban = PL_Hata(fc, distance, htx, hrx, 'suburban');
y_open = PL_Hata(fc, distance, htx, hrx, 'open');
semilogx(distance, y_urban, 'k-s', distance, y_suburban, 'k-o', distance,y_open, 'k-^');
title(['Hata PL model, f_c=', num2str(fc/1e6), 'MHz']);
xlabel('Distance[m]'), ylabel('Path loss[dB]')
legend('urban', 'suburban', 'open area','location','b');
grid on, axis([1 1000 40 110]);

1.1.3 IEEE 802.16d模型

  • IEEE 802.16d路径损耗模型

%% IEEE 802.16d模型
%% "PL_IEEE80216d.m"
function PL=PL_IEEE80216d(fc,d,type,htx,hrx,corr_fact,mod)
% 输入:
%     fc        : 载波频率[Hz]
%     d         : 基站和移动台之间的距离[m]
%     type      : 可以选择'A','B'或'C'
%     htx       : 发射机高度[m]
%     hrx       : 接收机高度[m]
%     corr_fact : 如果存在阴影,那么设置为'ATnT'或'Okumura'。否则,设置为'NO'
%     mod       : 设置为'mod'来得到修正的IEEE802.16d模型
% 输出:
%     PL        : 路径损耗[dB]
Mod='UNMOD';
if nargin>6Mod=upper(mod);
end
if nargin==6&&corr_fact(1)=='m'Mod='MOD';corr_fact='NO';
elseif nargin<6corr_fact='NO';if nargin==5&&hrx(1)=='m'Mod='MOD';hrx=2;elseif nargin<5hrx=2;if nargin==4&&htx(1)=='m'Mod='MOD';htx=30;elseif nargin<4htx=30;if nargin==3&&type(1)=='m'Mod='MOD';type='A';elseif nargin<3type='A';endendend
end
d0=100;
Type=upper(type);
if Type~='A'&&Type~='B'&&Type~='C'disp('Error:The selected type is not supported');return;
end
switch upper(corr_fact)case 'ATNT'PLf=6*log10(fc/2e9);PLh=-10.8*log10(hrx/2);case 'OKUMURA'PLf=6*log10(fc/2e9);if hrx<=3PLh=-10*log10(hrx/3);elsePLh=-20*log10(hrx/3);endcase 'NO'PLf=0;PLh=0;
end
if Type=='A'a=4.6;b=0.0075;c=12.6;
elseif Type=='B'a=4;b=0.0065;c=17.1;
elsea=3.6;b=0.005;c=20;
end
lamda=3e8/fc;
gamma=a-b*htx+c/htx;
d0_pr=d0;
if Mod(1)=='M'd0_pr=d0*10^-((PLf+PLh)/(10*gamma));
end
A=20*log10(4*pi*d0_pr/lamda)+PLf+PLh;
for k=1:length(d)if d(k)>d0_prPL(k)=A+10*gamma*log10(d(k)/d0);elsePL(k)=-10*log10((lamda/(4*pi*d(k)))^2);end
end
  • 绘制IEEE 802.16d路径损耗模型
%% IEEE 802.16d模型
% "plot_PL_IEEE80216d.m"
clear,clf,clc
fc=2e9;
htx=[30 30];
hrx=[2 10];
distance=[1:1000];
for k=1:2y_IEEE16d(k,:)=PL_IEEE80216d(fc,distance,'A',htx(k),hrx(k),'atnt');y_MIEEE16d(k,:)=PL_IEEE80216d(fc,distance,'A',htx(k),hrx(k),'atnt','mod');
end
subplot(121)
semilogx(distance,y_IEEE16d(1,:),'k:','linewidth',1.5),hold on
semilogx(distance,y_IEEE16d(2,:),'k-','linewidth',1.5),grid on
title(['IEEE 802.16d Path loss Models,fc=',num2str(fc/1e6),'MHz'])
axis([1 1000 10 150])
xlabel('Distance[m]'),ylabel('Pathloss[dB]')
legend('h_{Tx}=30m,h_{Rx}=2m','h_{Tx}=30m,h_{Rx}=10m','location','northwest')
subplot(122)
semilogx(distance,y_MIEEE16d(1,:),'k-','linewidth',1.5),hold on
semilogx(distance,y_MIEEE16d(2,:),'k-','linewidth',1.5),grid on
title(['Modified IEEE 802.16d Path loss Models,fc=',num2str(fc/1e6),'MHz'])
axis([1 1000 10 150])
xlabel('Distance[m]'),ylabel('Pathloss[dB]')
legend('h_{Tx}=30m,h_{Rx}=2m','h_{Tx}=30m,h_{Rx}=10m','location','northwest')

待更新……


第二章 SISO信道模型

2.1 室内信道模型

2.1.1 一般室内信道模型

  • 产生指数PDP
待更新
  • 绘制2-径信道模型和指数模型
待更新

MIMO-OFDM无线通信技术及MATLAB实现相关推荐

  1. MIMO-OFDM无线通信技术及MATLAB实现PDF及其代码

    MIMO-OFDM无线通信技术及MATLAB实现 MIMO OFDM无线通信技术及MATLAB实现.pdf 内容简介 MIMO和OFDM技术是B3G(LTE.LTE-A.4G)的关键物理层技术,该书详 ...

  2. mimo-ofdm无线通信技术及matlab实现_无线通信模块有哪些?它们有什么区别?

    随着物联网技术的高速发展,物联网终端设备也广泛应用于各种场景,不同的应用场景有不同的市场需求,现在市场上的无线通信模块多种多样,导致很多用户无法正确的区分各种类型的无线模块,今天小编为大家讲解几个常见 ...

  3. MIMO-OFDM无线通信技术及MATLAB实现(4)OFDM概述

    目录 单载波传输与多载波传输 单载波传输 单载波基带传输:系统模型 ISI和奈奎斯特准则 对高速率单载波传输的限制 多载波传输 多载波传输方案的基本结构 OFDM传输方案 FMT传输方案 单载波传输与 ...

  4. MIMO-OFDM无线通信技术及MATLAB实现(3)MIMO信道模型

    目录 MIMO统计信道模型 空间相关性 PAS模型 多簇 I-METRAMIMO信道 相关MIMO衰落信道的统计模型 相关MIMO信道系数的产生 I-METRAMIMO信道 多普勒谱 莱斯衰落 方向矩 ...

  5. mimo-ofdm无线通信技术及matlab实现_华为技术岗直招,17岗可选!

    部门介绍 传送与接入产品线 如今,人类已经开始进入智能世界.智能世界的核心在于万物互联,而"全光联接"是万物互联的基石.华为提供了智简全光战略,面向全光传送.全光接入.全光数据中心 ...

  6. mimo-ofdm无线通信技术及matlab实现_智芯文库 | FPGA无线通信课程连载——扰码的原理及实现...

    一.扰码的作用 对数字信号的比特进行随机处理,减少连0和连1的出现,从而减少码间干扰和抖动,方便接收端的时钟提取:同时又扩展了基带信号频谱,起到加密的效果.为了保证在任何情况下进入传输信道的数据码流中 ...

  7. <<MIMO-OFDM无线通信技术及MATLAB实现>>重要问题回复(1)

    一.P47:为什么N0的定义式如此? 回复:具体看(2.23a)和(2.23b)的第一个单项式.如果超过了pi/4则会两个公式一摸一样.即使在移动pi/2也是差pi/4 就不满足正交原则了.,他要保证 ...

  8. 5G NR 标准:下一代无线通信技术

    昨天有一篇混子曰的文章,用通俗易懂的漫画方式为大家讲解了5G到底是什么东西,经过翻阅文章,我们也了解了一二,但是你只表面的知道了5G这个概念,但是深入的话还是没有了解,所以下面将继续讲5G技术规范NR ...

  9. 物联网的那些事----------01无线通信技术介绍

    概述 当今时代,无线通信在人们的生活中扮演越来越重要的角色,摆脱物理连接上的限制,自由地.随时随地地接入网络获取信息,已经成为当今社会的一种强烈需求.伴随着物联网的迅猛发展,无线技术也正在迅速发展,并 ...

最新文章

  1. Kubernetes 最佳安全实践指南
  2. 用webpack构建一个常规项目,好处和坏处分析
  3. 勒索软件防不胜防? 要先从了解它开始
  4. Centos 设置zookeeper开机自启动
  5. win10部署webservice网站的步骤
  6. java 拼接html_程序员用1.5小时写出的Java代码,让同事瞠目结舌!直呼优秀
  7. netty 校验_Netty SSL双向验证
  8. android 动态创建数据库表,简析Android数据库中创建表与LitePal的基本用法
  9. 基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(三)——抵抗侧信道攻击设计方案
  10. python导入excel加入折线图_Python之openpyxl插入折线图方法
  11. 手机坏了微信聊天记录怎么恢复?不用怕,用这招
  12. Premiere 快捷键
  13. 获取元素到body顶部的距离,offsetTop和offsetParent,getBoundingClientRect
  14. 上位机plc编程入门_【新手入门】西门子PLC编程入门学习
  15. c语言中错误为ffblk未定义,C - 错误没有定义和存储未知
  16. python从零开始爬东方财富网
  17. 无参考图像质量评价之可察觉模糊程度方法(JNB)
  18. 分布式理论面试题 一
  19. 数据结构:图的基础知识
  20. JAVA事务回滚的使用方法

热门文章

  1. 青岛大学计算机科学技术学院图灵班,北京大学计算机实验班(图灵班)介绍
  2. Paddle 点灯人 之 Tensor
  3. FITC修饰药物;CY3荧光标记氟维司群/依西美坦/齐多夫定/丁二酸(琥珀酸)/醋酸卡泊芬净的定制合成
  4. 【C++】编程实现复数运算
  5. 参加Google Developer Day 2009归来,互联网营销
  6. Java面试--autowired和resource区别
  7. jQuery使用ajaxSubmit()提交表单以及AjaxSubmit的一些用法
  8. c语言调用tuxedo步骤,c语言入门之BCB客户端tuxedo开发实例
  9. mac下面用ffmpeg抓取桌面以及摄像头推流进行直播
  10. 银行贷款客户拉新活动分析——数据分析项目实战