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

 
 
> Увеличение разрешения по частоте, засчёт накопления
EKirshin
сообщение Jul 30 2008, 15:01
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904



Здравствуйте!

Такая задачка.

Есть стационарный сигнал: шум + синусоида.

Из этого сигнала периодически набирается N отсчётов.
Вопрос: можно ли, имея M кусков этого сигнала использовать их для получения спектра сигнала размерностью M*N?

Какой будет эффект, если на каждый из этих кусков наложить окно, "склеить" эти куски (получится сигнал длиной M*N), затем сделать fft на M*N точек?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Stanislav
сообщение Aug 2 2008, 00:00
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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;
Правда, она годится лишь для демонстрации принципа: для условий задачи она пока не слишком хорошо подходит - не сделан временнОй сдвиг, поэтому, компоненты, отстоящие от основной частоты на значительную величину, будут "склеиваться" плохо. Кроме того, фаза определяется весьма грубо, и нет процедуры её коррекции от перескока. Однако, вблизи центральной частоты всё будет более-менее хорошо.
За ошибки прошу не карать строго - набросал относительно быстро, и они возможны. smile.gif

Завтра постараюсь сделать аккуратно, со всеми необходимыми компенсациями. Скорее всего - в спектральной области.
Ниже приведены картинки.

Прикрепленное изображение
- фрагменты исходных сигналов.

Прикрепленное изображение
- склейка без разворота фазы. Виден её скачок.

Прикрепленное изображение
- склейка с разворотом фазы. Небольшая "некрасивость" в месте стыковки объясняется "переходным процессом" в гильбертовом фильтре. Поправить несложно, но возиться лень - на результат она практически не влияет.


Прикрепленное изображение
- фрагмент спектров склеек. Синий - без разворота, красный - с разворотом. Разрешение по частоте увеличилось по сравнению с исходными кусками в 2 раза! cool.gif

Сообщение отредактировал Stanislav - Aug 2 2008, 07:52


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
fontp
сообщение Aug 2 2008, 09:01
Сообщение #3


Эксперт
*****

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



Цитата(Stanislav @ Aug 2 2008, 04:00) *

Прикрепленное изображение
- фрагмент спектров склеек. Синий - без разворота, красный - с разворотом. Разрешение по частоте увеличилось по сравнению с исходными кусками в 2 раза! cool.gif


Маклауд такие синусоиды считает значительно точнее, в разы.

Вы же сами утвеждали, что разрешение для идеальной одиночной синусоиды не определено.
Дайте две.

Или лучше внесём в модель фазовые шумы, возьмём толстый фломастер и напишем на крышке прибора:

" Прибор для измерения фазовых шумов генератора посредством экстраполяции фазы"
и подпись

"барон Мюнхаузен" cool.gif

ЗЫ. Вообще-то постановка задачи у автора опять не получилась. Если идеальная синусоида - то спектр её делта-функция. Осталось оценить частоту. Как было сказано - это не тот случай.
Значит скорее всего - это узкополосный сигнал, например сигнал аналогового генератора. Или DDS. Или шум пропущенный через узкополосный фильтр. Нужно, оценить уширение спектра с целью определить параметры стабильности. Что-то в этом духе
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Aug 2 2008, 10:01
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(fontp @ Aug 2 2008, 15:01) *
" Прибор для измерения фазовых шумов генератора посредством экстраполяции фазы"
и подпись

"барон Мюнхаузен" cool.gif

А главное, во всём виноват Гильберт с его заумным фильтром biggrin.gif

Цитата(EKirshin)
Задача следующая. Хочется "видеть", что происходит в районе частоты, поданной на вход устройства с большим разрешением по частоте. Оставшаяся часть спектра нас не интересует (вернее, интересует, но уже в других целях).
...
Под стационарностью я понимаю неизменность параметров сигнала: частота сигнала (синусоиды) остаётся неизменной (не учитывая качество самого сигнала: дрожание частоты и т.п., изменяющие частоту сигнала), уровень шума и его другие характеристики также неизменны.
Один из рассматриваемых нами способов - это "усреднение" различных реализаций сигнала. Однако, не ясно, как склеить M кусков, чтобы получить из этого какую-то дополнительную информацию.

Какие параметры (качества) сигнала Вы хотите получить от метода измерения? И до сих пор не ясно есть ли в сигнале кроме основной синусоиды другие сигналы? (ниже -60 дб не важно)

По поводу "как склеить М кусков чтобы получить дополнительную информацию". Вас не устроит в качестве результата статистика максимально точной частоты основной грамоники в каждом из кусков и её среднеквадратичного отклонения? Чем больше будет накоплено кусков, тем более точный будет результат вычисления средней частоты (основного пика в FFT). Если не пропорционально кол-ву кусков, то хотя бы корню квадратному из их кол-ва. Причём, здесь уже не будет проблемы с ограниченностью псевдокоггерентного FFT, у которого точность никогда не превысит точность склеек, которая может быть намного хуже разрешающей способности FFT M*N.

Сообщение отредактировал GetSmart - Aug 2 2008, 10:17


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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 страниц V   1 2 >


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 17:11
Рейтинг@Mail.ru


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