产生信道因子-h

信号服从瑞利衰落,\LARGE h_{S,T}=\sqrt{\kappa }*\widehat{h}_{S,T}是从源节点到目的节点的信道因子,

其中,\large \widehat{h}_{S,T}~C_{N}(0,\sigma_{S,T}^{2})是瑞利衰减系数,服从复高斯分布,\large \kappa =\frac{\lambda }{4\pi D_{S,T}}是路径损失因子,\large D_{S,T}是源节点到接收端的距离,\large \lambda是信号波长。

import numpy as np
import math
from numpy import mat
N= 1#目的节点个数
lam=0.1
def decay():
    #目的节点在rS-dor的圆环内随机分布
    r_outside=1.2

    S = np.random.random(N) * 2 * np.pi - np.pi
    r_inside=0#内部环

    x = np.cos(S)
    y = np.sin(S)

    for i in range(N):
        l = r_inside+r_outside*np.sqrt(np.random.random())
        x[i] = x[i] * l
        y[i] = y[i] * l

    dis =np.zeros((1,N))
    for j in range(N):
        dis[0,j]=np.sqrt((x[j])**2+(y[j])**2)

    for i in range(N):
        dis[0,i]=((lam/(4*math.pi)/dis[0,i]))
    return dis

if __name__ == '__main__':
    time=50000 #产生time条数据
    H=[]

    for i in range(time):
        r1=mat(np.random.normal(0,1,N))
        r2=1/pow(2,1/2)
        real = r1*r2
        h=[]

        i1=mat(np.random.normal(0,1,N))
        i2=1/pow(2,1/2)
        Imaginary=i2*i1

        R_deacy = decay()

        for j in range(0,N):
            c=complex(real[0,j],Imaginary[0,j])
            d=c*R_deacy [0,j]
            h.append((abs(d)))#准确的信道增益

        #print('一个信道',h)
        H.append(np.array(h))

    print('H',H[:10])

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值