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

 
 
> альтеровская корка FIR, чудеса
vadimuzzz
сообщение Sep 14 2010, 07:12
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



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

все нормально, а вот реакция на единичный скачок:

как видно, получился генератор. это как-то расходится с моими представлениями об интерполяторах и FIR-фильтрах вообще. у альтеры какая-то своя математика?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
des00
сообщение Sep 14 2010, 07:36
Сообщение #2


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

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



Цитата(vadimuzzz @ Sep 14 2010, 01:12) *
все нормально, а вот реакция на единичный скачок:

а что единичный скачок делает в интерполяторе ? Вы уверены что фильтр построен без учета преобразования частоты?


--------------------
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 14 2010, 07:59
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(des00 @ Sep 14 2010, 14:36) *
а что единичный скачок делает в интерполяторе ? Вы уверены что фильтр построен без учета преобразования частоты?

не понял ни одного вопроса smile.gif дело не в единичном скачке, а в том, что на входе - константа, а на выходе синусоида. я не знаю, как это можно сделать при помощи линейного устройства, которым является FIR-фильтр. (интерполятор именно на FIR, т.е. каждый отсчет добивается N-1 нулями и пропускается через ФНЧ)
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 14 2010, 08:06
Сообщение #4


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

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



Цитата(vadimuzzz @ Sep 14 2010, 02:59) *
дело не в единичном скачке, а в том, что на входе - константа, а на выходе синусоида.

вот именно, что константа делает на входе устройства, если устройство спроектировано под
Цитата
каждый отсчет добивается N-1 нулями и пропускается через ФНЧ


Но это все голословные утверждения, надо смотреть как построен интерполятор внутри. Может быть то что вы видите не генерация, а работа цепей ограничения сигнала, которые стоят как раз для этих случаев (такая интерполяция валит энергетику сигнала и на выходе фильтра нужно его усиливать или изменять усиление фильтра). Или сделать свой интерполятор, в преобразовании частоты на 16 ть никаких подводных камней нет %)


--------------------
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 14 2010, 08:16
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(des00 @ Sep 14 2010, 15:06) *
вот именно, что константа делает на входе устройства

так корка устроена (сама нули вставляет, где сигнал valid = 0), я с ней и раньше работал.
впрочем, пожалуйста:

Цитата
Или сделать свой интерполятор, в преобразовании частоты на 16 ть никаких подводных камней нет %)

т.е. корки не нужны? smile.gif
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 14 2010, 08:27
Сообщение #6


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

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



Цитата(vadimuzzz @ Sep 14 2010, 03:16) *
так корка устроена (сама нули вставляет, где сигнал valid = 0), я с ней и раньше работал.
впрочем, пожалуйста:


а вот это уже интересно, мыльните проект, расковыряю что там да как

Цитата
т.е. корки не нужны? smile.gif

для таких вещей как интерполяция на 16, мне не нужны %) Вот простой интерполятор на 16ть
Код
always_ff @(posedge iclk) begin
  data <= ival ? idat : 0;
end

dat_t acc [0 : 3][0 : 15];

always_ff @(posedge iclk) begin
  for (int i = 0; i < $size(acc); i++) begin
    for (int j = 0; j < $size(acc[i]; j++) begin
        if (i == 0)
          acc[i][j] <= (j == 0) ? data        : (acc[i][j-1] + data);
        else
          acc[i][j] <= (j == 0) ? acc[i-1][0] : (acc[i][j-1] + acc[i-1][0])
    end
  end
end

подавление зеркала должно быть где то 60дБ. Отсюда можно уйти на цики или на acc ram фильтры %)


--------------------
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 14 2010, 08:53
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(des00 @ Sep 14 2010, 15:27) *
для таких вещей как интерполяция на 16, мне не нужны %) Вот простой интерполятор на 16ть

а что на выход идет?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vadimuzzz   альтеровская корка FIR   Sep 14 2010, 07:12
||- - des00   Цитата(vadimuzzz @ Sep 14 2010, 02:53) а ...   Sep 14 2010, 09:14
||- - vadimuzzz   Цитата(des00 @ Sep 14 2010, 16:14) acc[3]...   Sep 14 2010, 09:33
||- - des00   Цитата(vadimuzzz @ Sep 14 2010, 03:33) а ...   Sep 14 2010, 10:00
||- - vadimuzzz   Цитата(des00 @ Sep 14 2010, 17:00) Фильтр...   Sep 14 2010, 12:36
||- - des00   Цитата(vadimuzzz @ Sep 14 2010, 06:36) то...   Sep 14 2010, 12:45
|- - ViKo   Цитата(vadimuzzz @ Sep 14 2010, 10:59) .....   Sep 15 2010, 05:01
|- - vadimuzzz   Цитата(ViKo @ Sep 15 2010, 12:01) Наверно...   Sep 15 2010, 06:01
- - vadimuzzz   такой вопросик по CIC: у него АЧХ ~sin(x)/x, надо ...   Sep 15 2010, 01:37
|- - des00   Цитата(vadimuzzz @ Sep 14 2010, 20:37) та...   Sep 15 2010, 02:38
- - vadimuzzz   несколько ссылок в тему: http://www.myhdl.org/doku...   Sep 15 2010, 03:28
- - ViKo   У вас 2 фильтра? Типа квадратурной модуляции? Може...   Sep 15 2010, 08:39
- - vadimuzzz   я как только это непотребство увидел, сразу загнал...   Sep 15 2010, 08:45
- - ViKo   ModelSim потребовал tx_intfir, которого нет в прил...   Sep 15 2010, 09:51
|- - vadimuzzz   Цитата(ViKo @ Sep 15 2010, 16:51) ModelSi...   Sep 15 2010, 09:59
- - vadimuzzz   накидал параметризуемый CIC-интерполятор, может ко...   Sep 16 2010, 04:22
- - des00   Цитата(vadimuzzz @ Sep 15 2010, 23:22) на...   Sep 16 2010, 04:49
- - vadimuzzz   Цитата(des00 @ Sep 16 2010, 11:49) я бы п...   Sep 16 2010, 04:54


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

 


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


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