遍历衰落,快衰落,拟静态衰落信道

2024-03-27 05:44
文章标签 遍历 静态 信道 衰落

本文主要是介绍遍历衰落,快衰落,拟静态衰落信道,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一. 信道模型

二. 参数模型

三. 遍历衰落信道模型

四. 块衰落信道模型

五. 拟静态衰落信道模型

六. 小结


一. 信道模型

在无线通信中,讨论物理层安全常用的模型如下:

上图中,M代表原始消息,X代表ALICE编码后的码字,n代表码长,H的下标m代表主信道,H下标e代表窃听信道,H代表信道,Y代表BOB收到的码字,Z代表EVE收到的码字,N代表信道噪声,ALICE代表发送方,BOB代表合法接收方,EVE代表窃听方。BOB端M的上标有个^号,代表BOB译码出的信息有可能会发生错误。

在窃听信道模型中,我们很关心安全容量(secrecy capacity)等参数。

信道容量Channel capacity)是指在一个信道中能够可靠地传送信息时可达速率的最小上界。所谓可靠传输指的是可以以任意小的错误率传递信息。根据有噪信道编码定理,信道容量是可以误差概率任意小地达到的给定信道的极限信息率。信道容量的单位为比特每秒、奈特每秒等等。

香农在第二次世界大战期间发展出信息论,为信道容量提了定义,并且提供了计算信道容量的数学模型。香农指出,信道容量是信道的输入与输出的互信息量的最大值,而相应的输入分布称为最佳输入分布。

有噪信道编码定理表明,对任意的ε > 0以及传输速率R小于信道容量C,在块长度足够大的情况下,总有一种在速率为R下传输的编码和解码方案,它的误差概率小于ε。另外,对于任何大于信道容量的速率,随着块长度趋近于无穷,接受者的误差概率也趋于1。

【此段摘录自维基百科】

ALICE与BOB之间的信道其实就是衰落信道(fading channel),定量为一个随机的复数乘法系数H_m,复加性高斯白噪声N_m与其分布独立。信道H中的数又被称之为衰落系数(fading coefficient),此处所谓的衰落则主要来源于无线通信中的多径干涉(multipath interference)。简单来说就是模型抽象为y=Hx+N。信道为乘性,噪声为加性就是这么来的。

衰落系数的平方又被称之为衰落增益(fading coefficient),如下:

类似的,ALICE与EVE之间的信道也是衰落信道,衰落系数记为:

H_e

衰落增益为:

加性高斯白噪声为N_e

在连续信道模型中,相干时间(coherence interval)代表衰落系数保持恒定的时间。通常在论文中,一般会认为窃听信道与主信道的相干时间相等,如下写为:

二. 参数模型

根据上面讨论中的信道模型,BOB端的接收信号为:

EVE端的接收信号为:

下标中的i代表channel use。注意跟码长n区分开来。

以上公式中,不管是BOB还是EVE,H与N均为相互独立。

当然,根据常规通信理论,信道的输入信号需要满足功率限制,也就是:

通常,两个噪声均服从复高斯分布,也就是:

终于,回到了我们的重点。

对于不同的衰落模型,其实就是信道H的统计分布特征不一样。在无线信道中,主要有三种标准的衰落信道模型。

三. 遍历衰落信道模型

Ergodic-fading model:遍历衰落信道模型

不管是EVE端还是BOB端,信道衰落系数在不断改变,换句话说一个码字(codeword)会经历很多的衰落系数。

四. 块衰落信道模型

Block-fading model:块衰落信道模型

比如以N为一块,在该块内码字对应的信道是一样的。不同的块(block)之间信道是不同的。

五. 拟静态衰落信道模型

Quasi-static fading model:拟静态衰落信道模型

在整个码字传输过程中,该模型对应的信道是一个常数,保持不变。当然,按照正常逻辑,不同码子之间的信道还是会改变的。

六. 小结

我们通常所说的瑞利衰落(Rayleigh fading),指的是信道系数服从复高斯分别,且主信道和窃听信道之间是互相独立的,如下:

将信道系数平方就可以得到衰落增益(fading gain),如下:

根据统计学相关知识,衰落增益的均值可以直接计算为,如下:

噪声的分布对全局人已知,也就是ALICE,BOB和EVE都各自知道信道噪声服从高斯分布。按照无线通信理论,BOB需要知道主信道系数h,以便进行译码。

考虑最坏的情况,EVE不仅知道窃听信道系数,也知道主信道系数,由此可定义信息泄漏率(information leakage)为:

上式子是一个典型的条件互信息的计算公式。

n代表码长。

M代表原始信息。

Z代表EVE端收到的信息。

H是信道系数,也就是信道状态信息(channel state information)

C代表码本,通常为全局公开。

这篇关于遍历衰落,快衰落,拟静态衰落信道的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/851106

相关文章

Thymeleaf:生成静态文件及异常处理java.lang.NoClassDefFoundError: ognl/PropertyAccessor

我们需要引入包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>sp

leetcode105 从前序与中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3/ \9 20/ \15 7   class Solution {public TreeNode buildTree(int[] pr

PHP实现二叉树遍历(非递归方式,栈模拟实现)

二叉树定义是这样的:一棵非空的二叉树由根结点及左、右子树这三个基本部分组成,根据节点的访问位置不同有三种遍历方式: ① NLR:前序遍历(PreorderTraversal亦称(先序遍历)) ——访问结点的操作发生在遍历其左右子树之前。 ② LNR:中序遍历(InorderTraversal) ——访问结点的操作发生在遍历其左右子树之中(间)。 ③ LRN:后序遍历(PostorderT

C++/《C++为什么要有静态成员函数》

摘要        本文说明了什么是静态成员变量,什么是静态成员函数的概念,讨论了访问私有静态成员变量的三个方法。得出用静态成员函数访问静态私有成员变量是最佳方法即回答了“C++为什么要有静态成员函数“的问题。 类的静态成员 我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。静态成员在类的所有对象中是

react笔记 8-17 属性绑定 class绑定 引入图片 循环遍历

1、绑定属性 constructor(){super()this.state={name:"张三",title:'我是一个title'}}render() {return (<div><div>aaaaaaa{this.state.name}<div title={this.state.title}>我是一个title</div></div></div>)} 绑定属性直接使用花括号{}   注

c++的静态变化!

静态成员   对于非静态成员,一个类的每个对象都自己存有一个副本,每个对象根据自己拥有的非静态的数据成员来区别于其他对象。而静态成员则解决了同一个类的多个对象之间数据和函数的共享问题。   静态数据成员   静态数据成员的作用是:实现同一类的不同对象之间的数据共享。   #include<IOSTREAM>   using namespace std;   class Po

本地如何快速启动静态服务器

本地快速启动静态服务器 有许多第三方库可以帮助你快速启动一个静态服务器,甚至无需编写代码。通过命令行运行这些库后,它们会自动启动一个服务器并打开指定端口,展示当前目录下的文件内容: 电脑得提前安装NodeJS 1、http-server http-server 是一个轻量级的命令行工具,允许你快速启动一个静态文件服务器。 安装 npm install -g http-server

hashmap的存值,各种遍历方法

package com.jefflee;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class HashmapTest {// 遍历Hashmap的四种方法public static void main(String[] args) {//hashmap可以存一个null,把

Knight Moves -uva 简单的BFS遍历

昨天刚学了BFS的遍历,在uva上找了个题敲了出来,感觉还不错,最近敲代码挺有手感的,希望这种状态保持下去 #include<iostream>#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX_SIZE 10 + 5#define LEN 100 + 10using namespace std;in

笔试强训,[NOIP2002普及组]过河卒牛客.游游的水果大礼包牛客.买卖股票的最好时机(二)二叉树非递归前序遍历

目录 [NOIP2002普及组]过河卒 牛客.游游的水果大礼包 牛客.买卖股票的最好时机(二) 二叉树非递归前序遍历 [NOIP2002普及组]过河卒 题里面给的提示很有用,那个马的关系,后面就注意,dp需要作为long的类型。 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息publ