Page 1 of 1

Помогите с математикой

PostPosted: 11 Jul 2019, 14:55
by jane_wild
Всем здравствуйте. Ребята нужна помощь с математикой. Суть проблемы в следующем. Генерируется синусоидальный сигнал от 50 до 5000Гц и амплитудой 0-10В, далее этот сигнал проходит через фильтр низких частот и усиливается. Собственно в фильтре вся проблема, он немного ослабляет сигнал и чем выше частота, тем больше это ослабление. Вот я и думаю разработать VI который принимает на вход два параметра - амплитуду и частоту и на выход выдает скорректированную амплитуду. Величина коррекции зависит от частоты. Допустим нужна частота 2200Гц и амплитудой 6в. На вход приходят эти параметры а с выхода выходит не 6в, а 6.113 - после фильтра получится как раз требуемых 6.
Ниже представлены две колонки. В первой частота, во второй амплитуда после фильтра. Подавала 6 вольт на вход. На частотах ниже 400 Гц влияния фильтра практически не замечено.
400 6.000
700 5.999
900 5.995
1200 5.978
1400 5.964
1600 5.948
1900 5.919
2200 5.887
2400 5.863
2600 5.836
2900 5.793
3200 5.756
3400 5.713
3600 5.679
3900 5.624
4300 5.546
4700 5.46
5000 5.394
Собственно не могу сообразить как воплотить эту коррекцию в VI.

Re: Помогите с математикой

PostPosted: 11 Jul 2019, 15:53
by Artem.spb
По-простому можно сделать кусочно-линейную интерполяцию.
interpol.png


Если совсем идеально хочется, можно найти функцию по кривой.
Снимок.PNG


Но всё это как-то сомнительно выглядит.
Какова цель махинаций?

Re: Помогите с математикой

PostPosted: 11 Jul 2019, 18:21
by jane_wild
Artem.spb, Спасибо за идею. Нужно будет подумать как адаптировать для значений (не 6в). В смысле threshold y (на snippet) это вход частоты, константа 6 это вход для амплитуды, выход y это значение на которое нужно умножить вход что бы получить значение 6 после фильтра. Как то путано получилось :)
Цель махинаций простая. Мне нужно получить синусоиду. Я ввожу частоту и амплитуду. Подключаюсь мультиметром на выход усилителя и вижу эту самую частоту и амплитуду. Все хорошо, если частота не превышает 400Гц - выше фильтр оказывает влияние занижая амплитуду. Вывод перед созданием задачи, зная частоту можно скорректировать амплитуду, что бы после фильтра получить желаемое значение. Пользователь ввел 6 вольт и 3200Гц - VI выдал на выходе 6/5.756*6 = 6.25. Создаётся задача Амплитуда 6.25В частота 3200. В результате после фильтра получаем желаемые 6 вольт…
PS. RMS либо Pk-Pk я опускаю для упрощения, что бы был понятен сам смысл проблемы
Если совсем идеально хочется, можно найти функцию по кривой

Это было бы идеально. Я пробовала найти эту самую функцию используя Excel - по данным нарисовала график и создала trendline посмотрела на функцию, но так и не поняла как ей пользоваться, если подставлять реальные значения вместо х и у, то получается полный бред.

Re: Помогите с математикой

PostPosted: 11 Jul 2019, 23:16
by jane_wild
Вообщем вот что получилось. По идее повышающие коэффициенты не должны зависеть от амплитуды, поэтому расчет был произведен для упомянутых 6-ти вольт. Завтра попробую
Level Calcl.png

Re: Помогите с математикой

PostPosted: 12 Jul 2019, 17:29
by Юрий
Если фильтр цифровой, то его АЧХ без особого труда может быть установлена. А если аналоговый, то её можно определить обычными средствами. Когда то давно я так и поступал для воспроизведения реальной амплитуды вибростенда на его верхних частотах, датчик заваливал значения амплитуды. Но вот как аппроксимировал не помню. В то время любил использовать полиномы.

Re: Помогите с математикой

PostPosted: 12 Jul 2019, 20:57
by jane_wild
Завтра попробую

Работает очень даже точно! :dance:
Artem.spb, Спасибо за идею с интерполяцией