-
Broj sadržaja
45460 -
Na DiyAudio.rs od
-
Broj dana (pobeda)
577
Content Type
Profiles
Forum
Blog
Kalendar
Sve objavljeno od Mikorist
-
svaki kršten PC ima produžni USB u sebi. sa matične ide USB 3.0 napred na šasiju pozad nema produžni - ali uvek ima manjak USB3 - u oba slučaja nema razlike jer putuju 0 i 1 kroz njih a napon sa USB mi je presečen da ne pominjemo šta je sve ukršteno blizu gde prolaze USB vodovi na bilo kojoj matičnoj evo PCI ekspress grafika ide odma pored USB hub-a ....bolje je da ide preko produžnog napred - kod RAM memorije je USB 3.0
-
Zanimljive, smešne i čudne fotografije
Mikorist je odgovorio/la Mikorist's temus u Muzika , Film i Fotografija
-
bereš vunu
-
Ispitivanje audio opreme predstavlja merenje kvaliteta zvuka objektivnim i / ili subjektivnim sredstvima. Rezultati takvih testova objavljuju se u časopisima, magazinima, veb lokacijama i drugim medijima. Oni koji testiraju i vrednuju opremu mogu se grubo podeliti u dve grupe: „Objektivisti“ koji veruju da se sve primetne razlike u audio opremi mogu naučno objasniti merenjima i dvostruko slepim testovima slušanja; i "Subjektivisti", koji veruju da je ljudsko uho sposobno da čuje detalje i razlike koje se ne mogu direktno meriti. I jedni i drugi su saglasni da merenja nisu zamena testova slušanja. I jedni i drugi se slažu da različite audio komponente mogu imati različite zvučne kvalitete. Usviravanje je mit ukoliko u osnovi nema sigurnih dokaza koji to potkrepljuju osim anegdotskih priča, gomile pristrasnih "dokaza", nekoliko pogrešnih pokušaja i nekoliko iskrenih koji nisu uspeli ništa da razreše. Dakle, da, promeniće se frekvencijski odziv od bilo kog merenja do drugog , međutim, postoji nula osnova za verovanje da su ove promene pozitivne, u stvari zdrav razum vrišti i govori nam suprotno. U skoro svakom mehaničkom ili električnom sistemu (entropija) smanjuje performanse, efikasnost i / ili tačnost. Ako je entropija u kome se kreće sva materija i energija - uključujući i starenje naših ušiju - mozga - kako je moguće onda da dolazi do poboljšanja zvuka ? Vremenom, iz minuta u minut , trebalo bi sve lošije i lošije da čujemo ceo audio sistem - a ne bolje.... Međutim, moguće je da starost slušnog aparata može smanjiti nedostatke - poput recimo primetnih vrhova frekvencija u uočljivijem području srednjih i visokih tonova; što bi kao nusprodukt omogućilo glasniju reprodukciju bez bola i tako učinilo da se čini da je bas poboljšan. Sa godinama sve lošije i lošije čujemo ali mozak kompenzuje po sećanju kvalitet....
-
Inače bakar se ne isplati valjati i razvlačiti ispod 1000 tona na dan... niti praviti reaktor koji proizvodi bakar čistoće od 99.9999% I na kraju kad pročitaš tehnologiju pravljenja bakarnih licni - dođeš do zaključka da se svi high-end kablovi prave u 5 fabrika u EU Posrebreni, neposrebreni, pun presek....OFC...kiseonik...kurci - palci....sve se pravi u namenskim fabrikama na veliko po narudžbini. Ostalo su marketinške veštine preprodavaca
-
ja samo 97%...trošim litre...ali ne pijem
-
-
znači potpuno je nemoguće da ovde izvlači kilometre kablova pogon za izvlačenje bakra treba da ima bar 100 metara dužinu...20 metara visinu plafona...visoku peć.... par dalekovada okolo .... ovde samo skladišti koturove i seče na meru
-
Sa VDH SCS-18...ne usvirava se...staviš i to je to. šta je matori AJ radio u procesu izvlačenja bakra nije mi jasno.... kapiram da on ni ne izvlači u onom malom objektu žicu - već ima valjaonica bakra koja mu to radi po narudžbini.
-
But, why?
-
ima i to... to mogu da čujem kroz DAC na slušalice. dok nisam imao napajanje pre - čak i kad ugasiš monitor se bolje čuje . da ne pričam o klimi i frižideru na istoj fazi
-
ovo za Sisy ne važi...ili ja ne čujem razliku. meni isto svira prvi minut upaljen i posle mesec dana gorenja a da je vreo vreo je.... i to je najčudnije... nakon hlađenja sve bolje svira...tek kad se ugasi... a ne nakon zagrevanja....kao da se kali
-
Kod mene je obrnuto bilo rođaci... Slušao Sissy 10 meseci bez gašenja... Onda ugasio na mesec dva... Sad bolje svira nego pre . Možda je do 5G mreže
-
Zanimljive, smešne i čudne fotografije
Mikorist je odgovorio/la Mikorist's temus u Muzika , Film i Fotografija
-
Zanimljive, smešne i čudne fotografije
Mikorist je odgovorio/la Mikorist's temus u Muzika , Film i Fotografija
-
Zanimljive, smešne i čudne fotografije
Mikorist je odgovorio/la Mikorist's temus u Muzika , Film i Fotografija
-
Zanimljive, smešne i čudne fotografije
Mikorist je odgovorio/la Mikorist's temus u Muzika , Film i Fotografija
-
Knipex Cobra...papagajke... mislim da imam smrt klešta njihova jedna - stvarno su smrt...
-
Imam recimo makaze iz cirka 1930 godine . Stajale zalivene u vosku. Švabske..Schneiderschere Schere Kao žilet...možeš da se briješ na sečice Više ni makaze ne znaju da naprave. Zapravo se ni ne prave u Nemačkoj
-
Imam od ćaleta pokjnog i set Stanley Japan...Sa karbonom...Te su najbolje koje postoje. Sečice pogotovo...
-
evo gledam slične tipove sad... ma jok...ovaj alatni čelik ne prave sad... dva para sam razvalio - koje nisu ove - puknu im drške - pogotovo ako držiš nešto usijano i vrelo i tučeš čekićem. kineske sam gornji deo uspeo da polomim
-
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Logarithmic Attenuator Calculator</title> <meta name="author" content="Jos van Eijndhoven"> <meta name="keywords" content="calculator attenuator resistor switch relay relais relays logarithmic ladder network potentiometer audio"> <link rel=StyleSheet href="../style.css"> <style> table {border: 0px; border-spacing: 0px;} td {text-align: center;} tr.schematic {font: 11px Verdana, Arial, Helvetica} td.SchemTop {background-image: url("table-topresistor.gif"); text-align: center;} td.SchemBot {background-image: url("table-botresistor.gif"); text-align: center;} /*td.tbCol0 {background-color: #ffffff;}*/ form{margin-bottom:0em;} table#left td{text-align: left;} table#left th{text-align: left;} </style> <script type="text/javascript"> var nStages=6; var E12 = [1.0, 1.2, 1.5, 1.8, 2.2, 2.7, 3.3, 3.9, 4.7, 5.6, 6.8, 8.2, 10]; var E24 = [1.0, 1.1, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.2, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.3, 4.7, 5.1, 5.6, 6.2, 6.8, 7.5, 8.2, 9.1, 10]; var E96 = [1.00, 1.02, 1.05, 1.07, 1.10, 1.13, 1.15, 1.18, 1.21, 1.24, 1.27, 1.30, 1.33, 1.37, 1.40, 1.43, 1.47, 1.50, 1.54, 1.58, 1.62, 1.65, 1.69, 1.74, 1.78, 1.82, 1.87 ,1.91, 1.96, 2.00, 2.05, 2.10 ,2.15, 2.21, 2.26, 2.32, 2.37, 2.43, 2.49, 2.55, 2.61, 2.67, 2.74, 2.80, 2.87, 2.94, 3.01, 3.09, 3.16, 3.24, 3.32, 3.40, 3.48, 3.57, 3.65, 3.74, 3.83, 3.92, 4.02, 4.12, 4.22, 4.32, 4.42, 4.53, 4.64, 4.75, 4.87, 4.99, 5.11, 5.23, 5.36, 5.49, 5.62, 5.76, 5.90, 6.04, 6.19, 6.34, 6.49, 6.65, 6.81, 6.98, 7.15, 7.32, 7.50, 7.68, 7.87, 8.06, 8.25, 8.45, 8.66, 8.87, 9.09, 9.31, 9.53, 9.76, 10.00]; var eSeriesN = 12; var eSeriesVals = E12; /* link to one of above arrays */ var attenuationdB=1.0; var attenuationRatio=Math.pow(10, -0.05 * attenuationdB); var attenuatorType = 0; /* 0: constant input, 1: constant output resistance */ var resistance=10000; var multipliers = ["u","m","R","k","M","G","T"]; var stageOrder = [1,2,3,4,5,6,7,8]; var RTopNominal=new Array(8); var RBotNominal=new Array(8); var RTopRounded=new Array(8); var RBotRounded=new Array(8); var MaxInRes = new Array(10); var MinInRes = new Array(10); var MaxOutRes = new Array(10); var MinOutRes = new Array(10); var minAtt = new Array(10); var maxAtt = new Array(10); function getRValue() { resistance=prompt("Enter constant stage resistance",f2rvalue(resistance)); var lnum = resistance.length-1; var lastchar = resistance.charAt(lnum); var basenum = resistance.substr(0,lnum) if (lastchar == "R") resistance = resistance.substr(0,lnum); else if (lastchar == "k") resistance = resistance.substr(0,lnum) * 1000; else if (lastchar == "K") resistance = resistance.substr(0,lnum) * 1000; else if (lastchar == "M") resistance = resistance.substr(0,lnum) * 1000000; var resTxt = f2rvalue( resistance); document.getElementById("user-R").innerHTML=resTxt; calculate(); } function getdBValue() { attenuationdB=prompt("Enter Stage attenuation in dB", attenuationdB); if (attenuationdB < 0.01 || attenuationdB > 21) attenuationdB = 1.0; attenuationRatio = Math.pow(10, -0.05 * attenuationdB); document.getElementById("user-db").innerHTML=attenuationdB+"dB"; calculate(); } function getStageOrder(orderLongString) { defaultPerm = "1,2,3,4,5,6,7,8"; defaultPerm = defaultPerm.substring(0,2*nStages-1); if (orderLongString == "Default") orderLongString = defaultPerm; if (!orderLongString || orderLongString=="") orderLongString = prompt("Enter stage order", defaultPerm); if (!orderLongString || orderLongString.indexOf(",") < 1) return; var orderStringArray = orderLongString.split(",", 8); if (orderStringArray.length < nStages) return; var newStageOrder = [1,2,3,4,5,6,7,8]; var testStageOrder = [0,0,0,0,0,0,0,0,0]; for (i=0; i<nStages; i=i+1) { newStageOrder[i] = parseInt(orderStringArray[i]); if (newStageOrder[i] < 1 || newStageOrder[i] > 8) return; testStageOrder[newStageOrder[i]] = 1; } // test if the converted string array really described a permutation: var sum = 0; for (i=1; i<=nStages; i=i+1) sum = sum + testStageOrder[i]; if (sum != nStages) return; // all OK: install the new permutation var stageOrderLabel = newStageOrder[0].toString(); for (i=1; i<nStages; i=i+1) stageOrderLabel = stageOrderLabel + "," + newStageOrder[i]; if (stageOrderLabel.substring(0,2*nStages-1) == defaultPerm) stageOrderLabel = "Default"; stageOrder = newStageOrder; document.getElementById("user-Order").innerHTML=stageOrderLabel; calculate(); } function selectESeries(index) { if (index == 0) { eSeriesN = 12; eSeriesVals = E12; } else if (index == 1) { eSeriesN = 24; eSeriesVals = E24; } else if(index == 2) { eSeriesN = 96; eSeriesVals = E96; } else eSeriesN = 0; calculate(); } function selectAttType(index) { attenuatorType = index; var topRow = document.getElementById("trSchemTop"); var botRow = document.getElementById("trSchemBot"); if (attenuatorType == 0) { topRow.cells[1].style.backgroundImage = "url(table-topresistor.gif)"; botRow.cells[1].style.backgroundImage = "url(table-botresistor.gif)"; } else { topRow.cells[1].style.backgroundImage = "url(table-topfirst.gif)"; botRow.cells[1].style.backgroundImage = "url(table-botfirst.gif)"; } calculate(); } function selectNStages(index) { nStages = 4 + index; var topRow = document.getElementById("trSchemTop"); var botRow = document.getElementById("trSchemBot"); var nomAttRow = document.getElementById("trNomAtt"); var errAttRow = document.getElementById("trErrAtt"); for (i=5; i<=9; i=i+1) { var col = document.getElementById("tbCol" + i); if (i > nStages+1) { topRow.cells[i].style.visibility="hidden"; botRow.cells[i].style.visibility="hidden"; nomAttRow.cells[i].style.visibility="hidden"; errAttRow.cells[i].style.visibility="hidden"; topRow.cells[i].style.backgroundImage = "none"; botRow.cells[i].style.backgroundImage = "none"; col.style.width = 100; //Hmm.. like to set width to 1, doesn't work in Chrome... } else { topRow.cells[i].style.visibility="visible"; botRow.cells[i].style.visibility="visible"; nomAttRow.cells[i].style.visibility="visible"; errAttRow.cells[i].style.visibility="visible"; col.style.width = 100; topRow.cells[i].style.backgroundImage = "url(table-topresistor.gif)"; botRow.cells[i].style.backgroundImage = "url(table-botresistor.gif)"; } } topRow.cells[nStages+1].style.backgroundImage = "url(table-toplast.gif)"; topRow.cells[nStages+1].innerHTML=""; nomAttRow.cells[nStages+1].style.visibility="hidden"; errAttRow.cells[nStages+1].style.visibility="hidden"; // reset stage order to default stageOrder = [1,2,3,4,5,6,7,8]; document.getElementById("user-Order").innerHTML="Default"; calculate(); } function configRlx2() { resistance = 350; document.getElementById("user-R").innerHTML=resistance; document.getElementById("selectESeries").selectedIndex = 0; selectESeries(0); document.getElementById("selectNStages").selectedIndex = 2; attenuationdB=0.95; attenuationRatio = Math.pow(10, -0.05 * attenuationdB); document.getElementById("user-db").innerHTML=attenuationdB+"dB"; document.getElementById("selectAttType").selectedIndex = 1; attenuatorType = 1; selectNStages(2); getStageOrder("3,4,5,6,2,1"); } function configRlxPassive() { resistance = 27000; document.getElementById("user-R").innerHTML="27k"; document.getElementById("selectESeries").selectedIndex = 0; selectESeries(0); document.getElementById("selectNStages").selectedIndex = 2; attenuationdB=0.96; attenuationRatio = Math.pow(10, -0.05 * attenuationdB); document.getElementById("user-db").innerHTML=attenuationdB+"dB"; document.getElementById("selectAttType").selectedIndex = 0; attenuatorType = 0; selectNStages(2); getStageOrder("Default"); } function configAtt08() { // passive attenuator, Feb'08 resistance = 8900; document.getElementById("user-R").innerHTML=8900; document.getElementById("selectESeries").selectedIndex = 2; selectESeries(2); document.getElementById("selectNStages").selectedIndex = 2; attenuationdB=1.0; attenuationRatio = Math.pow(10, -0.05 * attenuationdB); document.getElementById("user-db").innerHTML=attenuationdB+"dB"; document.getElementById("selectAttType").selectedIndex = 1; attenuatorType = 1; selectNStages(2); } function ERound( val) { if (eSeriesN == 0 || val <= 0) return val; var logval = Math.log(val) / Math.log(10); var Rnum = Math.round(eSeriesN * logval); var Decade = Math.floor((Rnum / eSeriesN) + 0.000001); while (Rnum < 0) { Rnum += eSeriesN; } var Rinx = Rnum % eSeriesN; var normVal = eSeriesVals[Rinx]; return normVal * Math.pow(10, Decade); } function f2rvalue( val) { if (val==0) return "0"; if (val < 0) return "-??"; var powof10 = Math.floor(Math.log(val)/Math.log(10) + 0.000000001); var powof1000 = Math.floor(powof10/3 + 0.000001); if (powof10 < -6) return "~0"; if (powof10 > 13) return "inf"; var suffix = multipliers[powof1000+2]; var normval = val * Math.pow(10,-powof10); var roundval = Math.round(normval * 1000) * Math.round(Math.pow(10,powof10 - powof1000*3)) / 1000; return roundval + suffix; } function RParr(r1, r2) { var r1f = Math.pow(r1, 1.0); var r2f = Math.pow(r2, 1.0); var rp = (r1f * r2f) / (r1f + r2f) return rp; } function getStagePower(i) { // argument i should be in the range 1 .. nStages var stageRank = stageOrder[i - 1]; // stageRank gives a permutation result, between 1 .. nStages return Math.pow(2,stageRank - 1); } function calculate() { var topRow = document.getElementById("trSchemTop"); var botRow = document.getElementById("trSchemBot"); var nomAttRow = document.getElementById("trNomAtt"); // set nominal and rounded resistor values for (i=1; i<= nStages; i=i+1) { var stagePower = getStagePower(i); var AttenuationRatioNominal = Math.pow(attenuationRatio,stagePower); if (attenuatorType == 0) { // const input RTopNominal[i] = resistance * (1 - AttenuationRatioNominal); RBotNominal[i] = resistance / (1/AttenuationRatioNominal - 1); } else { // const output if (i == 1) RTopNominal[i] = resistance / AttenuationRatioNominal; else RTopNominal[i] = resistance * (1 - AttenuationRatioNominal) / AttenuationRatioNominal; RBotNominal[i] = resistance / (1 - AttenuationRatioNominal); } RTopRounded[i]= ERound(RTopNominal[i]); RBotRounded[i]= ERound(RBotNominal[i]); topRow.cells[i].innerHTML = f2rvalue(RTopRounded[i]); botRow.cells[i].innerHTML = f2rvalue(RBotRounded[i]); nomAttRow.cells[i].innerHTML = (attenuationdB * stagePower)+"dB"; } var cumulativeAtt = 1.0; var switchedRes = 0; var switchedGain; // set final load resistor if (attenuatorType == 0) { RTopRounded[nStages+1] = 0; RBotRounded[nStages+1] = ERound(resistance); botRow.cells[nStages+1].innerHTML = f2rvalue(RBotRounded[nStages+1]); document.getElementById("maximumLoadRes").innerHTML = "."; switchedRes = resistance; } else { RTopRounded[nStages+1] = 0; RBotRounded[nStages+1] = resistance*100; // just high botRow.cells[nStages+1].innerHTML = "Rload"; document.getElementById("maximumLoadRes").innerHTML = "for an Rload of "+f2rvalue(RBotRounded[nStages+1])+"."; } // calculate resistance min/max ranges MinInRes[nStages+1] = RBotRounded[nStages+1]; MaxInRes[nStages+1] = RBotRounded[nStages+1]; MinOutRes[0] = 0; MaxOutRes[0] = 0; for (i=nStages; i>=1; i=i-1) { if (attenuatorType == 0) { var rp = RParr(RBotRounded[i],switchedRes); switchedRes = RTopRounded[i] + rp; switchedGain = rp / switchedRes; cumulativeAtt = cumulativeAtt * switchedGain; } MinInRes[i] = Math.min(MinInRes[i+1], RTopRounded[i] + RParr(RBotRounded[i],MinInRes[i+1])); MaxInRes[i] = Math.max(MaxInRes[i+1], RTopRounded[i] + RParr(RBotRounded[i],MaxInRes[i+1])); } for (i=1; i<=nStages; i=i+1) { if (i==1 && attenuatorType!=0) { MinOutRes[1] = RParr(RTopRounded[1], RBotRounded[1]); MaxOutRes[1] = MinOutRes[1]; switchedRes = MinOutRes[1]; switchedGain = RBotRounded[1]/(RTopRounded[1] + RBotRounded[1]); cumulativeAtt = switchedGain; } else { MinOutRes[i] = Math.min(MinOutRes[i-1], RParr(MinOutRes[i-1]+RTopRounded[i], RBotRounded[i])); MaxOutRes[i] = Math.max(MaxOutRes[i-1], RParr(MaxOutRes[i-1]+RTopRounded[i], RBotRounded[i])); if (attenuatorType!=0) { switchedGain = RBotRounded[i]/(RTopRounded[i] + RBotRounded[i] + switchedRes); switchedRes = RParr(switchedRes+RTopRounded[i], RBotRounded[i]); cumulativeAtt = cumulativeAtt * switchedGain; } } } document.getElementById("minimumInRes").innerHTML = f2rvalue(MinInRes[1]); document.getElementById("maximumInRes").innerHTML = f2rvalue(MaxInRes[1]); document.getElementById("minimumOutRes").innerHTML = f2rvalue(MinOutRes[nStages]); document.getElementById("maximumOutRes").innerHTML = f2rvalue(MaxOutRes[nStages]); // Actual attenuation from rounded resistor values var fullAtt = 20 * Math.log(cumulativeAtt) / Math.log(10); var AvgStepSize = -1.0 * fullAtt / (Math.pow(2,nStages) - 1); fullAtt = Math.round(fullAtt * 10) / 10; document.getElementById("attenuatorMaxAtt").innerHTML = fullAtt + "dB"; document.getElementById("attenuatorPositions").innerHTML = Math.pow(2,nStages); // calculate attenuation stage errors var errAttRow = document.getElementById("trErrAtt"); var minRes, maxRes; for (i=1; i<=nStages; i=i+1) { var linearizedStageAtt = AvgStepSize * getStagePower(i); if (attenuatorType == 0) // const input { minRes = RParr(MinInRes[i+1],RBotRounded[i]); maxRes = RParr(MaxInRes[i+1],RBotRounded[i]); maxAtt[i] = Math.log(minRes / (RTopRounded[i] + minRes)); minAtt[i] = Math.log(maxRes / (RTopRounded[i] + maxRes)); } else { minRes = MinOutRes[i-1] + RTopRounded[i]; maxRes = MaxOutRes[i-1] + RTopRounded[i]; maxAtt[i] = Math.log(RBotRounded[i] / (RBotRounded[i] + maxRes)); minAtt[i] = Math.log(RBotRounded[i] / (RBotRounded[i] + minRes)); } maxAtt[i] = 20 * maxAtt[i] / Math.log(10); minAtt[i] = 20 * minAtt[i] / Math.log(10); var errAtt = maxAtt[i] + linearizedStageAtt; if (Math.abs(errAtt) < Math.abs(minAtt[i] + linearizedStageAtt)) errAtt = minAtt[i] + linearizedStageAtt; errAtt = Math.round( errAtt * 100) / 100; errAttRow.cells[i].innerHTML = errAtt + "dB"; } AvgStepSize = Math.round(AvgStepSize * 1000) / 1000; document.getElementById("attenuatorStepSize").innerHTML = AvgStepSize+"dB"; } </script> </head> <body onload="selectNStages(2)"> <h1>Logarithmic Attenuator Calculator</h1> <p /> This calculator provides configuration data for <i>logarithmic stepped attenuators</i> or <i>logarithmic ladder networks</i>. Such relay-plus-resistor networks are used for volume control in audio electronic devices, as a replacement for traditional analog potentiometers. This page aims to provide practical help for configuring this type of attenuators. For a more theoretical description of their operation please have a look at this <a href="http://en.wikipedia.org/wiki/Logarithmic_resistor_ladder">wikipedia page</a>. <p /> This calculator does not just provide the <i>nominal</i> (or ideal) resistance values for these attenuators. It also proposes a rounding of resistance values to the industry-standard E-series of values, and it subsequently calculates the deviation from ideal behavior as result of this rounding. <h2>Design input parameters</h2> <p /> <table id="left"> <tr > <td>Stage constant resistance:</td> <td><button type="button" onclick="getRValue()" id="user-R">10k</button></td> </tr> <tr> <td>Stage attenuation:</td> <td><button type="button" onclick="getdBValue()" id="user-db">1.0dB</button></td> </tr> <tr> <td>Choose resistor values from:</td> <td> <select id="selectESeries" onChange="selectESeries(this.selectedIndex)"> <option>E12</option> <option>E24</option> <option>E96</option> <option>any value</option> </select> </td> </tr> <tr> <td>Attenuator type:</td> <td> <select id="selectAttType" onChange="selectAttType(this.selectedIndex)"> <option>Constant input resistance</option> <option>Constant output resistance</option> </select> </td> </tr> <tr> <td>Number of stages:</td> <td> <select id="selectNStages" onChange="selectNStages(this.selectedIndex)"> <option>4</option> <option>5</option> <option selected="selected">6</option> <option>7</option> <option>8</option> </select> </td> </tr> <tr> <td>Stage permutation:</td> <td><button type="button" onclick="getStageOrder()" id="user-Order">Default</button> </td> </tr> </table> <h2>Design Result</h2> <p /> <table border="0" cellspacing="0" cellpadding="0"> <colgroup id="tbCol0" span="1" width="30" height="50"></colgroup> <colgroup id="tbCol1-4" span="4" width="100" height="50"></colgroup> <colgroup id="tbCol5" span="1" width="100" height="50"></colgroup> <colgroup id="tbCol6" span="1" width="100" height="50"></colgroup> <colgroup id="tbCol7" span="1" width="100" height="50"></colgroup> <colgroup id="tbCol8" span="1" width="100" height="50"></colgroup> <colgroup id="tbCol9" span="1" width="100" height="50"></colgroup> <tr id="trSchemTop" class="schematic" height="50" align="center" valign="center" > <td align="right" valign="bottom" bgcolor="White">in</td> <td class="SchemTop">15K</td> <td class="SchemTop">15K</td> <td class="SchemTop">15K</td> <td class="SchemTop">15K</td> <td class="SchemTop">15K</td> <td class="SchemTop">15K</td> <td class="SchemTop"></td> <td class="SchemTop"></td> <td class="SchemTop"></td> </tr> <tr id="trSchemBot" class="schematic" height="50" align="center" valign="center"> <td align="right" valign="bottom" bgcolor="White">GND</td> <td class="SchemBot">15K</td> <td class="SchemBot">15K</td> <td class="SchemBot">15K</td> <td class="SchemBot">15K</td> <td class="SchemBot">15K</td> <td class="SchemBot">15K</td> <td class="SchemBot">15K</td> <td class="SchemBot"></td> <td class="SchemBot"></td> </tr> <tr height="25"><td></td></tr> <tr ID="trNomAtt" align="center" valign="center"> <td align="left">Nominal attenuation:</td> <td>32dB</td> <td>16dB</td> <td>8dB</td> <td>4dB</td> <td>2dB</td> <td>1dB</td> <td></td> <td></td> <td></td> </tr> <tr ID="trErrAtt" align="center" valign="center"> <td align="left">Maximum deviation:</td> <td>0dB</td> <td>0dB</td> <td>0dB</td> <td>0dB</td> <td>0dB</td> <td>0dB</td> <td></td> <td></td> <td></td> </tr> </table> <p /> <table> <tr> <td>This attenuator provides </td> <td id="attenuatorPositions">-</td> <td> positions ranging from 0 to </td> <td id="attenuatorMaxAtt">-</td> <td> with average stepsizes of </td> <td id="attenuatorStepSize">1dB</td> <td>.</td> </tr> </table> <table> <tr> <td>Input resistance ranges from</td> <td id="minimumInRes">-</td> <td>to</td> <td id="maximumInRes">-</td> <td id="maximumLoadRes"></td> </tr> <tr> <td>Output resistance ranges from</td> <td id="minimumOutRes">-</td> <td>to</td> <td id="maximumOutRes"></td> <td>.</td> </tr> </table> <h2>Constant input versus constant output resistance</h2> <p /> In a conventional analog potentiometer, the <i>input resistance</i> is constant: this is the value of the resistance between both end points. Its <i>output resistance</i> varies with the position of the sliding contact: when the contact is near either end the output resistance aproaches zero, and somewhere in between the output resistance reaches a maximum of 1/4 of the input resistance. This behavior somewhat resembles the <i>constant input resistance</i> stepped attenuator: the output resistance varies with the selected attenuation. However, the relation between attenuation-level and output-resistance is significantly more complex: a high attenuation (low output signal) does not imply a low output resistance. This attenuator type requires a final load resistance that is identical to the input resistance of each stage, which is included in above design. <p/> The alternative design option provides a constant output resistance over all attenuation levels, but has a variable input resistance. Its first stage is configured slightly differently to establish the selected output resistance. A final load resistance can cause extra attenuation which is not accounted for in above numbers. Note that the uniformity of the attenuation-steps remains correct even if the applied load resistance would be chosen relatively low. <h2>Linearity errors</h2> <p /> Each stage should provide an attenuation of exactly 2x the number of dB's of its subsequent stage. If this 2x ratio is not accurately maintained, the attenuation step sizes from one level to the next (the <i>stage attenuation</i>) do not remain exactly uniform. The above design table provides calculation estimates for such non-uniformity as step-size deviations (errors) from the design average step-size. Fortunately, for audio applications, the human perception is not very critical for such non-uniformity. For an average step-size of 1dB, uniformity errors of 0.3dB seem perfectly acceptable. Note that the ear <i>is</i> sensitve for small differences in attenuation between a left and right audio channel. Obviously, the two channels can easily be matched (for instance with 1% accuracy resistors), irrespective of attenuator nonlinearity errors. The obtained channel matching is far better then conventional analog 'sliding' potentiometers. <p /> When using resistors from the <i>E12</i> or <i>E24</i> set of values, it requires some experimentation with this calculator to find a <i>resistance</i> and <i>stage attenuation</i> pair that shows good uniformity. <h2>Design examples</h2> <p /> An example attenuator configuration as used in the <a href="http://www.vaneijndhoven.net/jos/relaixed2/" target="_blank">relaixed2 design</a>: <input type="button" value="Show me" onclick="configRlx2()" /> <br/> (except that the final two stages were configured somewhat differently.) <p /> Or the constant-input-resistance attenuator from my new <a href="http://www.vaneijndhoven.net/jos/relaixedpassive/" target="_blank">Relaixed passive attenuator</a>: <input type="button" value="Show me" onclick="configRlxPassive()" /> <p/> Or from my <a href="http://www.vaneijndhoven.net/jos/switchr/design.html" target="_blank"> passive attenuator</a>, revision Mar'08: <input type="button" value="Show me" onclick="configAtt08()" /> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-4201075-1']); _gaq.push(['_setDomainName', 'vaneijndhoven.net']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </body> </html> evo ti ceo kod stranice... ko je dokon treba u java kodu da prepravi da imaš 48 stages
-
ovo.wav
-
Trenutno na sajtu 0 članova, 0 Skrivenih, 12 Gosta (Pogledaj celu listu)
- There are no registered users currently online
-
Forumska statistika
9.1k
Ukupan broj tema447.1k
Ukupan broj objava -
Statistika članovȃ