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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Цифровые фильтры, помогите разобраться
PetrovichKR
сообщение Dec 22 2010, 07:38
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 20-03-10
Пользователь №: 56 092



Цитата
Мне кажется что он писал так, как было принято у нас. А не из за того, что он чет не догонял.

Наверно, так и есть. Но в современных книжках, всё же, обозначают уже одинаково. Поэтому это принято уже везде.
Go to the top of the page
 
+Quote Post
bahurin
сообщение Dec 23 2010, 05:01
Сообщение #32


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347



Цитата(PetrovichKR @ Dec 22 2010, 13:38) *
Наверно, так и есть. Но в современных книжках, всё же, обозначают уже одинаково. Поэтому это принято уже везде.

bb-offtopic.gif Да ну не спорьте вы о книжках. Все они правильные. Когда я писал слово "принято" я скорее имел ввиду не литературу, а программные пакеты матлаб, октаве, скайлаб. Ибо автор вопроса на них опирается, но в его коде вроде как наоборот. Разумеется мы можем обозначить на бумаге любыми буквами, хоть иероглифами китайскими, главное, чтобы при программной реализации они не путались местами.
Go to the top of the page
 
+Quote Post
TViT
сообщение Dec 23 2010, 16:48
Сообщение #33


Участник
*

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



Вот описание функции:
Код
function cels=casc(x,z)
//cels=casc(x,z)
//Creates cascade realization of filter
//from a matrix of coefficients
//  x    :(4xN)-Matrix where each column is a cascade
//       :element, the first two column entries being
//       :the numerator coefficients and the second two
//       :column entries being the denominator coefficients
//  z    :Character string representing the cascade variable
//  cels :Resulting cascade representation
//
//EXAMPLE:
//  x=[ 1.     2.     3. ;
//      4.     5.     6. ;
//      7.     8.     9. ;
//      10.    11.    12. ]
//
//  cels=casc(x,'z')
//  cels      =
//
//  !             2               2               2  !
//  !   1 + 4z + z      2 + 5z + z      3 + 6z + z   !
//  !  ------------    ------------    ------------  !
//  !              2               2               2 !
//  !   7 + 10z + z     8 + 11z + z     9 + 12z + z  !
//!

cels=[];
for col=x,
      nf=[col(1:2);1];
      nd=[col(3:4);1];
      cels=[cels,syslin([],poly(nf,'z','c'),poly(nd,'z','c'))];
end,

endfunction

----------------------

Нужно как я понимаю сформировать правильно матрицу коэффициентов, а casc пересчитает их по секциям видимо 2-х порядковым, вот как и что нужно сделать, а главное что возвращается?

И что это за дроби она выдает в примере?
Код
//  !   1 + 4z + z      2 + 5z + z      3 + 6z + z   !
//  !  ------------    ------------    ------------  !
//  !              2               2               2 !
//  !   7 + 10z + z     8 + 11z + z     9 + 12z + z  !


Сообщение отредактировал TViT - Dec 23 2010, 16:52
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 Текстовая версия Сейчас: 16th June 2025 - 07:09
Рейтинг@Mail.ru


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