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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Digital Down-Converter, симулирование в матлабе
Maverick
сообщение Jan 29 2014, 14:11
Сообщение #1


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Частота семплирования 90 МГц данных, которые приходят на АЦП. Есть задача понизить частоту. Решил понижать частоту с помощью CIC фильтра. Но мне одного CIC фильтра мало, т.к. нужно захватывать до еденицы -десятки кГц (коеффициент деления должен быть 8000-12000). Хочу последовательно каскадировать 2 CIC - тем самым увеличив коефициент деления.
Что я сделал во вложении.

Прошу проверить правильно ли я моделирую?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
NahaL
сообщение Jan 29 2014, 16:43
Сообщение #2


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

Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592



Цитата(Maverick @ Jan 29 2014, 21:11) *
Хочу последовательно каскадировать 2 CIC - тем самым увеличив коефициент деления.

Мельком глядя вложение, я там не увидел два CIC фильтра в каскаде. :-)

hcicnorm1 = cascade(hgain1,hcic1);
hcasnorm2 = cascade(hcicnorm1,hcfir,hpfir);

Результат после двух каскадов интересно посмотреть. Завтра посмотрю...

Обычно для такого соотношения использую CIC, а потом FIR-дециматор с инверсной CIC характеристикой. И если сильно надо, то просто фильтр на мин. частоте дискретизации.( что у вас и показано)
Чем вас такая структура не устроила?
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 29 2014, 17:59
Сообщение #3


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(NahaL @ Jan 29 2014, 18:43) *
Завтра посмотрю...

спасибо
я пытался объеденить в каскад, но...

Цитата(NahaL @ Jan 29 2014, 18:43) *
Чем вас такая структура не устроила?

Цитата
Но мне одного смало, т.к. нужно захватывать до еденицы -десятки кГц (коеффициент деления должен быть 8000-12000).

а здесь каскад из двух CIC фильтров дает коеффициент деления 64*64 = 4096 и фильтр компенсатор еще делит на 2 - в итоге коеффициент деления 8192 (как я понимаю).
Последний фильтр ФНЧ уже частоту не делит.
Организовывать CIC фильтр с большим коеффициентом думаю, что это будет не правильно.

Вопрос по фильту компенсатору - как правильно его для каждого CIC фильтров делать или только для последнего? Как я понимаю - нужен только для последнего, но не знаю точно...

Идею каскадирования из двух CIC фильтров брал отсюда - т.е. так делают


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 30 2014, 13:54
Сообщение #4


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



нашел еще это - там тоже каскадирование двух CIC фильтров.
каскадировал 2 CIC - результат - не понимаю, плохой
Помогите понять что я делаю не так??? где ошибка?
очень надо....


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
NahaL
сообщение Jan 30 2014, 15:07
Сообщение #5


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

Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592



Пробовал в каскад два CIC, потом FIR. Подавление за полосой хорошее, а вот равномерность в полосе совсем не очень...
Поставил CIC на 512, далее inverseCiC Fir-дециматор на 4, потом просто FIR (для красоты). При этом полоса fd/4.
В этом случае картина красивая... ;-) примерно так и делал раньше: когда надо было децимировать в 2048 раз.

Как после двух CIC компенсировать характеристику - не понятно.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 30 2014, 15:08
Сообщение #6


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(NahaL @ Jan 30 2014, 17:07) *
Пробовал в каскад два CIC, потом FIR. Подавление за полосой хорошее, а вот равномерность в полосе совсем не очень...
Поставил CIC на 512, далее inverseCiC Fir-дециматор на 4, потом просто FIR (для красоты). При этом полоса fd/4.
В этом случае картина красивая... ;-) примерно так и делал раньше: когда надо было децимировать в 2048 раз.

а можно матлабовские файлы?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
NahaL
сообщение Jan 30 2014, 15:25
Сообщение #7


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

Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592



Цитата(Maverick @ Jan 30 2014, 20:54) *
нашел еще это - там тоже каскадирование двух CIC фильтров.

только "CIC2 programmable ratio between 1 and 16"
только "CIC5 programmable ratio between 1 and 32"
32*16=512
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 30 2014, 15:27
Сообщение #8


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(NahaL @ Jan 30 2014, 17:25) *
только "CIC2 programmable ratio between 1 and 16"
только "CIC5 programmable ratio between 1 and 32"
32*16=512

как я понимаю, тут получается тут по ресурсам меньше получается (DDC будет реализовываться на ПЛИС)


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
NahaL
сообщение Jan 30 2014, 15:30
Сообщение #9


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

Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592



Цитата(Maverick @ Jan 30 2014, 22:08) *
а можно матлабовские файлы?

Конечно, только не ранее завтрашнего утра. :-(
Go to the top of the page
 
+Quote Post
NahaL
сообщение Jan 31 2014, 02:17
Сообщение #10


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

Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592



В файле, входная частота АЦП 90 316 800 Гц.
CIC делит на 512, и FIR делит на 4. В итоге, на выходе получаем 44 100.
Fir дециматор не ставил, но это отражено в "Pass" и"Stop".

Прикрепленные файлы
Прикрепленный файл  DDC.rar ( 363 байт ) Кол-во скачиваний: 52
 
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 31 2014, 07:27
Сообщение #11


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(NahaL @ Jan 31 2014, 04:17) *
В файле, входная частота АЦП 90 316 800 Гц.
CIC делит на 512, и FIR делит на 4. В итоге, на выходе получаем 44 100.
Fir дециматор не ставил, но это отражено в "Pass" и"Stop".

спасибо...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
KalashKS
сообщение Jan 31 2014, 07:40
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755



Цитата(NahaL @ Jan 30 2014, 19:07) *
Как после двух CIC компенсировать характеристику - не понятно.

Чем плох вариант посчитать результирующую ЧХ и сделать под нее выправляющий фильтр в том же матлабе, например?
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 31 2014, 07:45
Сообщение #13


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(KalashKS @ Jan 31 2014, 09:40) *
Чем плох вариант посчитать результирующую ЧХ и сделать под нее выправляющий фильтр в том же матлабе, например?

попробуем сделать...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 3 2014, 08:32
Сообщение #14


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



PS Делюсь возможно кому-то пригодиться - нашел некоторые ответы на свои вопросы здесь


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Artunique
сообщение Jun 3 2015, 12:47
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 25-11-14
Из: Санкт-Петербург
Пользователь №: 83 820



Цитата(Maverick @ Feb 3 2014, 11:32) *
PS Делюсь возможно кому-то пригодиться - нашел некоторые ответы на свои вопросы здесь



Как в итоге сделали?
Go to the top of the page
 
+Quote Post

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

 


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


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