реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Как следует тестировать программу КИХ фильтра?, Code Composer Studio v3.3 + MatLab/Simulink + TMS320F28335
beaRTS
сообщение Dec 12 2012, 08:48
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 27-12-11
Из: Челябинск
Пользователь №: 69 111



Недавно осилил КИХ-фильтр. Он выполняет сразу и децимацию (т.е. лишние выходные отсчеты не высчитывает => соответствующим образом посчитаны требования к фильтру).

Как следует поступать, чтобы проверить правильность его работы?

Что было сделано:
- до того , как заставил фильтр работать, посидел с пошаговой отладкой, исправил баги.
- затем подал тестовые сигналы - с Матлабом есть на глаз сходства =)
- этого стало мало, решил подать ступенчатую функцию Хэвисайда (переходная характеристика) и дельта-функцию Дирака (импульсная х-ка). Результаты сравнил с Матлабом (FDA tool). ах, да... тут я коэффициент децимации установил в 1 (чтоб фильтр не прореживал выходные отсчеты) - а так, он был равен 10.

что-то еще надо??? подскажите =). Или можно ехать дальше?

прикрепляю отчетный документик. ссылки кликабельны (это если качество картинок не нравятся).

Сообщение отредактировал beaRTS - Dec 12 2012, 08:49
Прикрепленные файлы
Прикрепленный файл  FIR_filter_Testing_Debugging.pdf ( 1.4 мегабайт ) Кол-во скачиваний: 63
 


--------------------
"Об уме человека вернее судить по его вопросам, нежели по его ответам" (с)
Go to the top of the page
 
+Quote Post
Gyga
сообщение Dec 12 2012, 09:46
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 203
Регистрация: 3-06-08
Пользователь №: 38 014



Осталось проверить децимацию
Go to the top of the page
 
+Quote Post
beaRTS
сообщение Dec 12 2012, 10:28
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 27-12-11
Из: Челябинск
Пользователь №: 69 111



Цитата(Gyga @ Dec 12 2012, 12:46) *
Осталось проверить децимацию

выполняется. На картинке доказательство.
Да и в пошаговой отладке специально акцентировал на этом внимание - каждые М-раз (М-коэфф децимации) заходил в нужную ветку if().


а вообще, как тестировать ЦОС модули, ну, или просто ПО, например, систему АРУ цифровую (которая управляет RF-усилителями на плате).
Стоит для этого скриптовый язык углублять, например, Питон, чтобы писать какие-нибудь скрипты для входных воздействий и скрипты для обработки выхода модуля в удобочитаемую форму ??? и как вообще (через встраивание проги на С++ в Питон или ....??) и для чего делается связка скриптового языка + компилируемый (С++)?

есть TDD, (не погружался)
есть Google C++ Mocking Framework (тоже только слышал пока что)

что хорошо, а что плохо?

Сообщение отредактировал beaRTS - Dec 12 2012, 10:30
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
"Об уме человека вернее судить по его вопросам, нежели по его ответам" (с)
Go to the top of the page
 
+Quote Post
Gyga
сообщение Dec 12 2012, 11:11
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 203
Регистрация: 3-06-08
Пользователь №: 38 014



Либо на железе. Либо должна быть модель этого железа. Google C++ Mocking Framework для этого не нужен
Go to the top of the page
 
+Quote Post
beaRTS
сообщение Dec 12 2012, 11:21
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 27-12-11
Из: Челябинск
Пользователь №: 69 111



Цитата(Gyga @ Dec 12 2012, 14:11) *
Либо на железе. Либо должна быть модель этого железа. Google C++ Mocking Framework для этого не нужен

"Либо должна быть модель этого железа." что значит модель железа?? это типа, как в Code composer studio есть эмулятор их процессоров ???

Ну, например, есть у меня отладочная плата EzDsp TMS320F28335. а делать плату приборчика своего нет желания, хоть и радиотракт отмакетирован и вылизан. Не хочу просто время тратить, по максимуму хочу ЦОС и программку на С++ замутить (тем самым прокачать скилы), пока предприятие до конца не развалили... да искать себе применение по прокаченным навыкам.
Так вот. ПОнятно что ЦОС могу и на отладочной плате проверить: тот же цифровой детектор доделать поэтапно... а вот как-нибудь АРУ, например, можно проверить без реальной платы устройства??? Отсюда вопрос про скрипты и возник. Может быть, не на целевой платформе, так на Писюке ??


--------------------
"Об уме человека вернее судить по его вопросам, нежели по его ответам" (с)
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Dec 12 2012, 11:38
Сообщение #6


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



На скриптовом языке все быстро пишется. Формировать последовательности, проверять валидность алгоритмов - самое то, ГУИ быстренько "накидать". Для тестирования C-кода (без привязки к ЦОС) я так и не пробовал. вообще задачи софт-тестеров и разработчиков DSP-алгоритмов разные. Сам код на C в python просто так не вставишь, нужно немного переделать(а это оверхед). Хотя в NumPy вообще как-то C++ можно заюзать, но я так глубоко не копал. В SciLab можно библиотеки использовать.

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


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
vetal
сообщение Dec 12 2012, 11:38
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
а вот как-нибудь АРУ, например, можно проверить без реальной платы устройства???

Вы входное воздействие как-то формируете? Если да, то и воздействовать на него можно:
Увых(АРУ)=Увх*f(АРУ);
Go to the top of the page
 
+Quote Post
beaRTS
сообщение Dec 12 2012, 14:34
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 27-12-11
Из: Челябинск
Пользователь №: 69 111



Цитата(DRUID3 @ Dec 12 2012, 14:38) *
Сам код на C в python просто так не вставишь, нужно немного переделать(а это оверхед).

ну, я просматривал оный вопрос. И правда, самый гемор со вставкой Питона в С/С++. Легче С/С++ в Питон приделать.

Цитата(vetal @ Dec 12 2012, 14:38) *
Вы входное воздействие как-то формируете? Если да, то и воздействовать на него можно:
Увых(АРУ)=Увх*f(АРУ);

просто не думал еще. на данном этапе понимания, все ПО разбил пока на части, которые - думается - вполне можно делать по отдельности:
- система АРУ (цифровая часть, которая через ЦАПы управляет аналоговой частью АРУ)
- цифровой (скорее) синхронный детектор
- ну всякие интерфейсные функции по работе с RS232, SPI
- работа с "внешним миром": LCD, клавиатура, и т.д...
Пока взялся за детектор, т.к. на уровне детектированного сигнала будет работать та же АРУ (как - пока смутно представляю )



Цитата(vetal @ Dec 12 2012, 14:38) *
Увых(АРУ)=Увх*f(АРУ);


наверно, да - входным для АРУ будет некий уровень принимаемого сигнала с детектора. Так что для тестирования вход можно в том же матлабе сформировать... буду думать, когда доберусь.
а так просто хотелось узнать про полезность скриптовых языков.
и как побыстрее то отлаживать можно. у TI есть RTDX технология для реал тайма, но еще не осваивал.

Сообщение отредактировал beaRTS - Dec 12 2012, 14:38


--------------------
"Об уме человека вернее судить по его вопросам, нежели по его ответам" (с)
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Dec 12 2012, 14:37
Сообщение #9


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(beaRTS @ Dec 12 2012, 16:28) *
ну, я просматривал оный вопрос. И правда, самый гемор со вставкой Питона в С/С++. Легче С/С++ в Питон приделать.

...не в том дело, что куда сложно вделать, а в том что у них совсем разная типизация и там можно наломать дров. Что-бы подключить C-шную библиотеку к пайтону нужен немалый изврат и смысл всей затеи теряется если нет целей просто "ускорить" исполнение скрипта на PC.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Прикрепленное изображение
 


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
beaRTS
сообщение Dec 12 2012, 16:11
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 27-12-11
Из: Челябинск
Пользователь №: 69 111



Цитата(DRUID3 @ Dec 12 2012, 17:37) *
...не в том дело, что ...

все - Вы спалились =) теперь знаю кого мучить в нужное время по поводу Питошки =).

Цитата(beaRTS @ Dec 12 2012, 18:34) *
у TI есть RTDX технология для реал тайма, но еще не осваивал.

печаль несусветная..
"As of 6/24/2010 RTDX is no longer supported. Alternative transports should be considered for the acquision of data, such as serial ports and ethernet. If you are currently using the technology and have no issues, there is no need to change. However, no action will be taken for support inqueries." (с) ссылка ндааа

Сообщение отредактировал beaRTS - Dec 12 2012, 15:38


--------------------
"Об уме человека вернее судить по его вопросам, нежели по его ответам" (с)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01458 секунд с 7
ELECTRONIX ©2004-2016