|
Увеличение разрешения по частоте, засчёт накопления |
|
|
|
 |
Ответов
|
Aug 2 2008, 00:00
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Вот обещанная "рыба". Код function phase_adj() fsampl = 1000; % частота дискретизации, кГц freq = 68; % Частота гармонического тона, кГц len_buf = 4096; % длина буфера, отсчёты shift = pi/4; % величина фазового сдвига между кусками, рад
% Заполняем буферы сигналом и аддитивным шумом buffer_1 = sin(2*pi*(1:len_buf)*freq/fsampl)+(1e-5)*randn(1,len_buf); buffer_2 = sin(2*pi*(1:len_buf)*freq/fsampl+shift)+(1e-5)*randn(1,len_buf);
% Пытаемся склеить без учёта фазовых соотношений sum_buf_1 = [buffer_1, buffer_2];
% Делаем оценку спектров кусков и склейки, используя спектральные окна specw_1=fft(blackman(len_buf)'.*buffer_1); specw_2=fft(blackman(len_buf)'.*buffer_2);
sp_sum_1=fft(hamming(2*len_buf)'.*sum_buf_1);
% Находим фазовые спектры кусков ang_1 = angle(specw_1); ang_2 = angle(specw_2);
% Находим положение максимума модуля спектральной функции [max_1, frq_1] = max(abs(specw_1));
% Находим фазу основного тона в конце 1-го куска (не доделано!) ang_1_end = ang_1(frq_1);
% Находим разность фаз diff_ang=ang_1_end-ang_2(frq_1);
% Находим поворачивающий множитель для частоты основного тона rotator=-exp(i*diff_ang);
% Преобразуем второй буфер в комплексный вид buf_2_hilb=hilbert(buffer_2);
% Разворачиваем его на величину сдвига фаз (нужно ещё ввести компенсацию по % частоте, проще говоря - временнОй сдвиг) buf_2_rot=real(buf_2_hilb*rotator);
% Склеиваем sum_buf_2 = [buffer_1, buf_2_rot];
% Находим модуль спектра склейки sp_sum_2=fft(hamming(2*len_buf)'.*sum_buf_2);
% Выводим результаты figure (1) plot (buffer_1(1:100)) hold on plot (buffer_2(1:100), 'r') hold off grid on title ('Signals')
figure (2) plot ((4032:4160), sum_buf_1(4032:4160)) grid on title ('Glue 1')
figure (3) plot ((4032:4160), sum_buf_2(4032:4160), 'Color', [0.9 0 0]) grid on title ('Glue 2')
figure (4) semilogy (500:600, abs(sp_sum_1(500:600))) hold on semilogy (500:600, abs(sp_sum_2(500:600)), 'r') hold off grid on title ('Spectra')
return; Правда, она годится лишь для демонстрации принципа: для условий задачи она пока не слишком хорошо подходит - не сделан временнОй сдвиг, поэтому, компоненты, отстоящие от основной частоты на значительную величину, будут "склеиваться" плохо. Кроме того, фаза определяется весьма грубо, и нет процедуры её коррекции от перескока. Однако, вблизи центральной частоты всё будет более-менее хорошо. За ошибки прошу не карать строго - набросал относительно быстро, и они возможны. Завтра постараюсь сделать аккуратно, со всеми необходимыми компенсациями. Скорее всего - в спектральной области. Ниже приведены картинки.
- фрагменты исходных сигналов.
- склейка без разворота фазы. Виден её скачок.
- склейка с разворотом фазы. Небольшая "некрасивость" в месте стыковки объясняется "переходным процессом" в гильбертовом фильтре. Поправить несложно, но возиться лень - на результат она практически не влияет.
- фрагмент спектров склеек. Синий - без разворота, красный - с разворотом. Разрешение по частоте увеличилось по сравнению с исходными кусками в 2 раза!
Сообщение отредактировал Stanislav - Aug 2 2008, 07:52
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
|
Aug 2 2008, 09:01
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Stanislav @ Aug 2 2008, 04:00) 
- фрагмент спектров склеек. Синий - без разворота, красный - с разворотом. Разрешение по частоте увеличилось по сравнению с исходными кусками в 2 раза!  Маклауд такие синусоиды считает значительно точнее, в разы. Вы же сами утвеждали, что разрешение для идеальной одиночной синусоиды не определено. Дайте две. Или лучше внесём в модель фазовые шумы, возьмём толстый фломастер и напишем на крышке прибора: " Прибор для измерения фазовых шумов генератора посредством экстраполяции фазы" и подпись "барон Мюнхаузен"  ЗЫ. Вообще-то постановка задачи у автора опять не получилась. Если идеальная синусоида - то спектр её делта-функция. Осталось оценить частоту. Как было сказано - это не тот случай. Значит скорее всего - это узкополосный сигнал, например сигнал аналогового генератора. Или DDS. Или шум пропущенный через узкополосный фильтр. Нужно, оценить уширение спектра с целью определить параметры стабильности. Что-то в этом духе
|
|
|
|
|
Aug 2 2008, 10:01
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(fontp @ Aug 2 2008, 15:01)  " Прибор для измерения фазовых шумов генератора посредством экстраполяции фазы" и подпись "барон Мюнхаузен"  А главное, во всём виноват Гильберт с его заумным фильтром Цитата(EKirshin) Задача следующая. Хочется "видеть", что происходит в районе частоты, поданной на вход устройства с большим разрешением по частоте. Оставшаяся часть спектра нас не интересует (вернее, интересует, но уже в других целях). ... Под стационарностью я понимаю неизменность параметров сигнала: частота сигнала (синусоиды) остаётся неизменной (не учитывая качество самого сигнала: дрожание частоты и т.п., изменяющие частоту сигнала), уровень шума и его другие характеристики также неизменны. Один из рассматриваемых нами способов - это "усреднение" различных реализаций сигнала. Однако, не ясно, как склеить M кусков, чтобы получить из этого какую-то дополнительную информацию. Какие параметры (качества) сигнала Вы хотите получить от метода измерения? И до сих пор не ясно есть ли в сигнале кроме основной синусоиды другие сигналы? (ниже -60 дб не важно) По поводу "как склеить М кусков чтобы получить дополнительную информацию". Вас не устроит в качестве результата статистика максимально точной частоты основной грамоники в каждом из кусков и её среднеквадратичного отклонения? Чем больше будет накоплено кусков, тем более точный будет результат вычисления средней частоты (основного пика в FFT). Если не пропорционально кол-ву кусков, то хотя бы корню квадратному из их кол-ва. Причём, здесь уже не будет проблемы с ограниченностью псевдокоггерентного FFT, у которого точность никогда не превысит точность склеек, которая может быть намного хуже разрешающей способности FFT M*N.
Сообщение отредактировал GetSmart - Aug 2 2008, 10:17
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
Сообщений в этой теме
EKirshin Увеличение разрешения по частоте Jul 30 2008, 15:01 GetSmart А повысить разрешение методом интерполяции не кати... Jul 30 2008, 15:56 Stanislav Цитата(EKirshin @ Jul 30 2008, 19:01) Ест... Jul 30 2008, 16:43 GetSmart Цитата(Stanislav @ Jul 30 2008, 22:43) Сп... Aug 1 2008, 08:56 GetSmart Цитата(Stanislav)Скажите, каким образом интерполяц... Jul 30 2008, 17:17 fontp Цитата(GetSmart @ Jul 30 2008, 21:17) fon... Jul 30 2008, 17:57 Stanislav Цитата(GetSmart @ Jul 30 2008, 21:17) fon... Jul 30 2008, 18:18  fontp Цитата(Stanislav @ Jul 30 2008, 22:18) По... Jul 30 2008, 18:27   Stanislav Цитата(fontp @ Jul 30 2008, 22:27) Отчаст... Jul 30 2008, 18:49    fontp Цитата(Stanislav @ Jul 30 2008, 22:49) ЗЫ... Jul 31 2008, 07:26     GetSmart Цитата(fontp @ Jul 31 2008, 13:26) Когере... Jul 31 2008, 08:01      fontp Цитата(GetSmart @ Jul 31 2008, 12:01) Как... Jul 31 2008, 08:19     Stanislav Цитата(fontp @ Jul 31 2008, 11:26) Запрос... Jul 31 2008, 09:05      fontp Цитата(Stanislav @ Jul 31 2008, 13:05) За... Jul 31 2008, 09:15       Stanislav Цитата(fontp @ Jul 31 2008, 13:15) Если к... Jul 31 2008, 09:31        fontp Цитата(Stanislav @ Jul 31 2008, 13:31) Те... Jul 31 2008, 09:33    EKirshin Цитата(Stanislav @ Jul 30 2008, 22:49) От... Jul 31 2008, 16:14     shf_05 Цитата(EKirshin @ Jul 31 2008, 22:14) Про... Aug 1 2008, 07:07      fontp Цитата(shf_05 @ Aug 1 2008, 11:07) я бы д... Aug 1 2008, 08:56      EKirshin Цитата(shf_05 @ Aug 1 2008, 11:07) так ли... Aug 1 2008, 09:44       fontp Цитата(EKirshin @ Aug 1 2008, 13:44) Нет,... Aug 1 2008, 09:51     fontp Цитата(EKirshin @ Jul 31 2008, 20:14) Про... Aug 1 2008, 07:07     Stanislav Цитата(EKirshin @ Jul 31 2008, 20:14) ...... Aug 1 2008, 08:31      blackfin Цитата(Stanislav @ Aug 1 2008, 12:31) Вы ... Aug 1 2008, 08:56       Stanislav Цитата(blackfin @ Aug 1 2008, 12:56) А чт... Aug 1 2008, 10:00        fontp Цитата(Stanislav @ Aug 1 2008, 14:00) Пот... Aug 1 2008, 10:03 GetSmart Цитата(Stanislav)Пожалуй, в 1001-й раз приводить е... Jul 30 2008, 18:59 Stanislav Цитата(GetSmart @ Jul 30 2008, 22:59) Ну ... Jul 30 2008, 19:18 GetSmart fontp, согласитесь, что неограниченное увеличение ... Jul 31 2008, 08:42 fontp Цитата(GetSmart @ Jul 31 2008, 12:42) fon... Jul 31 2008, 08:53  GetSmart Цитата(fontp @ Jul 31 2008, 14:53) Теорет... Jul 31 2008, 09:05   fontp Цитата(GetSmart @ Jul 31 2008, 13:05) Вы ... Jul 31 2008, 09:25  Stanislav Цитата(fontp @ Jul 31 2008, 12:53) Теорет... Jul 31 2008, 09:23 RadioJunior а у меня более банальный вопрос: а как вообще оцен... Jul 31 2008, 09:34 fontp Цитата(RadioJunior @ Jul 31 2008, 13:34) ... Jul 31 2008, 10:02 GetSmart Цитата(fontp)А разрешение здесь не при чём. Маклау... Jul 31 2008, 10:40 fontp Цитата(GetSmart @ Jul 31 2008, 14:40) Хва... Jul 31 2008, 10:51 729 Цитата(GetSmart @ Jul 31 2008, 14:40) Есл... Jul 31 2008, 10:58 GetSmart Цитата(fontp)Можете сказать, что это не ДПФ. Может... Jul 31 2008, 11:44 729 Цитата(GetSmart @ Jul 31 2008, 15:44) Во-... Jul 31 2008, 11:57 fontp Цитата(GetSmart @ Jul 31 2008, 15:44) При... Jul 31 2008, 11:59 GetSmart Цитата(fontp)Кстати так и делают во многих приложе... Jul 31 2008, 12:09 729 Цитата(GetSmart @ Jul 31 2008, 16:09) Доп... Jul 31 2008, 12:22 fontp Цитата(GetSmart @ Jul 31 2008, 16:09) Ког... Jul 31 2008, 12:29  AndrewN Цитата(fontp @ Jul 31 2008, 15:29) Так ра... Jul 31 2008, 12:38   blackfin Цитата(AndrewN @ Jul 31 2008, 16:38) Гм. ... Jul 31 2008, 12:42   fontp Цитата(AndrewN @ Jul 31 2008, 16:38) Гм. ... Jul 31 2008, 12:44 GetSmart Цитата(729)Непонятно. Сами частоты (6 штук) можете... Jul 31 2008, 12:25 729 Цитата(GetSmart @ Jul 31 2008, 16:25) 99.... Jul 31 2008, 13:13  GetSmart Цитата(729 @ Jul 31 2008, 19:13) Да, но п... Jul 31 2008, 13:18   729 Цитата(GetSmart @ Jul 31 2008, 17:18) Сме... Jul 31 2008, 13:22    GetSmart Цитата(729 @ Jul 31 2008, 19:22) А вот из... Jul 31 2008, 13:34     729 Цитата(GetSmart @ Jul 31 2008, 17:34) Поч... Jul 31 2008, 13:50 GetSmart Цитата(fontp)Фома Вы не верующий. Так работают все... Jul 31 2008, 12:40 Stanislav Цитата(fontp @ Aug 1 2008, 12:56) Если ра... Aug 1 2008, 10:16 fontp Цитата(Stanislav @ Aug 1 2008, 14:16) Пра... Aug 1 2008, 10:20  Stanislav Цитата(fontp @ Aug 1 2008, 14:20) Вот Вы ... Aug 1 2008, 10:24   fontp Цитата(Stanislav @ Aug 1 2008, 14:24) Пос... Aug 1 2008, 10:30 EKirshin Цитата(Stanislav @ Aug 1 2008, 12:31) Пон... Aug 1 2008, 10:39 729 Цитата(EKirshin @ Aug 1 2008, 14:39) Част... Aug 1 2008, 11:07 GetSmart Цитата(EKirshin @ Aug 1 2008, 16:39) Соот... Aug 1 2008, 11:17  729 Цитата(GetSmart @ Aug 1 2008, 15:17) Чем ... Aug 1 2008, 11:24 Stanislav Цитата(EKirshin @ Aug 1 2008, 14:39) Част... Aug 1 2008, 12:09  GetSmart Цитата(Stanislav @ Aug 1 2008, 18:09) Кто... Aug 1 2008, 13:19   Stanislav Цитата(GetSmart @ Aug 1 2008, 17:19) Stan... Aug 1 2008, 14:27    GetSmart Цитата(Stanislav @ Aug 1 2008, 20:27) Это... Aug 1 2008, 15:26     729 Цитата(GetSmart @ Aug 1 2008, 19:26) Вы и... Aug 1 2008, 15:42  blackfin Цитата(Stanislav @ Aug 1 2008, 16:09) Сей... Aug 1 2008, 14:57   Stanislav Цитата(blackfin @ Aug 1 2008, 18:57) Мы ж... Aug 1 2008, 19:11    shasik Я, конечно, дико извиняюсь, что без стука
Почитайт... Aug 1 2008, 19:19 EKirshin Цитата(GetSmart @ Aug 1 2008, 15:17) Чем ... Aug 1 2008, 15:25 alex_os Цитата(EKirshin @ Aug 1 2008, 19:25) Испо... Aug 1 2008, 17:42  729 Цитата(alex_os @ Aug 1 2008, 21:42) Дык е... Aug 1 2008, 17:55   alex_os [quote name='729' date='Aug 1 2008, 21... Aug 1 2008, 18:36   Stanislav Цитата(729 @ Aug 1 2008, 21:55) Фазировка... Aug 3 2008, 07:28  Stanislav Цитата(alex_os @ Aug 1 2008, 21:42) Дык е... Aug 1 2008, 19:23   alex_os Цитата(Stanislav @ Aug 1 2008, 23:23) А к... Aug 1 2008, 19:32    Stanislav Цитата(alex_os @ Aug 1 2008, 23:32) Дык я... Aug 1 2008, 19:37 729 Цитата(EKirshin @ Aug 1 2008, 19:25) Испо... Aug 2 2008, 20:36 makc За грубость и оффтопик трое участников уже получи... Aug 1 2008, 15:55  Stanislav Цитата(fontp @ Aug 2 2008, 13:01) Маклауд... Aug 2 2008, 15:15   alex_os Цитата- модуль спектра последовательности двойной ... Aug 2 2008, 17:17    Stanislav Цитата(alex_os @ Aug 2 2008, 21:17) Фаза ... Aug 2 2008, 17:31     alex_os Цитата(Stanislav @ Aug 2 2008, 21:31) Это... Aug 2 2008, 17:41      Stanislav Цитата(alex_os @ Aug 2 2008, 21:41) А отк... Aug 2 2008, 17:45   fontp Цитата(Stanislav @ Aug 2 2008, 19:15) Стр... Aug 3 2008, 08:09    Stanislav Цитата(fontp @ Aug 3 2008, 12:09) Слишком... Aug 3 2008, 17:29     GetSmart Цитата(Stanislav @ Aug 3 2008, 23:29) - ... Aug 4 2008, 07:42 Stanislav Вот, немного поправил программу, и подбавил аддити... Aug 3 2008, 07:03 EKirshin Цитата(Stanislav @ Aug 1 2008, 23:37) 2 E... Aug 3 2008, 07:10 alexkok Цитата(EKirshin @ Aug 3 2008, 10:10) Да, ... Aug 5 2008, 16:35 alex_os Сделал модельку аналогичную модели Stanislav'а... Aug 4 2008, 11:40 Stanislav С комплексным сигналом работать проще - гильберта ... Aug 4 2008, 11:48 alexkok Цитата(EKirshin @ Jul 30 2008, 18:01) Воп... Aug 4 2008, 20:06 Stanislav Цитата(alexkok @ Aug 5 2008, 00:06) Я дум... Aug 4 2008, 22:36  alexkok Цитата(Stanislav @ Aug 5 2008, 01:36) Это... Aug 5 2008, 01:05   Stanislav Цитата(alexkok @ Aug 5 2008, 05:05) Повыш... Aug 5 2008, 06:51
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|