Я разрабатываю приложение для осциллографа в C# .NET. Я рисую различные виды волн (синус, квадрат и т. Д.) С помощью управления zedgraph. Я получаю значения от осциллографа и хранятся в буфере размером 1024 (байтовый массив) и должны вычислять такие параметры, как период времени, частота, время нарастания, время падения и т. Д. Во время выполнения. для этой цели мне нужно извлечь только один цикл всего сигнала. Еще одна проблема заключается в том, что значения не всегда растут или падают непрерывно средние значения хранятся в буфере, подобном этому [0,0,0,1,1,2, 3,4,5,5,6,6,6,5,5,4,3,2,1,1,0,0,0 ..........]. сигналы непрерывно поступают от машины. не уверен, что волны всегда колеблются вокруг нуля. С благодарностью С уважением Nileshрасчет частоты для сигнала в C# .net
ответ
Вы можете оценить частоту число a способами. Наверное, самый легкий, если у вас есть математическая библиотека, - это вычисление БПФ и принятие самой низкой частоты.
В качестве альтернативы вы можете проверить пересечения нуля (вокруг среднего значения). Чем быстрее он колеблется примерно на 0, тем выше его частота. Точно так же экстремумы рассказывают вам много о частоте (подумайте о синусоиде, чьи экстремумы и нули чередуются и равномерно распределены).
Существует также преобразование, называемое преобразованием периода, но я не помню его слишком много. Я видел это в книге о музыке для поиска темпа песни.
http://www.cs.berkeley.edu/~vazirani/s09quantum/notes/lecture4.pdf
Другим способом может быть использование автоматической корреляции и когда оно велико это означает, что функция находится в «синхронизации» с самими собой (если он не меняет форму быстрого). и было бы легко рассчитать расстояние между этими максимумами.
Вы можете узнать время между гребнем и желобом, что даст вам половину длины волны для этой конкретной волны.
Для графа 1, первая впадина 2, первый гребень 12. Выясните время, принимая между этими точками, и у вас есть половина длины волны.
Для графа два, тот же принцип применяется, можно вычислить длину волны (и, следовательно, период) для каждого участка графа
- 1. Расчет частоты и продолжительности двоичного сигнала
- 2. расчет частоты в массивеList
- 3. Расчет частоты в MySQL
- 4. компонентов частоты сигнала
- 5. расчет срочной частоты
- 6. расчет частоты символов в строке
- 7. Расчет частоты щелчков
- 8. Использование интерполяции сигнала для изменения частоты
- 9. Расчет частоты дробей в SAS
- 10. Расчет частоты периода в Прологе
- 11. Расчет частоты в Beckhoff TwinCAT3.1
- 12. Расчет частоты откликов в R
- 13. Расчет частоты числа в массиве
- 14. Matlab Рисунок: анализ частоты сигнала
- 15. Расчет времени сигнала
- 16. Расчет амплитуды и частоты лога
- 17. R: Расчет частоты ошибок OOB
- 18. Расчет частоты процессора в C с RDTSC всегда возвращает 0
- 19. C#/XNA - Воспроизведение сгенерированного сигнала на основе частоты
- 20. Алгоритма для извлечения частоты сердечных сокращений от необработанного сигнала ЭКГ
- 21. Обнаружение звукового сигнала определенной частоты и продолжительности
- 22. Расчет частоты каждой строки в панды DataFrame
- 23. Расчет скользящей средней в C++
- 24. Расчет частоты пульса с использованием датчиков
- 25. расчет частоты с использованием примера auriotouch яблока
- 26. Расчет даты в C#
- 27. Расчет частоты каждого слова в предложении в Java
- 28. Расчет количества и частоты элементов списка в R?
- 29. Расчет частотного распределения коллекции с .Net/C#
- 30. Расчет уровня сигнала IOS с использованием CTGetSignalStrength()
«вычислить FFT и принять самую низкую частоту» ничего не значит. Как вы определяете низкую частоту? –
А? Самая низкая частота сигнала с дискретным дискретным спектром хорошо определена и легко получается. – AbstractDissonance