|
Интерполятор АЧХ и ФЧХ |
|
|
|
Sep 3 2010, 08:19
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Цитата(ivan219 @ Sep 1 2010, 19:03)  Есть АЧХ и ФЧХ они практически линейны но значения есть только на определённых частотах. Подскажить каким методом лучше всего интерполировать АЧХ и ФЧХ что бы можно было максимально точно (настолько на сколько это возможно) узнать значения на произвольной частоте? Если функция минимально-фазная, и порядок известен - можно подобрать похожую из примитивов. Если нет(сигнал приходит параллельно несколькими путями), то на участках без нулей применимы стандартные методы - полиномиальная(Фарроу) и сплайны. А на участках с нулями и отсутствием точек в нулях - ничего не поможет.
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
|
Sep 4 2010, 08:05
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(SPACUM @ Sep 3 2010, 12:19)  Если функция минимально-фазная, и порядок известен - можно подобрать похожую из примитивов. Если нет(сигнал приходит параллельно несколькими путями), то на участках без нулей применимы стандартные методы - полиномиальная(Фарроу) и сплайны. А на участках с нулями и отсутствием точек в нулях - ничего не поможет. Что то я не совсем понял. Попробую обяснить что хочу. У меня есть 255 фиксированных гармоник ЛЧМ сигнала кторые равны гармоникам 512 точечного БПФ. Этот сигнал проходит через определёную систему которя вносит свои искажения. На выходе я оцифровываю сигнал и делаю БПФ получаю значения 255 гармоник АЧХ и ФЧХ. Но мне нужно знать значения АЧХ и ФЧХ в произвольной точке. Как при помощи известных значений 255 гармоник узнать значение на произвольной частоте???
|
|
|
|
|
Sep 4 2010, 21:04
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Цитата(ivan219 @ Sep 4 2010, 12:05)  Что то я не совсем понял. Я предполагал, что Вы имеете несколько значений коэффициента передачи и фазового сдвига для нескольких частот. Если Вы хотите использовать БПФ, то сигнал должен быть стационарным, т.е. содержать только гармоники Фурье и период равный времени выборки. Если это не так, то спектр Фурье не содержит ни одной реальной гармоники сигнала и не может использоваться для измерения АЧХ и ФЧХ устройства. Изменение входного сигнала и реакция на него несомненно попадут в разные выборки.
Сообщение отредактировал SPACUM - Sep 4 2010, 21:09
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
|
Sep 5 2010, 07:56
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(SPACUM @ Sep 5 2010, 01:04)  Если Вы хотите использовать БПФ, то сигнал должен быть стационарным, т.е. содержать только гармоники Фурье и период равный времени выборки. Это я знаю и уже писал про это. Цитата(ivan219 @ Sep 4 2010, 12:05)  У меня есть 255 фиксированных гармоник ЛЧМ сигнала кторые равны гармоникам 512 точечного БПФ. Меня интересует вот что: Как узнать значение на произвольной частоте??? Если известны значения АЧХ и ФЧХ 255 гармоник стационарных содержащий только гармоники Фурье (512 БПФ) с периодом равным времени выборки. Нужен метод максимально точный вычислительные ресурсы не важны.
Сообщение отредактировал ivan219 - Sep 5 2010, 07:58
|
|
|
|
|
Sep 5 2010, 09:30
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(ivan219 @ Sep 5 2010, 10:56)  Это я знаю и уже писал про это.
Меня интересует вот что: Как узнать значение на произвольной частоте??? Если известны значения АЧХ и ФЧХ 255 гармоник стационарных содержащий только гармоники Фурье (512 БПФ) с периодом равным времени выборки. Нужен метод максимально точный вычислительные ресурсы не важны. По-моему, не хватает информации. Параметры ЛЧМ тоже дадут неопределенность. Может быть, Вам и не нужна большая точность чем предложенная линейная интерполяция. Думаю, что можно проверить таким способом. Дополним число точек спектра нулями до 1024 (2048,..) и сделаем обратное FFT, а потом опять прямое FFT на увеличенном (удвоенном, учетверенном,..) числе точек. Это и будет самая "честная" интерполяция. Так можно делать до тех пор, пока мы не увидим существенного уменьшения ошибки по сравнению с линейной интерполяцией.
Сообщение отредактировал sup-sup - Sep 5 2010, 09:32
|
|
|
|
|
Sep 5 2010, 09:56
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(sup-sup @ Sep 5 2010, 13:30)  По-моему, не хватает информации. Параметры ЛЧМ тоже дадут неопределенность. Это по чемуже? ЛЧМ у меня делается так Фаза = Pi * (номер гармоники)^2 / 256; Цитата(sup-sup @ Sep 5 2010, 13:30)  Думаю, что можно проверить таким способом. Дополним число точек спектра нулями до 1024 (2048,..) и сделаем обратное FFT, а потом опять прямое FFT на увеличенном (удвоенном, учетверенном,..) числе точек. Это и будет самая "честная" интерполяция. Так можно делать до тех пор, пока мы не увидим существенного уменьшения ошибки по сравнению с линейной интерполяцией. Попробую. Но что то мне подсказыват что из этого ли бо ничего не выйдет либо выйдет но не то. Ведь фазные компоненты при нехватке отсчётов могут быть другими. Вот так выгледят граффики АЧХ и ФЧХ
Сообщение отредактировал ivan219 - Sep 5 2010, 11:05
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 5 2010, 16:23
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Когда-то я пытался получить таким образом частотную характеристику. Но это не ЛЧХ, а сигнал содержащий все гармоники Фурье. Ничего хорошего не получилось из-за того, что требовался очень большой динамический диапазон у ЦАП и у АЦП в 16 раз больше уровня одной гармоники. А ЛЧХ я тоже пробовал - спектр Фурье невразумительный.
Сообщение отредактировал SPACUM - Sep 5 2010, 16:49
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
|
Sep 5 2010, 17:34
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(sup-sup @ Sep 5 2010, 16:21)  А Вы можете выложить оцифровки. Именно во времени. Да.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 17 2010, 09:54
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
sup-supДанные в файле. Подумал по эксперементировал и решил что Форроу 3 будет самое оно вот только для большей точности нужно исходных значений по больше а то ночальные и конечные значения получаются менее точные.
Сообщение отредактировал ivan219 - Sep 17 2010, 10:04
Прикрепленные файлы
___.rar ( 4.56 килобайт )
Кол-во скачиваний: 26
|
|
|
|
|
Sep 19 2010, 08:31
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(ivan219 @ Sep 17 2010, 12:54)  sup-sup Данные в файле.
Подумал по эксперементировал и решил что Форроу 3 будет самое оно вот только для большей точности нужно исходных значений по больше а то ночальные и конечные значения получаются менее точные. По предложенному сигналу видно, что это ЛЧМ + белый шум (примерно -40 дБ). Считаем, что точности -60 дБ (1/1000) будет достаточно. Дальше, раз есть выборки по времени, можно обойтись без FFT и тут же сделать увеличение числа выборок во времени, что и есть интерполяция. В приложении я выбрал частоту сэмплирования 1000000Гц и повысил ее вдвое (добавил нули и применил FIR). Промежуточные результаты в архиве. Таким образом, перед расчетом АЧХ/ФЧХ нужно одинаково обработать (выполнить интерполяцию) выборки на входе и на выходе объекта, АЧХ/ФЧХ которого мы ищем.
Сообщение отредактировал sup-sup - Sep 19 2010, 08:31
|
|
|
|
|
Sep 19 2010, 14:21
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(sup-sup @ Sep 19 2010, 12:31)  По предложенному сигналу видно, что это ЛЧМ + белый шум (примерно -40 дБ). Это откуда же он там взялся да ещё и 40 дБ??? Это чисто синтезируемый ЛЧМ сигнал из 511 гармоник? Он даже в целый тип небыл переведён для того что бы передать звуковой карте и воспроизвести его Точность скоторым этот сигнал синтезировался Double (8 байт) ошибки округления конечно есть но что бы так грубо!!!
Сообщение отредактировал ivan219 - Sep 19 2010, 14:26
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|