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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Расчет inv sinc фильтра
Jools
сообщение Jul 10 2009, 12:24
Сообщение #1


Патриот
***

Группа: Свой
Сообщений: 384
Регистрация: 26-12-04
Пользователь №: 1 682



Привет всем!

Подскажите, пожалуйста алгоритм расчета фильтра с характеристикой inverse sinc. Будет использоваться как компенсирующий для CIC.
Интересует именно алгоритм. Можно ли для этих целей приспособить Ремеза?

Заранее спасибо.
Go to the top of the page
 
+Quote Post
729
сообщение Jul 10 2009, 14:59
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952



Цитата(Jools @ Jul 10 2009, 16:24) *
Привет всем!

Подскажите, пожалуйста алгоритм расчета фильтра с характеристикой inverse sinc. Будет использоваться как компенсирующий для CIC.
Интересует именно алгоритм. Можно ли для этих целей приспособить Ремеза?

Заранее спасибо.

Обычно делаю так:
1. Отсчеты импульсной характеристики FIRа, стоящего после CIC секции (а он, как правило, есть) пропускаю через ДПФ на число ненулевых точек в ИХ,
2. Отсчеты ДПФ (комплексные) в полосе пропускания и в переходной полосе тупо умножаю на обратный sinc,
3. Делаю обратное ДПФ.
Работает очень даже неплохо - неравномерность в полосе пропускания всего тракта (если АЧХ тракта в полосе пропускания плоская) порядка тысячных долей дБ (на грани точности измерительного ПО).

Сообщение отредактировал 729 - Jul 10 2009, 15:00
Go to the top of the page
 
+Quote Post
petrov
сообщение Jul 10 2009, 15:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Ещё можно с помощью адаптивной обработки сигналов компенсирующий фильтр рассчитать.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 11 2009, 07:36
Сообщение #4


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

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



Цитата(Jools @ Jul 10 2009, 06:24) *
Привет всем!

Подскажите, пожалуйста алгоритм расчета фильтра с характеристикой inverse sinc. Будет использоваться как компенсирующий для CIC.
Интересует именно алгоритм. Можно ли для этих целей приспособить Ремеза?

Заранее спасибо.


ИХ CIC фильтра известна. дальше дело техники IFFT((1/FFT(cic))*RRC). На выходе отсчеты ИХ RRC фильтра с коррекцией для CIC. экономим ресурс фпга %)


--------------------
Go to the top of the page
 
+Quote Post
hobgoblin
сообщение Jul 11 2009, 11:51
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 2-10-06
Из: Петербург
Пользователь №: 20 881



У альтеры ест appnote на эту тему с матлабовским примером, там они используют функцию fir2 (метод frequency sampling). Ремез тоже должен подойти. Насколько пример работоспособен, я не проверял - когда мне надо было такое сделать, я пользовал стандартный матлабовский объект mfilt с характеристикой invsinc.
Прикрепленные файлы
Прикрепленный файл  an455.pdf ( 267.63 килобайт ) Кол-во скачиваний: 165
 
Go to the top of the page
 
+Quote Post
729
сообщение Jul 11 2009, 18:44
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952



Цитата(des00 @ Jul 11 2009, 11:36) *
ИХ CIC фильтра известна. дальше дело техники IFFT((1/FFT(cic))*RRC). На выходе отсчеты ИХ RRC фильтра с коррекцией для CIC. экономим ресурс фпга %)

Попробуйте применить Ваш алгоритм на практике для случая, когда после CIC стоит FIR с коэффициентом децимации 2 и более - сильно "поплывёт" (очень за пределы АЧХ RRC) АЧХ в полосе задержания.
Для каждого FIR (одной длины ИХ, но разных симметрий) мне приходилось вручную искать интервал отсчетов FFT(RRC), на котором нужно делать IFFT((1/FFT(cic))*RRC), а за пределами которого нужно делать только IFFT(RRC), чтобы в полосе задержания оставалось тоже подавление, что и у RRC. Почему так, разбираться не стал. Но почему именно так, а не во всей 0-Fs, интересно.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 12 2009, 02:34
Сообщение #7


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

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



Цитата(729 @ Jul 11 2009, 12:44) *
Попробуйте применить Ваш алгоритм на практике для случая, когда после CIC стоит FIR с коэффициентом децимации 2 и более - сильно "поплывёт" (очень за пределы АЧХ RRC) АЧХ в полосе задержания.


не совсем понял, зачем после CIC стоит FIR с децимацией smile.gif

Данный алгоритм я использую для расчета передающего RRC^-1 + CIC интерполятора и приемного RRC^-1 + CIC дециматора. Сильного плавания не видел, погрешность где то 0.1дБ, даже делал переменный коэфф. интерполяции/децимации когда коррекция считается на средний коэффициент, плавает тоже не сильно.

Цитата
Для каждого FIR (одной длины ИХ, но разных симметрий) мне приходилось вручную искать интервал отсчетов FFT(RRC), на котором нужно делать IFFT((1/FFT(cic))*RRC), а за пределами которого нужно делать только IFFT(RRC), чтобы в полосе задержания оставалось тоже подавление, что и у RRC. Почему так, разбираться не стал. Но почему именно так, а не во всей 0-Fs, интересно.


объясните для начала зачем после CIC стоит FIR smile.gif


--------------------
Go to the top of the page
 
+Quote Post
Jools
сообщение Jul 13 2009, 04:29
Сообщение #8


Патриот
***

Группа: Свой
Сообщений: 384
Регистрация: 26-12-04
Пользователь №: 1 682



Цитата(729 @ Jul 10 2009, 18:59) *
Обычно делаю так:


Спасибо!
Я тоже думал в этом направлении, но хотелось услышать практических подтверждений.
Go to the top of the page
 
+Quote Post
729
сообщение Jul 13 2009, 12:52
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 312
Регистрация: 21-10-05
Пользователь №: 9 952



Цитата(des00 @ Jul 12 2009, 06:34) *
...
объясните для начала зачем после CIC стоит FIR smile.gif

В Вашем случае, возможно, удалось обойтись и без децимипующего FIR.
Но в аппаратном DDC (типа GC5016), во многих случаях (в моей практике практически всегда) подавления CIC секции при больших коэффициентах децимации просто не хватало из-за ограниченного порядка CICов. Поэтому и приходилось "додавливать" децимирующим FIRом. Для GC5016, если необходимо, могу привести конкретный пример.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 14 2009, 03:19
Сообщение #10


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

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



Цитата(729 @ Jul 13 2009, 06:52) *
В Вашем случае, возможно, удалось обойтись и без децимипующего FIR.
Но в аппаратном DDC (типа GC5016), во многих случаях (в моей практике практически всегда) подавления CIC секции при больших коэффициентах децимации просто не хватало из-за ограниченного порядка CICов. Поэтому и приходилось "додавливать" децимирующим FIRом. Для GC5016, если необходимо, могу привести конкретный пример.


понятно, я работаю с плис, потому таких проблем и не имею. т.к. сам определяю порядок и количество секций CIC smile.gif посмотрю на досуге что за зверь такой этот DDS.


--------------------
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jul 21 2009, 05:50
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(des00 @ Jul 14 2009, 07:19) *
понятно, я работаю с плис, потому таких проблем и не имею. т.к. сам определяю порядок и количество секций CIC smile.gif


У CIC не очень высокое подавление второй полосы, так что если хочется два отсчета на символ - его одного мало.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 22 2009, 03:07
Сообщение #12


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

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



Цитата(Oldring @ Jul 21 2009, 00:50) *
У CIC не очень высокое подавление второй полосы, так что если хочется два отсчета на символ - его одного мало.


согласен целиком и полностью, при малых коэффициентах интерполяции/децимации лучше использовать FIR smile.gif


--------------------
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jul 22 2009, 07:15
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(des00 @ Jul 22 2009, 07:07) *
согласен целиком и полностью, при малых коэффициентах интерполяции/децимации лучше использовать FIR smile.gif


При больших - тоже нередко одного CIC мало.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
des00
сообщение Jul 22 2009, 09:27
Сообщение #14


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

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



Цитата(Oldring @ Jul 22 2009, 01:15) *
При больших - тоже нередко одного CIC мало.


я про один и не говорил, у меня обычно 4-6 каскадов стоит.


--------------------
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jul 22 2009, 09:55
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(des00 @ Jul 22 2009, 13:27) *
я про один и не говорил, у меня обычно 4-6 каскадов стоит.


Все равно бывает дополнительно FIR нужен.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post

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

 


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


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