|
Вычитание гармоники из сигнла, Коректно это или нет??? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 19)
|
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
|
|
|
|
|
Sep 19 2010, 07:50
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Цитата(sup-sup @ Sep 18 2010, 13:54)  При выборке ограниченной длины А другие физические факторы. В жизни не бывает чистого синуса идеально синхронизированного с оцифровкой сигнала. Всегда есть небольшая амплитудная и частотная модуляция например из-за рыскания системы синхронизации. И мне очень хотелось бы иметь АЦП для оцифровки 62Гц имеющий хотя бы 22 честных бита при больших сигналах. Причем погрешность младших разрядов имеющихся в продаже не чистый белый шум, а величина сложным образом связанная с биениями сигнала и частоты оцифровки. А всякие расчеты основанные на том,что наши АЦП завтра будут выдавать результат в формате double лучше оставим потомкам и в запечатанной капсуле чтобы не видели нашего идиотизма. Я уже давно не моделирую ничего в Матлабе. При некотором опыте все идеи легче проверить на реальном процессоре, чем учесть все факторы при математическом моделировании. А что касается поставленной задачи в жизни правильнее применить адаптивный метод постоянно подстраивающийся к мешающему фактору. А формально при идеальной синхронизации окна и идеальной синусоиде мешающего фактора метод предложенный автором несомненно наилучший, можно даже рассчитать эту гармонику один раз и вечно ее вычитать.
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
|
Sep 20 2010, 18:03
|
Частый гость
 
Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531

|
Цитата(sup-sup @ Sep 20 2010, 15:29)  увеличением общей длины выборки. Небольшое замечание. Если есть какая-то модуляция, то увеличение общей длины выборки приводит к размытию спектра. Чем больше бин занимает мешающий фактор тем хуже с ним бороться. Лучше уж адаптивно следить без всяких спектров. Но вопрос был формальным: сам задал длину - довольно большую и сам задал помеху - абсолютно синхронную и не ограничил в ресурсах. Вопрос в правильной методике.
--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
|
|
|
|
|
Sep 27 2010, 14:48
|
Местный
  
Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680

|
Ну вот дошли руки и до эксперемента. Сигнал синтезируется на ПК полезный сигнал и помеха. После чего они складываются и отправлястся на выход звуковой карты LinOut c LinOut сигнал поступает на LinIn и оцифровывается дальше делается ДПФ на частоту помехе она известна определяется амплитуда и фаза помехи синтезизуется сигнал помехи и из входного сигнала вычитается синтезируемый сигнал помехи (при вычитании среднего значения из сигнала результатов не заметил возможно они минимальны) после чего проделовалось FFT 1024 и получали чистый сигнал без помехи. В приложении программа если есть навыки работы с паяльником можно посмотреть.
Сообщение отредактировал ivan219 - Sep 27 2010, 15:47
Эскизы прикрепленных изображений
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|