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

 
 
 
Reply to this topicStart new topic
> VHDL в MATLAB
Ivan575
сообщение May 30 2013, 15:08
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 26-02-13
Пользователь №: 75 807



Подскажите пожалуйста! С помощью MATLAB и Filter Design HDL Coder был создан vhdl файл. Можно ли с помощью комментариев добавляемых матлабом в данный файл воссоздать его первоначальный вид? Или как сделать то же самое по vhdl-коду? Матлабовский коммент представлен ниже:

-- Module: lowpass400kHz_4mHz_16
--
-- Generated by MATLAB® 7.8 and the Filter Design HDL Coder 2.4.
--
--
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- HDL Code Generation Options:
--
-- TargetLanguage: VHDL
-- FIRAdderStyle: tree
-- OptimizeForHDL: on
-- ClockEnableInputPort: clk_en
-- ResetInputPort: res
-- TargetDirectory: C:\Actelprj
-- AddPipelineRegisters: on
-- InputPort: f_in
-- OutputPort: f_out
-- Name: lowpass400kHz_4mHz_16
-- DALUTPartition: [8 8 1]
-- TestBenchName: Hlp2_tb
--
-- Filter Settings:
--
-- Discrete-Time FIR Filter (real)
-- -------------------------------
-- Filter Structure : Direct-Form FIR
-- Filter Length : 17
-- Stable : Yes
-- Linear Phase : Yes (Type 1)
-- Arithmetic : fixed
-- Numerator : s12,14 -> [-1.250000e-001 1.250000e-001)
-- Input : s12,11 -> [-1 1)
-- Filter Internals : Full Precision
-- Output : s26,25 -> [-1 1) (auto determined)
-- Product : s23,25 -> [-1.250000e-001 1.250000e-001) (auto determined)
-- Accumulator : s26,25 -> [-1 1) (auto determined)
-- Round Mode : No rounding
-- Overflow Mode : No overflow
Go to the top of the page
 
+Quote Post
SemperAnte
сообщение May 31 2013, 07:10
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 79
Регистрация: 24-10-10
Из: Санкт-Петербург
Пользователь №: 60 386



А в чем проблема? Судя по представленным комментариям - это стандартный КИХ-фильтр 16 порядка. Просто создать этот фильтр в Матлабе или Симулинке, и вручную вбить его коэффициенты из кода.

Сообщение отредактировал SemperAnte - May 31 2013, 07:12
Go to the top of the page
 
+Quote Post
Ivan575
сообщение Jun 2 2013, 19:05
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 26-02-13
Пользователь №: 75 807



Цитата(SemperAnte @ May 31 2013, 11:10) *
А в чем проблема? Судя по представленным комментариям - это стандартный КИХ-фильтр 16 порядка. Просто создать этот фильтр в Матлабе или Симулинке, и вручную вбить его коэффициенты из кода.


Матлаб недавно стал использовать и пока что плохо им владею. Вы не могли бы подсказать как воссоздать фильтр (привести примерчик)? Буду премного благодарен.
Go to the top of the page
 
+Quote Post
SemperAnte
сообщение Jun 3 2013, 09:58
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 79
Регистрация: 24-10-10
Из: Санкт-Петербург
Пользователь №: 60 386



Цитата(Ivan575 @ Jun 2 2013, 23:05) *
Матлаб недавно стал использовать и пока что плохо им владею. Вы не могли бы подсказать как воссоздать фильтр (привести примерчик)? Буду премного благодарен.


На днях решал похожую задачу для двукаскадного БИХ-фильтра. Матлаб код был такой:

Код
b1=[16384,-1782,917];
a1=[16384,-32126,15756];
b2=[16384,-1824,917];
a2=[16384,-32510,16166];
g=[917,917];

dr=2^19;
b1=b1./dr;
a1=a1./dr;
b2=b2./dr;
a2=a2./dr;
g=g./dr;

Hd = dfilt.df2sos(b1,a1,b2,a2,g);
fvtool(Hd);


Здесь, в первом абзаце создаются вектора с коэффициентами из HDL-кода, во втором нормируются к единице, в третьем командой dfilt.df2sos создаётся нужная структура фильтра. В вашей задаче структура фильтра другая - нужно найти в Матлабовской справке соответствующую команду (по-моему dfilt.df1, но не уверен).
Go to the top of the page
 
+Quote Post
Ivan575
сообщение Jun 3 2013, 16:07
Сообщение #5





Группа: Участник
Сообщений: 11
Регистрация: 26-02-13
Пользователь №: 75 807



огромное спасибо, попробую! Пытаюсь воспроизвести его через filter design toolbox. Если получится выложу.
Go to the top of the page
 
+Quote Post
Мур
сообщение Mar 9 2017, 18:32
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 679
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Подскажите, кто знает?
Есть ли возможность обратно загнать VHDL-модуль в Матлаб, чтобы посмотреть поведение на тестах?
Стоит задача незнакомый проект модифицировать по частям... Если да, то подскажите, где об этом можно почитать?
Go to the top of the page
 
+Quote Post
Daedal07
сообщение Mar 9 2017, 22:15
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913



Цитата(Мур @ Mar 9 2017, 21:32) *
Подскажите, кто знает?
Есть ли возможность обратно загнать VHDL-модуль в Матлаб, чтобы посмотреть поведение на тестах?
Стоит задача незнакомый проект модифицировать по частям... Если да, то подскажите, где об этом можно почитать?


В сам Матлаб не знаю, но в симулинк при помощи System Generator`a просто делается:

Там есть компонент blackbox - в него вставляете файл .vhd, и он в виде блока с портами в модели симулинка появится.


--------------------
Сжимаются ужи насмешкой лжи
Go to the top of the page
 
+Quote Post
hsoft
сообщение Mar 10 2017, 03:48
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 13-02-17
Пользователь №: 95 415



Цитата(Мур @ Mar 9 2017, 19:32) *
Подскажите, кто знает?
Есть ли возможность обратно загнать VHDL-модуль в Матлаб...

Вы можете вывести вектора результаты работы модуля в текстовый файл затем загрузить их в Matlab и проанализировать.

Сообщение отредактировал hsoft - Mar 10 2017, 03:48
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th May 2017 - 15:16
Рейтинг@Mail.ru


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