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

 
 
> Расчет БИХ фильтра, Зачем расчитывать фильтры высоких порядков Баттерворта или Чебышева, е
ChipMicro
сообщение Jul 26 2006, 15:52
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 7-04-05
Пользователь №: 3 934



Зачем расчитывать фильтры высоких порядков(например Баттерворта или Чебышева), если можно расчитать одну секцию второго порядка и соеденить их сколько надо(+ если надо добавить секцию 1 порядка) ?
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 32)
Stanislav
сообщение Jul 26 2006, 15:57
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(ChipMicro @ Jul 26 2006, 19:52) *
Зачем расчитывать фильтры высоких порядков(например Баттерворта или Чебышева), если можно расчитать одну секцию второго порядка и соеденить их сколько надо(+ если надо добавить секцию 1 порядка) ?
Именно так часто и делается. Только секции второго порядка разные.
При одинаковых секциях нельзя получить большую крутизну спада АЧХ фильтра.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
ChipMicro
сообщение Jul 26 2006, 16:18
Сообщение #3





Группа: Новичок
Сообщений: 10
Регистрация: 7-04-05
Пользователь №: 3 934



Цитата
При одинаковых секциях нельзя получить большую крутизну спада АЧХ фильтра.

А почему ? Разве два БИХ фильтра соединеных последовательно не увеличат суммарную крутизну ?

Сообщение отредактировал ChipMicro - Jul 26 2006, 16:20
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 26 2006, 16:34
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(ChipMicro @ Jul 26 2006, 20:18) *
Цитата
При одинаковых секциях нельзя получить большую крутизну спада АЧХ фильтра.

А почему ? Разве два БИХ фильтра соединеных последовательно не увеличат суммарную крутизну ?
Частота среза также сдвинется. Получится, что для фильтра с бесконечным числом одинаковых звеньев при не равной нулю частоте среза (или полосе пропускания для ПФ) крутизна спада АЧХ будет конечной и вполне определённой величиной.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Doka
сообщение Jul 26 2006, 18:23
Сообщение #5


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(ChipMicro @ Jul 26 2006, 20:18) *
Цитата
При одинаковых секциях нельзя получить большую крутизну спада АЧХ фильтра.

А почему ? Разве два БИХ фильтра соединеных последовательно не увеличат суммарную крутизну ?


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

ЗЫ: отличие одно - здесь сложение волн, а в ЧХ - умножение


upd: даже картиночка нашлась =)
Прикрепленное изображение

Сообщение отредактировал Doka - Jul 27 2006, 07:46
Go to the top of the page
 
+Quote Post
ChipMicro
сообщение Jul 27 2006, 15:59
Сообщение #6





Группа: Новичок
Сообщений: 10
Регистрация: 7-04-05
Пользователь №: 3 934



C Меандром все кристально, а вот с фильтром пока не совсем. Зто из за одинаковой фазовой хар-ки что ли ? Или синусоиды аналоги секций ???
Go to the top of the page
 
+Quote Post
Doka
сообщение Jul 27 2006, 16:05
Сообщение #7


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(ChipMicro @ Jul 27 2006, 19:59) *
C Меандром все кристально, а вот с фильтром пока не совсем. Зто из за одинаковой фазовой хар-ки что ли ? Или синусоиды аналоги секций ???


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


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
ChipMicro
сообщение Jul 27 2006, 18:24
Сообщение #8





Группа: Новичок
Сообщений: 10
Регистрация: 7-04-05
Пользователь №: 3 934



Станислав писал :

Цитата
Частота среза также сдвинется. Получится, что для фильтра с бесконечным числом одинаковых звеньев при не равной нулю частоте среза (или полосе пропускания для ПФ) крутизна спада АЧХ будет конечной и вполне определённой величиной.


На сколько, куда и почему сдвинется частота среза ?
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 28 2006, 12:41
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(ChipMicro @ Jul 27 2006, 22:24) *
Станислав писал :

Цитата
Частота среза также сдвинется. Получится, что для фильтра с бесконечным числом одинаковых звеньев при не равной нулю частоте среза (или полосе пропускания для ПФ) крутизна спада АЧХ будет конечной и вполне определённой величиной.


На сколько, куда и почему сдвинется частота среза ?
Перемножьте две АЧХ, скажем, звеньев НЧ 2-го порядка и посмотрите результирующую АЧХ. Точка -3дБ, например, "отъедет" к нулевой частоте.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
ChipMicro
сообщение Jul 28 2006, 17:12
Сообщение #10





Группа: Новичок
Сообщений: 10
Регистрация: 7-04-05
Пользователь №: 3 934



Цитата
Перемножьте две АЧХ, скажем, звеньев НЧ 2-го порядка и посмотрите результирующую АЧХ. Точка -3дБ, например, "отъедет" к нулевой частоте.


Правильно, она и должна отъехать при одинаковых звеньях. Из-за стремления к 0 части АЧХ, коэф-т усиления которой <1. При бесконечном числе одинаковых звеньев, Чебышевский ФНЧ превратится в идеальную "ступеньку", если не считать маленькие неравномерности в ПП, которые правда приведут к сильным провалам. Другая ситуация с Баттервортом, там вся характеристика, кроме близкой 0 окажется ниже 0 dB. Причинами описанных ситуаций является неровная АЧХ в ПП.


Кажется я сам ответил на свой вопрос.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Aug 1 2006, 10:09
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Простите, но подумайте о том, что Вы пишете. Например, как понимать вот это:
Цитата(ChipMicro @ Jul 28 2006, 21:12) *
...При бесконечном числе одинаковых звеньев, Чебышевский ФНЧ превратится в идеальную "ступеньку", если не считать маленькие неравномерности в ПП, которые правда приведут к сильным провалам...
???
КАК может чебышёвский ФНЧ состоять из одинаковых звеньев? blink.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
ChipMicro
сообщение Dec 31 2006, 13:55
Сообщение #12





Группа: Новичок
Сообщений: 10
Регистрация: 7-04-05
Пользователь №: 3 934



Цитата(Stanislav @ Aug 1 2006, 11:09) *
КАК может чебышёвский ФНЧ состоять из одинаковых звеньев? blink.gif

Элементарно, как любой другой фильтр.
Go to the top of the page
 
+Quote Post
Designer56
сообщение Dec 31 2006, 18:51
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 932
Регистрация: 13-10-06
Из: Уфа
Пользователь №: 21 290



Цитата(Stanislav @ Aug 1 2006, 12:09) *
Простите, но подумайте о том, что Вы пишете. Например, как понимать вот это:
Цитата(ChipMicro @ Jul 28 2006, 21:12) *
...При бесконечном числе одинаковых звеньев, Чебышевский ФНЧ превратится в идеальную "ступеньку", если не считать маленькие неравномерности в ПП, которые правда приведут к сильным провалам...
???
КАК может чебышёвский ФНЧ состоять из одинаковых звеньев? blink.gif



Цитата(ChipMicro @ Dec 31 2006, 15:55) *
Цитата(Stanislav @ Aug 1 2006, 11:09) *

КАК может чебышёвский ФНЧ состоять из одинаковых звеньев? blink.gif

Элементарно, как любой другой фильтр.



По теме: Синтез фильтров и имеет свей целью оптимизировать именно переходный участок в совоокупности с другими ограничениями- неравномерность АЧХ в полосе пропускания,ФЧХ, переходная х-ка... что, впрочем,с математической точки зрения эквивалентно.и притом- при минимальном порядке цепи. С Новым годом!

Stanislav, признаться, я питал некоторые иллюзии, что здесь несколько лучше, чем в реальной жизни...( я здесь недавно, всё вышеизложенное не к Вам).


--------------------
"...Дьяволу ведомо многое не потому, что он- Дьявол, а потому, что он стар..."
Go to the top of the page
 
+Quote Post
ChipMicro
сообщение Dec 31 2006, 19:02
Сообщение #14





Группа: Новичок
Сообщений: 10
Регистрация: 7-04-05
Пользователь №: 3 934



Переходной участок можно сделать близким к ступеньке, но толку от этого не будет если пп/пз сущевственно неравномерна.
Go to the top of the page
 
+Quote Post
GinGreen
сообщение Jan 13 2007, 10:55
Сообщение #15





Группа: Новичок
Сообщений: 12
Регистрация: 9-12-06
Пользователь №: 23 333



Цитата(ChipMicro @ Jul 26 2006, 15:52) *
Зачем расчитывать фильтры высоких порядков(например Баттерворта или Чебышева), если можно расчитать одну секцию второго порядка и соеденить их сколько надо(+ если надо добавить секцию 1 порядка) ?


Давайте возьмём для аппроксимации нашего звена, например, функцию Чебышева(нормированную).


F(W) = 1 / ( 1 + E * T(2,W/W0))


Для этого используем T(2, W/W0) - полином Чебышева второго порядка. E - некоторая константа положительная, < 1.
Очевидно, что F(W) - принадлежит отрезку [1 / (1 + E), 1] при W из [0, W0]
и стремится к нулю при W > W0. Случай W < 0 нас не интересует.


функция Баттерворта


F(W) = 1 / ( 1 + E*( (W/W0) ^2))


H(W) = П F(W) - аппроксимация квадрата АЧХ при последовательном соединении одинаковых звеньев .
(Здесь П - это произведение)

Кстати от сюда следует, что при бесконечном числе одинаковых звеньев АЧХ Чебышевского фильтра превращается в конечную последовательность единиц (не ступенька !), а АЧХ фильтр Баттерворта во что- то похожее на дельта функцию.

При каждом добавлении звена у нас будут уменьшатся (в направлении нуля) значения H(W) отличные от единицы.

Смысл, сказанного выше в том, что функции аппроксимации БИХ фильтров не превосходят единицы.
И при последовательном соединении звеньев, АЧХ, вам будет сложнее контролировать характеристики (например, с помощью параметра E).

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


А цель ЛДС(в данном случае фильтра), определяется поставленной задачей.

Сообщение отредактировал GinGreen - Jan 13 2007, 11:12
Go to the top of the page
 
+Quote Post
nsemenoff
сообщение Feb 12 2007, 20:05
Сообщение #16


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

Группа: Свой
Сообщений: 88
Регистрация: 12-02-07
Из: СПб
Пользователь №: 25 280



Цитата(ChipMicro @ Dec 31 2006, 19:02) *
Переходной участок можно сделать близким к ступеньке, но толку от этого не будет если пп/пз сущевственно неравномерна.


Можно сделать проще - БПФ+обрезание спектра+ОБПФ. Для сложных случаев АЧХ такой алгоритм намного предсказуемее, проще и надежнее. А главное, АЧХ потом можно будет подстраивать практически без переделки кода smile.gif
Go to the top of the page
 
+Quote Post
blackswan
сообщение Oct 6 2007, 09:18
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 4-02-07
Пользователь №: 25 046



передо мной стояла задача сделать полосовой фильтр для 14КГц... получил коэффициенты с помощью следующего в Матлабе:
[n14,Wn14]=cheb1ord(Wp14,Ws14,Rp,Rs);
[b14,a14]=cheby1(n14,Rp,Wn14);
получил фильтр 4 порядка по 9 коэффициентов А и В.... далее мне необходимо было промоделировать в проге на С++ этот процесс фильтрации, для этого использовал формулу y(n) = b(1) * x(n) + b(2) * x(n - 1) + ... + b(9) * x(n - 9) - a(1) * y(n - 1) - ... - a(9) * y(n - 9), ... в С++ всё работает и фильтрует... теперь мне то же самое необходимо сделать с помощью разбиения на секции 2 порядка (и проквантовать)... в МатЛабе это было сделано с помощью:
hq14=qfilt('df2', {b14, a14}, 'quantizer', [Pn Fl]);
hq1_14=sos(hq14,'up', 'inf');
получил 4 секции, и в Матлабе функцией filter всё фильтрует, но теперь мне надо то же самое повторить самому,но метаматической формулы для их реализации на С++ не получается составить... в чем-то ошибаюсь, но не могу понять, в чем.... помогите с этим вопросом...
Go to the top of the page
 
+Quote Post
SIA
сообщение Oct 6 2007, 17:51
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(Stanislav @ Jul 26 2006, 20:34) *
А почему ? Разве два БИХ фильтра соединеных последовательно не увеличат суммарную крутизну ? Частота среза также сдвинется. Получится, что для фильтра с бесконечным числом одинаковых звеньев при не равной нулю частоте среза (или полосе пропускания для ПФ) крутизна спада АЧХ будет конечной и вполне определённой величиной.

Неверно. Крутизна спада АЧХ как раз будет пропорционально расти по мере роста числа звеньев, но будет портиться вид полосы пропускания. Фильтр высокого порядка тем и отличается от каскадного соединения звеньев низких порядков, что обеспечивает хорошую АЧХ в полосе пропускания и резкий переход к полосе заграждения.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Oct 8 2007, 17:31
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(SIA @ Oct 6 2007, 21:51) *
Неверно. Крутизна спада АЧХ как раз будет пропорционально расти по мере роста числа звеньев, но будет портиться вид полосы пропускания. Фильтр высокого порядка тем и отличается от каскадного соединения звеньев низких порядков, что обеспечивает хорошую АЧХ в полосе пропускания и резкий переход к полосе заграждения.
Да что Вы говорите?
Не прошло и полутора лет, так сказать...
Поясните мысль, как это Вы с помощью одинаковых звеньев 2-го порядка получите чебышевскую АЧХ, скажем, с частотой среза в 1 кГц. Можете взять не чебышевскую, а любую другую "хорошую АЧХ в полосе пропускания и резкий переход к полосе заграждения."
А ещё почитайте учебники по данной тематике. На местном ФТП их есть несколько. Тогда, возможно, поймёте свою ошибку.

PS. Вы вообще поняли, о чём здесь речь, уважаемый? Или родили свой пост "от балды", лишь бы написать что-нибудь?


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
blackswan
сообщение Oct 24 2007, 17:26
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 4-02-07
Пользователь №: 25 046



а почему меня игнорируют?... я не в той теме вопрос задал?... или он слишком глупый?
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Oct 24 2007, 18:53
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(blackswan @ Oct 24 2007, 21:26) *
а почему меня игнорируют?... я не в той теме вопрос задал?... или он слишком глупый?
Каждая секция - это фильтр второго порядка. Коэфф-ты его даются при расчёте. Фильтруйте сигнал последовательно этими фильтрами, и всё будет ОК. smile.gif

Цитата(GinGreen @ Jan 13 2007, 14:55) *
Кстати от сюда следует, что при бесконечном числе одинаковых звеньев АЧХ Чебышевского фильтра превращается в конечную последовательность единиц (не ступенька !), а АЧХ фильтр Баттерворта во что- то похожее на дельта функцию...
Раз уж подняли тему...
Попробуйте рассчитать, во что выродится АЧХ бесконечного числа звеньев 2-го порядка, если потребовать для Чебышева пульсации в полосе пропускания, скажем, 1 дБ, а для Баттерворта полосу пропускания по -3 дБ, скажем, 1 кГц. smile.gif
Ведь эти критерии и лежат в основе расчёта данных фильтров.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
blackswan
сообщение Oct 25 2007, 05:30
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 4-02-07
Пользователь №: 25 046



Цитата(Stanislav @ Oct 24 2007, 21:53) *
Каждая секция - это фильтр второго порядка. Коэфф-ты его даются при расчёте. Фильтруйте сигнал последовательно этими фильтрами, и всё будет ОК. smile.gif

это я понял... и коэффициенты у меня есть... мне не до конца понятно, что является входными параметрами для каждой секции.... допустим у меня был простой фильтр 8-го порядка с 9-ю коэффициетами, чтоб получить 9-ый Y, надо использовать 9 входных отсчетов X и 8 предыдущих выходных отсчетов Y... теперь переходим к секциям... всё тот же 9-ый отсчет... в самую первую секцию я передаю уже Y8,Y7,X9,X8,X7 и провожу формулу Y9=B10*X9+B11*X8+B12*X7-A11*Y8-A12*Y7.... правильно?... а во вторую и последующие секции что я передаю в качестве трех X-ов и двух Y-ов...? если в качестве входного сигнала из трех X-ов передавать переменные отфильрованные три Y-ка (назовем их Y7',Y8',Y9'), то что передавать в качестве Y8,Y7 для полноты формулы?...
Go to the top of the page
 
+Quote Post
mse
сообщение Oct 25 2007, 06:42
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(blackswan @ Oct 25 2007, 09:30) *
это я понял... и коэффициенты у меня есть... мне не до конца понятно...

Посмотрите, какую структуру секций посчитал вам Матлаб: DF1, DF2, TDF... потом в хелпе посмотрите на эту структуру как на граф. И сразу "как солнце из-за тучь!!!" SOS-matrix вам должна быть разложена по секциям. Работы - с гулькин...
Go to the top of the page
 
+Quote Post
blackswan
сообщение Oct 25 2007, 14:46
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 4-02-07
Пользователь №: 25 046



у меня DF2 - каноническая... хелпа нет, но форму посмотрел в книге Сергиенко... и ничего не понял... то, что я увидел, это Yk=Xk*B0 + Xk-1*A1 + Xk-2*A2 - Xk-1*B1 - Xk-2*B2 ... но этого не может быть, так как нет предыдущих Y... я не умею читать графы... у вас есть программа на каком-нибудь языке программирования, я так лучше пойму...
Go to the top of the page
 
+Quote Post
blackswan
сообщение Oct 26 2007, 05:09
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 4-02-07
Пользователь №: 25 046



в одной книге я нашел объяснение... по нему получается вот такое...
//n-текущий отсчет, N- количество секций
xn=x[n];
w1=w2=0;
for (k=1;k<=N;k++)
{wk=xn - a[k][1]*w1 - a[k][2];
yk=b[k][0]*wk + b[k][1]*w1 + b[k][2]*w2;
w2=w1;
w1=wk;
xn=yk;
}
y[n]=yk;

выдает отсчеты, похожие на правду, но в формуле должны присутствовать еще коэффициент(ы) усиления G... и тут путаница... в книге он умножался на xn в формуле wk ... при описании разбиения функцией sos в MATLAB я использовал 'up' и 'inf' ... в книге Сергиенко написано, что inf - масштабирование коэффициентов bi производится исходя из L8-нормы АЧХ секций, а что это значит, не знаю... я многие варианты вставки G перепробовал...
Go to the top of the page
 
+Quote Post
mse
сообщение Oct 26 2007, 05:18
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(blackswan @ Oct 26 2007, 09:09) *
...я многие варианты вставки G перепробовал...

Вот код для SOS из QEDIT2000:

Код
static double     *m1,    /* intermediate storage */
        *m2;    /* intermediate storage */

static void cas_d1 () {
    int i;
    double *a, *b, s0, s1;
    
    a = den; b = num;  s0 = GAIN * get_input_data ();
    
    for (i = 0; i < SECTION; i++) {
          s1 = (s0 * b[0] + m1[i]) / a[0];
          m1[i] = m2[i] + s0 * b[1] - s1 * a[1];
          m2[i] = s0 * b[2] - s1 * a[2];
          s0 = s1; a += 3; b += 3;
    }
    send_output_data (s1);
}
Go to the top of the page
 
+Quote Post
blackswan
сообщение Oct 26 2007, 19:48
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 4-02-07
Пользователь №: 25 046



сделал... не получается.... при амплитуде сигнала в 60 после фильтрации получаются очень маленькие дроби... и на синусоиду не похоже вроде... хочется узнать, что такое L8-норма и какие коэффициенты усиления при этом формируются...
Go to the top of the page
 
+Quote Post
mse
сообщение Oct 27 2007, 09:21
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(blackswan @ Oct 26 2007, 23:48) *
сделал... не получается.... при амплитуде сигнала в 60 после фильтрации получаются очень маленькие дроби... и на синусоиду не похоже вроде... хочется узнать, что такое L8-норма и какие коэффициенты усиления при этом формируются...

Дык, понятно ;О) Плавуче надо. А на синус и не будет похоже. Треугольники-трапеццыи всякие...Скока точек на период?
Go to the top of the page
 
+Quote Post
blackswan
сообщение Oct 27 2007, 10:17
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 4-02-07
Пользователь №: 25 046



9 точек... только график несимметричен относительно Ох, и прыгает из + в - когда захочет... я посмотрел в другой книге - Ваш вариант из QEDIT2000 аналогичен моему, только это 3-я форма, а у меня 1-ая канонического представления, и они эквивалентны... я тоже вставлял Gain, который мне расчитал MATLAB вот так
xn=Gain*x[n];
и даже так уже в цикле
wk=Gain*xn - a[k][1]*w1 - a[k][2];
для всех секций и для одной... умножал все Bi на него для всех секций и для одной(в книге Сергиенко сказано , что L-бесконечная форма масштабирует Bi)... получаются очень маленькие дроби... разве такое может быть при задаваемой амплитуде в 60 во входном сигнале?
Go to the top of the page
 
+Quote Post
mse
сообщение Oct 27 2007, 10:44
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(blackswan @ Oct 27 2007, 14:17) *
... получаются очень маленькие дроби... разве такое может быть при задаваемой амплитуде в 60 во входном сигнале?

Для целочисленки есть такая проблема. Никуда не деться, увы. Пользуйте плывучку, если можете. Для напопробовать, загоните алгоритм в эксель или матлаб какой(чтобы формулы) и посчитайте. Если увидите что хотите, значит вот оно. Если нет, ищите ошибки.
Go to the top of the page
 
+Quote Post
blackswan
сообщение Oct 28 2007, 09:14
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 4-02-07
Пользователь №: 25 046



плавучку не могу... только целочесленка.. собственно, Atmega... 16 разрядов, 8 под дробь.... подходит только вариант секций с канонической формой и вот этим "INF"-расчетом коэффициента усиления... как я понял, на выходе получаются дроби из-за масштабирования... только вот не могу понять, куда ставить этот множитель gain... в MATLAB работает, в моей проге не работает... коэффициенты я не округлял, оставил фильтр в том же виде, что и расчитанный...
Go to the top of the page
 
+Quote Post
mse
сообщение Oct 29 2007, 05:57
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693



Цитата(blackswan @ Oct 28 2007, 12:14) *
плавучку не могу... только целочесленка.. собственно, Atmega... 16 разрядов, 8 под дробь...

Множить на G надо только вх отсчёты. Если считаете, что вам действительно не даёт жить "ограничение" по G, промасштабируйте вход. В 256 раз, например. Выход - наоборот. Правда, все внутренние переменные и умножители станут на байт шире. Мож это спасёт отца русской демократии. ;О)
Go to the top of the page
 
+Quote Post
анатолий
сообщение Oct 29 2007, 14:48
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



А вот фильтры на всепропускающих звеньях
можно городить из одинаковых звеньев
и может получиться хорошо.
Даже с фиксированной запятой очень маленькой
разрядности коэффициентов.
Жаль, что в Матлабе про это мало чего есть.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:42
Рейтинг@Mail.ru


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