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

 
 
> программа для генерации фильтров в плис
Lmx2315
сообщение Dec 6 2008, 11:26
Сообщение #1


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Приветствую уважаемые .


Я новичёк в плисоведении .

Cижу разбираюсь с ПЛИС и т.д. , не подскажете какую-либо прогу чтоб могла фильтры генерить для плис Vertex .

Встроенный в ICE генератор делает только FIR и требует файл коэффициентов , руками набить нельзя . В матлабе можно поучить коэффициенты , но некуда их сунуть . Файл в формате ice (coef) не генерится .

Пробовал сгенерировать на verilog - не транслируется в прошивку ( может потому что там разрядность 64 битная ?? не знаю ) - это речь идёт о fdatool .

Пытаюсь сунуть в плис демодулятор на схеме Костоса , в симулинке вроде работает , а в плис то фильтр сделать толком не могу , то функцию sign (x) ( если кто знает - тоже подскажите , плиз ) .

Простите за косноязычность - так всегда бывает когда немного не в теме и одни эмоции .


Не стесняйтесь пинать , но тока советы давайте посодержательней ...я цифровой техникой раньше не занимался вовсе , тока линейной частью и всё.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tue
сообщение Dec 7 2008, 13:12
Сообщение #2


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

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Lmx2315, вы бы хоть описали что вы подразумеваете под функцией sign(x). Если судить из названия, то смею предпложить, что на входе этой функции должно быть знаковое число, на выходе - знак числа. Если так, то что мешает вам брать самый старший разряд, являющийся знаковым разрядом, и выдавать его наружу ?
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Dec 7 2008, 21:00
Сообщение #3


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Цитата(Tue @ Dec 7 2008, 16:12) *
Lmx2315, вы бы хоть описали что вы подразумеваете под функцией sign(x). Если судить из названия, то смею предпложить, что на входе этой функции должно быть знаковое число, на выходе - знак числа. Если так, то что мешает вам брать самый старший разряд, являющийся знаковым разрядом, и выдавать его наружу ?



правильно мне нужен знак числа или ноль если число - ноль .

Ну возьму я зтарший знак числа а как мне на него умножить следующее число ?

у меня после этой функции - перемножитель на другое число .


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Tue
сообщение Dec 8 2008, 08:22
Сообщение #4


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

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Цитата(Lmx2315 @ Dec 8 2008, 00:00) *
правильно мне нужен знак числа или ноль если число - ноль .

Ну возьму я зтарший знак числа а как мне на него умножить следующее число ?

у меня после этой функции - перемножитель на другое число .

Ну допустим знак вы получили - однобитовое число: '0' - число положительное, '1' - число отрицательное. Далее вы можете превратить это однобитовое число в знаковое число, у которого старший бит - знак, остальная часть представляет коэффициент и умножать на второе множимое. В данном случае достаточно всего 2-х битов.
Но можно поступить умнее и ничего не умножать. Анализируя значения знака, переводить ваше второе множимое в знаковое число и выдавать либо его положительное, либо отрицательное значение

Ниже приведен примерный код на VHDL вашего "перемножителя". Предполагается, что "siggn" - знак числа, "m" - беззнаковое 13-битное входное число, "outp" - знаковое выходное 14-битное число.
Код
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.numeric_std.all;

ENTITY make_signed_out IS
    PORT (
        siggn : IN std_logic;
        m : IN std_logic_vector(12 DOWNTO 0);
        outp : OUT std_logic_vector(13 DOWNTO 0));
END make_signed_out;


ARCHITECTURE fsm_SFHDL OF make_signed_out IS


BEGIN
    make_signed_out : PROCESS (siggn, m)
        VARIABLE a_s : signed(13 DOWNTO 0);
        VARIABLE a_s_0 : signed(14 DOWNTO 0);
    BEGIN
        a_s := signed(resize(unsigned(m), 14));

        IF siggn /= '0' THEN
            a_s_0 :=  - (resize(a_s, 15));
            outp <= std_logic_vector(a_s_0(13 DOWNTO 0));
        ELSE
            outp <= std_logic_vector(a_s);
        END IF;

    END PROCESS make_signed_out;

END fsm_SFHDL;


Сообщение отредактировал Tue - Dec 8 2008, 08:28
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Dec 8 2008, 18:57
Сообщение #5


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



Спасибо за помощь smile.gif .


К сати в матлабе в тулсе фильтровом - нашёл как сделать чтоб всё в айс транслировалось хоть на верилоге хоть как таблица коэффициентов , жаль только что всё равно не работают . Я эти получившиеся фильтры на 160 Мгц - тактовой запустил , хотел фильтровать выход петли Костоса .

А от фильтров никакой реакции , как полосу не меняю - хоть в десятки раз . Если фильтр выкинуть - реакция кольца есть (хаотичная - но всё же) , с фильтром - никакой NCO висит в начальном положении .


...если у кого мысли есть и просто что хотят уточнить - я всегда рад , даже пинкам smile.gif .


попробую по книжке фильтр сбацать ручками .


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 9 2008, 03:46
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Lmx2315 @ Dec 8 2008, 13:57) *
попробую по книжке фильтр сбацать ручками .


4 схемы построения FIR фильтров в атаче

Удачи!!!
Прикрепленные файлы
Прикрепленный файл  fir.zip ( 3.71 килобайт ) Кол-во скачиваний: 98
 


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Lmx2315   программа для генерации фильтров в плис   Dec 6 2008, 11:26
- - AsJohnAs   ЦитатаВстроенный в ICE генератор делает только FIR...   Dec 6 2008, 11:33
|- - Lmx2315   Цитата(AsJohnAs @ Dec 6 2008, 14:33) Ну э...   Dec 6 2008, 11:38
- - AsJohnAs   Ну вообще фильтр это свертка т.е. сумма произведен...   Dec 6 2008, 12:00
- - taurus   Можно еще в MatLab, там тулбокс есть, знакомый дел...   Dec 6 2008, 16:23
|- - Tue   Lmx2315, coe-файл у вас не генерируется по той же ...   Dec 6 2008, 17:53
|- - Lmx2315   Цитата(Tue @ Dec 6 2008, 20:53) Lmx2315, ...   Dec 6 2008, 19:52
- - hitower1   Lmx2315: Если Вам нужны готовые реализации фильтр...   Dec 6 2008, 19:24
|- - des00   Цитата(Lmx2315 @ Dec 7 2008, 16:00) Ну во...   Dec 8 2008, 04:30
|- - sazh   Цитата(des00 @ Dec 9 2008, 06:46) 4 схемы...   Dec 9 2008, 15:11
|- - des00   Цитата(sazh @ Dec 9 2008, 10:11) Подскажи...   Dec 10 2008, 05:14
- - Tue   Lmx2315, что конкретно у вас не работает ? Вы пров...   Dec 9 2008, 07:06
- - Lmx2315   Цитата(Tue @ Dec 9 2008, 10:06) Lmx2315, ...   Dec 9 2008, 14:18


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

 


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


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