从简单的信道预计说起

从简单的信道预计说起

     前面写了关于CP在OFDM中的应用,主要是记录一点零星的想法而已,今天突然想写点关于信道特性方面的东西。原因有下面几点:

       1)信道在仿真中的地位不容置疑,不同信道的条件下的仿真是很多课题的重点,自己差点儿还没入门。

       2)正由于没入门,所以仅仅能从最简单的信道预计说起,当然也会谈到CP的问题,毕竟是由于仿真CP对OFDM影响才激发了自己去看相关的材料。

       3)还有一个原因,写文章是整理思维的一个过程。

       4)最后,Mark离我远去的智牙,疼ing!

      先让我们回想下一些小知识点:

       1)信号经过多条小径到达,每条径幅度和相位随机,我们得知其幅度是服从瑞利分布,相位是均匀分布,有经典的Jakes模型以及各种改进算法来仿真(当中是考虑了多普勒频移)。 

       2)无线环境中的信道模型常常是多径(大径)的(直射径和反射、散射等),因为多径带来了频率选择性,所谓频率选择性,就是信道对不同频率的信号成分施加不同的影响。

       3)另外,假设又外加移动的条件,那么我们的信道就是时变的了,时变就会带来频域弥散,也就是俗称的多普勒频移  

       4)所以,我们总会把无线信道建模为线性时变信道。

    

     我们从最简单的多径信道開始,我们仿真有两条径,每条径并没有衰落,就是一个固定的加权值,我们先看一个样例

<span>从简单的信道预计说起</span>

接下来我们用程序来验证下:

clear all
close all

tx_data = [1 0 0 0];
data_delay = [0 1 0 0];
rx_data = tx_data + data_delay;

fft_tx = fft(tx_data)
fft_rx = fft(rx_data)



结果例如以下:

<span>从简单的信道预计说起</span>

事实上我上面的程序验证是很很easy的一个,假设你把数据改动为[1 2 3 4]就肯定不是这种结果了。问题出在哪呢?这就要从公式(2)说起了,什么样的DFT才干产生那样的结果呢?回想DSP我们能够知道,循环移位也就是周期移位才干产生公式(2)的效果,那为什么上面的程序没有循环移位又出现了正确结果呢?那是由于上面数据[1 0 0 0]线性移位和周期移位效果等同,为了验证我们来改动一下上面的数据,最好还是就拿无辜的[1 2 3 4]来看看

clear all
close all

tx_data = [1 2 3 4];
data_delay_linear = [0 1 2 3];
data_delay_period = [4 1 2 3];
rx_data_linear = tx_data + data_delay_linear;
rx_data_period = tx_data + data_delay_period;

fft_tx = fft(tx_data)
fft_rx_linear = fft(rx_data_linear)
fft_rx_period = fft(rx_data_period)



结果例如以下:

<span>从简单的信道预计说起</span>

非常明显仅仅有循环移位叠加后的结果才满足一般的信道特性,比如k=1,(-2+2i)*H(1)=(-2+2i)*(1-i)=4i。我们在接收端仅仅要获得了H(k)的各个值,就非常easy补偿信道带来的损失了。

  

    好了,让我们回到OFDM上来,我们把经过星座映射后的符号放置在不同的IFFT_BIN上,也就是用不同的频率来发送,在 前面博文循环前缀在OFDM中应用(一)中我们已经说明,经过信道无非是每一个频率经过H(k)的加权而已,这种话我们就不须要用那么复杂的均衡技术了,仅仅须要预计出H(k)的值,然后逆运算就能够恢复原来的符号了,我们是用了循环前缀这一技术才干达到上面所说的效果,在那篇博文中我们是从 循环前缀变线性卷积为循环卷积 来证明的,可是并没有说明为什么就变换成功了,今天希望直观的理解一下。如今有了上面简单的样例,我们能够看出一点端倪。还是拿无辜的[1 2 3 4 ]来说明(在此CP长度取3):

                                  <span>从简单的信道预计说起</span>

从上面这个图,我们能够看出来仅仅要信道冲激响应长度小于CP的长度,我们都能够把线性移位变成区间[1:4]内的循环移位,所以加了CP后的信号,经过信道传输后,我们接受端是会去掉CP那段长度的,这里还不够直观,为什么发送端加CP,接收端去掉CP就能实现循环卷积呢?好了,为了解决问题,让我们看看究竟什么是循环卷积和线性卷积,为了直观的理解,我不打算用DSP上的理论,我从一个更加直观的方面来说。

<span>从简单的信道预计说起</span>

事实上能够这么总结:从总体上宏观的看,我们的信号经过信道肯定是与信道的冲激响应作线性卷积的,就好比上面无辜的[1 2 3 4]样例一样,各个时延版本号的加权和(这里都加权都是1而已),可是当我们从局部微观的看,我们不仅仅关心区间[1:4],那么一个非常显然的事实就摆正面前:在这个局部我们做的是循环卷积。

好了,我们如今的思绪差点儿相同理清了,总结下:我们把星座映射后的符号X=[X1,X2...,Xn]经过IFFT运算后,得到了时域信号x=[x1,x2...,xn],我们加上CP后变成x',把它变成‘宏观’的信号经过信道,总体上是一个线性卷积没错!可是在原始时域信号x那个小区间内,却始终保持的是循环卷积(仅仅要CP长度大于信道冲激响应长度),那么我们就能够利用手段来获取信道特征H(k),每一个k就对于每一个子载波上的符号Xk,所以一个频率选择性信道就变成了多个平坦的信道了。

后记:书上简单的一句:CP把线性卷积变成循环卷积,事实上我觉得更好的理解就是:宏观的线性卷积变成局部的循环卷积,毕竟我们接收端会去除CP,也就是说我们始终关心的还是那个局部,由于那个区间才是我们IFFT变换得来的,所以CP就是以信道带宽的代价来减少接收端的复杂度。

                



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119153.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月15日 下午1:00
下一篇 2021年11月15日 下午1:00


相关推荐

  • Android Fragment 简单实例

    Android Fragment 简单实例

    2022年2月3日
    44
  • Fdfs环境搭建及整合Java

    Fdfs环境搭建及整合JavaFdfs 环境搭建及整合 Java 一 fdfs 依赖安装安装 gcc 编译时需要 FastDFS 是 C 语言开发 安装 FastDFS 需要先将官网下载的源码进行编译 编译依赖 gcc 环境 如果没有 gcc 环境 需要安装 gccyuminstal ygccgcc c 安装 libevent 运行时需求 若安装了桌面图形界面 就不需要安装 FastDFS 依赖 libevent 库 yum yinstalllibe 运行时路径 在 linux 文件系统我们需要新建两个目录 一个目录为我们

    2026年3月26日
    2
  • InetAddress类[通俗易懂]

    InetAddress类[通俗易懂]基本概念1.InetAddress位于java.net包下2.InetAddress用来代表一个IP地址,一个InetAddress对象就代表着一个IP地址3.实例化InetAddress的方法是:调用InetAddress.getByName(Stringhost);4.获取IP对应的域名:用InetAddress的实例化对象调用getHostName();5.获取IP的地址:用In…

    2022年6月23日
    28
  • Bitmap MakeTransparent()方法

    Bitmap MakeTransparent()方法此方法是默认的颜色对此Bitmap通明定义如下:publicvoidMakeTransparent()没有返回值例如:MakeTransparent(_normalImage);private

    2022年7月4日
    22
  • Switch 语句

    Switch 语句

    2021年9月18日
    63
  • 搜索引擎Sorl

    搜索引擎Sorl什么是 Sorl 在介绍 Sorl 之前先了解一下什么是 Lucene Lucene 是一个开放源代码的全文检索引擎工具包 即它不是一个完整的全文检索引擎 而是一个全文检索引擎的架构 提供了完整的查询引擎和索引引擎 部分文本分析引擎 Solr 是一个开源搜索平台 主要用于构建搜索应用程序 它建立在 Lucene 全文搜索引擎 之上 nbsp Solr 是企业级的 快速的和高度可扩展的 使用 Solr 构建的应

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号