💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
文献来源:
摘要:
对于具有有限射频链路和基于相移器的模拟波束成形(BF)架构的大规模天线阵列的BF设计,已被认为是毫米波通信系统中的关键问题。在信息不完整的信道状态信息(CSI)情况下,这变得更具挑战性。在本信函中,我们提出了一种基于深度学习的BF设计方法,并开发了一种BF神经网络(BFNN),该网络可以被训练来学习如何优化波束形成器以在硬件限制和不完整CSI的情况下最大化频谱效率。模拟结果表明,所提出的BFNN在性能上取得了显著的改进,并对传统BF算法的不完整CSI表现出强大的稳健性。
我们提出了一种基于深度学习的BF设计方法,适用于具有大规模天线阵列的毫米波系统。通过在自定义的Lambda层和损失函数上进行一些特殊设计,所提出的BFNN可以很好地处理毫米波系统中的硬件限制和不完整CSI带来的挑战。模拟结果显示了BFNN的竞争性能,并为未来BF设计提供了宝贵的见解。至于未来的工作,由于BFNN的普遍性,将BFNN扩展到更复杂的BF问题是很有意义的。此外,类似于已有的研究作品中,在本研究中,所提出的BFNN中的层数和每层中的神经元数量主要是通过实证试验确定的,研究各层的物理意义也是很有趣的。
📚2 运行结果
部分代码:
import numpy as np
from utils2 import *
from tensorflow.python.keras.layers import *
from matplotlib import pyplot as plt
# ------------------------------------------
# Load and generate simulation data
# ------------------------------------------
path = 'train_set/example/test' # the path of the dictionary containing pcsi.mat and ecsi.mat
H, H_est = mat_load(path)
# use the estimated csi as the input of the BFNN
H_input = np.expand_dims(np.concatenate([np.real(H_est), np.imag(H_est)], 1), 1)
# H denotes the perfect csi
H = np.squeeze(H)
# generate SNRs associated with different samples
SNR = np.power(10, np.random.randint(-20, 20, [H.shape[0], 1]) / 10)
# -----------------------
# Construct the BFNN Model
# -----------------------
# imperfect CSI is used to output the vrf
imperfect_CSI = Input(name='imperfect_CSI', shape=(H_input.shape[1:4]), dtype=tf.float32)
# perfect_CSI is only used to compute the loss, and not required in prediction
perfect_CSI = Input(name='perfect_CSI', shape=(H.shape[1],), dtype=tf.complex64)
# the SNR is also fed into the BFNN
SNR_input = Input(name='SNR_input', shape=(1,), dtype=tf.float32)
temp = BatchNormalization()(imperfect_CSI)
temp = Flatten()(temp)
temp = BatchNormalization()(temp)
temp = Dense(256, activation='relu')(temp)
temp = BatchNormalization()(temp)
temp = Dense(128, activation='relu')(temp)
phase = Dense(Nt)(temp)
V_RF = Lambda(trans_Vrf, dtype=tf.complex64, output_shape=(Nt,))(phase)
rate = Lambda(Rate_func, dtype=tf.float32, output_shape=(1,))([perfect_CSI, V_RF, SNR_input])
model = Model(inputs=[imperfect_CSI, perfect_CSI, SNR_input], outputs=rate)
# the y_pred is the actual rate, thus the loss is y_pred, without labels
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
T. Lin and Y. Zhu, "Beamforming Design for Large-Scale Antenna Arrays Using Deep Learning," in IEEE Wireless Communications Letters, vol. 9, no. 1, pp. 103-107, Jan. 2020, doi: 10.1109/LWC.2019.2943466.
keywords: {Antenna arrays;Radio frequency;Channel estimation;Signal to noise ratio;Training;Array signal processing;Optimization;Deep learning (DL);millimeter wave (mmWave);beamforming (BF) design;large-scale antenna arrays;neural network (NN);beamforming neural network (BFNN)},
🌈4 Matlab、Python代码实现
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取