Нравится? Делимся информацией!

четверг, 6 декабря 2012 г.

как построить график переменной в Code Composer Studio v3.3 ?

Написал на “приплюснутом” =) (C++) реализацию класса КИХ фильтра, который одновременно выполняет децимацию. Хочу отладить в композере. Как заливать данные в композер для отладки разобрался: ссылка 1 - читать первой , ссылка 2 , ссылка 3
    Но как отображать выходные данные, чтобы не так много оперативной памяти расходовалось на отладку в TMS320F28335 ???


    Вижу два варианта: 1) так же, как на приведенных ссылках 1-3, т.е. выделять массив в программе, вмещающий выходной сигнал (расточительно по оперативке, но, думаю, будет довольно быстро по времени отладки, т.к. обновлять график придется с низкой частотой (пока наполнится буфер сколько времени пройдет!.. ) )
2) Попытаться вывести только одну переменную в график. По идее, раз переменная будет меняться, то каждый дискретный момент времени график утилиты Graph tool мог бы обновляться этим новым значением переменной (но, из-за частого обновления, чувствую, отладка будет очень сильно тормозиться).

    Пробовать буду вариант № 2, т.к. в процессоре TMS320F28335 и так мало оперативки =(.  
    Сама программа выглядит следующим образом:


    В строке 48 мы вызываем пустую функцию с той целью, чтобы привязать к ней точку останова (третья красная точка слева от номеров строк).  В данную ветвь if мы попадаем через M отсчетов входного сигнала. М - коэффициент децимации/прореживания входного сигнала. Он равен в этом примере 8 ( третий параметр в методе dsp::CFirFilter   firFilter( FIR_coeff, BL, 8) ). Т.е в положительной ветви if у нас как раз в переменной g_out хранится выход фильтра-дециматора.  Вот эти значения я и хотел построить/отобразить, дабы визуально определить работает ли алгоритм.
    Итак, 1) на 48 строке двойным щелчком ЛКМ устанавливаем точку останова.
    2) Создаем новое окно графика ( Graph Tool ): View → Graph → Time/Frequency
    3) Заполняем, ориентируясь на ниже приведенный рисунок:


    4) Настраиваем точку останова, чтобы по ее достижению обновлялся график “filter out”


    5) Debug → Run


Profit!!!!!



Комментариев нет:

Отправить комментарий