等效介质理论模型---利用S参数反演法提取超材料结构的等效参数
等效介质理论模型---利用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参数反演法提取超材料结构的等效参数的更多相关文章
- 【Python3爬虫】反反爬之破解同程旅游加密参数 antitoken
一.前言简介 在现在各个网站使用的反爬措施中,使用 JavaScript 加密算是很常用的了,通常会使用 JavaScript 加密某个参数,例如 token 或者 sign.在这次的例子中,就采取了 ...
- C语言利用va_list、va_start、va_end、va_arg宏定义可变参数的函数
在定义可变参数的函数之前,先来理解一下函数参数的传递原理: 1.函数参数是以栈这种数据结构来存取的,在函数参数列表中,从右至左依次入栈. 2.参数的内存存放格式:参数的内存地址存放在内存的堆栈段中,在 ...
- 利用sfntly的sfnttool.jar提取中文字体
雨忆博客中提到了sfntly(具体介绍可以看:https://code.google.com/p/sfntly/),利用其中sfnttool.jar就可以提取只包含指定字符的字体,如果想在页面中通过@ ...
- MySQL 利用frm文件和ibd文件恢复表结构和表数据
文章目录 frm文件和ibd文件简介 frm文件恢复表结构 ibd文件恢复表数据 通过脚本利用ibd文件恢复数据 通过shell脚本导出mysql所有库的所有表的表结构 frm文件和ibd文件简介 在 ...
- 【前端】提取URL中的各个GET参数
/**************************** * 有这样一个URL:http://item.taobao.com/item.htm?a=1&b=2&c=&d=xx ...
- JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇
前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例.多参数获取,相应博文敬请参阅 简单实例.多参数获取. 此文主要讲述如何引用正则表达式提取器获取的数据信息.其实,正则表达式提取器获 ...
- @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不
@有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中 2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不加@那么需要用一些转义符\来显示一些特 ...
- spring参数类型异常输出(二), SpringMvc参数类型转换错误输出(二)
spring参数类型异常输出(二), SpringMvc参数类型转换错误输出(二) >>>>>>>>>>>>>>&g ...
- 利用Readability解决网页正文提取问题
分享: 利用Readability解决网页正文提取问题 做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢? - 如何从各式各样的网页中提取正文!? 虽然可以用SS为各种网站写脚本做解析, 但是 ...
随机推荐
- TP5 调用快递鸟api 查询快递信息
1,去快递鸟,下载sdk https://www.kdniao.com/api-track 下载PHPsdk 2,下载下来的事PHP文件,不是以类的形式显示的,所以为了方便,我把他封装成了类,不需要封 ...
- C#实例 武汉肺炎全国疫情实时信息图
如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! ! --------------------------- ...
- Solr单机安装
Solr单机安装 一.下载 自行到官网下载所需版本即可,我这里使用的是solr-7.1.0solr官网:http://archive.apache.org/dist/lucene/solr/ 二.安装 ...
- EDI模拟实验
EDI模拟实验 [实验目的] ⑴.了解EDI报文的格式和特点. ⑵.掌握EDI报文生成和发送流程. [实验条件] ⑴.个人计算机一台,预装Windows XP操作系统和浏览器 ⑵.计算机通过局域网形式 ...
- pytest文档50-命令行参数--durations统计用例运行时间
前言 写完一个项目的自动化用例之后,发现有些用例运行较慢,影响整体的用例运行速度,于是领导说找出运行慢的那几个用例优化下. --durations 参数可以统计出每个用例运行的时间,对用例的时间做个排 ...
- 新手学习C语言/C++编程你所必须要了解的知识!从计算机原理开始!
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- 【不知道怎么分类】HDU - 5963 朋友
题目内容 B君在围观一群男生和一群女生玩游戏,具体来说游戏是这样的: 给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根.接下来从女生开始 ...
- beego log
package main import ( "github.com/astaxie/beego/logs" _ "xcms/routers" _ "x ...
- ThreeJS学习6_几何体相关(BufferGeometry)
ThreeJS学习6_几何体相关(BufferGeometry) 使用 BufferGeometry 可以有效减少向 GPU 传输几何体相关数据所需的开销 可以自定义顶点位置, 面片索引, 法向量, ...
- Python开发 常见异常和解决办法
1.sqlalchemy创建外键关系报错property of that name exists on mapper SQLAlchemy是Python编程语言下的一款开源软件,提供了SQL工具包及对 ...