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

 
 
 
Reply to this topicStart new topic
> Обратная импульсная характеристика, не получается найти её классическим методом
michael34
сообщение Jul 26 2006, 07:08
Сообщение #1


Участник
*

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



У меня есть среда передачи сигнала. Я задаю её импульсную характеристику в аналитическом виде как экспоненциально убывающую синусоиду. Далее делаю преобразование Фурье этой функции и получаю АФЧХ среды. Для моделирования использую MATLAB и функцию FFT. Работаю с массивами отсчётов ИХ и АФЧХ. Далее каждый элемент массива АФЧХ возвожу в степень минус один. Получаю масив обратной АФЧХ среды. Далее делаю обратное преобразование Фурье и должен бы получить обратную ИХ среды. Но... искажённый сигнал в свёртке с ней далеко не похож на исходный. И в результат свёртки прямой и обратной ИХ не есть дельта-функция. Кто-нибудь может подсказать, что я делаю неправильно?
Go to the top of the page
 
+Quote Post
st256
сообщение Jul 26 2006, 14:16
Сообщение #2


СТАТУС: только для чтения
**

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



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


Хрен его знает... Но в любом случае, я бы не смог, во-первых, получить конечное ДПФ для Вашей ИХ, а во-вторых свернуть Вашу бесконечную ИХ с конечной, полученную при помощи обратного ДПФ... Но как я уже сказал ранее: хрен его знает, мОлодежь нынче шибко умная, букварей не читаетЬ, а читаетЬ она комиксы smile.gif

P.S. Забыл сказать, в комиксах про оконные методы не пишут... в смысле не рисуют... smile.gif
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 26 2006, 15:42
Сообщение #3


Гуру
******

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



Цитата(st256 @ Jul 26 2006, 18:16) *
...Но в любом случае, я бы не смог, во-первых, получить конечное ДПФ для Вашей ИХ...
А вот я бы - смог. biggrin.gif

Цитата(st256 @ Jul 26 2006, 18:16) *
...а во-вторых свернуть Вашу бесконечную ИХ с конечной, полученную при помощи обратного ДПФ...
К Вашему сведению, это делает любой уважающий себя КИХ-фильтр. Но с уважением у нас, как водится, большие проблеммы...

Цитата(st256 @ Jul 26 2006, 18:16) *
...Но как я уже сказал ранее: хрен его знает, мОлодежь нынче шибко умная, букварей не читаетЬ, а читаетЬ она комиксы smile.gif
P.S. Забыл сказать, в комиксах про оконные методы не пишут... в смысле не рисуют... smile.gif
Интересно бы узнать, что это за методы, о которых не пишут в комиксах?

Цитата(michael34 @ Jul 26 2006, 11:08) *
У меня есть среда передачи сигнала. Я задаю её импульсную характеристику в аналитическом виде как экспоненциально убывающую синусоиду. Далее делаю преобразование Фурье этой функции и получаю АФЧХ среды. Для моделирования использую MATLAB и функцию FFT. Работаю с массивами отсчётов ИХ и АФЧХ. Далее каждый элемент массива АФЧХ возвожу в степень минус один. Получаю масив обратной АФЧХ среды. Далее делаю обратное преобразование Фурье и должен бы получить обратную ИХ среды. Но... искажённый сигнал в свёртке с ней далеко не похож на исходный. И в результат свёртки прямой и обратной ИХ не есть дельта-функция. Кто-нибудь может подсказать, что я делаю неправильно?
Метод построения обратного фильтра с помощью FFT в данном случае не слишком применим. Лучше рассмотреть возможность параметрического представления модели (напр. AR), тогда синтез обратного фильтра не составит большого труда. Эффективность же гораздо выше...

PS. Кроме того, возводить в степень -1 нельзя: какие-то термы FFT могут быть близки к 0.
PPS. Не задавайте ИХ в таком экстремальном виде - иначе проблемы неизбежны...

Сообщение отредактировал Stanislav - Jul 26 2006, 16:51


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


СТАТУС: только для чтения
**

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



Цитата(Stanislav @ Jul 27 2006, 00:42) *
Цитата(st256 @ Jul 26 2006, 18:16) *
...Но в любом случае, я бы не смог, во-первых, получить конечное ДПФ для Вашей ИХ...
А вот я бы - смог. biggrin.gif


Ага. Смогите, пожалуйста. А то мы люди неграмотные, нам бы хотелось узнать о свежих московских поветриях в области DSP.

Цитата(Stanislav @ Jul 27 2006, 00:42) *
Цитата(st256 @ Jul 26 2006, 18:16) *
...а во-вторых свернуть Вашу бесконечную ИХ с конечной, полученную при помощи обратного ДПФ...
К Вашему сведению, это делает любой уважающий себя КИХ-фильтр.


Да ну??? Таки все время он ето делает, делает и никак доделать не может? Ну дела....

Цитата
Но с уважением у нас, как водится, большие проблеммы...


А чо увАжить-то надо? Смелые мысли собеседника? Та за ради Бога! Подгоняйте мыслю.

Цитата
Цитата(st256 @ Jul 26 2006, 18:16) *
...Но как я уже сказал ранее: хрен его знает, мОлодежь нынче шибко умная, букварей не читаетЬ, а читаетЬ она комиксы smile.gif
P.S. Забыл сказать, в комиксах про оконные методы не пишут... в смысле не рисуют... smile.gif
Интересно бы узнать, что это за методы, о которых не пишут в комиксах?


Да хрен его знаить... Так казал щоб красивше було... Можа и нетути никаких методов таких... А можа про них даже в комиксах пишуть... В смысле, рисують...
Go to the top of the page
 
+Quote Post
NickNich
сообщение Jul 27 2006, 07:03
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 8-11-05
Пользователь №: 10 593



Цитата(michael34 @ Jul 26 2006, 11:08) *
Кто-нибудь может подсказать, что я делаю неправильно?


Вообщем-то все.

Простой пример - если у Вас есть ИХ длиной N отсчетов, и отрезок фильтруемого сигнала длиной N отсчетов, то результат фильтрации через свертку будет иметь длину 2N-1 отсчетов. Это правильный подход.

Подход интуитивно очевидный но неправильный - преобразовать оба эти отрезка (ИХ и кусок сигнала) через ДПФ, перемножить, и преобразовать обратно. Результат этой операции не будет равен написанному выше, уже потому что длина результата - N отсчетов.

Для того, чтобы два подхода дали одинаковый результат надо оба отрезка
(ИХ и кусок сигнала) добить нулями взад до длины 2N-1, рассчитать ДПФ, перемножить и преобразовать обратно.

Чтот касается восстановления сигнала, пропущенного через фильтр, то точно восстановить невозможно. АЧХ фильтра имеет нули, а на ноль делить как известно нельзя. но приближенно восстановить можно - гугль и ключевое слово deconvolution Вам в помощ.
Go to the top of the page
 
+Quote Post
michael34
сообщение Jul 27 2006, 08:28
Сообщение #6


Участник
*

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



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


В данном моём конкретном случае нулей нет.
А в каком виде задавать?
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jul 27 2006, 14:04
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



C FFT хорошего мало у Вас получится. Лучше попытаться решить в (среднеквадратическом смысле) систему уравнений H*c = d, где H матрица сверти получается из вашей импульсной характеристики, с - искомая ихпульсная характеристика фильтра, d -желаемая импульсная хар-ки системы, в данном случае это вектор где один элемент =1 остальные нули. с получается в результате решения системы линейных уравнений: H'*H*c = H'*d; (см. прикрепленный файл); Это называется нормальное уравнение. Для информации можно поискать на темы "Метод наименьших квадратов" "Нормальное уравнение", или из области связи например "least square equalization".

Lh = 10; % length of impulse reponce
Lc = 20; % length of fir

h = sin( (1:Lh)*2*pi*3/Lh).*exp(-0.3*(1:Lh));
h=h.';
H = convmtx(h, Lc);
d = zeros(Lc+Lh-1, 1);
d(6) = 1;

c = pinv(H'*H)*(H'*d);
size(H)

figure(1);
plot(h );

figure(2);
plot©;

figure(3);
plot(conv(c, h)); % plot convolution c*h


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 27 2006, 14:17
Сообщение #8


Гуру
******

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



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


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
st256
сообщение Jul 27 2006, 14:57
Сообщение #9


СТАТУС: только для чтения
**

Группа: Новичок
Сообщений: 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

И последнее. Самое последнее дело ссылаться на англоязычные источники. Обычно, ничего хорошего в них нет, и Проакис тому лучшее подтверждение.
Go to the top of the page
 
+Quote Post
st256
сообщение Jul 27 2006, 15:13
Сообщение #10


СТАТУС: только для чтения
**

Группа: Новичок
Сообщений: 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) *
В данном моём конкретном случае нулей нет.
А в каком виде задавать?
Нули могут появиться, из-за усечения ИХ.



Ну чо за фигня-то? У КИХ всегда есть нули.

...хотя в Москве, возможно думают по-другому...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 27 2006, 15:29
Сообщение #11


Гуру
******

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



Цитата(st256 @ Jul 27 2006, 19:13) *
Ну чо за фигня-то? У КИХ всегда есть нули.

...хотя в Москве, возможно думают по-другому...
Шо за брэд?
Речь идёт о к-тах DFT конкретной функции.


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


СТАТУС: только для чтения
**

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



Цитата(Stanislav @ Jul 28 2006, 00:29) *
Цитата(st256 @ Jul 27 2006, 19:13) *
Ну чо за фигня-то? У КИХ всегда есть нули.

...хотя в Москве, возможно думают по-другому...
Шо за брэд?
Речь идёт о к-тах DFT конкретной функции.


Стоп! Уже совсем ничего не понимаю... Куда идет Речь? И чего ему там надо???
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jul 27 2006, 15:59
Сообщение #13


Гуру
******

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



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


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


СТАТУС: только для чтения
**

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



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


А с чем есчо? Вы пишите, пишите. Я с благодарностью последую любой Вашей писанине!
Go to the top of the page
 
+Quote Post

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

 


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


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