Hello Daniel!
23 Jan 07 18:37, Daniel Kapanadze wrote to Alexander Gatalsky:
AG>> PS Hадо из линейного цифpового потенциометpа DS1267 на 256 AG>> позиций сделать pегyлиpовкy гpомкости пyтем пеpесчета 'yгла AG>> повоpота' в точкy подключения 'движка'.
DK> Пересчитай. Получишь логарифмический потенциометр на 9 позиций DK> (0, 1, 3, 7, 15, 31, 63, 127, 255) и с диапазоном 48dB (20*log(256)). DK> Он тебе такой нужен?
Да нет, все не так плохо. Hо плохо. Во-первых, потенциометр нужен не логарифмический, а экспоненциальный. Во-вторых, до уровня -30дб с шагом 1 дб погрешность дискретизации коэффициента передачи не превышает 0.34 дб, а вот дальше все совсем плохо. Впрочем, можно добавить переключатель диапазона (1)
0...-30дб и (2) -31...-63дб
2AG: Вот тебе программуля на QBASIC'е из MS/DOS-6.22, первая колонка - ослабление в дБ, предпоследняя - целый коэффициент деления, последняя - погрешность, дБ. Если найдешь что-то большей разрядности, поменяешь 255 на соответствующее значение - 511, 1023 и т.п.
=== Begin vctl.uue ===
section 1 of 1 of file VCTL.BAS (SKUUE 0.4.6beta/FAR) table `!"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ SKUUEAttr )@````!.`0`````````````!``$`````````````````!&T```` begin 700 VCTL.BAS M("`@("`@("!/4$5.(")D8BYT>'0B($9/4B!/5510550@05,@(S,-"B`@("`@ M("`@1D]2(&D@/2`P(%1/(#@P#0H@("`@("`@(&X@/2`Q,"!>("@M*&D@+R`R M,"DI#0H@("`@("`@(&XR(#T@;B`J(#(U-0T*("`@("`@("!N,R`]($E.5"AN M,B`K("XU*0T*("`@("`@("!)1B!N,R`](#`@5$A%3B`Q.3`-"B`@("`@("`@ M;C0@/2`R,"`J($Q/1RAN,B`O(&XS*2`O($Q/1R@Q,"D-"B`@("`@("`@4%)) M3E0@(S,L(%5324Y'("(C(R,@(",N(R,C(R`@(R,C+B,C("`C(R,C+B,@("`C M(R,N(R,C(CL@+6D[(&X[(&XR.R!N,SL@;C0-"B`@("`@("`@3D585"!I#0HQ
3.3`@("`@($-,3U-%(",S#0H-"@` ` end sum -r/size 46113/334 entire input file
=== End vctl.uue ===
Всего доброго!
А. Забайрацкий.