реклама на сайте
подробности

 
 
> Вычитание гармоники из сигнла, Коректно это или нет???
ivan219
сообщение Sep 17 2010, 19:27
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Есть гармоника частотой 62 Гц есть выборка 48000 сэмпла ДПФ на 48000 и FFT на 512 и частота дискретизации 48 кГц.

Суть вопроса вот вчём мне нужно из сигнала вычесть гармонику с частотой 62 Гц и зделать FFT на 512 в которой этой гармоники недолжно быть. Я вот что подумал если мы зделаем так: зделаем ДПФ 48000 на гармонику 62 Гц и определим её фазу и амплитуду после чего сгенерируем эту гармонику и из имеющихся 48000 сэмплов вычтем эту гармонику после чего зделаем FFT на 512 будет ли эта операция коректной? Или есть другое решения? Мне нужно максимально точное.

Затрата ресурсов не важна время тоже.

Сообщение отредактировал ivan219 - Sep 17 2010, 19:28
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 19)
Lmx2315
сообщение Sep 17 2010, 20:16
Сообщение #2


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



..может я чего на понял ,
но по моему - надо сделать fft 512 точек , потом обнулить ненужную гармонику в результате , сделать обратное fft 512 точек , получим сигнал без вашей гармоники .

з.ы.

всегда думал что ДПФ и fft - одно и тоже, в смысле конечного результата.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
ivan219
сообщение Sep 17 2010, 20:25
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Serg76
сообщение Sep 17 2010, 20:27
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(ivan219 @ Sep 17 2010, 22:27) *
Есть гармоника частотой 62 Гц есть выборка 48000 сэмпла ДПФ на 48000 и FFT на 512 и частота дискретизации 48 кГц.

Суть вопроса вот вчём мне нужно из сигнала вычесть гармонику с частотой 62 Гц и зделать FFT на 512 в которой этой гармоники недолжно быть. Я вот что подумал если мы зделаем так: зделаем ДПФ 48000 на гармонику 62 Гц и определим её фазу и амплитуду после чего сгенерируем эту гармонику и из имеющихся 48000 сэмплов вычтем эту гармонику после чего зделаем FFT на 512 будет ли эта операция коректной? Или есть другое решения? Мне нужно максимально точное.

Затрата ресурсов не важна время тоже.

Дааааааааа.... О какой специфике вопроса мы можем здесь говорить, если человек даже не знает, что такое знаки препинания. Про грамматику речи даже не идет. Ужас какой-то!!!!!!!! Не сочтите за грубость.

Сообщение отредактировал Serg76 - Sep 17 2010, 20:33
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Sep 17 2010, 21:31
Сообщение #5


山伏
*****

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



Цитата(Serg76 @ Sep 17 2010, 23:27) *
Дааааааааа.... О какой специфике вопроса мы можем здесь говорить, если человек даже не знает, что такое знаки препинания. Про грамматику речи даже не идет. Ужас какой-то!!!!!!!! Не сочтите за грубость.

biggrin.gif КаДДа нечего сказать по-теме - лучше промолчать... wink.gif


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
Serg76
сообщение Sep 17 2010, 21:58
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(DRUID3 @ Sep 18 2010, 00:31) *
biggrin.gif КаДДа нечего сказать по-теме - лучше промолчать... wink.gif

Наверное, да
Go to the top of the page
 
+Quote Post
Oldring
сообщение Sep 18 2010, 05:40
Сообщение #7


Гуру
******

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



Цитата(ivan219 @ Sep 17 2010, 23:27) *
Или есть другое решения? Мне нужно максимально точное.


Вычитать сгенерированную гармонику можно, если у вас 62Гц достаточно точно и стабильно в записанном окне. Но при этом нужно:

1. нужно предварительно, перед определением параметров 62 Гц вычесть из сигнала среднее;
2. воспользоваться подходящей оконной функцией;
3. Определить вклад 62 Гц точно алгоритмом Герцеля, а не при помощи FFT, так как 48 кГц не кратно 62 Гц.

Но в целом успех этого предприятия зависит от неописанных вами и поэтому неизвестных мне свойств сигнала и помехи.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Sep 18 2010, 06:13
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 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 максимально возможной длины.

Go to the top of the page
 
+Quote Post
ivan219
сообщение Sep 18 2010, 07:30
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Sep 18 2010, 07:55
Сообщение #10


山伏
*****

Группа: Свой
Сообщений: 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... Смотрим получилось ли smile.gif - из-за влияния окон может быть хреновой реализацией...

P.S.: а уж если совсем абстрагироваться - то под гармоникой понимают ту или иную корреляцию с той или иной функцией wink.gif ...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
petrov
сообщение Sep 18 2010, 08:28
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Уидроу Б.,Стринз С.
Адаптивная обработка сигналов.
http://lord-n.narod.ru/walla.html#uidrouAOC

В этой книге рассказано как просто такую решить.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Sep 18 2010, 09:06
Сообщение #12


Гуру
******

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



Цитата(ivan219 @ Sep 18 2010, 11:30) *
62Гц стабильно во всём окне. Среднее значение не подумал новерное правильно. А вот оконная функция зачем онаже исказить сигнал? А заместо алгоритма Герцеля ДПФ на 48000 выборок не подайдёт ведь ресурсы не важны??? И FFT я буду делать уже после того как 62 Гц будут убраны из сигнала.


Потому что 48000 на 62 не делится. Оконная функция нужна только для определения параметров гармоники.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
ivan219
сообщение Sep 18 2010, 09:38
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Цитата(DRUID3 @ Sep 18 2010, 11:55) *
А она есть? Гармоника? Это абстракция, условность... Под гармоникой FFT всегда подразумевают ту или иную полосу... Бин DFT/FFT ничто иное как полосовой фильтр с sinc-образной АЧХ... ну если без окон...

Кстати 2-а соседних к 62 Hz бина в принципе можно так исказить, что они будут давить именно 62 Hz. Делаем режекторный фильтр на 62 Hz, имеем его передаточную характеристику... Делаем ее FFT... Смотрим получилось ли smile.gif - из-за влияния окон может быть хреновой реализацией...

P.S.: а уж если совсем абстрагироваться - то под гармоникой понимают ту или иную корреляцию с той или иной функцией wink.gif ...


Ну как это её може не быть я её же сам и синтезирую. Вот блин как всё сложно голова кругом cranky.gif

Цитата(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
Go to the top of the page
 
+Quote Post
DRUID3
сообщение Sep 18 2010, 09:43
Сообщение #14


山伏
*****

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



Цитата(ivan219 @ Sep 18 2010, 12:38) *
Ну как это её може не быть я её же сам и синтезирую.

А вот так smile.gif ...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Sep 18 2010, 09:54
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(ivan219 @ Sep 18 2010, 10:30) *
Думал но он вырежит определённую полосу. А надо только одну гармонику 62 Гц.

При выборке ограниченной длины точность измерения (вырезания) частоты не будет лучше величины, обратной времени выборки. Максимальная точность (в центре выборки) будет при размере ядра FIR равной времени выборки.
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Sep 19 2010, 07:50
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(sup-sup @ Sep 18 2010, 13:54) *
При выборке ограниченной длины

А другие физические факторы. В жизни не бывает чистого синуса идеально синхронизированного с оцифровкой сигнала. Всегда есть небольшая амплитудная и частотная модуляция например из-за рыскания системы синхронизации. И мне очень хотелось бы иметь АЦП для оцифровки 62Гц имеющий хотя бы 22 честных бита при больших сигналах. Причем погрешность младших разрядов имеющихся в продаже не чистый белый шум, а величина сложным образом связанная с биениями сигнала и частоты оцифровки. А всякие расчеты основанные на том,что наши АЦП завтра будут выдавать результат в формате double лучше оставим потомкам и в запечатанной капсуле чтобы не видели нашего идиотизма. Я уже давно не моделирую ничего в Матлабе. При некотором опыте все идеи легче проверить на реальном процессоре, чем учесть все факторы при математическом моделировании.
А что касается поставленной задачи в жизни правильнее применить адаптивный метод постоянно подстраивающийся к мешающему фактору. А формально при идеальной синхронизации окна и идеальной синусоиде мешающего фактора метод предложенный автором несомненно наилучший, можно даже рассчитать эту гармонику один раз и вечно ее вычитать.


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Sep 20 2010, 11:29
Сообщение #17


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(SPACUM @ Sep 19 2010, 10:50) *
А другие физические факторы. В жизни не бывает чистого синуса идеально синхронизированного с оцифровкой сигнала. Всегда есть небольшая амплитудная и частотная модуляция например из-за рыскания системы синхронизации. И мне очень хотелось бы иметь АЦП для оцифровки 62Гц имеющий хотя бы 22 честных бита при больших сигналах. Причем погрешность младших разрядов имеющихся в продаже не чистый белый шум, а величина сложным образом связанная с биениями сигнала и частоты оцифровки. А всякие расчеты основанные на том,что наши АЦП завтра будут выдавать результат в формате double лучше оставим потомкам и в запечатанной капсуле чтобы не видели нашего идиотизма. Я уже давно не моделирую ничего в Матлабе. При некотором опыте все идеи легче проверить на реальном процессоре, чем учесть все факторы при математическом моделировании.
А что касается поставленной задачи в жизни правильнее применить адаптивный метод постоянно подстраивающийся к мешающему фактору. А формально при идеальной синхронизации окна и идеальной синусоиде мешающего фактора метод предложенный автором несомненно наилучший, можно даже рассчитать эту гармонику один раз и вечно ее вычитать.

Устранять неопределенность можно увеличением общей длины выборки. Ничего не стоит записать входной и выходной сигналы в канале связи и проанализировать их многократно и неторопливо. Можно узнать насколько портится эта самая гармоника 62 Гц и сделать вывод как ее устранить. Наверняка она получит модуляцию (об этом писали), а значит и размытый спектр. То есть, в чистом виде ее (гармоники) на выходе канала связи уже нет. Если часть этой модуляции не случайная, ее можно компенсировать. Но следы все равно останутся. А режекторный фильтр - достаточно простое и устойчивое решение (без обратных связей).
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Sep 20 2010, 18:03
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(sup-sup @ Sep 20 2010, 15:29) *
увеличением общей длины выборки.

Небольшое замечание. Если есть какая-то модуляция, то увеличение общей длины выборки приводит к размытию спектра. Чем больше бин занимает мешающий фактор тем хуже с ним бороться. Лучше уж адаптивно следить без всяких спектров.
Но вопрос был формальным: сам задал длину - довольно большую и сам задал помеху - абсолютно синхронную и не ограничил в ресурсах. Вопрос в правильной методике.


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
ivan219
сообщение Sep 20 2010, 18:19
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Цитата(SPACUM @ Sep 20 2010, 22:03) *
Но вопрос был формальным

Здесь попросишь бумажку, а дадут томик война и мир, да ещё и вернуть скажут в целости и сохранности. А ты сидишь, читаешь, но в конце всё равно пальцем smile.gif


Сообщение отредактировал ivan219 - Sep 20 2010, 18:24
Go to the top of the page
 
+Quote Post
ivan219
сообщение Sep 27 2010, 14:48
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 350
Регистрация: 16-11-08
Пользователь №: 41 680



Ну вот дошли руки и до эксперемента.
Сигнал синтезируется на ПК полезный сигнал и помеха. После чего они складываются и отправлястся на выход звуковой карты LinOut c LinOut сигнал поступает на LinIn и оцифровывается дальше делается ДПФ на частоту помехе она известна определяется амплитуда и фаза помехи синтезизуется сигнал помехи и из входного сигнала вычитается синтезируемый сигнал помехи (при вычитании среднего значения из сигнала результатов не заметил возможно они минимальны) после чего проделовалось FFT 1024 и получали чистый сигнал без помехи.
В приложении программа если есть навыки работы с паяльником можно посмотреть.

Сообщение отредактировал ivan219 - Sep 27 2010, 15:47
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Project1.rar ( 161.32 килобайт ) Кол-во скачиваний: 24
 
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 18:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.0166 секунд с 7
ELECTRONIX ©2004-2016