等效介质理论模型---利用S参数反演法提取超材料结构的等效参数

S参数反演法,即利用等效模型的传输矩阵和S参数求解超材料结构的等效折射率n和等效阻抗Z的过程。本文对等效介质理论模型进行了详细介绍,并提供对应代码。

超材料的传输矩阵

超材料结构的传输矩阵函数为:



其中,d 为等效光学活性材料的厚度,n 为折射率,Z 表示阻抗。

S参数和传输矩阵T

超材料结构的S参数和传输矩阵T满足下列方程:



利用以上两式,可以得到等效折射率n和相对阻抗的表达式



至此,超材料的等效介电常数与等效磁导率可通过阻抗与折射率进行表征,

其表达式为:



对应代码

clc;
clear;
S11r = importdata('real11.txt'); %导出的S11参数实部
S11i = importdata('imag11.txt'); %导出的S11参数虚部
S21r = importdata('real21.txt'); %导出的S21参数实部
S21i = importdata('imag21.txt'); %导出的S21参数虚部
real11 = S11r.data;
imag11 = S11i.data;
real21 = S21r.data;
imag21 = S21i.data;
N = 1001;
d = 5e-3; %超材料结构的厚度
c = 3e8;
for i = 1 : N
f(i) = real11(i,1);
s11(i) = real11(i,2) + j * imag11(i,2);
s21(i) = real21(i,2) + j * imag21(i,2);
end
for i = 1 : N
z1(i) = sqrt(((1+s11(i))^2 - s21(i)^2)./((1-s11(i))^2 - s21(i)^2));
if real(z1(i))>0
z(i) = z1(i);
else
z(i) = -z1(i);
end
kd(i) = d * 2 * pi * f(i) * 1e9/c;
n1(i) = acos(((1-s11(i))^2 + s21(i)^2)/2/s21(i))/kd(i);
if imag(n1(i))>0
n(i) = n1(i);
else
n(i) = -n1(i);
end
e(i) = n(i)/z(i);
miu(i) = n(i) * z(i);
end
figure %绘图
plot(f,real(z)); hold on; plot(f,imag(z),'r');
figure
plot(f,real(n)); hold on; plot(f,imag(n),'r');
figure
plot(f,real(e)); hold on; plot(f,imag(e),'r');
figure
plot(f,real(miu)); hold on; plot(f,imag(miu),'r');

[1] Chen X, Grzegorczyk T M, Wu B I, et al. Robust method to retrieve the constitutive effective parameters of metamaterials[J]. Physical Review E, 2004, 70(1): 016608.

[2]张克潜, 李德杰. 微波与光电子学中的电磁理论(第二版). 北京电子工业出版社,

2001, 110–166.

等效介质理论模型---利用S参数反演法提取超材料结构的等效参数的更多相关文章

  1. 【Python3爬虫】反反爬之破解同程旅游加密参数 antitoken

    一.前言简介 在现在各个网站使用的反爬措施中,使用 JavaScript 加密算是很常用的了,通常会使用 JavaScript 加密某个参数,例如 token 或者 sign.在这次的例子中,就采取了 ...

  2. C语言利用va_list、va_start、va_end、va_arg宏定义可变参数的函数

    在定义可变参数的函数之前,先来理解一下函数参数的传递原理: 1.函数参数是以栈这种数据结构来存取的,在函数参数列表中,从右至左依次入栈. 2.参数的内存存放格式:参数的内存地址存放在内存的堆栈段中,在 ...

  3. 利用sfntly的sfnttool.jar提取中文字体

    雨忆博客中提到了sfntly(具体介绍可以看:https://code.google.com/p/sfntly/),利用其中sfnttool.jar就可以提取只包含指定字符的字体,如果想在页面中通过@ ...

  4. MySQL 利用frm文件和ibd文件恢复表结构和表数据

    文章目录 frm文件和ibd文件简介 frm文件恢复表结构 ibd文件恢复表数据 通过脚本利用ibd文件恢复数据 通过shell脚本导出mysql所有库的所有表的表结构 frm文件和ibd文件简介 在 ...

  5. 【前端】提取URL中的各个GET参数

    /**************************** * 有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xx ...

  6. JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇

    前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例.多参数获取,相应博文敬请参阅 简单实例.多参数获取. 此文主要讲述如何引用正则表达式提取器获取的数据信息.其实,正则表达式提取器获 ...

  7. @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不

    @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中 2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不加@那么需要用一些转义符\来显示一些特 ...

  8. spring参数类型异常输出(二), SpringMvc参数类型转换错误输出(二)

    spring参数类型异常输出(二), SpringMvc参数类型转换错误输出(二) >>>>>>>>>>>>>>&g ...

  9. 利用Readability解决网页正文提取问题

    分享: 利用Readability解决网页正文提取问题   做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢? - 如何从各式各样的网页中提取正文!? 虽然可以用SS为各种网站写脚本做解析, 但是 ...

随机推荐

  1. Bayer Pattern——RGGB

    原博客地址:https://blog.csdn.net/joe9280/article/details/46952947 参考:https://blog.csdn.net/wgx571859177/a ...

  2. Zyan Drench,支持Wifi的Android游戏

    下载source - 298 KB 介绍 "雨淋"是一款最初使用Adobe Flash开发的单人游戏(你可以试试谷歌一下"世界上最简单的Flash游戏").它相 ...

  3. HTTPS证书知识扫盲

    1. 前言 现在搞网站域名不加个HTTPS就显得不专业,特别在使用JWT进行认证的接口一定要加HTTPS为你的接口增加一层安全屏障.今天就来聊聊配置HTTPS的关键SSL证书,也被称为CA证书. 2. ...

  4. springboot2.2.2企业级项目整合redis与redis 工具类大全

    1.springboot2.2.2整合redis教程很多,为此编写了比较完整的redis工具类,符合企业级开发使用的工具类 2.springboot与redis maven相关的依赖 <depe ...

  5. web自动化测试总结

    web自动化: 1.测试用例(操作步骤,熟读需求文档,web项目先用手工研究,前置条件,预期结果) 接口自动化测试中数据功能最适合作为数据驱动,数据放在excel中需要操作excel 为什么web自动 ...

  6. laravel设置excel高度

    <?php use App\Services\UploadService; use Maatwebsite\Excel\Facades\Excel; class ExcelTest extend ...

  7. zookeeper在生产环境中的配置(zookeeper3.6)

    一,zookeeper中日志的配置 1,快照文件snapshot的目录: dataDir=/data/zookeeper/data 存储快照文件snapshot的目录.默认情况下,事务日志也会存储在这 ...

  8. 论文学习笔记 - Classifification of Hyperspectral and LiDAR Data Using Coupled CNNs

    Classifification of Hyperspectral and LiDAR Data Using Coupled CNNs 来源:IEEE TGRS 2020 下载:https://arx ...

  9. GDB常用调试命令(二)

    GDB信号处理 在GDB中使用handle命令定义一个信号处理.信号可以以SIG开头或不以 SIG开头,可以用定义一个要处理信号的范围(如:SIGIO-SIGKILL,表示处理从SIGIO信号到SIG ...

  10. 关于 Deployer 部署结构

    Deployer 部署完成后,在服务器上的结构会是这样子: drwxr-sr-x 5 deployer www-data 4096 Jun 14 09:53 ./ drwxr-sr-x 6 deplo ...