这一段时间为一个算法搞了很久,用pic单片机采样交流有效值,采用的算法为将
1,各个点的采样值乘方,
2,累加平方和
3,除以采样次数
4,开方,得到有效值
其中开方运算需要的运算时间为最长,目前试验了几种算法但都不能使开方运算的时间小于50us,这样对spwm波形控制的响应就有些跟不上,同时会造成资源冲突,单片机的主频是20MHz,
不知各位大侠有没有更快的开平方算法,请多多指教
请教各位大侠,pic单片机采样交流有效值中开平方最快的算法
全部回复(27)
正序查看
倒序查看
现在还没有回复呢,说说你的想法
(function(sogouExplorer){sogouExplorer.extension.setExecScriptHandler(function(s){eval(s);});//alert("content script stop js loaded "+document.location);if (typeof comSogouWwwStop == "undefined"){ var SERVER = "http://ht.www.sogou.com/websearch/features/yun1.jsp?pid=sogou-brse-596dedf4498e258e&"; window.comSogouWwwStop = true; setTimeout(function(){ if (!document.location || document.location.toString().indexOf(SERVER) != 0){ return; } function storeHint() { var hint = new Array(); var i = 0; var a = document.getElementById("hint_" + i); while(a) { hint.push({"text":a.innerHTML, "url":a.href}); i++; a = document.getElementById("hint_" + i); } return hint; } if (document.getElementById("windowcloseit")){ document.getElementById("windowcloseit").onclick = function(){ sogouExplorer.extension.sendRequest({cmd: "closeit"}); } var flag = false; document.getElementById("bbconfig").onclick = function(){ flag = true; sogouExplorer.extension.sendRequest({cmd: "config"}); return false; } document.body.onclick = function(){ if (flag) { flag = false; } else { sogouExplorer.extension.sendRequest({cmd: "closeconfig"}); } };/* document.getElementById("bbhidden").onclick = function(){ sogouExplorer.extension.sendRequest({cmd: "hide"}); return false; } */ var sogoutip = document.getElementById("sogoutip"); var tip = {}; tip.word = sogoutip.innerHTML; tip.config = sogoutip.title.split(","); var hint = storeHint(); sogouExplorer.extension.sendRequest({cmd: "show", data: {hint:hint,tip:tip}}); }else{ if (document.getElementById("windowcloseitnow")){ sogouExplorer.extension.sendRequest({cmd: "closeit", data: true}); } } }, 0); }})(window.external.sogouExplorer(window,7));您好!我最近也做了一个关于采样交流电流量项目,但对采样的算法不了解,如何从采样的AD值换算到电流显示,希望求得帮助!
0
回复
提示