Как нарисовать цифровые данные в виде непрерывного сигнала в C #? - PullRequest
1 голос
/ 15 мая 2011

Я имею дело с проектом, и на данный момент я могу получать аналоговые сигналы от моих датчиков и с помощью АЦП PIC, преобразовывать их в цифровые данные.Кроме того, через USB я могу передать все данные в мое приложение для Windows (пользовательский интерфейс), созданное на C #.Когда я смотрю в свой входной буфер, все данные там.

  1. Моя проблема в том, что после этих шагов, как я могу нарисовать эти данные как непрерывный сигнал?Я использую ZedGraph и хочу наблюдать за датчиками в виде непрерывного сигнала.Я знаю, как рисовать что-то, используя ZedGraph.Я даже нарисовал свой буфер ввода только один раз.Но все же я не могу управлять этим как непрерывным сигналом.

  2. Какая архитектура больше подходит для меня?Должен ли я использовать кольцевой буфер?

  3. Могу ли я использовать класс PerformanceCounter в качестве своих пользовательских событий, таких как рисование данных датчика, или этот класс полезен только для системных событий?

Ответы [ 2 ]

0 голосов
/ 16 мая 2011

Разве вы не можете просто назначить временную метку для каждой точки данных в вашем образце? Тогда вы сможете легко построить график, используя время как ось X и значение как ось Y с графиком zed, нужно только настроить некоторые параметры, такие как сглаживание линий и т. Д.

0 голосов
/ 16 мая 2011

Вы можете создать счетчик производительности , это легко сделать.

Построить график самостоятельно немного сложнее:

  1. (я так понимаю, вы подразумеваете под непрерывным сигналом линию вместо точек) Просто нарисуйте линию от предыдущей позиции к текущей.

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

  3. Альтернативой может быть отправить данные в Excelsheet и использовать там диаграммы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...