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

 
 
> 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
 
Start new topic
Ответов
SemperAnte
сообщение Jun 3 2013, 09:58
Сообщение #2


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

Группа: Свой
Сообщений: 89
Регистрация: 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



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

 


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


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