超材料小型宽带高增益贴片天线设计

需积分: 10 1 下载量 4 浏览量 更新于2024-08-13 收藏 1.46MB PDF 举报
本文介绍了一种创新的小型化宽带高增益Metamaterial贴片天线的设计方法,该研究发表于2012年。Metamaterials是一种特殊的二维材料结构,其特性超越了自然界的常规物理定律,如负折射率和超薄厚度等。在这个设计中,研究人员利用Metamaterial的概念,通过在天线贴片上蚀刻周期互补的开裂环和在地面上蚀刻条形缝隙,实现了天线尺寸的显著缩小,同时保持了较高的辐射效率。 原始天线的谐振中心频率为研究对象,经过改进后,这个频率降低了36.4%,这意味着新的天线能够在更低的频率范围内工作,从而拓宽了其工作带宽。初始带宽为2.9%,经过Metamaterial结构的优化后,扩展到了39.9%,这极大地提升了天线的频率响应范围,对于信号传输具有重要意义。 此外,新设计的天线还具有较低的电压驻波比,这是衡量天线性能的重要指标,低驻波比意味着信号传输更为稳定,减少了能量损失。实验证明,实验结果与仿真结果高度吻合,这表明设计方法的有效性和可靠性。 Metamaterial结构的一个关键特性是其左手特性,即在某些特定频率下,它的电磁响应与自然材料相反。这导致了天线辐射场的主要方向发生了变化,从传统的垂直方向转向了水平方向。这一独特特性使得这种小型化贴片天线在空间应用中可能具有更好的方向性控制和覆盖能力。 本文的研究成果对无线通信领域具有重要的理论和实践价值,特别是在便携设备、卫星通信和雷达系统等方面,它可能推动天线设计向着更小、更轻、更高效的方向发展。通过这篇论文,作者刘涛等人不仅展示了Metamaterial技术在天线设计中的潜力,也为后续研究提供了新的思路和技术路线。

解释import tensorflow as tf from im_dataset import train_image, train_label, test_image, test_label from AlexNet8 import AlexNet8 from baseline import baseline from InceptionNet import Inception10 from Resnet18 import ResNet18 import os import matplotlib.pyplot as plt import argparse import numpy as np parse = argparse.ArgumentParser(description="CVAE model for generation of metamaterial") hyperparameter_set = parse.add_argument_group(title='HyperParameter Setting') dim_set = parse.add_argument_group(title='Dim setting') hyperparameter_set.add_argument("--num_epochs",type=int,default=200,help="Number of train epochs") hyperparameter_set.add_argument("--learning_rate",type=float,default=4e-3,help="learning rate") hyperparameter_set.add_argument("--image_size",type=int,default=16*16,help="vector size of image") hyperparameter_set.add_argument("--batch_size",type=int,default=16,help="batch size of database") dim_set.add_argument("--z_dim",type=int,default=20,help="dim of latent variable") dim_set.add_argument("--feature_dim",type=int,default=32,help="dim of feature vector") dim_set.add_argument("--phase_curve_dim",type=int,default=41,help="dim of phase curve vector") dim_set.add_argument("--image_dim",type=int,default=16,help="image size: [image_dim,image_dim,1]") args = parse.parse_args() def preprocess(x, y): x = tf.io.read_file(x) x = tf.image.decode_png(x, channels=1) x = tf.cast(x,dtype=tf.float32) /255. x1 = tf.concat([x, x], 0) x2 = tf.concat([x1, x1], 1) x = x - 0.5 y = tf.convert_to_tensor(y) y = tf.cast(y,dtype=tf.float32) return x2, y train_db = tf.data.Dataset.from_tensor_slices((train_image, train_label)) train_db = train_db.shuffle(100).map(preprocess).batch(args.batch_size) test_db = tf.data.Dataset.from_tensor_slices((test_image, test_label)) test_db = test_db.map(preprocess).batch(args.batch_size) model = ResNet18([2, 2, 2, 2]) model.build(input_shape=(args.batch_size, 32, 32, 1)) model.compile(optimizer = tf.keras.optimizers.Adam(lr = 1e-3), loss = tf.keras.losses.MSE, metrics = ['MSE']) checkpoint_save_path = "./checkpoint/InceptionNet_im_3/checkpoint.ckpt" if os.path.exists(checkpoint_save_path+'.index'): print('------------------load the model---------------------') model.load_weights(checkpoint_save_path) cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_save_path,save_weights_only=True,save_best_only=True) history = model.fit(train_db, epochs=500, validation_data=test_db, validation_freq=1, callbacks=[cp_callback]) model.summary() acc = history.history['loss'] val_acc = history.history['val_loss'] plt.plot(acc, label='Training MSE') plt.plot(val_acc, label='Validation MSE') plt.title('Training and Validation MSE') plt.legend() plt.show()

2023-05-11 上传