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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Коэффициенты из QED 2000, Помогите разобраться с коэффициентами
ANTSIR
сообщение Apr 10 2009, 06:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 9-04-09
Пользователь №: 47 401



Добрый день! В программе QEDesign 2000 посчитал коэффициенты для фильтров однако значение некоторых из них понять не могу.
С B0, .. , B1 и A0, A1 все понятно, но вот что такое "shift count for overall gain ", "overall gain", "shift count for section 2 values" не понятно .

Ниже приведен кусок из файла с коэффициентами

//***************************
FILTER COEFFICIENT FILE
IIR DESIGN
FILTER TYPE LOW PASS
ANALOG FILTER TYPE BUTTERWORTH
PASSBAND RIPPLE IN -dB -.5000E+00
STOPBAND RIPPLE IN -dB -.5000E+01
PASSBAND CUTOFF FREQUENCY 0.132430E+05 HERTZ
STOPBAND CUTOFF FREQUENCY 0.140310E+05 HERTZ
SAMPLING FREQUENCY 0.512000E+05 HERTZ
FILTER DESIGN METHOD: BILINEAR TRANSFORMATION
FILTER ORDER 9 9h
NUMBER OF SECTIONS 5 5h
NO. OF QUANTIZED BITS 8 8h
QUANTIZATION TYPE - FRACTIONAL FIXED POINT
COEFFICIENTS SCALED FOR CASCADE FORM I
0 0 /* shift count for overall gain */
127 7F /* overall gain */
0 0 /* shift count for section 1 values */
38 26 /* section 1 coefficient B0 */
77 4D /* section 1 coefficient B1 */
38 26 /* section 1 coefficient B2 */
-22 FFFFFFEA /* section 1 coefficient -A1*/
-4 FFFFFFFC /* section 1 coefficient -A2*/
0 0 /* shift count for section 2 values */
42 2A /* section 2 coefficient B0 */
85 55 /* section 2 coefficient B1 */
42 2A /* section 2 coefficient B2 */
-24 FFFFFFE8 /* section 2 coefficient -A1*/
-17 FFFFFFEF /* section 2 coefficient -A2*/
0 0 /* shift count for section 3 values */
50 32 /* section 3 coefficient B0 */
100 64 /* section 3 coefficient B1 */
50 32 /* section 3 coefficient B2 */
-29 FFFFFFE3 /* section 3 coefficient -A1*/
-43 FFFFFFD5 /* section 3 coefficient -A2*/
//*****************
Go to the top of the page
 
+Quote Post
Alechin
сообщение Apr 13 2009, 11:31
Сообщение #2


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

Группа: Свой
Сообщений: 158
Регистрация: 27-06-05
Из: Химки, Моск.обл.
Пользователь №: 6 334



Это коэффициенты масштабирования сигнала на входе фильтра - что-бы не было переполнения внутри каскада при вычислениях.
на Gain надо умножать, на shift - сдвигать.
Go to the top of the page
 
+Quote Post
ANTSIR
сообщение Apr 14 2009, 04:58
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 9-04-09
Пользователь №: 47 401



Спасибо! Буду дальше разбираться.


На Gain надо умножать или делить входной отсчет? Может у кого есть пример реализации IIR с коэффициентами из QED?
И еще как вычислять разрядность данных в аккумуляторе (буфере для хранения промежуточных результатов)?

Сообщение отредактировал ANTSIR - Apr 14 2009, 05:57
Go to the top of the page
 
+Quote Post
ANTSIR
сообщение Apr 14 2009, 11:28
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 9-04-09
Пользователь №: 47 401



Пожалуйста помогите исходным кодом IIR фильтра (БИХ) с использованием данных коэффициентов
Go to the top of the page
 
+Quote Post
Vlad27
сообщение Apr 14 2009, 12:25
Сообщение #5


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

Группа: Свой
Сообщений: 95
Регистрация: 31-07-05
Из: Полоцк Беларусь
Пользователь №: 7 227



Цитата(ANTSIR @ Apr 14 2009, 14:28) *
Пожалуйста помогите исходным кодом IIR фильтра (БИХ) с использованием данных коэффициентов


Исходным кодом под что? Если для dsPIC от Microchipa, то:
../Microchip/MPLAB C30/dsp/src/asm/iircan.s
Go to the top of the page
 
+Quote Post
ANTSIR
сообщение Apr 14 2009, 12:33
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 9-04-09
Пользователь №: 47 401



имеется ввиду код (С, pascal) где наглядно можно увидеть как используются коэффициенты от QED

Или пример с использованием коэффициентов из MatLab.

Сообщение отредактировал ANTSIR - Apr 14 2009, 12:39
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Apr 14 2009, 17:53
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(ANTSIR @ Apr 14 2009, 16:33) *
имеется ввиду код (С, pascal) где наглядно можно увидеть как используются коэффициенты


http://www.vlsi.ss.titech.ac.jp/~isshiki/V...stemVIII_06.pdf

Код в общем виде на странице 12. Только "нарастите" его до своего порядка фильтра.
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Apr 14 2009, 19:14
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(Джеймс @ Apr 14 2009, 21:53) *
http://www.vlsi.ss.titech.ac.jp/~isshiki/V...stemVIII_06.pdf

Код в общем виде на странице 12. Только "нарастите" его до своего порядка фильтра.


Сейчас проверил - коэффициенты "A" в вашем дампе - это коэффициенты "B" в приведенном примере программы (и наоборот).
Порядок фильтра вроде менять не надо. У вас видимо звенья (section 1 - section n) каскадируются.
Go to the top of the page
 
+Quote Post
ANTSIR
сообщение Apr 14 2009, 19:41
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 9-04-09
Пользователь №: 47 401



Спасибо! Начинаю понимать что к чему.
А как можно рассчитать разрядность буфера накопления, чтобы в последствии не возникало переполнений?
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 15 2009, 09:44
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



Цитата(ANTSIR @ Apr 15 2009, 01:41) *
Спасибо! Начинаю понимать что к чему.
А как можно рассчитать разрядность буфера накопления, чтобы в последствии не возникало переполнений?

как и у вх. чисел, если исп. shift, я исп. коэф. в проге для adsp21xx - исходники есть на сайте аналога, могу привести (asm).
если сделать разр. буфера 2х то можно получить меньше шумов при фиксир. точке.
пс: overall shift & gain не использовал, при соотв. написанной программе переполнений не возникает- бывает ограничения перех. ф-ии, если подавать сигнал макс. величины (7fff), елси это критично- то надо умножать (число < 1), сдвигать вх. сигнал (влево или вправо)

Сообщение отредактировал shf_05 - Apr 15 2009, 09:51
Go to the top of the page
 
+Quote Post
ANTSIR
сообщение Apr 16 2009, 18:59
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 9-04-09
Пользователь №: 47 401



Что-то все равно не получается sad.gif что не так делаю не пойму. Все время вылетает переполнение буфера аккумулятора. На компе в модели с большим буфером все работает в сигнальнике нет...
Подскажите как на DSP(TMS320VC5502 FixedPoint) реализовать гребенку из 30 1/3 октавных фильтров Fs=50 кГц.
В настоящий момент делаю вычисление 3-х LowPass и 3-x HighPass фильтров затем прореживаю сигнал в 2 раза и пропускаю опять через такие же фильтры (3-х LowPass и 3-x HighPass) и т.д. Реализовал на FIR фильтрах но характеристики огибающих полученных фильтров не удовлетворяют (в задании требование на 0,2*Fцентр. , 5*Fцентр. ослабление >75 дБ).

Может кто с таким сталкивался и нечто подобное делал, подскажите как. Мозги уже кипят....

Сообщение отредактировал ANTSIR - Apr 16 2009, 19:02
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Apr 16 2009, 19:45
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



А 8 бит для квантования коэффициентов Вы сами выбрали? Почему Вы решили, что этого будет достаточно? Входной сигнал, насколько я понял, у Вас 16-разрядный.

У вас вообще есть коэффициенты в обычном виде, в дробном представлении, с большой исходной разрядностью?

Сообщение отредактировал Джеймс - Apr 16 2009, 19:49
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 17 2009, 06:10
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



провертьте вот что:
1. знаки коыф-в- бывает что в программе ф-ии подразумевается, что к-ты ОС со знаком "-"
2. порядок коэф-в- нек-е пр. ф-ии подразум, что коэф-ты хр-ся в памяти в опр. порядке
3. к той ли стр-ре(прямая, канонич., форма 1 или 2) ф-ра QED генерит коэф-ты- это важно!

совет- создайте ф-р ФНЧ с одной секцией подайте на него постоянку и пошагово посмотрите как робит ваша прога- отладил таким образом самопльные прграммы ф-ии для 32 бит на 16 бит проце- долго, муторно, но полезно)))
увеличьте число секций до 2х 3-х и повторите

Сообщение отредактировал shf_05 - Apr 17 2009, 06:11
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Apr 17 2009, 17:29
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(shf_05 @ Apr 17 2009, 10:10) *
совет- создайте ф-р ФНЧ с одной секцией подайте на него постоянку


А я считаю, что лучше отлаживаться не на "постоянке", а на единичном импульсе. Заодно АЧХ потом можно проверить.
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 18 2009, 15:50
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



Цитата(Джеймс @ Apr 17 2009, 23:29) *
А я считаю, что лучше отлаживаться не на "постоянке", а на единичном импульсе. Заодно АЧХ потом можно проверить.

да, только потом, когда поймешь, что ниче не насыщ., ыообще- дело вкуса)

пс: под постоянкой имелось ввиду ___/''''''''''

Сообщение отредактировал shf_05 - Apr 18 2009, 15:52
Go to the top of the page
 
+Quote Post

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

 


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


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