C2000 2 23 августа, 2023 Опубликовано 23 августа, 2023 · Жалоба Добрый день! Есть задача скорректировать АЧХ, входных цепей+ внутренний фильтр АЦП. Т.е. на входе RC цепь к ней добавляется еще низкочастотный фильтр АЦП, в итоге имеем завал АЧХ примерно до 3ДБ. Нужно расчитать что то подобное (чтобы итоговая АЧХ была примерно константной во всём частотном диапазоне): Можно долго мучаться подбирая нужные параметры и перебирая сотни вариантов, но возможно есть способ по известной АЧХ расчитать её "зеркальное" отображение? Если ещё и фазу можно скорректировать чтобы линейной была, то вообще прекрасно было бы, но фазу хотя бы не трогать - т.е. FIR фильтр Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 23 августа, 2023 Опубликовано 23 августа, 2023 · Жалоба в матлабе синтез фильтра по точкам не подойдет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 23 августа, 2023 Опубликовано 23 августа, 2023 · Жалоба Дома Linux, на работе Matlab не доступен. Нет ли аналогов? pyfdax такого функционала не имеет. Думаю в питоне есть что то подобное, нужно поискать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 23 августа, 2023 Опубликовано 23 августа, 2023 · Жалоба Mathematica, LeastSquaresFilterKernel рандомно натыкал мышкой в картинку графика чтобы точки получить, h - FIR коэффициенты для длины 3, 5, 7, 9, если с нормированием частоты нигде не ошибся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 24 августа, 2023 Опубликовано 24 августа, 2023 · Жалоба 23 hours ago, _pv said: Mathematica, LeastSquaresFilterKernel рандомно натыкал мышкой в картинку графика чтобы точки получить, С амплитудой разобрался. Питон нормально синтезирует по точкам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 28 августа, 2023 Опубликовано 28 августа, 2023 · Жалоба Как скорректировать, разобрался. Но теперь возник вопрос как корректно снять изначальную характеристику измерительного тракта? Думал использовать FFT, взять буфер на 4096 сэмплов и в python всё рассчитать. Но при моделировании, на сигналах синтезированных в том же python-е понял что не так всё просто, если в буфер укладывается не строго целое количество периодов сигнала. При добавлении даже одного лишнего сэмпла на 4096, получил ошибку фазы 3-ей гармоники примерно в 2 градуса, что довольно много. Амплитуда тоже уплыла где то на 0.4%. Но если с амплитудой помогает окно Хэмминга, то вот от ошибки измерения фазы избавиться не удаётся. Собственно вопрос, есть ли какой то алгоритм, позволяющий точно определить ФЧХ по преобразованию Фурье? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 28 августа, 2023 Опубликовано 28 августа, 2023 · Жалоба 20 minutes ago, C2000 said: Как скорректировать, разобрался. Но теперь возник вопрос как корректно снять изначальную характеристику измерительного тракта? так а может быть вам просто эквалайзировать сие? поставить адаптивный эквалайзер, прогнать тестовые сигналы, сохранить коэффициенты? и без всяких оценок и прочего. ЗЫ. А на синусе нельзя снять АЧХ тракта? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 28 августа, 2023 Опубликовано 28 августа, 2023 · Жалоба 1 hour ago, des00 said: так а может быть вам просто эквалайзировать сие? поставить адаптивный эквалайзер, прогнать тестовые сигналы, сохранить коэффициенты? и без всяких оценок и прочего. ЗЫ. А на синусе нельзя снять АЧХ тракта? Есть возможность только основную частоту 50Гц + гармоника (особенность генератора тока, т.к. АЧХ нужно снять вместе с трансформатором тока, то лабораторный генератор не подойдёт), так можно пройтись по всем гармоникам. Опять же если подать чистый синус - то относительно чего мерить фазу? Нужно как раз таки измерить фазовый сдвиг на всех гармониках относительно основной частоты, т.к. на этой частоте прибор калибруется(фаза каналов относительно друг друга) - соответственно сдвиг фазы на 50Гц можно принять за 0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 28 августа, 2023 Опубликовано 28 августа, 2023 · Жалоба Ресемплинг может помочь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 29 августа, 2023 Опубликовано 29 августа, 2023 · Жалоба 12 hours ago, C2000 said: Ресемплинг может помочь? эмм, вы бы описали нормально задачу которую вам нужно решить. Потом все ваши темы можно слить в одну и там народ посоветует что нить) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 29 августа, 2023 Опубликовано 29 августа, 2023 · Жалоба 3 hours ago, des00 said: эмм, вы бы описали нормально задачу которую вам нужно решить. Потом все ваши темы можно слить в одну и там народ посоветует что нить) Это разные темы. Задача - определить АЧХ и ФЧХ измерительного канала. Т.е. амплитуду и фазу гармоник относительно основной частоты 50Гц Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aBoomest 0 30 августа, 2023 Опубликовано 30 августа, 2023 (изменено) · Жалоба On 8/28/2023 at 10:27 AM, C2000 said: Как скорректировать, разобрался. Но теперь возник вопрос как корректно снять изначальную характеристику измерительного тракта? Думал использовать FFT, взять буфер на 4096 сэмплов и в python всё рассчитать. Но при моделировании, на сигналах синтезированных в том же python-е понял что не так всё просто, если в буфер укладывается не строго целое количество периодов сигнала. При добавлении даже одного лишнего сэмпла на 4096, получил ошибку фазы 3-ей гармоники примерно в 2 градуса, что довольно много. Амплитуда тоже уплыла где то на 0.4%. Но если с амплитудой помогает окно Хэмминга, то вот от ошибки измерения фазы избавиться не удаётся. Собственно вопрос, есть ли какой то алгоритм, позволяющий точно определить ФЧХ по преобразованию Фурье? Вы бы описали конкретно, Вам не зря про это говорили. 1. Алгоритм вроде как такой: у вас есть параметры схемы. По ним рассчитываете АФЧХ. Исходя из желаемой суммарной АФЧХ, добавляете звено. 2. На счет фазы не совсем ясно. Никогда не подавал две частоты при снятии частотных характеристик. Всегда подавалась одна. Для чего мудрить? Как вы вобще информацию вытаскиваете если на входе сигнал нескольких частот? Даже если как-то, то точность же этого всего очень плохая? Или я чего-то не понимаю? 3. Про 4096 я что-то не допонял, у вас же АФЧХ какого-то устройства. Для чего вы БПФ сигналов деалете? Проверка какая-то просто? Изменено 30 августа, 2023 пользователем aBoomest Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 30 августа, 2023 Опубликовано 30 августа, 2023 · Жалоба 8 hours ago, aBoomest said: Никогда не подавал две частоты при снятии частотных характеристик. Всегда подавалась одна. Как по одной вы ФЧХ расчитываете, относительно чего? 8 hours ago, aBoomest said: Как вы вобще информацию вытаскиваете если на входе сигнал нескольких частот? На выходе интересует RMS (здесь ФЧХ значения не имеет) как одного канала, так и среднее значение COS и SIN произведения двух каналов (а вот здесь от фазы всё сильно зависит). 8 hours ago, aBoomest said: Про 4096 я что-то не допонял Накапливаю на МК буфер реальных данных с АЦП в 4096 отсчётов. Затем его на ПК анализирую. АФЧХ нужно снять один раз (затем скорректировать програмно), это задача не для риалтайма. Впринципе вопрос решён FIR фильтрами на каждую гармонику, далее по переходу через ноль, точность в 0.01гр получилась, что вполне удовлетварительно. Фурье не даёт точного вычислеия фазы на реальном сигнале, только на идеальных что то точное получается. Даже после ресемплинга. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aBoomest 0 30 августа, 2023 Опубликовано 30 августа, 2023 · Жалоба 4 hours ago, C2000 said: Как по одной вы ФЧХ расчитываете, относительно чего? Относительно входного сигнала. 4 hours ago, C2000 said: На выходе интересует RMS (здесь ФЧХ значения не имеет) как одного канала, так и среднее значение COS и SIN произведения двух каналов (а вот здесь от фазы всё сильно зависит). Оно в случае подачи двух частот может показать правильное (нужное для построения афчх) значение? 4 hours ago, C2000 said: АФЧХ нужно снять один раз (затем скорректировать програмно), это задача не для риалтайма. Отлично. 4 hours ago, C2000 said: Фурье не даёт точного вычислеия фазы на реальном сигнале Это очень зыбкая фраза на мой субъективный взгляд. (это касательно просто фразы самой по себе) На счет как это к вашему вопросу относится, все равно до конца не пойму. Вы писали 4 hours ago, C2000 said: АФЧХ нужно снять один раз (затем скорректировать програмно), это задача не для риалтайма. Так вы ее измерили. Исходя из желаемой АФЧХ добавили корректирующее звено. 4 hours ago, C2000 said: Впринципе вопрос решён FIR фильтрами на каждую гармонику Так как будто оптимально вышло? А по времени как? Сколько фильтров? Какой длины? (отн.фильтруемой частоты) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C2000 2 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 14 hours ago, aBoomest said: Относительно входного сигнала. Это как? Никаких синхроимпульсов в железе не предусмотрено. Как Вы входной сигнал сравните с тем что в МК после прохождения через весь измерительный канал 14 hours ago, aBoomest said: Оно в случае подачи двух частот может показать правильное (нужное для построения афчх) значение? Почему нет? Если Вы изначально знаете какая фаза у гармоники, то выделяете основную частоту и гармонику. Далее смотрите время между переходом через ноль на двух частотах, отнимаете изначально заданный угол и получаете фазу на данной частоте относительно основной частоты Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться