Настройка и мониторинг фильтра нижних частот (ФНЧ)


Командой настройки и мониторинга фильтра нижних частот (ФНЧ) для мониторинга энкодера является "lpf".

Соответствующие команды устанавливают частоту среза(cut-off frequency), счетчик шума и производят мониторинг счетчика шума.

Установка частоты среза (cut-off frequency)

Командой для установки частоты среза фильтра является set freq.

"dc1 lpf set freq (frequency)"

Укажите частоту среза для frequency.

Когда задана частота среза фильтра нижних частот, сигналы, соответствующие частотам (превышающие частоту среза) не учитываются во время мониторинга энкодера.

spc_request_dev($sid, "dc1 lpf freq 5000");

Установка счетчика шума

Командой для установки значения счетчика шума фильтра нижних частот является set pnc.

"dc1 lpf set pnc (value)"

Укажите значение счетчика шума для value.

spc_request_dev($sid, "dc1 lpf set pnc 0");

Мониторинг значений счетчика шума

Командой для мониторинга значений счетчика шума фильтра нижних частот является get pnc.

"dc1 lpf get pnc"


<?php
include "/lib/sd_spc.php";
spc_reset();
spc_sync_baud(115200);
$sid = 1;

spc_request_dev($sid, "dc1 pwm set period 10000");
spc_request_dev($sid, "dc1 pwm set width 1000");

$freq = 1000;
$count_prev = 0;

while(1)
{
    if($freq > 7000)
    {
        spc_request_dev($sid, "dc1 pwm set width 0");
        break;
    }
    spc_request_dev($sid, "dc1 lpf set freq $freq");
    $count = (int)spc_request_dev($sid, "dc1 lpf get pnc");
    $diff = $count - $count_prev;
    echo "noise count at freq $freq: $diff\r\n";

    $freq += 200;
    $count_prev = $count;
    usleep(200000);
}
?>