MIMO-OFDM无线通信技术(Matlab代码实现)_ofdm代码_我爱Matlab编程的博客-程序员宅基地

技术标签: 5G  

    目录

1 概述

2 运行结果

3 参考文献

4 Matlab代码

1 概述

本代码为MIMO-OFDM无线通信技术及MATLAB实现。分为十章,供大家学习。

2 运行结果

主函数部分代码:

clear all, clf, clc%清除命令,清除图形,清除数据
fc=1.5e9;%载波频率1.5GHz
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:3
   y_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(1);
semilogx(distance,y_Free(1,:),'k-o',distance,y_Free(2,:),'b-^',distance,y_Free(3,:),'r-s')
grid on, axis([1 1000 40 110]);
title(['Free PL Models, 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');
%对数路径损耗模型
figure(2)
semilogx(distance,y_logdist(1,:),'k-o',distance,y_logdist(2,:),'b-^',distance,y_logdist(3,:),'r-s')
grid on, axis([1 1000 40 110]),
title(['Log-distance PL model, f_c=',num2str(fc/1e6),'MHz'])
xlabel('Distance[m]');
ylabel('Path loss[dB]');
legend('n=2','n=3','n=6');
%对数正态阴影路径损耗模型
figure(3)
semilogx(distance,y_lognorm(1,:),'k-o',distance,y_lognorm(2,:),'b-^',distance,y_lognorm(3,:),'r-s')
grid on, axis([1 1000 40 110]),
title(['Log-normal PL 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');
​

3 参考文献

[1]黄丘林. MIMO无线通信技术研究[D].西安电子科技大学,2007.

部分理论引用网络文献,若有侵权联系博主删除。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_73907476/article/details/130172555

智能推荐

linux版本wannacry,WannaCry 勒索病毒也能感染 Linux_statPt-67的博客-程序员宅基地

原标题:WannaCry 勒索病毒也能感染 Linux WannaCry 已升级到 2.0 版,与之前版本的不同是,这个变种取消了 Kill Switch,不能通过注册某个域名来关闭变种勒索病毒的传播,该变种传播速度可能会更快。另据卡巴斯基技术人员 Raiu 及其团队分析,WannaCrypt 2.0 版的作者另有他人,并不是 WannaCrypt 的初始作者。,尤其是 Windows 旧版用户心...

PHP 递归计算数字累加之和_php 递归种二级加上三级的数据总数_哥们并肩走过的博客-程序员宅基地

1、计算 1 + 2 + 3 + …<?phpfunction sum($a){ $tot += $a; if($a>1){ $tot += sum($a-1); } return $tot;}$res = sum(3);echo $res;/**$tot = 3 + sum(2)sum(2) = 2 + sum(1)sum(1) = 13 + 2 + 1**/ ?>_php 递归种二级加上三级的数据总数

使用Electron运行打包后的vue程序时报错“ReferenceError:process is not defined”_vue referenceerror: process is not defined_yzkdcsdn的博客-程序员宅基地

Electron打包vue运行程序 ReferenceError: process is not defined 的解决方案_vue referenceerror: process is not defined

语言-英语:英语-程序员宅基地

ylbtech-语言-英语:英语英语(English)是印欧语系-日耳曼语族下的语言,由26个字母组成,英文字母渊源于拉丁字母,拉丁字母渊源于希腊字母,而希腊字母则是由腓尼基字母演变而来的。英语是国际指定的官方语言(作为母语),也是世界上使用最广泛的语言,英语包含约49万词,外加技术名词约30万个,是词汇最多的语言,也是欧盟以及许多国际组织以及英联邦国家的官方语言,拥有..._ifv电信宽带电视套餐

此计算机里有旧的MF驱动程序,[讲解]手动删除旧的打印机驱动程序_数羊俱乐部的博客-程序员宅基地

WindowsXP 下自动删除驱动程序 依次单击“开始”“打印机和传真”。在“打印机和传真”窗口中,找到打印机的界面。 :本文以HP LaserJet 1020 激光打印机的操作方法为例,其他机型打印机的操作方法也可以以此作为参考。 WindowsXP 下自动删除驱动程序手动删除旧的打印机驱动程序在 Windows XP 下自动删除驱动程序依次单击“开始”“打印机和传真”。在“打印机和传真”窗口中..._印机驱动怎么删除

java 读取pdf各级标题_Java那些事之pdf读取_绫小莉的博客-程序员宅基地

今天说说java中的pdf读取,实话说,这是一个很恼人的任务。现在网络上的pdf各种各样,分析出来的文本也是千差万别,目前最流行的jar包pdfbox也只能做到把文字分析出来,并无法很好的控制分析的顺序,格式,字体等信息。(也许可以,是我对pdfbox了解还不够,如果是这样的话,大家一定要告诉我~先谢过了哈。)这给后续的工作带来了很大的麻烦。比如我想提取pdf的一些关键词或标题等有用信息,而分析出..._pdf如何识别出文档内部的标题 java

随便推点

spark任务shell运行_基于sparksql调用shell脚本运行SQL_张凌羽的博客-程序员宅基地

[Author]: kwu基于sparksql调用shell脚本运行SQL,sparksql提供了类似hive中的 -e , -f ,-i的选项1、定时调用脚本#!/bin/sh# upload logs to hdfsyesterday=`date --date=‘1 days ago‘ +%Y%m%d`/opt/modules/spark/bin/spark-sql -i /opt/bin/..._spark执行shell脚本执行sql

STM32CubeIDE使用总结(三)——debug调试程序_cubeide debug_tuxinbang1989的博客-程序员宅基地

这里说明的是调试程序的步骤,所以前提是工程(project)已经编译(Build)成功。首先,调试用的是调试器是ST-LINK V2,如下图所示:1.如果第一次使用Cube IDE,应该需要更新ST-LINK固件在STM32CubeIDE菜单栏“Help->ST-LINK更新” 中更新ST-LINK固件。拔下并重新连接ST-LINK/V2,然后点击"Open in up..._cubeide debug

iOS自定义转场动画_huhansome的博客-程序员宅基地

如果你在开发中遇到需求,需要实现各种各样的转场动画,那么你可以看看这篇文章。当然,本文并没有实现各种各样的花式转场动画,而是实现了一种思路,抛砖引玉,希望你在看了本文之后能举一反三,随心所欲的定制自己喜欢的转场动画!(注意这里讲的实现仅仅支持iOS7 or later)好了,效果也看到了(好像很丑~~)废话不多说,开撸!自定义转场动画我们都知道,苹果在转场动画给了我们自己实现的机会,那么在自己实现的

pyqt:让qlabel的图片根据鼠标指向的位置进行放缩_鼠标移动放大的label图片_我肚子好饿的博客-程序员宅基地

好不容易缕清了之前做的图片根据鼠标指向进行放大缩小功能,现在来记录一下。注:以下内容是紧接着:https://blog.csdn.net/qq_36780295/article/details/108844005 的内容的,之前演示了如何移动和缩放label显示的图片,以下内容演示如何让label跟随鼠标指针指向来缩放。如果大佬有更好的方法,希望能够指点一二。稍微构想一下,想要实现根据鼠标当前坐标放大图片,图片放大是完全不影响的,需要考虑的是图片的坐标,即让鼠标当前指向的图片上的位置所指向的点保持不_鼠标移动放大的label图片

Django mysql 分页显示_一对一,多对多,数据表类型mysql和orm的区别,django-admin ,内置分页,自定义分页..._成既成矣的博客-程序员宅基地

表对表的一对一多对一关系1. 一对一models.pyoneTooneFieldviews.py:##### 从母表查询子表的数据### 反向查询res.子表表名小写.子表的字段名#### 从子表查询母表的数据### 正向查询res.关联字段.母表的字段名2. 多对多:models.py:class Boy(models.Model):bname = models.CharField(max_le..._mysql 一对一分页

layui中table监听单元格_layui table单元格事件修改值的方法_Pt.wang的博客-程序员宅基地

事件中的 this相当于document.getElementById("id")替代方法就是将原本document.getElementById("id").InnerHTML = "填充代码";替换成$("#id").html("填充代码");layuilayui.use('table', function () {table = layui.table;table.render({elem:..._jquery中layui的table修改某一项数据内容时监听函数

推荐文章

热门文章

相关标签