Data visualization - Page 3

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Re: Data visualization
Hello, Alexey V Bugrov!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 26 May
2009 08:31:32 +0000 (UTC):


 AVB>>> О, уже научились делать SDRAM, работающую на частоте 1 ГГЦ?

 DO>> Еще нет, во всяком случае в массовых PC (в том скопе сэмпл-рейт
 DO>> максимальный 5Gsps, а у них и куда более быстрые скопы есть),

 AVB> Кто тебе сказал, что они пишут сразу в память хоста (который под
 AVB> виндой), а  не в быстрое фифо на плате захвата?

Hикто такого вообще не говорил, разумеется он в свою собственную память
пишет. Просто ОЗУ - не обязательно компьютерный SDRAM.

 DO>> но для отображения достаточно менее 2000 сэмплов прочитать, сколько
 DO>> там даже на HD экране точек по горизонтали может быть, это даже с
 DO>> HDD достаточно быстро.

 AVB> Блин, еще раз. Если масштаб изображения отличен от 1:1 то прочитать
 AVB> нужно не  столько точек, сколько ширина экрана, а столько, сколько
 AVB> нужно отобразить на  данном интервале.

То есть столько, сколько ширина экрана. Больше все равно не отобразишь.

 AVB> Там и все 10М будут оказаться (при полном zoom out). Если  просто тупо

Откуда?

 AVB> пропускать точки, а не искать минимум/максимум на интервале (и

Можно просто пропускать, можно с небольшим относительно разрешения экрана
оверсэмплингом вычитывать и делать ресэмплинг. Hи то ни другое не требует
вычитывания всего массива.

 AVB> строить нужно не точку, а вертикальный отрезок от минимума до
 AVB> максимума),

Зачем?

 AVB>  соотвествующем точке, то вместо осцилограммы увидишь просто альясы,

Да, конечно. Подробности будут видны при зуме, родной софт примерно так и
работает.

 AVB> которые  ничего о форме исходного сигнала не говорят.

Рассматривать "полотенце" бывает очень полезно.


dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Re: Data visualization
Hello, Dmitry!
You wrote to Alexey V Bugrov on Tue, 26 May 2009 09:17:45 +0000 (UTC):

 DO> экрана оверсэмплингом вычитывать и делать ресэмплинг. Hи то ни другое
 DO> не требует вычитывания всего массива.
 AVB>> строить нужно не точку, а вертикальный отрезок от минимума до
 AVB>> максимума),
 DO> Зачем?

Откуда я знаю зачем тебе осциллограмму смотреть надо? Можешь просто
сгенерить рандомно количество точек равное ширине экрана - будет очень
похоже.

 AVB>>  соотвествующем точке, то вместо осцилограммы увидишь просто альясы,

 DO> Да, конечно. Подробности будут видны при зуме, родной софт примерно так
 DO> и работает.

Хреновый софт. Либо ты не понимаешь как он работает. Если на зумауте ничего
не видно, то как ты узнаешь в какое место делать зум?

 AVB>> которые  ничего о форме исходного сигнала не говорят.
 DO> Рассматривать "полотенце" бывает очень полезно.

У тебя вместо полотенца будет совершенно ни о чем не говорящая белиберда,
брать точки с пропусками можно только пропустив все исходные данные через
ФHЧ, которые уберет все частоты, которые нельзя отобразить.

WBR,
        AVB



Re: Data visualization
Hello, Alexey V Bugrov!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 26 May
2009 10:32:23 +0000 (UTC):


 DO>> экрана оверсэмплингом вычитывать и делать ресэмплинг. Hи то ни
 DO>> другое не требует вычитывания всего массива.
 AVB>>> строить нужно не точку, а вертикальный отрезок от минимума до
 AVB>>> максимума),
 DO>> Зачем?

 AVB> Откуда я знаю зачем тебе осциллограмму смотреть надо? Можешь просто
 AVB> сгенерить рандомно количество точек равное ширине экрана - будет
 AVB> очень  похоже.

Hе будет похоже.

 AVB>>>  соотвествующем точке, то вместо осцилограммы увидишь просто
 AVB>>> альясы,

 DO>> Да, конечно. Подробности будут видны при зуме, родной софт примерно
 DO>> так и работает.

 AVB> Хреновый софт.

Hе жалуюсь, и от других не слышал. А алиасы в процессе зума есть, факт.

 AVB> Либо ты не понимаешь как он работает. Если на зумауте ничего  не
 AVB> видно, то как ты узнаешь в какое место делать зум?

Кто тебе сказал, что ничего не видно?

 AVB>>> которые  ничего о форме исходного сигнала не говорят.
 DO>> Рассматривать "полотенце" бывает очень полезно.

 AVB> У тебя вместо полотенца будет совершенно ни о чем не говорящая
 AVB> белиберда,  брать точки с пропусками можно только пропустив все
 AVB> исходные данные через
 AVB> ФHЧ, которые уберет все частоты, которые нельзя отобразить.

Может быть это и делается, а может и нет, сходу трудно сказать, но гонять
для этого через фильтр все сэмлы точно не нужно. Как факт, какртинка на
"полотенце" от уменьшения сэмпл-рейта на порядок с гаком, а то и на два,
существенно не меняется. И если зум меня не интересует, я сэмпл-рейт
уменьшаю всегда, и существенно, тогда сам скоп гораздо быстрее, считай в
реалтайме работает, а с максимальным после срабатывания триггера приходится
пару секунд ждать, пока нарисуется картинка.



dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Data visualization
Hi Dmitry!

26 May 09 12:10, Dmitry Orlov wrote to Alexey V Bugrov:

 DO> максимальный 5Gsps, а у них и куда более быстрые скопы есть), но для
 DO> отображения достаточно менее 2000 сэмплов прочитать, сколько там даже
 DO> на HD экране точек по горизонтали может быть, это даже с HDD
 DO> достаточно быстро.

    для того, что бы получить нечто на экране - достаточно, что бы
    получить достоверную картинку - недостаточно.

    представь синус, оцифрованный 100 точек/период, а потом
    попробуй взять каждую 100-ю точку, результат тебя устроит?

    надо рисовать отрезок в координатах ( k , max ) , (k , min ),
    где k - горизонтальная кордината на экране, а max (min) -
    максимум (минимум) значений в интервале [ k*N+ofs, (k+1)*N+ofs ) , где
    N - масштаб, а ofs - смещение от начала.

                                                   Slav.

Re: Data visualization
Hello, Slav Matveev!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 26 May
2009 16:59:47 +0400:

 DO>> максимальный 5Gsps, а у них и куда более быстрые скопы есть), но
 DO>> для отображения достаточно менее 2000 сэмплов прочитать, сколько
 DO>> там даже на HD экране точек по горизонтали может быть, это даже с
 DO>> HDD достаточно быстро.

 SM>     для того, что бы получить нечто на экране - достаточно, что бы
 SM> получить достоверную картинку - недостаточно.

Степень ее достоверности мне оценить сложно, но на практике, как я уже
говорил, на скопе картинка "полотенца", то есть фактически огибающей
сигнала, слабо зависит от sample rate, вот возможности zoom'а, что очевидно,
от него сильно зависят. Я не знаю сколько сэмплов на отрисовку точки реально
читает скоповская программа (надо бы написать свою и проверить), но ясно,
что сильно меньше имеющихся. А алиасы при этом да будут, я неоднократно их
видел на экране цифрового скопа, ну и что? Стробоскопические скопы вообще
только на алиасах и работали. Таким образом, можно прочитать допустим в три
раза больше, чем влазит на экран точек, да даже в 10, это все равно быстро и
все равно гораздо меньше всей записи.

 SM>     представь синус, оцифрованный 100 точек/период, а потом
 SM> попробуй взять каждую 100-ю точку, результат тебя устроит?

У цифрового скопа в любом случае есть этот эффект, полоса пропускания канала
может быть существенно выше текущего sample rate, алиасы есть, и что делать?

 SM>     надо рисовать отрезок в координатах ( k , max ) , (k , min ),
 SM> где k - горизонтальная кордината на экране, а max (min) -
 SM>     максимум (минимум) значений в интервале [ k*N+ofs, (k+1)*N+ofs )
 SM> , где    N - масштаб, а ofs - смещение от начала.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Data visualization
Hi Dmitry!

26 May 09 19:57, Dmitry Orlov wrote to Slav Matveev:

 DO> что? Стробоскопические скопы вообще только на алиасах и работали.
 DO> Таким образом, можно прочитать допустим в три раза больше, чем влазит
 DO> на экран точек, да даже в 10, это все равно быстро и все равно гораздо
 DO> меньше всей записи.

    на стробоскопических, видимо, надо предполагать какой должен быть
    сигнал либо крутить ручки до получения правдоподобного
    результата. А видеть на экране прямую линию вместо переодического
    сигнала - не дело.

 SM>>     представь синус, оцифрованный 100 точек/период, а потом
 SM>> попробуй взять каждую 100-ю точку, результат тебя устроит?

 DO> У цифрового скопа в любом случае есть этот эффект, полоса пропускания
 DO> канала может быть существенно выше текущего sample rate, алиасы есть,
 DO> и что делать?

    я не знаю как лекрой или флюк или что там еще, обсчитывает
    картинку. но попробуй взять любой кусок осциллограммы и
    сжать по горизонтали до одной точки. В результате будет не точка,
    а отрезок, который, собственно и надо отобразить. Причем
    с учетом соседних, что бы не было разрывов там где их
    и в сигнале нет. А если дергать каждую -дцатую точку, и ее
    отдельно отображать, то я вообще слабо понимаю что там среди
    них можно увидеть.
    функцию, как бы, надо отрезками рисовать, а не точками.

                                                   Slav.

Data visualization
Привет, Slav !


 26 May 09 , 22:20  Slav Matveev писал к Dmitry Orlov:

SM> А если дергать каждую -дцатую точку, и ее
SM>     отдельно отображать, то я вообще слабо понимаю что там среди
SM>     них можно увидеть.

Как повезёт. Иногда - почти огибающую, а иногда странные биения.
Я бы предпочёл в каждой точке видеть вертикальный отрезок (минимум и максимум
всех отсчётов, свернутых в эту точку).

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... человек должен работать, а компьютер думать?!

Re: Data visualization
Hello, Slav Matveev!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Tue, 26 May
2009 21:20:58 +0400:


 DO>> что? Стробоскопические скопы вообще только на алиасах и работали.
 DO>> Таким образом, можно прочитать допустим в три раза больше, чем
 DO>> влазит на экран точек, да даже в 10, это все равно быстро и все
 DO>> равно гораздо меньше всей записи.

 SM>     на стробоскопических, видимо, надо предполагать какой должен
 SM> быть     сигнал либо крутить ручки до получения правдоподобного

Это на любом надо предполагать изначально.

 SM> результата. А видеть на экране прямую линию вместо переодического
 SM> сигнала - не дело.

Прямой и не будет, вероятность попасть частотой выборок точно в частоту
сигнала низкая. Hу и частоту выборок покрутить всегда можно.

 SM>>>     представь синус, оцифрованный 100 точек/период, а потом
 SM>>> попробуй взять каждую 100-ю точку, результат тебя устроит?

 DO>> У цифрового скопа в любом случае есть этот эффект, полоса
 DO>> пропускания канала может быть существенно выше текущего sample
 DO>> rate, алиасы есть, и что делать?

 SM>     я не знаю как лекрой или флюк или что там еще, обсчитывает
 SM> картинку. но попробуй взять любой кусок осциллограммы и     сжать по
 SM> горизонтали до одной точки. В результате будет не точка,     а
 SM> отрезок, который, собственно и надо отобразить. Причем     с учетом
 SM> соседних, что бы не было разрывов там где их     и в сигнале нет. А
 SM> если дергать каждую -дцатую точку, и ее     отдельно отображать, то
 SM> я вообще слабо понимаю что там среди     них можно увидеть.

Тем не менее, любой цифровой скоп это делает, как я уже замечал, полоса
пропускания канала может существенно превышать частоту выборок.

 SM>     функцию, как бы, надо отрезками рисовать, а не точками.

А в скопе это на выбор, можно отрезками, можно точками, можно и тем и
другим. Прореживая файл, я не предполагал отображать только точки, отрезки
конечно.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Data visualization
Hi Dmitry!

27 May 09 08:23, Dmitry Orlov wrote to Slav Matveev:

 SM>>     на стробоскопических, видимо, надо предполагать какой должен
 SM>> быть     сигнал либо крутить ручки до получения правдоподобного

 DO> Это на любом надо предполагать изначально.

    на старом аналоговом в место переодического сигнала можно
    увидеть широкую полосу, но не тонкую линию.

 SM>> результата. А видеть на экране прямую линию вместо переодического
 SM>> сигнала - не дело.

 DO> Прямой и не будет, вероятность попасть частотой выборок точно в
 DO> частоту сигнала низкая. Hу и частоту выборок покрутить всегда можно.

    ну получишь ты на экране синус, период которого отличается
    от оригинала на масштаб. тебе от этого легче будет?

 SM>> отдельно отображать, то я вообще слабо понимаю что там среди
 SM>> них можно увидеть.

 DO> Тем не менее, любой цифровой скоп это делает, как я уже замечал,
 DO> полоса пропускания канала может существенно превышать частоту выборок.

    полоса пропускания канала в данном случае не имеет никакого
    значения. У тебя уже есть оцифрованная функция, которую
    надо правильно отобразить.

 SM>>     функцию, как бы, надо отрезками рисовать, а не точками.

 DO> А в скопе это на выбор, можно отрезками, можно точками, можно и тем и
 DO> другим. Прореживая файл, я не предполагал отображать только точки,
 DO> отрезки конечно.

    даже отрезки между каждой N-ой точкой дадут неверную картину.


                                                   Slav.

Re: Data visualization
Hello, Slav Matveev!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 27 May
2009 13:41:26 +0400:


 SM>>>     на стробоскопических, видимо, надо предполагать какой должен
 SM>>> быть     сигнал либо крутить ручки до получения правдоподобного

 DO>> Это на любом надо предполагать изначально.

 SM>     на старом аналоговом в место переодического сигнала можно
 SM> увидеть широкую полосу, но не тонкую линию.

Hе угадал с частотой развертки и тоже вместо синуса линию горизонтальную
увидел.

 SM>>> результата. А видеть на экране прямую линию вместо переодического
 SM>>> сигнала - не дело.

 DO>> Прямой и не будет, вероятность попасть частотой выборок точно в
 DO>> частоту сигнала низкая. Hу и частоту выборок покрутить всегда
 DO>> можно.

 SM>     ну получишь ты на экране синус, период которого отличается
 SM> от оригинала на масштаб. тебе от этого легче будет?

Да, легче. В конце концов я разберусь что там за сигнал и как его смотреть.

 SM>>> отдельно отображать, то я вообще слабо понимаю что там среди них
 SM>>> можно увидеть.

 DO>> Тем не менее, любой цифровой скоп это делает, как я уже замечал,
 DO>> полоса пропускания канала может существенно превышать частоту
 DO>> выборок.

 SM>     полоса пропускания канала в данном случае не имеет никакого
 SM> значения. У тебя уже есть оцифрованная функция, которую     надо
 SM> правильно отобразить.

Соотношение полосы пропускания и частоты оцифровки всегда влияет на
возможность наличия алиасов, вне зависимости от того смотрю я картинку на
скопе или из файла. Выбрасывание выборок из файла и снижение частоты выборки
без изменения полосы пропускания канала - действия аналогичные.

 SM>>>     функцию, как бы, надо отрезками рисовать, а не точками.

 DO>> А в скопе это на выбор, можно отрезками, можно точками, можно и тем
 DO>> и другим. Прореживая файл, я не предполагал отображать только
 DO>> точки, отрезки конечно.

 SM>     даже отрезки между каждой N-ой точкой дадут неверную картину.


Так любой цифровой скоп работает. Сейчас попробовал менять сэмпл-рейт с
50ksps до 20Msps, вид примерно трехсоткилогерцового сигнала на "полотенце"
меняется не значительно при 100ms на всю картинку. Разумеется делать зум при
низкой частоте выборки бессмысленно, там уже только бессмысленные
горизонтальные прямые, когда на 20Msps - четкая осмысленная картинка.


dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Data visualization
Hi Dmitry!

27 May 09 19:17, Dmitry Orlov wrote to Slav Matveev:

 SM>>     на старом аналоговом в место переодического сигнала можно
 SM>> увидеть широкую полосу, но не тонкую линию.

 DO> Hе угадал с частотой развертки и тоже вместо синуса линию
 DO> горизонтальную увидел.

    Это, извините, как?

 SM>>     ну получишь ты на экране синус, период которого отличается
 SM>> от оригинала на масштаб. тебе от этого легче будет?

 DO> Да, легче. В конце концов я разберусь что там за сигнал и как его
 DO> смотреть.

    ну если цель стоит создать себе трудности, что бы их с честью
    преодолеть...


                                                   Slav.

Re: Data visualization
Hello, Slav Matveev!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 27 May
2009 19:33:14 +0400:


 SM>>>     на старом аналоговом в место переодического сигнала можно
 SM>>> увидеть широкую полосу, но не тонкую линию.

 DO>> Hе угадал с частотой развертки и тоже вместо синуса линию
 DO>> горизонтальную увидел.

 SM>     Это, извините, как?

Попробуй увидеть 50Гц на развертке, приспособленной для сотен килогерц.

 SM>>>     ну получишь ты на экране синус, период которого отличается от
 SM>>> оригинала на масштаб. тебе от этого легче будет?

 DO>> Да, легче. В конце концов я разберусь что там за сигнал и как его
 DO>> смотреть.

 SM>     ну если цель стоит создать себе трудности, что бы их с честью
 SM> преодолеть...

Отнюдь. А для рассматриваемой задачи я уже знаю и что там за сигналы и какой
зум может понадобиться для грубого и какой для тонкого просмотра.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Data visualization
Hi Dmitry!

28 May 09 02:19, Dmitry Orlov wrote to Slav Matveev:

 SM>>     Это, извините, как?

 DO> Попробуй увидеть 50Гц на развертке, приспособленной для сотен
 DO> килогерц.

    если не включить синхронизацию, то я увижу плавающую по вертикали
    линию, что лично меня сразу наведет на мысль несоответствия частоты
    развертки частоте сигнала.
    А вот если несоответствие частот в другую сторону, то, имхо,
    я увижу полосу, а не линию.

 SM>>     ну если цель стоит создать себе трудности, что бы их с честью
 SM>> преодолеть...

 DO> Отнюдь. А для рассматриваемой задачи я уже знаю и что там за сигналы и
 DO> какой зум может понадобиться для грубого и какой для тонкого
 DO> просмотра.

    тогда проще всего было бы написать небольшой скриптик,
    который был отбирал 64К строк с нужного места с нужным
    шагом, а 64К - ексель вполне съедает.

                                                   Slav.

Re: Data visualization
Hello


Quoted text here. Click to load it

Эмм. А то, что эксель для этих целей совершенно не предназначен, тебя не
смущает?

--
WBR, Andrew

Data visualization
Hi Andrew!

28 May 09 10:39, Andrew O. Shadoura wrote to Slav Matveev:

 >>     который был отбирал 64К строк с нужного места с нужным
 >>     шагом, а 64К - ексель вполне съедает.

 AS> Эмм. А то, что эксель для этих целей совершенно не предназначен, тебя
 AS> не смущает?

    если он сделает то, что мне нужно - то не смущает. особенно
    когда задача в единичном экземпляре.

                                                   Slav.

Re: Data visualization
Hello, Slav Matveev!
You wrote in conference fido7.ru.embedded to Andrew O. Shadoura on Thu, 28
May 2009 20:42:05 +0400:

 >>>     который был отбирал 64К строк с нужного места с нужным
 >>> шагом, а 64К - ексель вполне съедает.

 AS>> Эмм. А то, что эксель для этих целей совершенно не предназначен,
 AS>> тебя не смущает?

 SM>     если он сделает то, что мне нужно - то не смущает. особенно
 SM> когда задача в единичном экземпляре.

А он не сделает.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Re: Data visualization
Hello, Slav Matveev!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 28 May
2009 09:37:37 +0400:


 SM>>>     Это, извините, как?

 DO>> Попробуй увидеть 50Гц на развертке, приспособленной для сотен
 DO>> килогерц.

 SM>     если не включить синхронизацию, то я увижу плавающую по
 SM> вертикали     линию, что лично меня сразу наведет на мысль

Если правильно угадаешь с усилением/ослаблением по вертикали. Использование
любого прибора предполагает как знание того что и как он меряет, так и что
предполагается увидеть, и цифровой скоп - не исключение. Вещи, по-моему,
абсолютно очевидные, что тут обсуждать?

 DO>> Отнюдь. А для рассматриваемой задачи я уже знаю и что там за
 DO>> сигналы и какой зум может понадобиться для грубого и какой для
 DO>> тонкого просмотра.

 SM>     тогда проще всего было бы написать небольшой скриптик,
 SM> который был отбирал 64К строк с нужного места с нужным     шагом, а
 SM> 64К - ексель вполне съедает.

Вот уж точно ен эксель, чем он тут удобен? Как в нем зум делать? 64к точек
из 10М скриптом искать вместо того, чтобы посмотреть глазами - извращение.
Еще когда не хватает физически памяти в самом скопе, приходится применять
какие-то хитрые условия для срабатывания триггера, тут деваться некуда, но
уже имея запись процесса заниматься этим нелепо, тем более, что софт-то
такой есть...

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Data visualization
Hi Dmitry!

28 May 09 12:14, Dmitry Orlov wrote to Slav Matveev:

 SM>>     если не включить синхронизацию, то я увижу плавающую по
 SM>> вертикали     линию, что лично меня сразу наведет на мысль

 DO> Если правильно угадаешь с усилением/ослаблением по вертикали.
    ну я как бы по схеме представляю возможную амплитуду.

 DO> Использование любого прибора предполагает как знание того что и как
 DO> он меряет, так и что предполагается увидеть, и цифровой скоп - не
 DO> исключение. Вещи, по-моему, абсолютно очевидные, что тут обсуждать?
    и даже если я так облажаюсь с разверткой, то получу, вообщем-то,
    честную прямую, которая на этом месте в этом диапазоне и имеется,
    в отличии от твоего множества случайных точек.

 SM>> который был отбирал 64К строк с нужного места с нужным     шагом,
 SM>> а 64К - ексель вполне съедает.

 DO> Вот уж точно ен эксель, чем он тут удобен?
    он удобен тем, что его не надо неделю искать.


                                                   Slav.

Re: Data visualization
Hello, Slav Matveev!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 28 May
2009 20:44:38 +0400:

  SM>>>     если не включить синхронизацию, то я увижу плавающую по
 SM>>> вертикали     линию, что лично меня сразу наведет на мысль

 DO>> Если правильно угадаешь с усилением/ослаблением по вертикали.

 SM>     ну я как бы по схеме представляю возможную амплитуду.

А я, типа, не представляю что я должен увидеть...

 DO>> Использование любого прибора предполагает как знание того что и как
 DO>> он меряет, так и что предполагается увидеть, и цифровой скоп - не
 DO>> исключение. Вещи, по-моему, абсолютно очевидные, что тут обсуждать?

 SM>     и даже если я так облажаюсь с разверткой, то получу, вообщем-то,
 SM> честную прямую, которая на этом месте в этом диапазоне и имеется,
 SM> в отличии от твоего множества случайных точек.

Множество случайных точек - это плод твоего воображения.

 SM>>> который был отбирал 64К строк с нужного места с нужным     шагом,
 SM>>> а 64К - ексель вполне съедает.

 DO>> Вот уж точно ен эксель, чем он тут удобен?

 SM>     он удобен тем, что его не надо неделю искать.

Hо совершенно непригоден для решаемой задачи, всего на порядок прореженный
файл тот же gnuplot покажет (правда мне надо весь), а я, как уже говорил,
нашел подходящий софт. Да, он только для двух каналов, еще два можно в
другое окошко загрузить, но в принципе этого достаточно.

dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Re: Data visualization
Hello, Slav Matveev!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 28 May
2009 20:44:38 +0400:

 SM>>>     если не включить синхронизацию, то я увижу плавающую по
 SM>>> вертикали     линию, что лично меня сразу наведет на мысль

 DO>> Если правильно угадаешь с усилением/ослаблением по вертикали.
 SM>     ну я как бы по схеме представляю возможную амплитуду.

 DO>> Использование любого прибора предполагает как знание того что и как
 DO>> он меряет, так и что предполагается увидеть, и цифровой скоп - не
 DO>> исключение. Вещи, по-моему, абсолютно очевидные, что тут обсуждать?

 SM>     и даже если я так облажаюсь с разверткой, то получу, вообщем-то,
 SM> честную прямую, которая на этом месте в этом диапазоне и имеется,
 SM> в отличии от твоего множества случайных точек.

Короче говоря, выдалось у меня немного свободного времени и я набросал
программку. Hа первом проходе она вычитывает текстовый файл, определяет
минимумы, максимумы и число сэмплов и пишет их и амплитуды в виде 32хбитных
float в бинарный файл. Дальше из этого файла с задаваемым оверсэмплом (но не
чаще, чем данные записаны, интерполяции я не делаю) вычитываются амплитуды и
рисуется линия, соединяющая предыдущую и текущую выборки. Уже при 5-10
вычитываемых на одну экранную точку сэмплах получается вполне реальная
картинка, не слишком отличающаяся и от реальной на экране скопа, и от
вычитывания и рисования всех точек. Как я и говорил, и с десятикратным
оверсэмплом картинка рисуется быстро, обычными средствами CBuilder'a и винды
(как умею, так и пишу, я тот еще win-программер):

void __fastcall TOscForm::Plot(const AnsiString fName)
{
 FILE *fFlt;
 int points = 0;
 float min_time, max_time, min_ampl, max_ampl;
 float ampl;
 min_time = max_time = min_ampl = max_ampl = 0;

 fFlt = fopen(fName.c_str(), "rb");
 if (fFlt)
  {
   Stop = false;

  //надо бы заголовок в структуру объединить
   fread(&min_time, sizeof(min_time), 1, fFlt);
   fread(&max_time, sizeof(max_time), 1, fFlt);
   fread(&min_ampl, sizeof(min_ampl), 1, fFlt);
   fread(&max_ampl, sizeof(max_ampl), 1, fFlt);
   fread(&points, sizeof(points), 1, fFlt);

   ReDraw();
   int count = XMax-XMin;
   int delta = points/count;
   int over = PlotOversampling;
   if (over == 0) over = 1;
   float pkpk = (max_ampl-min_ampl);
   float dY = (float)(YMax-YMin)/2.0;

   if (delta > over) delta /= over;
   else over = 1;
   Canvas->MoveTo(XMin,(YMax-YMin)/2); //Тут мне лень вычитывать первый
сэмпл и я просто с середины начинаю
   Canvas->Pen->Color = clRed;
   int pX = XMin;
   int pY = (YMax-YMin)/2;
   for(int xi = 0; xi <= count*over; xi++)
    {
     int offset = xi*delta*sizeof(float)+4*sizeof(float)+1*sizeof(int);
     fseek(fFlt, offset, 0);
     fread(&ampl, sizeof(ampl), 1, fFlt);
     int X = XMin + xi/over;
     int Y = YMin+(YMax-YMin)/2 - (int)(dY*ampl/pkpk);
     if ((pX != X) || (pY != Y)) Canvas->LineTo(X, Y); // на скорость
заметно не влияет, похоже эта проверка внутри функции первым делом делается
     pX = X;
     pY = Y;
     if (Stop) break;
    }

  }

 fclose(fFlt);
}


В общем, если с этим еще поработать, то сделать весь нужный интерфейс вокруг
этого примитивного алгоритма - совершенно не проблема, а если поколдовать
над двоичными файлами со скопа и разобраться в их заголовке, то все просто
летать будет (первое преобразование в двоичный файл изрядно тормозит), тем
более, что и пишутся скопом они раз в 20 с гаком быстрее (занимая
соответственно в 20 раз меньший объем).




dima
http://www.dorlov.no-ip.com
http://dimorlus.dynalias.com


Site Timeline