2013-03-26 1 views
0

현재 BlueTooth 커넥터를 통해 각각 64 바이트 128 팩을 보내고 있습니다.데이터 : 하나의 큰, 또는 작은 덩어리의 무리?

이것은 임베디드 시스템에서 비롯되었으며 그래프로 데이터를 표시하는 C# GUI로 전달됩니다. 임베디드 시스템에서 코드를 수행하고 있습니다. 나는 GUI에 코드를 작성하지 않았다. 하지만 UART와 그래프 작업에 여러 스레드를 사용하고 있다고 확신합니다. 각 샘플은 64 바이트 길이로 밝혀졌습니다.

이제 사용 가능한 데이터 경로 옵션에 USB를 추가 할 예정입니다. (현재 우리는 블루투스와 UART를 가지고있다.)

나는 스키마를 복제하고 64 바이트의 128 블럭의 동일한 세트를 보낼 수 있습니다.

나는 또한 데이터를 재 배열 할 수 있고 (8122 바이트의 블롭을 하나의 swoosh로 보낼 수있다.)

어느 쪽이든 나를 위해 상당한 양의 작업이 필요할 것입니다.

질문 : 하나의 큰 얼룩이 나에게 처리량 향상을 가져다 줄 수 있습니까? 아니면 작은 얼룩을 고수해야하고 모든 스레드가 집안일을 마칠 시간을 갖도록해야합니까?

+4

시도하고 측정 하시겠습니까? –

+0

@AdamRobinson은 probs입니다. 다른 접근법을 측정하는 것이 가장 좋습니다. 나는 이런 종류의 질문에 대한 끊임없는 대답이 있는지 확실하지 않습니다. 확실히 그것은 하드웨어 조건에 달려 있으며 32 비트/64 비트 환경과 모든 종류의 환경에서 실행됩니다. 내 강점은 아니지만 공정한 가정이라고 생각합니다. :) – ctrlplusb

+0

좋은 대답은 추악합니다. 저는 어느쪽으로 든 많이 써야 할 것입니다. +1 아담 –

답변

1

이 문제는 Nyquist sampling theorem을 사용하여 해결됩니다. 화면은 1 초에 60 번을 업데이트하고 시스템이 제대로 실시간으로 그래프를 업데이트 할 60 초 충분한 데이터를 수신 할 수있는 경우

Nyquist Sampling Theorem

기본적으로, - 다음 정말 더 높은 처리량을하지 않습니다지고 뭐라도 갖다 줘. 그래프를 그리는 곡선에 미세한 세밀도가 있습니다. 현재 얻고있는 것이 정확하면 높은 처리량을 얻는 것이 추가 작업입니다.

라인을 매우 정확하게 분석해야하는 경우, 높은 처리량이 모든 여분의 데이터 포인트를 얻는 데 유용합니다. 이것은 기본적으로 그래프의 해상도, 화면 새로 고침 속도 및 데이터가 칩에서 컴퓨터로 전송되는 속도 사이의 저글링 문제입니다.

엄지 손가락의 좋은 규칙으로 200 개가 넘는 데이터 포인트는 그 곳곳에 고주파 스파이크가없는 가장 간단한 신호의 비주얼을 무시합니다. 데이터로 수행되는 작업에 따라 과도한 작업 일 수도 있고 그렇지 않을 수도 있습니다. 이것은 정말로 당신이 분석하고있는 신호에 달려 있습니다. 주파수가 너무 높으면 데이터 포인트에서 신호를 캡처하기 위해 더 자주 샘플링해야합니다.

관련 문제