Пролог
Всего несколько дней go Мне нужно было именно это, когда я обновлял свои спектроскопы с CD / DVD до BluRay решеток. Дифракционные углы не соответствовали моим настройкам angular с новыми решетками, поэтому мне нужно было увидеть, где именно будет отражен используемый спектр. Поэтому я сделал симуляцию, чтобы показать и подготовить новую конструкцию конфигурации для моих устройств ...
Хорошо известная формула для отражающих решеток:
sin(a)+sin(b)=m*lambda/d
где:
a
угол между решеткой нормального и входящего света в [rad]
b
угол между решеткой нормального и дифрагированного или отраженного света b
в [rad]
m
- степень дифракции (m=0
- простое отражение)
lambda
- длина волны света [m]
d
- расстояние между дорожками решетки в [m]
.
здесь простые вычисления на C ++
void grating(double lambda,double d,double a) // [nm], [nm], [rad]
{
double m,b;
int cnt=0;
for (m=-3;m<=3;m++)
if (m)
{
b=(m*lambda/d)-sin(a);
if (fabs(b)>1.0) continue;
b=asin(b);
// here `b` is output light angle
}
}
здесь предварительный просмотр для моделирования d=1.6um
(решетка с CD) на основе этого:
Выполнено с использованием простых 2D-лучей и RGB значений видимого спектра
Горизонтальная белая линия, идущая слева от решетки, является источником света. Длина дифрагированных лучей указывает на m
, так как вы можете видеть некоторое перекрытие. Чем выше d
, тем больше это происходит.
Похоже, что формула и симуляция соответствуют реальным решеткам, сделанным из:
- CD
d=1.60um
- DVD
d=0.72um
- BR
d=0.32um
, которые я использую для своих домашних спектроскопов. Остерегайтесь нелинейных треков, которые оказывают значительное влияние на результат дифракции. Углы не меняются, однако форма и четкость меняется ...
Если у вас есть рефракционные решетки, тогда я не знаю, если формула останется прежней или поверх нее применяется закон Снелла. Извините, но у меня нет опыта работы с такими решетками ...