|
Вычитание гармоники из сигнла, Коректно это или нет??? |
|
|
|
Sep 17 2010, 20:25
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(Lmx2315 @ Sep 18 2010, 00:16)  ..может я чего на понял , но по моему - надо сделать fft 512 точек , потом обнулить ненужную гармонику в результате , сделать обратное fft 512 точек , получим сигнал без вашей гармоники .
з.ы.
всегда думал что ДПФ и fft - одно и тоже, в смысле конечного результата. Нет если у меня была бы кратная гармоника т.е. 48000 / 512 = 93,75 Гц то да метот подашол. Но гармоника не кратная а значит её спектр растекётся по всем 256 бинам. И ДПФ это почти БПФ (FFT) гораздо медленне но позволяет вычислить любую гармонику кратную целому числу а не только двойке как в БПФ.
Сообщение отредактировал ivan219 - Sep 17 2010, 20:25
|
|
|
|
|
Sep 18 2010, 05:40
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(ivan219 @ Sep 17 2010, 23:27)  Или есть другое решения? Мне нужно максимально точное. Вычитать сгенерированную гармонику можно, если у вас 62Гц достаточно точно и стабильно в записанном окне. Но при этом нужно: 1. нужно предварительно, перед определением параметров 62 Гц вычесть из сигнала среднее; 2. воспользоваться подходящей оконной функцией; 3. Определить вклад 62 Гц точно алгоритмом Герцеля, а не при помощи FFT, так как 48 кГц не кратно 62 Гц. Но в целом успех этого предприятия зависит от неописанных вами и поэтому неизвестных мне свойств сигнала и помехи.
--------------------
Пишите в личку.
|
|
|
|
|
Sep 18 2010, 06:13
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(ivan219 @ Sep 17 2010, 22:27)  Есть гармоника частотой 62 Гц есть выборка 48000 сэмпла ДПФ на 48000 и FFT на 512 и частота дискретизации 48 кГц.
Суть вопроса вот вчём мне нужно из сигнала вычесть гармонику с частотой 62 Гц и зделать FFT на 512 в которой этой гармоники недолжно быть. Я вот что подумал если мы зделаем так: зделаем ДПФ 48000 на гармонику 62 Гц и определим её фазу и амплитуду после чего сгенерируем эту гармонику и из имеющихся 48000 сэмплов вычтем эту гармонику после чего зделаем FFT на 512 будет ли эта операция коректной? Или есть другое решения? Мне нужно максимально точное.
Затрата ресурсов не важна время тоже. А нельзя ли не обращать внимания на эту гармонику? Если нельзя, я бы просто сделал FIR максимально возможной длины.
|
|
|
|
|
Sep 18 2010, 07:30
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(Oldring @ Sep 18 2010, 09:40)  Вычитать сгенерированную гармонику можно, если у вас 62Гц достаточно точно и стабильно в записанном окне. Но при этом нужно:
1. нужно предварительно, перед определением параметров 62 Гц вычесть из сигнала среднее; 2. воспользоваться подходящей оконной функцией; 3. Определить вклад 62 Гц точно алгоритмом Герцеля, а не при помощи FFT, так как 48 кГц не кратно 62 Гц.
Но в целом успех этого предприятия зависит от неописанных вами и поэтому неизвестных мне свойств сигнала и помехи. 62Гц стабильно во всём окне. Среднее значение не подумал новерное правильно. А вот оконная функция зачем онаже исказить сигнал? А заместо алгоритма Герцеля ДПФ на 48000 выборок не подайдёт ведь ресурсы не важны??? И FFT я буду делать уже после того как 62 Гц будут убраны из сигнала. Цитата(sup-sup @ Sep 18 2010, 10:13)  А нельзя ли не обращать внимания на эту гармонику? Если нельзя, я бы просто сделал FIR максимально возможной длины. Думал но он вырежит определённую полосу. А надо только одну гармонику 62 Гц.
Сообщение отредактировал ivan219 - Sep 18 2010, 07:44
|
|
|
|
|
Sep 18 2010, 07:55
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(ivan219 @ Sep 18 2010, 10:30)  Думал но он вырежит определённую полосу. А надо только одну гармонику 62 Гц. А она есть? Гармоника? Это абстракция, условность... Под гармоникой FFT всегда подразумевают ту или иную полосу... Бин DFT/FFT ничто иное как полосовой фильтр с sinc-образной АЧХ... ну если без окон... Кстати 2-а соседних к 62 Hz бина в принципе можно так исказить, что они будут давить именно 62 Hz. Делаем режекторный фильтр на 62 Hz, имеем его передаточную характеристику... Делаем ее FFT... Смотрим получилось ли  - из-за влияния окон может быть хреновой реализацией... P.S.: а уж если совсем абстрагироваться - то под гармоникой понимают ту или иную корреляцию с той или иной функцией ...
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Sep 18 2010, 09:38
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Цитата(DRUID3 @ Sep 18 2010, 11:55)  А она есть? Гармоника? Это абстракция, условность... Под гармоникой FFT всегда подразумевают ту или иную полосу... Бин DFT/FFT ничто иное как полосовой фильтр с sinc-образной АЧХ... ну если без окон... Кстати 2-а соседних к 62 Hz бина в принципе можно так исказить, что они будут давить именно 62 Hz. Делаем режекторный фильтр на 62 Hz, имеем его передаточную характеристику... Делаем ее FFT... Смотрим получилось ли  - из-за влияния окон может быть хреновой реализацией... P.S.: а уж если совсем абстрагироваться - то под гармоникой понимают ту или иную корреляцию с той или иной функцией ...Ну как это её може не быть я её же сам и синтезирую. Вот блин как всё сложно голова кругом  Цитата(petrov @ Sep 18 2010, 12:28)  Уидроу Б.,Стринз С. Адаптивная обработка сигналов. http://lord-n.narod.ru/walla.html#uidrouAOCВ этой книге рассказано как просто такую решить. Ага нашол адаптивный режекторный фильтр надо почитать, спасибо. Цитата(Oldring @ Sep 18 2010, 13:06)  Потому что 48000 на 62 не делится. Оконная функция нужна только для определения параметров гармоники. Ну да зато на промежутке в 48000 семпла и частотой дискретизации 48 кГц укладывается целое количество колебаний с частотой 62 Гц по этому я и взял ДПФ 48000 окно длинной в секунду.
Сообщение отредактировал ivan219 - Sep 18 2010, 09:55
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|