等效介质理论模型---利用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为各种网站写脚本做解析, 但是 ...
随机推荐
- 入职大厂,齐姐精选的 9 道 Java 集合面试题
Java 集合框架其实都讲过了,有一篇讲 Collection 的,有一篇讲 HashMap 的,那没有看过的小伙伴快去补下啦,文末也都有链接:看过的小伙伴,那本文就是检测学习成果的时候啦 今天这篇文 ...
- RHSA-2018:0151-重要: 内核 安全和BUG修复更新(需要重启、存在EXP、本地提权)
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...
- 扩展、接管MVC都不会,还会用Spring Boot?
持续原创输出,点击上方蓝字关注我 目录 前言 Spring Boot 版本 如何扩展MVC? 如何自定义一个拦截器? 什么都不配置为什么依然能运行MVC相关的功能? 如何全面接管MVC?[不推荐] 为 ...
- [tip:,x86/urgent] x86: Fix early boot crash on gcc-10, third try
[tip:,x86/urgent] x86: Fix early boot crash on gcc-10, third try https://lore.kernel.org/patchwork ...
- win10 home安装docker快速攻略
本文适用于win10 Home用户,专业版和企业版直接见官网.win7版本见Docker Toolbox. 安装清单 软件 说明 Docker Desktop Installer 步骤介绍页:http ...
- IP协议那些事
IP协议作为通信子网的最高层.提供无连接的数据报传输机制. IP协议的作用 寻址和路由 传递服务:提供不可靠,无连接的服务. 为什么说IP协议不可靠.无连接 不可靠:是指不能保证IP数据包能成成功到达 ...
- day55 Pyhton 前端Jquery07
昨日回顾: 表单,点击submit提交以后,服务端受到信息 import socket import pymysql from urllib.parse import unquote def run( ...
- 带权二分图最大匹配KM算法
二分图的判定 如果一个图是连通的,可以用如下的染色法判定是否二分图: 我们把X部的结点颜色设为0,Y部的颜色设为1. 从某个未染色的结点u开始,做BFS或者DFS .把u染为0,枚举u的儿子v.如果v ...
- Docker下部署springboot项目
1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...
- linux(centos8): 临时关闭/永久关闭交换分区swap?
一,为什么要关闭swap? 1,swap的用途? swap 分区就是交换分区,(windows平台叫虚拟内存) 在物理内存不够用时, 操作系统会从物理内存中把部分暂时不被使用的数据转移到交换分区, 从 ...