|
Проблемы с реализацией CIC фильтров |
|
|
|
Aug 12 2010, 10:54
|
Группа: Новичок
Сообщений: 9
Регистрация: 12-08-10
Пользователь №: 58 875

|
Добрый день! Проблема в следующем. Требуется реализовать CIC фильтр в 12 секций с децимацией, к примеру 10. Решил сначала построить его на IP-ядре (CIC Compiler Core). Оказалось, что он может генерить фильтр с максимальным количеством секций 6. А надо 12. Как быть? Ладно, структура вроде бы не сложная, решил написать руками. Текст привожу далее. (К примеру, для 3х каскадов. ) Если кто сталкивался с написанием такого фильтра в коде, посмотрите, пожалуйста, нет ли ошибок. И последее. Фильтр надо как-то отлаживать. Проверить результат. Также буду очень признателен, если кто-нибудь скажет как лучше проверить, что он работает. Спасибо!
library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_SIGNED.all; use IEEE.STD_LOGIC_ARITH.all;
entity hcic is port( CLK : in STD_LOGIC; CLK10 : in STD_LOGIC; din : in STD_LOGIC_VECTOR(15 downto 0); dout : out STD_LOGIC_VECTOR(15 downto 0) ); end hcic;
architecture BEH of hcic is signal i0,i1,i2,i3,tempI0,tempI1,tempI2:STD_LOGIC_VECTOR(21 downto 0); signal c0,c1,c2,c3,tempC0,tempC1,tempC2:STD_LOGIC_VECTOR(21 downto 0); signal clk_dec :STD_LOGIC; --signal clcc:STD_LOGIC_VECTOR(4 downto 0);
begin
process (clk) begin if(clk'event and clk='1')then if din(15)='0' then i0<="0000000"&din(14 downto 0); else i0<="1111111"&din(14 downto 0);end if; dout<=c3(15 downto 0);
end if; end process;
--process (clk) -- begin -- if(clk'event and clk='1')then -- clcc<=clcc+1; -- if clcc="10011" then clk_dec<='1'; else clk_dec<='0'; clcc<="00000";end if; -- end if; --end process; process (clk)--INTERGRATED begin if(clk'event and clk='1')then tempI0<=i0; tempI1<=i1; tempI2<=i2; i1<=signed(tempI0)+signed(i0); i2<=signed(tempI1)+signed(i1); i3<=signed(tempI2)+signed(i2);
end if; end process; process (CLK10)--COMB begin if(CLK10'event and CLK10='1')then tempC0<=i3; tempC1<=c1; tempC2<=c2; c1<=signed (tempC0)-signed (i3); c2<=signed (tempC1)-signed (c1); c3<=signed (tempC2)-signed (c2);
end if; end process; -- -- ---- -- end BEH;
|
|
|
|
Сообщений в этой теме
Art111 Проблемы с реализацией CIC фильтров Aug 12 2010, 10:54 des00 Цитата(Art111 @ Aug 12 2010, 05:54) Фильт... Aug 12 2010, 11:12 DmitryR Цитата(Art111 @ Aug 12 2010, 14:54) И пос... Aug 12 2010, 11:17 rloc Для начала подайте на вход дельта-импульс (в данно... Aug 12 2010, 12:15  Art111 Цитата(rloc @ Aug 12 2010, 16:15) Для нач... Aug 13 2010, 05:29   rloc Цитата(Art111 @ Aug 13 2010, 09:29) А я н... Aug 16 2010, 15:26 alex_os Цитата(Art111 @ Aug 12 2010, 14:54) Пробл... Aug 13 2010, 06:41 Art111 Цитата(alex_os @ Aug 13 2010, 10:41) 12 с... Aug 13 2010, 07:11  alex_os Цитата(Art111 @ Aug 13 2010, 11:11) А вы ... Aug 13 2010, 08:05  729 Цитата(Art111 @ Aug 13 2010, 11:11) А вы ... Aug 13 2010, 08:25 DmitryR Цитата(alex_os @ Aug 13 2010, 10:41) 12 с... Aug 13 2010, 07:17  Art111 А есть люди, на форуме, которые CIC писали руками? Aug 13 2010, 07:27   DmitryR Я FIR писал, это сложнее. Aug 13 2010, 07:34    Art111 Цитата(DmitryR @ Aug 13 2010, 11:34) Я FI... Aug 13 2010, 07:53     DmitryR Цитата(Art111 @ Aug 13 2010, 11:53) Разни... Aug 13 2010, 08:42      729 Цитата(DmitryR @ Aug 13 2010, 12:42) Обра... Aug 13 2010, 08:47   des00 Цитата(Art111 @ Aug 13 2010, 02:27) А ест... Aug 13 2010, 08:18    Art111 Цитата(des00 @ Aug 13 2010, 12:18) интегр... Aug 13 2010, 08:57 hobgoblin Цитата(Art111 @ Aug 13 2010, 11:11) А вы ... Aug 13 2010, 07:36 Art111 Цитата(hobgoblin @ Aug 13 2010, 11:36) Не... Aug 13 2010, 07:47 hobgoblin ЦитатаЕстественно, компенсационник на выходе CIC б... Aug 13 2010, 07:53 hobgoblin Почему бы просто не не сгенерировать код из матлаб... Aug 13 2010, 08:05 PavPro Хотелось бы прояснить для себя следующий момент ка... Jan 15 2015, 18:27 Maverick Цитата(PavPro @ Jan 15 2015, 20:27) Хотел... Jan 15 2015, 19:18  PavPro Цитата(Maverick @ Jan 15 2015, 23:18) нет... Jan 15 2015, 19:51   Maverick Цитата(PavPro @ Jan 15 2015, 21:51) Ну де... Jan 15 2015, 20:01    PavPro Цитата(Maverick @ Jan 16 2015, 00:01) нет... Jan 15 2015, 20:07 vadimuzzz тут смотрели? я по Хогенауэру делал, но не помню, ... Jan 16 2015, 00:31
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|