![]() |
|
|
![]()
|
|
| Hitriy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.6.2006 Репутация: нет Всего: нет |
Значит так, есть рассчитанный цифровой фильтр, расчеты произведены в Matlab. Нужно теперь релизовать этот фильтр на C++ для того, чтобы оценить его быстродействие. Фильтр представляет собй передаточную функцию из 5 звеньев второго порядка, т.е. это произведение 5 дробей, каждай из которых содержит по 3 члена в чилителе и 3 члена в знаменателе, вида a+bz^(-1)+cz(-2). На вход такого фильтра поступает гармонический сигнал. Нужно знать время через которое он появиться на выходе.
Сам нахожусь в растерянности, т.к. C Забыл окончательно...А времени вспомнить нет...курсовик нужно сдать завтра...Может кто-нить помочь? |
|||
|
||||
| Hitriy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.6.2006 Репутация: нет Всего: нет |
Есть даже примерная прога....тока она не работает почему-то...((
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
ну если её текст не привести, то и помочь выяснить, почему не работает, никто не сможет... -------------------- qqq |
|||
|
||||
| Hitriy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.6.2006 Репутация: нет Всего: нет |
Модератор: люби ближних своих, пользуйся тэгами code! Это сообщение отредактировал(а) Earnest - 8.6.2006, 07:17 |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
зачем заполнять первые 20 дискрет по второму разу? их как раз надо заполнить сначала нулями, а потом не трогать, потому что корректно заполнить их по общему правилу нельзя - нет элементов y[-1],y[-2],... так что во втором цикле надо начинать с k=20 а эта формула имеет очень мало общего с цифровой фильтрацией - она вообще никак не использует сигнал... фильтр с передаточной функцией, представленной в виде дроби, вычисляется по-другому: если, например, y=(1+a*z^-1)/(1+b*z^-1+c*z^-2) x то нужно домножить обе части на знаменатель: (1+b*z^-1+c*z^-2)y=(1+a*z^-1)x потом вспомнить, что такое z: y[n]+b*y[n-1]+c*y[n-2]=x[n]+a*x[n-1] и выразить y[n]: y[n]=x[n]+a*x[n-1]-b*y[n-1]-c*y[n-2] -------------------- qqq |
|||
|
||||
| Hitriy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 6.6.2006 Репутация: нет Всего: нет |
Ну дык че никак? Вообще....
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Hitriy, что значит "никак".
Если тебя ответ maxim1000 не удовлетворяет, так спроси, уточни. А если хочешь, чтобы все за тебя сделали, то обращайся в Центр помощи. -------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |