Буду ждать очередного возмущения ионосферы
Огромное Спасибо !
Наглядно видно зависимость калибровки от типа пассивной антенны.
Буду ждать очередного возмущения ионосферы
Огромное Спасибо !
Наглядно видно зависимость калибровки от типа пассивной антенны.
Не очень частое явление
Поэтому и была приведена статья - http://russianspacesystems.ru/wp-content/uploads/2019/10/1_p3_0603.pdf. Простой алгоритм, позволяющий любому потребителю СДКМ в независимости от приёмника и антенны вычислить свои ICB в режиме реального времени.
You can use here any other language. As i understand it, the fake chinese M8N modules use smaller SPI flash chips than the usual 16Mbit and it creates problems with the newer firmware versions,
because they assume a certain layout with fixed data block offsets.
There are 2 possible ways to get raw GPS data with M8N firmware v3.01:
use a modified firmware or decode the obfuscated “secure” output.
Both need a modified rtklib version with the recursive UBX packet parser
and the second option requires 2 128bit keys: for bit XOR and permutation.
I have no experience with the M8P firmware on M8N, and have already moved
to M9N and F9x.
Версию RTKLIB в которой встроен этот алгоритм планируете выкладывать ?
Thank you for that comprehensive answer.
I think that, while waiting to be able to purchase a suitable receiver natively for use with RTKLIB, I will study these modifications you have indicated, as I have already said I like to learn.
Thank you again
вместо ionmodel подставляю свою ionmodel_sim выверенную в GPS симуляторе klobuchar model и сравниваем сразу все три
sat= 8 el= 5.2 -> ion_old=4.52 ion_sim=4.52 ion_sbas=3.56
sat=10 el=10.4 -> ion_old=5.54 ion_sim=4.02 ion_sbas=4.15
sat=27 el=12.8 -> ion_old=3.89 ion_sim=3.81 ion_sbas=3.05
sat=13 el=15.5 -> ion_old=4.49 ion_sim=3.60 ion_sbas=3.60
sat=29 el=16.4 -> ion_old=5.63 ion_sim=3.53 ion_sbas=3.61
sat=21 el=18.4 -> ion_old=3.89 ion_sim=3.38 ion_sbas=2.89
sat=15 el=25.8 -> ion_old=4.06 ion_sim=2.89 ion_sbas=2.85
sat=26 el=36.1 -> ion_old=3.23 ion_sim=2.36 ion_sbas=2.20
sat=10 el=36.3 -> ion_old=3.34 ion_sim=2.35 ion_sbas=2.27
sat=27 el=36.6 -> ion_old=2.80 ion_sim=2.34 ion_sbas=2.12
sat=21 el=40.4 -> ion_old=2.77 ion_sim=2.18 ion_sbas=1.99
sat=16 el=47.4 -> ion_old=2.49 ion_sim=1.95 ion_sbas=1.79
sat=26 el=53.2 -> ion_old=2.18 ion_sim=1.81 ion_sbas=1.55
sat=18 el=63.8 -> ion_old=2.17 ion_sim=1.63 ion_sbas=1.60
sat=20 el=67.1 -> ion_old=2.18 ion_sim=1.59 ion_sbas=1.55
sat=18 el=88.5 -> ion_old=1.84 ion_sim=1.50 ion_sbas=1.25
наглядно видно что в ionmodel RTKLIB bug
вместо ionmodel подставляю свою ionmodel_sim выверенную в GPS симуляторе klobuchar model и сравниваем сразу все три
наглядно видно что в ionmodel RTKLIB bug
Ничего не понятно :). Что за баг? Что означает “выверенную в GPS симуляторе klobuchar model”?
2002_ivan:вместо ionmodel подставляю свою ionmodel_sim выверенную в GPS симуляторе klobuchar model и сравниваем сразу все три
наглядно видно что в ionmodel RTKLIB bugНичего не понятно :). Что за баг? Что означает “выверенную в GPS симуляторе klobuchar model”?
ionmodel имеет баг в реализации klobuchar model который расписан весьма детально
Алгоритм есть так что сами ищите где именно баг в ionmodel
В GPS симуляторе реализация klobuchar model проверяется вессьма просто
Два неподвижных приемника u-blox принимают в одно и то же время один реальные спутники а второй
сигнал от симулятора который иммитирует эти спутники в реальном масштабе времени.
ionmodel имеет баг в реализации klobuchar model который расписан весьма детально
Алгоритм есть так что сами ищите где именно баг в ionmodel
Посмотрел, бага не нашёл, может плохо искал
В GPS симуляторе реализация klobuchar model проверяется вессьма просто smile
Два неподвижных приемника u-blox принимают в одно и то же время один реальные спутники а второй
сигнал от симулятора который иммитирует эти спутники в реальном масштабе времени.
Понятнее не стало. Как вычисляется ion_sim? Каким-то образом вычисляете разницу между сигналом от симулятора и реальным измерением?
Посмотрел, бага не нашёл, может плохо искал
баг там знатный с первого и даже пятого взгляда кажется что все OK !
поэтому** все и пользуются с багом**
Как вычисляется ion_sim?
extern int ionocorr(gtime_t time, const nav_t *nav, int sat, const double *pos,
const double *azel, int ionoopt, double *ion, double *var)
{
.....
/* broadcast model */
// if (ionoopt==IONOOPT_BRDC)
{
double ion2 ;
ion2 = ionmodel_sim( time,nav->ion_gps,pos,azel);
*ion=ionmodel(time,nav->ion_gps,pos,azel);
trace(2," ion_old=%2.2f ion_sim=%2.2f ",*ion, ion2 );
*ion = ion2;
*var=SQR(*ion);
// return 1;
}
/* sbas ionosphere model */
if (ionoopt==IONOOPT_SBAS)
{
sbsioncorr(time,nav,pos,azel,ion,var);
trace(2," ion_sbas=%2.2f \n",*ion);
return 1;
}
.....
}
ionmodel_sim и ionmodel реализуют один и тот же алгоритм klobuchar model
только в ionmodel_sim нет бага
вот в реализации тропосферной задержки нет багов
SDCM
2 sat=25 azel= 2.9 -> 2 trp_saas=47.16 2 trp_sbas=36.04
2 sat= 8 azel= 5.2 -> 2 trp_saas=26.44 2 trp_sbas=24.18
2 sat=13 azel= 7.5 -> 2 trp_saas=18.33 2 trp_sbas=17.69
2 sat=10 azel= 8.0 -> 2 trp_saas=17.10 2 trp_sbas=16.62
2 sat=27 azel=10.7 -> 2 trp_saas=12.78 2 trp_sbas=12.69
2 sat=15 azel=11.8 -> 2 trp_saas=11.66 2 trp_sbas=11.63
2 sat=13 azel=15.5 -> 2 trp_saas= 8.95 2 trp_sbas= 9.01
2 sat= 5 azel=15.0 -> 2 trp_saas= 9.23 2 trp_sbas= 9.28
2 sat=21 azel=16.2 -> 2 trp_saas= 8.54 2 trp_sbas= 8.61
2 sat=29 azel=16.4 -> 2 trp_saas= 8.48 2 trp_sbas= 8.55
2 sat=15 azel=25.8 -> 2 trp_saas= 5.48 2 trp_sbas= 5.57
2 sat=16 azel=35.0 -> 2 trp_saas= 4.16 2 trp_sbas= 4.23
2 sat=26 azel=36.1 -> 2 trp_saas= 4.05 2 trp_sbas= 4.13
2 sat=10 azel=36.3 -> 2 trp_saas= 4.03 2 trp_sbas= 4.10
2 sat=27 azel=36.6 -> 2 trp_saas= 4.01 2 trp_sbas= 4.08
2 sat=20 azel=38.0 -> 2 trp_saas= 3.87 2 trp_sbas= 3.94
2 sat=21 azel=40.4 -> 2 trp_saas= 3.68 2 trp_sbas= 3.75
2 sat=29 azel=42.0 -> 2 trp_saas= 3.56 2 trp_sbas= 3.63
2 sat=16 azel=47.4 -> 2 trp_saas= 3.24 2 trp_sbas= 3.30
2 sat=26 azel=53.9 -> 2 trp_saas= 2.95 2 trp_sbas= 3.00
2 sat=18 azel=63.8 -> 2 trp_saas= 2.66 2 trp_sbas= 2.71
2 sat=20 azel=67.1 -> 2 trp_saas= 2.59 2 trp_sbas= 2.64
2 sat=18 azel=86.7 -> 2 trp_saas= 2.39 2 trp_sbas= 2.43
наглядно видать что тропосферная задержка больше чем ионосферная.
ionmodel_sim и ionmodel реализуют один и тот же алгоритм klobuchar model
только в ionmodel_sim нет бага
Ещё раз проверил ionmodel, ошибок нет, всё правильно реализовано. Сдаётся мне, что баг всё-таки в ionmodel_sim
Ещё раз проверил ionmodel, ошибок нет, всё правильно реализовано.
Уже ж сказал что** баг там знатный**
Причем видать его любому если смотреть в эту табличку
sat= 8 el= 5.2 -> ion_old=4.52 ion_sim=4.52 ion_sbas=3.56
sat=10 el=10.4 -> ion_old=5.54 ion_sim=4.02 ion_sbas=4.15
sat=27 el=12.8 -> ion_old=3.89 ion_sim=3.81 ion_sbas=3.05
sat=13 el=15.5 -> ion_old=4.49 ion_sim=3.60 ion_sbas=3.60
sat=29 el=16.4 -> ion_old=5.63 ion_sim=3.53 ion_sbas=3.61
sat=21 el=18.4 -> ion_old=3.89 ion_sim=3.38 ion_sbas=2.89
sat=15 el=25.8 -> ion_old=4.06 ion_sim=2.89 ion_sbas=2.85
sat=26 el=36.1 -> ion_old=3.23 ion_sim=2.36 ion_sbas=2.20
sat=10 el=36.3 -> ion_old=3.34 ion_sim=2.35 ion_sbas=2.27
sat=27 el=36.6 -> ion_old=2.80 ion_sim=2.34 ion_sbas=2.12
sat=21 el=40.4 -> ion_old=2.77 ion_sim=2.18 ion_sbas=1.99
sat=16 el=47.4 -> ion_old=2.49 ion_sim=1.95 ion_sbas=1.79
sat=26 el=53.2 -> ion_old=2.18 ion_sim=1.81 ion_sbas=1.55
sat=18 el=63.8 -> ion_old=2.17 ion_sim=1.63 ion_sbas=1.60
sat=20 el=67.1 -> ion_old=2.18 ion_sim=1.59 ion_sbas=1.55
sat=18 el=88.5 -> ion_old=1.84 ion_sim=1.50 ion_sbas=1.25
Сдаётся мне, что баг всё-таки в ionmodel_sim
занятная у вас логика
если ion_sim (ionmodel_sim) фактически совпадает с ion_sbas а ion_old (ionmodel) врет типа el=16.4 → ion_old=5.63 тихий ужас и т.д.
то баг именно в ionmodel_sim
Уже ж сказал что баг там знатный
Невидимый :).
врет типа el=16.4 → ion_old=5.63 тихий ужас и т.д.
Почему сразу врёт и тихий ужас? Такие значения вполне имеют место быть. У вас же кроме угла возвышения есть ещё и азимут…Как вариант, точка прокола ионосферы для данного спутника оказалась в области более возмущённой ионосферы.
Невидимый .
Зачётный баг в RTKLIB
на базе этого бага несознательные опубликовали не один десяток публикаций
типа этой, вот перл оттуда
“модель Клобучара , которая в среднем компенсирует 50–60% ионосферной ошибки. Эта модель была предложена к практическому использованию около тридцати лет назад.”
У вас же кроме угла возвышения есть ещё и азимут…
от угла возвышения зависит длина пути в ионосфере и следовательно величина задержки
а вот какой механизм влияния азимута ?
особенно если спутник то один и тот же в одно и то же время
sat=29 el=16.4 -> ion_old=5.63 ion_sim=3.53 ion_sbas=3.61
Зачётный баг в RTKLIB
на базе этого бага несознательные опубликовали не один десяток публикаций
типа этой, вот перл оттуда
“модель Клобучара , которая в среднем компенсирует 50–60% ионосферной ошибки. Эта модель была предложена к практическому использованию около тридцати лет назад.”
Правильно ли я вас понял, что “БАГ” присутствует в стандартном алгоритме модели Клобучара? В том алгоритме, который приведён в ICD-GPS?
“БАГ” присутствует в стандартном алгоритме модели Клобучара?
уже несколько раз повторил что бага в стандартном алгоритме модели Клобучара нет
Есть баг в процедуре ionmodel RTKLIB которая compute ionospheric delay by broadcast ionosphere model (klobuchar model)
естественно реализуя стандартный алгоритм модели Клобучара, но неправильно
Есть баг в процедуре ionmodel RTKLIB которая compute ionospheric delay by broadcast ionosphere model (klobuchar model)
естественно реализуя стандартный алгоритм модели Клобучара, но неправильно
Покажите уже патч его исправляющий, пока ваше поведение на протяжении страницы больше похоже на ёрничество.
ваше поведение на протяжении страницы больше похоже на ёрничество.
очередное ваше весьма информативное сообщение
больше не буду здесь появлятся, пользуйтесь RTKLIB с багами
от угла возвышения зависит длина пути в ионосфере и следовательно величина задержки
а вот какой механизм влияния азимута ?
особенно если спутник то один и тот же в одно и то же времяsat=29 el=16.4 → ion_old=5.63 ion_sim=3.53 ion_sbas=3.61
Проверили значения из вашей таблицы. Промоделировали ситуацию через стандартную ionmodel. Все значения ion_old являются истинными если по времени был “день”. Значения ion_sim являются истинными если по времени была “ночь”. Получается, что единственное расхождение между ionmodel и ionmodel_sim в вычислении локального времени. Но так как стандартная ionmodel отработала корректно при указании разных временных интервалов, то выводы делайте сами :).