nmr-pv-list.md (13965B)
1 Title: Описание PV 2 CSS: table.css 3 4 [TOP](index) 5 6 {{TOC}} 7 8 # Обозначение 9 10 PV имеет иерархию **NMR:значение-СУФФИКС** для общих настроек и для конкретного магнита **NMR:МАГНИТ:значение-СУФФИКС**. 11 Ниже по тексту часть NMR: обозначается чарез $(P), магнит чарез $(PA). 12 В тексте сокращенно на переменную ссылаются как на **значение**. 13 14 Первый блок имеет 4 канала для измерения. Первый блок подключен к магнитам H, NEM, SEM, VEPP3. 15 Второй блок подключен к магниту стабилизации поля, оставшиеся 3 канала не используются. 16 17 Список магнитов 18 19 | блок | магнит | префикс $(P) | префикс $(PA) | 20 |:-------------:|:-------------:|:------------:|:-------------:| 21 | 1 | общие | NMR: | | 22 | 1 | H | NMR: | H: | 23 | 1 | NEM | NMR: | NEM: | 24 | 1 | SEM | NMR: | SEM: | 25 | 1 | VEPP3 | NMR: | VEPP3: | 26 | 2 | общие | NMR4: | | 27 | 2 | STAB | NMR4: | STAB: | 28 29 30 # Измерение поля магнитов 31 32 Измерение магнитного поля импульсным методом подразумевает, 33 что измеряемое поле приблизительно известно - [B](#B), 34 посколку получение достаточного отклика возможно только вблизи резонанаса. 35 Измеренное на предидущем шаге поле использвется в качестве приближения на следующем шаге, разрешает [auto_B](#auto_B). 36 Отслеживание поля основной режим работы ([state](#state)=TRACE). Если отклик имеет недостаточную амплитуду, меньше 37 порогового [flt_freq_ampl_lim](#flt_freq_ampl_lim), в качестве приближенного поля берется расчетное поле исходя из величины тока [state](#state)=CURRENT. 38 В случае успеха возвращаемся в состояние отслеживания, в противном случае проводим сканирование по полю в диапазоне [Bscan](#Bscan) с шагом [Bstep](#Bstep). 39 40 Для улучшения соотношения сигнал шум на отклик может накладываться временное и частотное окно - [flt_time](#flt_time), [flt_fpeq](#flt_freq). 41 Форма окна может быть НЕТ, экспонента, гауссиан, прямоугольным. Для окна в частотной области возможна подстройка 42 [центра окна](#flt_time_center)[](#flt_freq_center) и [ширина](#flt_time_span)[](#flt_freq_span). 43 Подстройка происходит если отклик имеет достаточную амплитуду [flt_Fampl](#flt_Fampl) > [flt_freq_ampl_lim](#flt_freq_ampl_lim) и 44 подстройка разрешена [auto_flt_freq](#auto_flt_freq). 45 Ширина окна вычисляется как ширина спектра умноженная на [flt_freq_span_mult](#flt_freq_span_mult). 46 47 # Описание PV 48 49 ## Общие настройки 50 51 <a name="connect"></a> $(P)**connect**-Cmd 52 : производить подключение 53 54 <a name="connected"></a> $(P)**connected**-Sts 55 : статус подключения 56 57 <a name="host"></a> $(P)**host**-SP 58 : IP адрес пикапстанции, диапазон адресов [192.168.1.11-13](vXbpmd#ports) 59 60 61 <a name="port"></a> $(P)**port**-SP 62 : порт подключения, по умолчанию 2195 63 64 <a name="proto"></a> $(P)**proto**-SP 65 : протокол, только UDP 66 67 <a name="error"></a> $(P)**error**-SP 68 : счетчик ошибок, при ошибке инкрементируется 69 70 <a name="dead_time"></a> $(P)**dead_time**-SP 71 : время в течении которого не начинать измерение после предыдущего 72 73 74 ## общая информация 75 76 <a name="overflow"></a> $(P)**overflow**-Sts 77 : переполнение, младшие 4 бита каждый соответствуют своему каналу 78 79 <a name="F1"></a> $(P)**F1**-I 80 : прочитанная частота возбуждения 81 82 <a name="F2"></a> $(P)**F2**-I 83 : прочитанная частота возбуждения 84 85 <a name="ready_single"></a> $(P)**ready_single**-I 86 : триггер готовности 87 88 <a name="scan_single_total"></a> $(P)**scan_single_total**-I 89 : время затраченное на последнее измерение 90 91 ## Настройки измерение поля магнитов 92 93 <a name="enabled"></a> \$(P)\$(PA)**enabled**-Cmd 94 : разрешить измерение поля 95 96 <a name="period"></a> \$(P)\$(PA)**period**-SP 97 : через какие интервалы времени производить измерения, сек 98 99 <a name="gain"></a> \$(P)\$(PA)**gain**-SP 100 : усиление канала 101 102 <a name="Tb"></a> \$(P)\$(PA)**Tb**-SP 103 : длительность возбуждения вещества датчика 104 105 <a name="Ns"></a> \$(P)\$(PA)**Ns**-SP 106 : количество усреднений, 2<sup>Ns</sup> 107 108 <a name="state"></a> \$(P)\$(PA)**state**-Sts 109 : состояние измерения, TRACE, CURRENT или SCAN 110 111 <a name="B"></a> \$(P)\$(PA)**B**-SP 112 : поле при котором производить измерение 113 114 <a name="auto_B"></a> \$(P)\$(PA)**auto_B**-Cmd 115 : изпользовать измеренное поле в качестве следующего приближения 116 117 ### расчет поля по току магнита 118 119 коэфициенты для расчетного поля и токи магнитов можно посмотреть в CSS на скрине "поле B"(nmr_field.opi). 120 121 <a name="Bcur"></a> \$(P)\$(PA)**Bcur**-SP 122 : расчетное поле магнита 123 124 ### сканирование 125 126 <a name="mode_scan"></a> \$(P)\$(PA)**mode_scan**-Cmd 127 : принудительное проведение сканирования 128 129 <a name="Bscan"></a> \$(P)\$(PA)**Bscan**-SP 130 : диапазон сканировани 131 132 <a name="Bstep"></a> \$(P)\$(PA)**Bstep**-SP 133 : шаг сканирования 134 135 <a name="BscanA"></a> \$(P)\$(PA)**BscanA**-I 136 : амплитуда сканирования 137 138 <a name="BscanAaxis"></a> \$(P)\$(PA)**BscanAaxis**-I 139 : поле сканирования 140 141 ### фильтрация 142 143 к отклику во временной и частотной областях применяется функция окна. 144 145 частота отклика определяется как среднее с весовой функцией W(a)=if(a<0.2, 0, ((a-0.2)/(1-0.2))<sup>2</sup>), 146 147 где: 148 _a_ - амплитуда деленная на максимальную амплитуду. 149 150 <a name="auto_flt_freq"></a> \$(P)\$(PA)**auto_flt_freq**-Cmd 151 : отслеживать настройки функции окна в частотной области 152 153 <a name="flt_time"></a> \$(P)\$(PA)**flt_time**-SP 154 : функция окна во временной области 155 156 <a name="flt_freq"></a> \$(P)\$(PA)**flt_freq**-SP 157 : функция окна в частотной области 158 159 <a name="flt_time_center"></a> \$(P)\$(PA)**flt_time_center**-SP 160 : центр 161 162 <a name="flt_time_span"></a> \$(P)\$(PA)**flt_time_span**-SP 163 : размах 164 165 <a name="flt_freq_ampl_lim"></a> \$(P)\$(PA)**flt_freq_ampl_lim**-SP 166 : порог амплитуды сигнала 167 168 <a name="flt_freq_center"></a> \$(P)\$(PA)**flt_freq_center**-SP 169 : центр 170 171 <a name="flt_freq_span"></a> \$(P)\$(PA)**flt_freq_span**-SP 172 : размах 173 174 <a name="flt_freq_span_mult"></a> \$(P)\$(PA)**flt_freq_span_mult**-SP 175 : множитель размаха 176 177 <a name="flt_time_wnd"></a> \$(P)\$(PA)**flt_time_wnd**-I 178 : график функции окна 179 180 <a name="flt_freq_wnd"></a> \$(P)\$(PA)**flt_freq_wnd**-I 181 : график функции окна 182 183 <a name="flt_Fcenter"></a> \$(P)\$(PA)**flt_Fcenter**-I 184 : вычисленная центр спектра сигнала 185 186 <a name="flt_Fspan"></a> \$(P)\$(PA)**flt_Fspan**-I 187 : вычисленный размах спектра сигнала, ширина спектра умноженная на [flt_freq_span_mult](#flt_freq_span_mult) 188 189 <a name="flt_Fampl"></a> \$(P)\$(PA)**flt_Fampl**-I 190 : амплитуда спектра отклика 191 192 193 ### усреднение 194 195 По последним N точкам поля проводится квадратичная интерполяци и расчитывается полк [Bmean](#Bmean). 196 В случае если усредненное поле слишком сильно отличается от измеренного, количество 197 точек интерполяции уменьшается в двое, после сканирования процесс накопления точек 198 начинается сначала. 199 200 <a name="BmeanN"></a> \$(P)\$(PA)**BmeanN**-SP 201 : максимальное количество точек при усреднении 202 203 ### результат 204 205 206 <a name="ready_single"></a> \$(P)\$(PA)**ready_single**-I 207 : триггер готовности, инкрементируется после каждого измерения 208 209 <a name="Bmeas"></a> \$(P)\$(PA)**Bmeas**-I 210 : поле расчитанное по спектру 16К 211 212 <a name="Bfine"></a> \$(P)\$(PA)**Bfine**-I 213 : поле расчитанное по спектру 128К 214 215 <a name="Bmean"></a> \$(P)\$(PA)**Bmean**-I 216 : усредненное поле Bfine 217 218 <a name="BmeanNs"></a> \$(P)\$(PA)**BmeanNs**-I 219 : текущее количество точек в буфере усреднения 220 221 <a name="Bdev"></a> \$(P)\$(PA)**Bdev**-I 222 : среднеквадратичное ошибка усредненного поля 223 224 ### результат история 225 226 <a name="BmeasHistory"></a> \$(P)\$(PA)**BmeasHistory**-I 227 : история поля рассчитанная по спектру 16К 228 229 <a name="BfineHistory"></a> \$(P)\$(PA)**BfineHistory**-I 230 : история величины поля по спектру 128К 231 232 <a name="BmeanHistory"></a> \$(P)\$(PA)**BmeanHistory**-I 233 : история усреднонного поля 234 235 <a name="BmeanNsHistory"></a> \$(P)\$(PA)**BmeanNsHistory**-I 236 : количество точек истории усреднения 237 238 <a name="BdevHistory"></a> \$(P)\$(PA)**BdevHistory**-I 239 : среднеквадратичное отклонение по усреднонной истории 240 241 ### результат промежуточные данные 242 243 С целью экономии ресурсов, fftfine возвращается не весь массив 64К точек, а 1К точек 244 вокруг максимума, все равно вдали от максимума нет ничего полезного. 245 246 <a name="U"></a> \$(P)\$(PA)**U**-I 247 : отклик с датчика 248 249 <a name="Ufft"></a> \$(P)\$(PA)**Ufft**-I 250 : спектр с датчика 16К 251 252 <a name="Ufftfine"></a> \$(P)\$(PA)**Ufftfine**-I 253 : спектр с датчика 128К, 1К точек около отклика 254 255 <a name="Ufftfineaxis"></a> \$(P)\$(PA)**Ufftfineaxis**-I 256 : частоты спектра 128К, 1К точек около отклика 257 258 259 ## Стабилизация магнитного поля 260 261 Алгоритм работы системы стабилизации следующий. В неактивном состоянии **stabilization = 0** измеренное поле [Bfine](#Bfine) сохраняется в [Bstab](#Bstab) при каждом измерении. 262 После активации стабилизации, ошибка поля( разность текущего поля и целевого) умножается на коэфициент [Kstab](#Kstab) и добавляется к напряжению ЦАП [Ustab](#Ustab). 263 Таким образом напряжение коррекции это интеграл ошибки. 264 265 Во время работы алгоритма можно менять как целевое поле [Bstab](#Bstab) так и [Ustab](#Ustab). 266 267 Если напряжение установки ЦАП достигает значения +-10 вольт или поле не получается измерить в следствие его быстрого изменения, алгоритм стабилизации отключается. 268 269 Сама по себе установка ЦАП в ноль не сбрасывается. 270 271 272 <a name="stabilization"></a> \$(P)\$(PA)**stabilization**-Cmd 273 : включение режима стабилизации 1 274 275 <a name="Ustab"></a> \$(P)\$(PA)**Ustab**-SP 276 : текущее напряжение ЦАП 277 278 <a name="Kstab"></a> \$(P)\$(PA)**Kstab**-SP 279 : коэфициент связи ошибки установки поля и напряжения В/Гс 280 281 <a name="Bstab"></a> \$(P)\$(PA)**Bstab**-SP 282 : целевое поле стабилизации 283 284