Jump to content

    
Sign in to follow this  
AlexZabr

Интеграция Матлаба с кодом в CCS 3.3 под С5402 ?

Recommended Posts

Оговорка: по части имплементации под DSP я новичок, посему заранее мои извинения за возможно примитивные вопросы.

 

Теперь к делу:

Есть определенный алгоритм обработки аудио сигнала, алгоритм стабилизирован и симулирован в Матлабе с DSP toolboxом). Теперь пришло время имплементации, платформа - TMS320C5402 DSK.

По первичным прикидкам, данный процессор не потянет имплементацию сего алгоритма в реальном времени, и даже post-processingе могут быть проблемы при имплементации алгоритма в его виде на данный момент (ввиду нехватки адресуемой процессором памяти).

 

Вся эта работа - мой дипломный проэкт на B.Sc.EE. В универе (в конкретной лабе) есть только данная платформа, посему и вынужден изголяться имплементацией на ней, других вариантов нет.

 

Цель задачи - не промышленная, просто показать разработанный алгоритм и его наметки реализации на DSP. Посему, и ввиду вышеизлоенного подумал о возможности имплеемнтации алгоритма на смешанной базе: MATLAB + Hardware. Т.е. основная рассчетно-интенсивная часть будет в Матлабе на PC, затем несколько кусков алгоритма должны бежать на DSP. Ессно, речь не идет о реальном времени, все будет в post-processing.

 

Это предусматривает обмен информацией между частью алгоритма в Матлабе и его частями в hardware с след. виде:

1.Начальная обработка сигнала в Матлабе, результат (вектора коеффициентов) и определенные части отцифрованного сигнала передаются на DSP (через цифровой интерфэйс DSK).

2. DSP прогоняет полученную data реализуя свою часть алгоритма, затем передает обработаные части сигнала обратно Матлабу по тому-же интерфэйсу.

3. Матлаб стыкует все части сигнала (свои и полученные с DSP) в единый сигнал (цифровой сигнал) который и есть output.

 

Вопрос таков: реально (если да то насколько сложно) состыковать в работе Матлаб с процессором в плане такого типа обработки сигнала (можно считать нет жестких требований real-timeа) ?

Если да, но как состыковывается таким образом сорсы Матлаба (скажем m-files) с сорсами в CCS v3.3

(С и ассемблерные сорсы) с целью совместной работы со взаимной передачей данных ?

 

Заранее благодарен, Саша

Share this post


Link to post
Share on other sites
А в МатЛабе у тебя есть поддержка TMS320C5402 DSK, типа блоков C6416 DSK Board Support? Или в университете?

 

Честно говоря я не в курсе. У меня просто стандартная версия Матлаба 7 с toolboxes, если в ней есть встроенная поддержка данного DSKя, то да, ежели требует доп. софта - то у меня этого нет.

Есть конечно-же поддержка оного в универской лабе.

 

Я вообще-то не рассчитывал работать напрямую с DSKем из МАТЛАБа, просто в МАТЛАбе отработать алгоритм, а дальше имплеметация в CCS и оттуда в DSK.

Share this post


Link to post
Share on other sites
Оговорка: по части имплементации под DSP я новичок, посему заранее мои извинения за возможно примитивные вопросы.

 

Теперь к делу:

Есть определенный алгоритм обработки аудио сигнала, алгоритм стабилизирован и симулирован в Матлабе с DSP toolboxом). Теперь пришло время имплементации, платформа - TMS320C5402 DSK.

По первичным прикидкам, данный процессор не потянет имплементацию сего алгоритма в реальном времени, и даже post-processingе могут быть проблемы при имплементации алгоритма в его виде на данный момент (ввиду нехватки адресуемой процессором памяти).

 

Вся эта работа - мой дипломный проэкт на B.Sc.EE. В универе (в конкретной лабе) есть только данная платформа, посему и вынужден изголяться имплементацией на ней, других вариантов нет.

 

Цель задачи - не промышленная, просто показать разработанный алгоритм и его наметки реализации на DSP. Посему, и ввиду вышеизлоенного подумал о возможности имплеемнтации алгоритма на смешанной базе: MATLAB + Hardware. Т.е. основная рассчетно-интенсивная часть будет в Матлабе на PC, затем несколько кусков алгоритма должны бежать на DSP. Ессно, речь не идет о реальном времени, все будет в post-processing.

 

Это предусматривает обмен информацией между частью алгоритма в Матлабе и его частями в hardware с след. виде:

1.Начальная обработка сигнала в Матлабе, результат (вектора коеффициентов) и определенные части отцифрованного сигнала передаются на DSP (через цифровой интерфэйс DSK).

2. DSP прогоняет полученную data реализуя свою часть алгоритма, затем передает обработаные части сигнала обратно Матлабу по тому-же интерфэйсу.

3. Матлаб стыкует все части сигнала (свои и полученные с DSP) в единый сигнал (цифровой сигнал) который и есть output.

 

Вопрос таков: реально (если да то насколько сложно) состыковать в работе Матлаб с процессором в плане такого типа обработки сигнала (можно считать нет жестких требований real-timeа) ?

Если да, но как состыковывается таким образом сорсы Матлаба (скажем m-files) с сорсами в CCS v3.3

(С и ассемблерные сорсы) с целью совместной работы со взаимной передачей данных ?

 

Заранее благодарен, Саша

Исходники программы Матлаба и исходники ДСП не должны состыковываться непосредственно. Должны состыковываться проц и ПК, посредством какого то интерфейса, например USB или PCI. Естественно и в ПК (в матлабе) и в ДСП должно быть соответствующее управление и работы с этими портами (интерфейсами).

То что спрашивал автор предыдущего поста наверное подумал, что вы хотите сделать имплементацию алгоритмов в матлабе для ДСП. То есть не разделение задач между ДСП и ПК, а именно компиляцию, условно, m-файлов в ассемблер. Это здорово для целей time-to-market.

Share this post


Link to post
Share on other sites
Исходники программы Матлаба и исходники ДСП не должны состыковываться непосредственно. Должны состыковываться проц и ПК, посредством какого то интерфейса, например USB или PCI. Естественно и в ПК (в матлабе) и в ДСП должно быть соответствующее управление и работы с этими портами (интерфейсами).

То что спрашивал автор предыдущего поста наверное подумал, что вы хотите сделать имплементацию алгоритмов в матлабе для ДСП. То есть не разделение задач между ДСП и ПК, а именно компиляцию, условно, m-файлов в ассемблер. Это здорово для целей time-to-market.

 

Ааа, понял, спасибо.

Нет, я конечно-же не подразумевал прямой переход из кода алгоритма в м-файлах в ассемблер процессора. Имплементация - отдельная story. Я просто наверно сам себя запутал и весьма туманно задал вопросы. Сорри.

 

Я сейчас изучаю стыковку идеала и реальности - т.е вычисления в МАТЛАБе хороши, фильтры как надо, коеффициенты, алгоритм работает удовлетворительно, но эот все пока в МАТЛАБе. Сейчас пытаюсь разобраться с подводными камнями имплементации (с ориентировкой на 16-bit, fixed point процессор), тут целоя море неизведанного... там у меня немало узкополосных IIRов, коеффициенты ессно в МАТЛАБе - 64 бита, а тут при 16 битах и фикс точке - полный бардак.

Вот и пыатюсь исучать теории/практики "борьбы" в этими вещами стыкуя симулированные рассчеты в МАТЛАБе и код в CCS...

 

Спасибо всем за пояснения...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this