|
|
  |
Обратная импульсная характеристика, не получается найти её классическим методом |
|
|
|
Jul 26 2006, 07:08
|
Участник

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

|
У меня есть среда передачи сигнала. Я задаю её импульсную характеристику в аналитическом виде как экспоненциально убывающую синусоиду. Далее делаю преобразование Фурье этой функции и получаю АФЧХ среды. Для моделирования использую MATLAB и функцию FFT. Работаю с массивами отсчётов ИХ и АФЧХ. Далее каждый элемент массива АФЧХ возвожу в степень минус один. Получаю масив обратной АФЧХ среды. Далее делаю обратное преобразование Фурье и должен бы получить обратную ИХ среды. Но... искажённый сигнал в свёртке с ней далеко не похож на исходный. И в результат свёртки прямой и обратной ИХ не есть дельта-функция. Кто-нибудь может подсказать, что я делаю неправильно?
|
|
|
|
|
Jul 26 2006, 14:16
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(michael34 @ Jul 26 2006, 16:08)  У меня есть среда передачи сигнала. Я задаю её импульсную характеристику в аналитическом виде как экспоненциально убывающую синусоиду. Далее делаю преобразование Фурье этой функции и получаю АФЧХ среды. Для моделирования использую MATLAB и функцию FFT. Работаю с массивами отсчётов ИХ и АФЧХ. Далее каждый элемент массива АФЧХ возвожу в степень минус один. Получаю масив обратной АФЧХ среды. Далее делаю обратное преобразование Фурье и должен бы получить обратную ИХ среды. Но... искажённый сигнал в свёртке с ней далеко не похож на исходный. И в результат свёртки прямой и обратной ИХ не есть дельта-функция. Кто-нибудь может подсказать, что я делаю неправильно? Хрен его знает... Но в любом случае, я бы не смог, во-первых, получить конечное ДПФ для Вашей ИХ, а во-вторых свернуть Вашу бесконечную ИХ с конечной, полученную при помощи обратного ДПФ... Но как я уже сказал ранее: хрен его знает, мОлодежь нынче шибко умная, букварей не читаетЬ, а читаетЬ она комиксы  P.S. Забыл сказать, в комиксах про оконные методы не пишут... в смысле не рисуют...
|
|
|
|
|
Jul 26 2006, 15:42
|

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

|
Цитата(st256 @ Jul 26 2006, 18:16)  ...Но в любом случае, я бы не смог, во-первых, получить конечное ДПФ для Вашей ИХ... А вот я бы - смог. Цитата(st256 @ Jul 26 2006, 18:16)  ...а во-вторых свернуть Вашу бесконечную ИХ с конечной, полученную при помощи обратного ДПФ... К Вашему сведению, это делает любой уважающий себя КИХ-фильтр. Но с уважением у нас, как водится, большие проблеммы... Цитата(st256 @ Jul 26 2006, 18:16)  ...Но как я уже сказал ранее: хрен его знает, мОлодежь нынче шибко умная, букварей не читаетЬ, а читаетЬ она комиксы P.S. Забыл сказать, в комиксах про оконные методы не пишут... в смысле не рисуют...  Интересно бы узнать, что это за методы, о которых не пишут в комиксах? Цитата(michael34 @ Jul 26 2006, 11:08)  У меня есть среда передачи сигнала. Я задаю её импульсную характеристику в аналитическом виде как экспоненциально убывающую синусоиду. Далее делаю преобразование Фурье этой функции и получаю АФЧХ среды. Для моделирования использую MATLAB и функцию FFT. Работаю с массивами отсчётов ИХ и АФЧХ. Далее каждый элемент массива АФЧХ возвожу в степень минус один. Получаю масив обратной АФЧХ среды. Далее делаю обратное преобразование Фурье и должен бы получить обратную ИХ среды. Но... искажённый сигнал в свёртке с ней далеко не похож на исходный. И в результат свёртки прямой и обратной ИХ не есть дельта-функция. Кто-нибудь может подсказать, что я делаю неправильно? Метод построения обратного фильтра с помощью FFT в данном случае не слишком применим. Лучше рассмотреть возможность параметрического представления модели (напр. AR), тогда синтез обратного фильтра не составит большого труда. Эффективность же гораздо выше... PS. Кроме того, возводить в степень -1 нельзя: какие-то термы FFT могут быть близки к 0. PPS. Не задавайте ИХ в таком экстремальном виде - иначе проблемы неизбежны...
Сообщение отредактировал Stanislav - Jul 26 2006, 16:51
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jul 26 2006, 17:45
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(Stanislav @ Jul 27 2006, 00:42)  Цитата(st256 @ Jul 26 2006, 18:16)  ...Но в любом случае, я бы не смог, во-первых, получить конечное ДПФ для Вашей ИХ... А вот я бы - смог. Ага. Смогите, пожалуйста. А то мы люди неграмотные, нам бы хотелось узнать о свежих московских поветриях в области DSP. Цитата(Stanislav @ Jul 27 2006, 00:42)  Цитата(st256 @ Jul 26 2006, 18:16)  ...а во-вторых свернуть Вашу бесконечную ИХ с конечной, полученную при помощи обратного ДПФ... К Вашему сведению, это делает любой уважающий себя КИХ-фильтр. Да ну??? Таки все время он ето делает, делает и никак доделать не может? Ну дела.... Цитата Но с уважением у нас, как водится, большие проблеммы... А чо увАжить-то надо? Смелые мысли собеседника? Та за ради Бога! Подгоняйте мыслю. Цитата Цитата(st256 @ Jul 26 2006, 18:16)  ...Но как я уже сказал ранее: хрен его знает, мОлодежь нынче шибко умная, букварей не читаетЬ, а читаетЬ она комиксы P.S. Забыл сказать, в комиксах про оконные методы не пишут... в смысле не рисуют...  Интересно бы узнать, что это за методы, о которых не пишут в комиксах? Да хрен его знаить... Так казал щоб красивше було... Можа и нетути никаких методов таких... А можа про них даже в комиксах пишуть... В смысле, рисують...
|
|
|
|
|
Jul 27 2006, 07:03
|
Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 8-11-05
Пользователь №: 10 593

|
Цитата(michael34 @ Jul 26 2006, 11:08)  Кто-нибудь может подсказать, что я делаю неправильно? Вообщем-то все. Простой пример - если у Вас есть ИХ длиной N отсчетов, и отрезок фильтруемого сигнала длиной N отсчетов, то результат фильтрации через свертку будет иметь длину 2N-1 отсчетов. Это правильный подход. Подход интуитивно очевидный но неправильный - преобразовать оба эти отрезка (ИХ и кусок сигнала) через ДПФ, перемножить, и преобразовать обратно. Результат этой операции не будет равен написанному выше, уже потому что длина результата - N отсчетов. Для того, чтобы два подхода дали одинаковый результат надо оба отрезка (ИХ и кусок сигнала) добить нулями взад до длины 2N-1, рассчитать ДПФ, перемножить и преобразовать обратно. Чтот касается восстановления сигнала, пропущенного через фильтр, то точно восстановить невозможно. АЧХ фильтра имеет нули, а на ноль делить как известно нельзя. но приближенно восстановить можно - гугль и ключевое слово deconvolution Вам в помощ.
|
|
|
|
|
Jul 27 2006, 08:28
|
Участник

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

|
Цитата(Stanislav @ Jul 26 2006, 20:42)  PS. Кроме того, возводить в степень -1 нельзя: какие-то термы FFT могут быть близки к 0. PPS. Не задавайте ИХ в таком экстремальном виде - иначе проблемы неизбежны... В данном моём конкретном случае нулей нет. А в каком виде задавать?
|
|
|
|
|
Jul 27 2006, 14:17
|

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

|
Цитата(michael34 @ Jul 27 2006, 12:28)  В данном моём конкретном случае нулей нет. А в каком виде задавать? Нули могут появиться, из-за усечения ИХ. Вообще-то, конечно, можно и в таком (насколько я понимаю, это аналог колебательной системы 2-го порядка), если затухание за время анализа достаточно велико. Только если Вы для оценивания параметров системы способом, подобным описанному в предыдущем посте, выберете, например, AR-модель 4-го порядка, решение может быть неустойчивым. Иными словами, нужно следить за тем, чтобы порядок модели не превосходил порядок системы. Добавление в систему шума повышает устойчивость решения. В Матлабе есть хорошо документированный "System Identification Toolbox" и простой GUI к нему. Есть описание методов параметрического и непараметрического оценивания системы.
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Jul 27 2006, 14:57
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(NickNich @ Jul 27 2006, 16:03)  Цитата(michael34 @ Jul 26 2006, 11:08)  Кто-нибудь может подсказать, что я делаю неправильно?
Вообщем-то все. Простой пример - если у Вас есть ИХ длиной N отсчетов, и отрезок фильтруемого сигнала длиной N отсчетов, то результат фильтрации через свертку будет иметь длину 2N-1 отсчетов. Это правильный подход. Не, не правильный. Если далее речь идет о ДПФ, то свертка будет иметь все-таки N отсчетов. Только называться она будет циклической. Цитата Подход интуитивно очевидный но неправильный - преобразовать оба эти отрезка (ИХ и кусок сигнала) через ДПФ, перемножить, и преобразовать обратно. Результат этой операции не будет равен написанному выше, уже потому что длина результата - N отсчетов. Кхе-кхе... Цитата Для того, чтобы два подхода дали одинаковый результат надо оба отрезка (ИХ и кусок сигнала) добить нулями взад до длины 2N-1, рассчитать ДПФ, перемножить и преобразовать обратно. И скакой стороны предпологается добивать нулями? Справа или слева? Цитата Чтот касается восстановления сигнала, пропущенного через фильтр, то точно восстановить невозможно. АЧХ фильтра имеет нули, а на ноль делить как известно нельзя. но приближенно восстановить можно - гугль и ключевое слово deconvolution Вам в помощ. Все смешалось в доме Облонских... И восстановить можно и даже делить на 0. Вот вам примерчик: у среды z-преобразование вида 1+Z^(-1), а у компенсатора 1/(1+Z^(-1)) после коррекции имеем (1+Z^(-1))/(1+Z^(-1)) = 1 И последнее. Самое последнее дело ссылаться на англоязычные источники. Обычно, ничего хорошего в них нет, и Проакис тому лучшее подтверждение.
|
|
|
|
|
Jul 27 2006, 15:13
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(michael34 @ Jul 27 2006, 17:28)  Цитата(Stanislav @ Jul 26 2006, 20:42)  PS. Кроме того, возводить в степень -1 нельзя: какие-то термы FFT могут быть близки к 0. PPS. Не задавайте ИХ в таком экстремальном виде - иначе проблемы неизбежны...
В данном моём конкретном случае нулей нет. А в каком виде задавать? Понимаете, все Ваши методы просто не могут быть точными. Скорее всего. Почему? Чтобы получить обратную характеристику у фильтра не нужно никакого ДПФ. Достаточно найти обратное z-преобразование. Пусть у Вас есть фильтр a1+a2*Z^(-1)+....+aN*Z^(-1) ------------------------------------- b1+b2*Z^(-1)+....+bN*Z^(-1) то обратную характеристику будет иметь фильтр b1+b2*Z^(-1)+....+bN*Z^(-1) ------------------------------------- a1+a2*Z^(-1)+....+aN*Z^(-1) Но трудность здесь в том, что рекурентная часть может оказаться слишком высокого порядка. На Вашем месте, я бы попытался сначала аппроксимировать характеристику среды чисто рекурсивным фильтром. В качестве компенсатора Вы бы получили обычный КИХ. Но выравнить КИХ КИХом невозможно. Вожно лишь некое приближение. Цитата(Stanislav @ Jul 27 2006, 23:17)  Цитата(michael34 @ Jul 27 2006, 12:28)  В данном моём конкретном случае нулей нет. А в каком виде задавать? Нули могут появиться, из-за усечения ИХ. Ну чо за фигня-то? У КИХ всегда есть нули. ...хотя в Москве, возможно думают по-другому...
|
|
|
|
|
Jul 27 2006, 15:56
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(Stanislav @ Jul 28 2006, 00:29)  Цитата(st256 @ Jul 27 2006, 19:13)  Ну чо за фигня-то? У КИХ всегда есть нули.
...хотя в Москве, возможно думают по-другому... Шо за брэд? Речь идёт о к-тах DFT конкретной функции. Стоп! Уже совсем ничего не понимаю... Куда идет Речь? И чего ему там надо???
|
|
|
|
|
Jul 28 2006, 02:50
|
СТАТУС: только для чтения
 
Группа: Новичок
Сообщений: 133
Регистрация: 23-12-04
Пользователь №: 1 627

|
Цитата(Stanislav @ Jul 28 2006, 00:59)  Цитата(st256 @ Jul 27 2006, 19:56)  Стоп! Уже совсем ничего не понимаю... Куда идет Речь? И чего ему там надо??? Поднятие уровня Вашего понимания сегодня не входит в мои планы. Хотя, возможно, Вам будет полезно ознакомиться с комплексными числами... А с чем есчо? Вы пишите, пишите. Я с благодарностью последую любой Вашей писанине!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|