MIMO-OFDM无线通信技术及MATLAB实现
文档及代码程序如下
百度网盘。提取码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实现相关推荐
- MIMO-OFDM无线通信技术及MATLAB实现PDF及其代码
MIMO-OFDM无线通信技术及MATLAB实现 MIMO OFDM无线通信技术及MATLAB实现.pdf 内容简介 MIMO和OFDM技术是B3G(LTE.LTE-A.4G)的关键物理层技术,该书详 ...
- mimo-ofdm无线通信技术及matlab实现_无线通信模块有哪些?它们有什么区别?
随着物联网技术的高速发展,物联网终端设备也广泛应用于各种场景,不同的应用场景有不同的市场需求,现在市场上的无线通信模块多种多样,导致很多用户无法正确的区分各种类型的无线模块,今天小编为大家讲解几个常见 ...
- MIMO-OFDM无线通信技术及MATLAB实现(4)OFDM概述
目录 单载波传输与多载波传输 单载波传输 单载波基带传输:系统模型 ISI和奈奎斯特准则 对高速率单载波传输的限制 多载波传输 多载波传输方案的基本结构 OFDM传输方案 FMT传输方案 单载波传输与 ...
- MIMO-OFDM无线通信技术及MATLAB实现(3)MIMO信道模型
目录 MIMO统计信道模型 空间相关性 PAS模型 多簇 I-METRAMIMO信道 相关MIMO衰落信道的统计模型 相关MIMO信道系数的产生 I-METRAMIMO信道 多普勒谱 莱斯衰落 方向矩 ...
- mimo-ofdm无线通信技术及matlab实现_华为技术岗直招,17岗可选!
部门介绍 传送与接入产品线 如今,人类已经开始进入智能世界.智能世界的核心在于万物互联,而"全光联接"是万物互联的基石.华为提供了智简全光战略,面向全光传送.全光接入.全光数据中心 ...
- mimo-ofdm无线通信技术及matlab实现_智芯文库 | FPGA无线通信课程连载——扰码的原理及实现...
一.扰码的作用 对数字信号的比特进行随机处理,减少连0和连1的出现,从而减少码间干扰和抖动,方便接收端的时钟提取:同时又扩展了基带信号频谱,起到加密的效果.为了保证在任何情况下进入传输信道的数据码流中 ...
- <<MIMO-OFDM无线通信技术及MATLAB实现>>重要问题回复(1)
一.P47:为什么N0的定义式如此? 回复:具体看(2.23a)和(2.23b)的第一个单项式.如果超过了pi/4则会两个公式一摸一样.即使在移动pi/2也是差pi/4 就不满足正交原则了.,他要保证 ...
- 5G NR 标准:下一代无线通信技术
昨天有一篇混子曰的文章,用通俗易懂的漫画方式为大家讲解了5G到底是什么东西,经过翻阅文章,我们也了解了一二,但是你只表面的知道了5G这个概念,但是深入的话还是没有了解,所以下面将继续讲5G技术规范NR ...
- 物联网的那些事----------01无线通信技术介绍
概述 当今时代,无线通信在人们的生活中扮演越来越重要的角色,摆脱物理连接上的限制,自由地.随时随地地接入网络获取信息,已经成为当今社会的一种强烈需求.伴随着物联网的迅猛发展,无线技术也正在迅速发展,并 ...
最新文章
- Kubernetes 最佳安全实践指南
- 用webpack构建一个常规项目,好处和坏处分析
- 勒索软件防不胜防? 要先从了解它开始
- Centos 设置zookeeper开机自启动
- win10部署webservice网站的步骤
- java 拼接html_程序员用1.5小时写出的Java代码,让同事瞠目结舌!直呼优秀
- netty 校验_Netty SSL双向验证
- android 动态创建数据库表,简析Android数据库中创建表与LitePal的基本用法
- 基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(三)——抵抗侧信道攻击设计方案
- python导入excel加入折线图_Python之openpyxl插入折线图方法
- 手机坏了微信聊天记录怎么恢复?不用怕,用这招
- Premiere 快捷键
- 获取元素到body顶部的距离,offsetTop和offsetParent,getBoundingClientRect
- 上位机plc编程入门_【新手入门】西门子PLC编程入门学习
- c语言中错误为ffblk未定义,C - 错误没有定义和存储未知
- python从零开始爬东方财富网
- 无参考图像质量评价之可察觉模糊程度方法(JNB)
- 分布式理论面试题 一
- 数据结构:图的基础知识
- JAVA事务回滚的使用方法
热门文章
- 青岛大学计算机科学技术学院图灵班,北京大学计算机实验班(图灵班)介绍
- Paddle 点灯人 之 Tensor
- FITC修饰药物;CY3荧光标记氟维司群/依西美坦/齐多夫定/丁二酸(琥珀酸)/醋酸卡泊芬净的定制合成
- 【C++】编程实现复数运算
- 参加Google Developer Day 2009归来,互联网营销
- Java面试--autowired和resource区别
- jQuery使用ajaxSubmit()提交表单以及AjaxSubmit的一些用法
- c语言调用tuxedo步骤,c语言入门之BCB客户端tuxedo开发实例
- mac下面用ffmpeg抓取桌面以及摄像头推流进行直播
- 银行贷款客户拉新活动分析——数据分析项目实战