RCWA - 간단한 1D 이진 격자

G

Guest

Guest
안녕하세요,

제가 곤경하는 데 사용하고 시도하는 모델 간단한 1D 격자 이진, 금속 RCWA 방법과입니다.내가 pp 12, 사용 중이 배합을의 Moharam (JOSA. 1068)을.내가 격자 유전체와 실행 코드를 내, 내가 잘못> 1 명백한 경우, 복구 결과를 발표 반사를 얻을 내가 가치 복잡한 굴절에로의 변화 때 내 색인이 작동하지만,.제가 놓친거야 내 게시물 MATLAB 코드는 제가 아래에, 그 희망이 거기 실수 간단 해요.어떤 도움에 감사드립니다.감사 :함수 [연구, T의] = binaryGratingDiffractionTE (먹여 야지, NGR, nRD, nII, 람다, f를, 디, 람다, 세타, N)을

% 반환 반사 및 이진 격자 전송의 효율성을
%로 사용 rigurous 결합 파 해석 신문에서 기술을 주어진
% Moharam 등등.알.신문에서, "책정을위한 안정적이고 효율적인
격자, 바이너리 엄격한 결합 - 전파 분석 %의 구현 "
%의 JOSAA 12, 1068 (1995).
%
% 입력 : 굴절률이 사건 - 먹여 비행기
% NGR - 산마루에 색인 굴절률
% nRD - 홈 색인에 굴절
굴절률에 비행기를 출력 - %의 nII
% 람다 - 격자 기간
% f를 - 능선으로 분수 점령 시대
% d 개 - 격자의 높이
%의 람다 - 진공 빛 (으로 사건의 파장)
% 세타 - 각도 내려도 (정상에서)
% N - trunction 주문 (홀수)
% 출력 : 연구 - 반사 효율
% T를 - 전송 효율성
%의 [주문, 효율성]

라디안 각도로 변환 %
세타 = 세타 * 파이 / 180;

% 설정 순서 배열
)하는 경우 (모드 (N으로, 2) == 0
N = N 개의 1;
디스플레이 ( '주문 이상한되지 않음 : 계산에 의해 증대 1');

n은 ((1 - N)을

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="슬픈" border="0" />

아 - 1)) ';
m = (- (아 - 1) / 2

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="슬픈" border="0" />

아 - 1) / 2) ';
m0 = (아 - 1) / 2 1;

- 벡터 웨이브 %의 설정 : 이퀄라이저.6, 7
k0 = 2 * 파이 / 람다;
kxi = k0 .* (먹여 *의 죄를 (세타) - 고도 .* (람다 / 람다));
kIzi = conj (k0 .* Sqrt (먹여 야지 ^ 2 - (kxi/k0.) ^ 2));
kIIzi = conj (k0 .* Sqrt (nII ^ 2 - (kxi/k0.) ^ 2));

유전체의 격자 영역의 하모닉스 푸리에의 Calculatet %
% 참고 : MATLAB 대신 n 계산 죄를 (* N 개의 파이 정수 - 16 용 3.6739E) =이 ( /-)
의 % 0 ...오류 몇 가지 소스의 수도 수 있습니다.
엡실론 = (nRD ^ 2 - NGR ^ 2) .* 죄 (파이 * 바 .* N)을. / (파이 .* N)을;
엡실론 (N)을 = nRD ^ 2 * f를 NGR ^ 2 * (1 - f 옵션);

%가 매트릭스를 설정합니다 : EQ를합니다.16
KX = 참조하라 (kxi/k0);
로 E = 0 (N)을;
N에 대한 일본 = 1 :
이메일 (일본,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="미소" border="0" />

= 엡실론 (일본 : 일본 아 - 1);

이메일 = fliplr (이메일);
= KX * KX - 이메일;

%는 매트릭스 찾기 eigenvalues와 eigenvectors을
[승, 질문] = eig ( 'nobalance');
질문 = Sqrt (질문);
q를 = 참조하라 (질문);

%의 설정 매트릭스 브이
브이 = 승 * 질문;

방정식을위한 명령은 cp와 cm 매트릭스 %의 설정 : 이퀄라이저.19, 20, 22, 23
순이 = 참조하라 (kIzi/k0);
YII = 참조하라 (kIIzi/k0);
엑스 = 참조하라 (특급 (- k0 * * q를 d 개));
L은 = [전 * 히 * 승 V를를,은 (i * 순이 * 승 - 브이) * 엑스 (브이 - 난 * YII * 승) * 엑스 - V를 - 난 * YII * 승의];
연구 = [0 (m0 - 1, 1); 난 * (kIzi (m0) / k0 먹여 * 즐기자 (세타)); 0 (N m0 - 1, 1)];

% 해결 방정식
C = 난 \ 연구;
%는 C = pinv (패) * 연구;

% 1 리 찾기 : EQ를합니다.21
LR1 = [눈 (N)을; - 난 * 순이];
RR1 = [승, 승 * 엑스, 브이, - V를 * 엑스] * C - [0 (m0 - 1, 1); 1; 0 (m0 - 1, 1); 0 (m0 - 1, 1); 난 * 뼈가 (세타) ※ 먹여; 0 (m0 - 1, 1)];
아일랜드 = LR1 \ RR1;
DEri = 아일랜드 .* conj (아일랜드) .* 실제 (kIzi / (k0 *를 먹여 * 즐기자 (세타)));
연구 = [래트, DEri];

%가 티 찾기 : EQ를합니다.24
LT1은 = [눈 (N)을; 난 * YII];
RT1 = [승 * 엑스 승; 브이 * 엑스 - V를 정보] * C;
TI의 = LT1 \ RT1;
DEti = TI의 .* conj (TI가) .* 실제 (kIIzi / (k0 *를 먹여 * 즐기자 (세타)));
T는 = [m, DEti];

 
나) 모드에서 (그러나, 나는 오전 오전 둘다 비슷한 문제에서 작업 TM을.인덱스나요 당신이 사용하는 복잡한 굴절과 문제를 해결 적?

당신은 종이라고 당신이 Moharam의의 결과를 재현할 수있게 어디합니다.어떤 값을 사용 했지?나는이 그림 nRD 준다 가치에 대한 nII, 니더작센, 그리고 세타 나.무슨 가치가 NGR 않았 사용 당신은?줄 수있는 당신이지도는 크게 감사합니다.감사합니다.

 
그래 ...그것은 MATLAB 방법으로 가지고하려면 어떻게 뿌리를 필요 정사각형; 복잡한 nII 기본적 대한 당신 kIIzi에 conj 나가야 제거해야합니다.

그러나, 나는 발견 정말 끔찍한있는이 수렴합니다.파장는 20 공기 격자를 위해 금을 nm의 가시와, 작업, 난 수렴을위한 401 = N 같은 필요한 뭔가를 계속.그게 가능한이 방법을 보상하기 위해 데려 오래.

당신이 마음처럼 안 그래도 한, 절연체와 협력 ...

 
파일을 수있는 기능이 게시 실제 MATLAB의 일부는 기호의 현재 없습니다.

또한, permittivities 수있다 복잡한 함수를 사용하여이 당신이 전화 게시 당신의 예제를 어떻게?아니 그 결과,하지만, 당신은 수렴 걸리는 긴 시간을 그 말을 그냥 입력 매개 변수 : 먹여 야지, NGR, nRD, nII, 람다, f를, 디, 람다, 세타, N

감사합니다!

 
내가 대신 생각한다 그것은 conj (먹여) 먹여 ^ 2위한 NI *. 요소 그래서 매트릭스 실제와 E는 대칭 여전히 수도 있습니다.

 

Welcome to EDABoard.com

Sponsor

Back
Top