На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Wavelet
    Привет!
    Я ,уже как-то, приставал с подобным вопросом...
    Надо узнать реальные частоты и амплитуды  гармоник сигнала, а не то что получается от FFT .Мне тут кто-то советовал вейвлет.Очень интересно http://www.basegroup.ru/filtration/wavelet_applications.htm, но "мы все учились ..." сами знаете как!Может разберетесь и ОЧЕНЬ практически посоветуете.
      Цитата Alexei, 19.07.03, 15:13:13
      Привет!
      Я ,уже как-то, приставал с подобным вопросом...
      Надо узнать реальные частоты и амплитуды  гармоник сигнала, а не то что получается от FFT ..


      А что фурье типа не реальные частоты дает?
      а какие же.?
        Если частота не кратна входному интервалу FFT, то какие-то свои, можешь сам убедиться.
          если не выполняются условия теоремы котельникова то ты прав
          иначе не прав


          но всегда требуют что бы условия выполнялись

            Цитата esperanto, 20.07.03, 12:40:31
            если не выполняются условия теоремы котельникова то ты прав
            иначе не прав


            но всегда требуют что бы условия выполнялись


            Котельников тут не причем.
            "
            Это очень важно понимать: FFT раскладывает функцию не на её гармоники, а на свои гармоники. Допустим, в исходной функции была лишь частота точно 100 Гц, а мы с помощью FFT раскладываем функцию в частоты 96, 99, 102, 105 Гц - как вы думаете, что получится в результате? :) Ничего полезного. FFT по прежнему будет способна полностью точно восстановить исходную функцию, однако полученный нами спектральный состав будет бестолковым:

            Удачный FFT          Неудачный FFT
            Частоты Коэффициенты Частоты Коэффициенты
                    (амплитуда)           (амплитуда)
            95         0             91    0.04
            96         0             93    0.11
            97         0             96    0.14
            98         0             99    0.85
            99         0            102    0.19
            100        1            105    0.15
            101        0            108    0.09
            102        0            111    0.02
            103        0            114   0.001

            Как видно, удачный FFT, который полностью 'попал' в искомую частоту, дал хороший, правильный, с нашей точки зрения, спектр. Неудачный же - нехороший спектр. Мы можем только догадываться, что в исходном сигнале была сильная частота в примерно 100 Гц. Важно понимать, что при синтезе обоих этих разложений мы получим в точности исходную функцию, несмотря на то, что второе разложение с нашей точки зрения и бестолково."
            http://websound.ru/index.cgi?articles/theory/fft

              Попробуй выполнить сплайн-интерполяцию амплитудного спектра.
              В свое время мне это помогло уточнить положение максимумов.
              Сообщение отредактировано: Crait -
                Цитата Alexei, 20.07.03, 16:50:47

                Котельников тут не причем.
                Это очень важно понимать: FFT раскладывает функцию не на её гармоники, а на свои гармоники. Допустим, в исходной функции была лишь частота точно 100 Гц, а мы с помощью FFT раскладываем функцию в частоты 96, 99, 102, 105 Гц - как вы думаете, что получится в результате? :) http://websound.ru/index.cgi?articles/theory/fft


                96,100 да вы что
                вы представляете себе как выглядит общая формула для дискретного ф преобразования

                F(u,v)=......     0<=u<n    0<=v<m  

                какие тут 96 и 100 все числа попарядку

                как-то котельников нипречем

                помоуму вы не в курсе того что думаете что вы знаете



                  Гм, народ......не нервничайте......
                  Будь добр, расскажи, по какой формуле ты раскладывал спектр, может там ошибка?

                  Лични я писал программу по спектральному анализу ЛЮБЫХ сигналов, и у меня там все было правильно!
                    И еще, если ты подавал периодический сигнал, а исследовал аго интегралом фурье, а не рядом, то ты не получишь конкретной частоты, а получишь спектр, но там твоя частота (например теже 100Гц) будет заметно доминировать. Это ты сам можешь проверить в маткаде.
                      Я не являюсь крутым математиком, и не крутым тоже .
                      БПФ для меня черный ящик .Использовал ,для пробы, пакет анализа из Экселя.

                        Дело в том, что Вы все говорили об анализе радиоимпульса (это понятие не связано с частотой, а с формой), подразумевали анализ синусоиды бесконечной длительности.  Аналитическое выражение для спектра радиоимпульса гладкой функцией, причем чем больше отношение длительности импульса к периоду его высокочастотного заполнения, тем уже пик спектра. При переходе к дискретному анализу сигналов, следует учитывать разрешение по частоте, т.е. при выполнении ФП спектр известен с точностью до 2/(N Tk), N -число отсчетов, Tk - квантования.  

                        to Alexei

                        Есть книга, довольно редкая, Марпл-мл. "Цифровой спектральный анализ" это то что Вам надо. Но предуреждаю, что для ее чтения/понимания требуется достаточно глубокое  знание математики (дорогу осилит идущий ;) ), еще могу порекомендовать "Цифровая обработка сигналов. Справочник". Если есть желание вышлите выборки, пронализирую своими инструментами, м.б. и подскажу что-то конкрентное.  
                          2PAV
                          Повышение разрешения ничего не меняет , картина остается той же.
                          Надо анализировать сигнал , вида 1гарм +5+7+8 (любые ,всего 10-15)+шум.
                          в звуковом диапазоне.Думаю , кто-то это давно сделал.
                          Сообщение отредактировано: Alexei -
                            Послал письмо, содержащее рисунки.
                              Так мне кто-нибудь поможет,или никому не интересно?
                                Цитата Alexei, 09.08.03, 11:09:40
                                Так мне кто-нибудь поможет,или никому не интересно?

                                Ну почему не интересно? Просто с высоты птичьего полета всем все известно, а детали "для чего" знаешь только ты и тебе и карты в руки. :) Может дальше я буду излагать то, что всем известно, повторю кого-то или сам повторюсь... Тем не менее...
                                Конечно, любой реальный непрерывный сигнал имеет непрерывный спектр. Понятие спектра прямо связано с понятием вектора. В случае с непрерывными сигналами всегда речь может идти только о векторах, заданных в бесконечномерных пространствах. Но: (далее такой философский пассаж...) человеку свойственно аппроксимировать частные случаи. :) Некто взял и сказал: при соблюдении таких-то условий непрерывную функцию можно заменить решетчатой. И бесконечность опять стала исчисляемой. :) Короче... Разложение в ряд Фурье и алгоритм быстрого преобразования Фурье дают всего лишь СПОСОБ однозначного выбора СИСТЕМЫ КООРДИНАТ (базиса) И СПОСОБ вычисления ЗНАЧЕНИЙ координат в ДАННОМ КОНКРЕТНОМ базисе. Речи о какой-то предпочтительности этого конкретного базиса НЕ БЫЛО и любые ортогональные базисы в данном пространстве РАВНОПРАВНЫ. Я тут новое слово узнал и сейчас его скажу :)  : спектр сизнала - тоже тензор.
                                Теперь что касается практики... Раз все системы координат равнозначны, для упрощения всегда стремятся выбрать одну таким образом, чтобы какие то вектора в задаче были параллельны одной из осей - #4 именно об этом. Дальше сам я опять использовал частный случай - зная форму сигнала, параметры которого мне надо найти, я находил его основную частоту, аппроксимируя его амплитудный спектр. И после этого, уже зная числа его кратных гармоник, делал с ним нечто. При этом, конечно, использовал функции-окошки для минимизации эффекта Гиббса. В общем случае, продолжая свои рассуждения... Из линейной алгебры известно, что преобразование вектора из одной ортогональной системы координат в другую выполняется через матрицу, которая к тому же такая, что ей обратная равна транспонированной. Вычисляется она тоже просто, она состоит из координат векторов-осей одной из систем в другой  (как в твоем примере в #4). Кстати, для практического использования это вряд-ли годится: хотя бы по причине того, что по сути преобразование Фурье - это тоже умножение матрицы на вектор отсчетов, а БПФ - способ сделать это быстро. :) Так что, остается прямое вычисление по формуле. :) Берешь и в формулу интеграла Фурье подставляешь нужную тебе частоту и считаешь значения коэффициентов именно там, где нужно. Это тоже уже было в #8. Такие дела.
                                Сообщение отредактировано: yaro -
                                  Частоту, я тоже хочу узнать.
                                  Кстати, автокорреляция не может здесь пригодиться?
                                    Более подробно о вейвлетах лучше почитать материлы Леонида Левковича-Маслюка и
                                    Антона Перебрина с конференции Графикон-98 они есть в сети, только я ссылку потерял.
                                    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                    0 пользователей:


                                    Рейтинг@Mail.ru
                                    [ Script execution time: 0.0700 ]   [ 14 queries used ]   [ Generated: 25.10.26, 09:40 GMT ]