БПФ в темпе процесса

Сообщение №7086 от Andy-120 27 февраля 2003 г. 08:24
Тема: БПФ в темпе процесса

Желаю всем здравствовать!

Давно не занимался математикой, а вот всплыла задача.

1. Есть моночастотный зондирующий и отраженный сигналы.
2. Необходимо в темпе процесса вычислять амплитуду и фазу отраженного сигнала.

Решение "В лоб": берем N отсчетов, делаем БПФ и так по кругу.

А нет ли алгоритмов, чтобы при получении очередного отсчета получить
новые значения амплитуды и фазы с меньшими вычислительными затратами
учитывая, что остальные-то отсчеты (например 1023 штуки) не изменились.
Да и нужна-то всего одна пара коэффициентов (сигнал моночастотный).

Заранее благодарен Всем.
Андрей.


Отклики на это сообщение:

> Желаю всем здравствовать!

> Давно не занимался математикой, а вот всплыла задача.

> 1. Есть моночастотный зондирующий и отраженный сигналы.
> 2. Необходимо в темпе процесса вычислять амплитуду и фазу отраженного сигнала.

> Решение "В лоб": берем N отсчетов, делаем БПФ и так по кругу.

> А нет ли алгоритмов, чтобы при получении очередного отсчета получить
> новые значения амплитуды и фазы с меньшими вычислительными затратами
> учитывая, что остальные-то отсчеты (например 1023 штуки) не изменилис
ь.
> Да и нужна-то всего одна пара коэффициентов (сигнал моночастотный).

> Заранее благодарен Всем.
> Андрей.

Посмотрите Блейхут, Быстрые алгоритмы Цифровой Ообработки сигналов - Алгоритм Герцля
Может сгодится?


> > Желаю всем здравствовать!

> > Давно не занимался математикой, а вот всплыла задача.

> > 1. Есть моночастотный зондирующий и отраженный сигналы.
> > 2. Необходимо в темпе процесса вычислять амплитуду и фазу отраженного сигнала.

> > Решение "В лоб": берем N отсчетов, делаем БПФ и так по кругу.

> > А нет ли алгоритмов, чтобы при получении очередного отсчета получить
> > новые значения амплитуды и фазы с меньшими вычислительными затратами
> > учитывая, что остальные-то отсчеты (например 1023 штуки) не изменилис
> ь.
> > Да и нужна-то всего одна пара коэффициентов (сигнал моночастотный).

> > Заранее благодарен Всем.
> > Андрей.

> Посмотрите Блейхут, Быстрые алгоритмы Цифровой Ообработки сигналов - Алгоритм Герцля
> Может сгодится?

У Вас "скользящий" БПФ или увеличение числа отсчетов принципиально?



> > > Желаю всем здравствовать!

> > > Давно не занимался математикой, а вот всплыла задача.

> > > 1. Есть моночастотный зондирующий и отраженный сигналы.
> > > 2. Необходимо в темпе процесса вычислять амплитуду и фазу отраженного сигнала.

> > > Решение "В лоб": берем N отсчетов, делаем БПФ и так по кругу.

> > > А нет ли алгоритмов, чтобы при получении очередного отсчета получить
> > > новые значения амплитуды и фазы с меньшими вычислительными затратами
> > > учитывая, что остальные-то отсчеты (например 1023 штуки) не изменилис
> > ь.
> > > Да и нужна-то всего одна пара коэффициентов (сигнал моночастотный).

> > > Заранее благодарен Всем.
> > > Андрей.

> > Посмотрите Блейхут, Быстрые алгоритмы Цифровой Ообработки сигналов - Алгоритм Герцля
> > Может сгодится?

> У Вас "скользящий" БПФ или увеличение числа отсчетов принципиально?


Разговор идет именно о скользящем анализе амплитуды и фазы.
А может быть есть что-то лучше БПФ?


> > > > Желаю всем здравствовать!

> > > > Давно не занимался математикой, а вот всплыла задача.

> > > > 1. Есть моночастотный зондирующий и отраженный сигналы.
> > > > 2. Необходимо в темпе процесса вычислять амплитуду и фазу отраженного сигнала.

> > > > Решение "В лоб": берем N отсчетов, делаем БПФ и так по кругу.

> > > > А нет ли алгоритмов, чтобы при получении очередного отсчета получить
> > > > новые значения амплитуды и фазы с меньшими вычислительными затратами
> > > > учитывая, что остальные-то отсчеты (например 1023 штуки) не изменилис
> > > ь.
> > > > Да и нужна-то всего одна пара коэффициентов (сигнал моночастотный).

> > > > Заранее благодарен Всем.
> > > > Андрей.

> > > Посмотрите Блейхут, Быстрые алгоритмы Цифровой Ообработки сигналов - Алгоритм Герцля
> > > Может сгодится?

> > У Вас "скользящий" БПФ или увеличение числа отсчетов принципиально?

>
> Разговор идет именно о скользящем анализе амплитуды и фазы.
> А может быть есть что-то лучше БПФ?

Если все в "скользящем окне", то есть куча методов рекурсивного пересчета спектральных характеристик, фильтрации и пр.
Свяжитесь по мейлу, постараюсь помочь ссылками или копиями. У нас пару ребят достаточно продвинуто работают в этом направлении...


> 1. Есть моночастотный зондирующий и отраженный сигналы.
> 2. Необходимо в темпе процесса вычислять амплитуду и фазу отраженного сигнала.

> Решение "В лоб": берем N отсчетов, делаем БПФ и так по кругу.

> А нет ли алгоритмов, чтобы при получении очередного отсчета получить
> новые значения амплитуды и фазы с меньшими вычислительными затратами
> учитывая, что остальные-то отсчеты (например 1023 штуки) не изменились.
> Да и нужна-то всего одна пара коэффициентов (сигнал моночастотный).

А не слишком ли тут крупный калибр - БПФ?
Амплитуда сигнала вычисляется просто через, скажем, сумму квадратов отсчетов (поскольку он моночастотен и по теореме Парсеваля она равна сумме квадратов коэффициентов Фурье, а они все, кроме одного, нули:)
Что до фазы:
x=A*sin(w*t+f1)
y=B*sin*w*t+f2)
x*y=1/2*A*B*(cos(f1-f2)+cos(2*wt+f1*f2))
Также суммируя (или пропуская через НЧ-фильтр), избавляемся от второго слагаемого.


> > 1. Есть моночастотный зондирующий и отраженный сигналы.
> > 2. Необходимо в темпе процесса вычислять амплитуду и фазу отраженного сигнала.

> > Решение "В лоб": берем N отсчетов, делаем БПФ и так по кругу.

> > А нет ли алгоритмов, чтобы при получении очередного отсчета получить
> > новые значения амплитуды и фазы с меньшими вычислительными затратами
> > учитывая, что остальные-то отсчеты (например 1023 штуки) не изменились.
> > Да и нужна-то всего одна пара коэффициентов (сигнал моночастотный).

> А не слишком ли тут крупный калибр - БПФ?
> Амплитуда сигнала вычисляется просто через, скажем, сумму квадратов отсчетов (поскольку он моночастотен и по теореме Парсеваля она равна сумме квадратов коэффициентов Фурье, а они все, кроме одного, нули:)
> Что до фазы:
> x=A*sin(w*t+f1)
> y=B*sin*w*t+f2)
> x*y=1/2*A*B*(cos(f1-f2)+cos(2*wt+f1*f2))
> Также суммируя (или пропуская через НЧ-фильтр), избавляемся от второго слагаемого.

Дело все в том, что сигнал-то в шумах и притом в приличных.



> Дело все в том, что сигнал-то в шумах и притом в приличных.

А предварительно пропустить через узкополосный фильтр?


Физика в анимациях - Купить диск - Тесты по физике - Графики on-line

Реклама:
Rambler's Top100