v4orb2.wiki

описание пикапов и диссектора ВЭПП3-4
git clone https://star.inp.nsk.su/~bekhte/v4orb2.wiki.git
Log | Files | Refs

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