Обробка сигналів прямої і падаючої хвилі КСВ датчика.

Post Reply
UR5SDL
Posts: 13
Joined: 30 Apr 2023, 14:36
Позывной: UR5SDL

Обробка сигналів прямої і падаючої хвилі КСВ датчика.

Post by UR5SDL »

Недавно робив підсилювач для свого похідного трансівера ізюминка 1.2 і зіштовхнувся з проблемо обробки сигналу на Arduino nano від датчика КСВ.

1. Проблема. Не стабільність напруги на датчику в залежності від частоти та потужності.

2. Проблема. Не можливість компенсувати напругу падаючої хвилі при навантаженні 50 ом до нуля або близько до нуля. У мене виходило мінімум 2.2 вольта. Напруга прямої хвилі складала 3.7в.

Ось програмне рішення яке дозволяє обробляти дані враховуючи вище наведені умови.

void drawKSVmeter() {

const float K50 = 0.752; // коефіцієнт відношення Upad/Uotr при навантаженні 50 Ом

getPortVolte(A1);
float Upad = Volt;

getPortVolte(A2);
float Uotr = Volt;

if (Upad <= 0.001) {
ksv = 1.0;
return;
}

// Відношення двох виміряних напруг
float K = Uotr / Upad;

// Відносно калібрувального значення 50 Ом
float gamma = (K50 - K) / (K50 + K);

if (gamma < 0.0)
gamma = 0.0;

if (gamma > 0.999)
gamma = 0.999;

// Обмеження коефіцієнта відбиття
gamma = constrain(gamma, 0.0, 0.95);

// КСХ
ksv = (1.0 + gamma) / (1.0 - gamma);
}

Функція дуже чутлива до зміни КСВ. Я перевірив її результат на опорі 50, 100, та 75 ом. Значення КСВ показувало коректно відповідно до навантаження.
UR5FFR
Site Admin
Posts: 2354
Joined: 21 Apr 2012, 22:00
Позывной: UR5FFR
Location: Odessa

Re: Обробка сигналів прямої і падаючої хвилі КСВ датчика.

Post by UR5FFR »

Я б перевірив датчик КСХ. Якщо він видає такі напруги то він несправний і програмно ви це ніяк не компенсуєте. На навантаженні 50ом звортня хвиля повинна бути відсутня від слова зовсім. Дивіться на фазіровку обмоток - це критично. Калібруйте його якщо він має можливості калібрування. А ксх рахується за стандартною формулою ksv = (Upad + Uotr) / (Upad - Uotr) - тут не треба нічого винаходити
Post Reply