Перейти к содержанию
    

Цитата

А можно л-ру? Или чуть пояснить? 

 

Да как-то так

x=sin(2*pi*1000/8000*(0:1000));
n=randn(1,length(x))*0.01;
x=x+n;
b=[1 1 1];
mem=[0 0 0];
z=[];   
for i=1:length(x)
    mem=[x(i) mem(1:2)];
    y=mem*b.';
    b(2)=b(2)-0.05*y*mem(2);
    z=[z y];
end;
acos(-b(2)/2)/2/pi*Fd

 

а вообще-то если сигнал гармонический частота вычисляется по 3-м точкам:

acos((x(n-2)+x(n))/x(n-1)/2)/pi/2*Fd

Изменено пользователем looser

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делается банк фильтров, ИХ которых похожа на сигнал, определяется фильтр с максимальной амплитудой, по выходу этого фильтра и соседним слева и справа вычисляется частота. Если частота меняется быстро, то полосовых фильтров(FFT и т. п.) недостаточно, ещё нужно анализировать чирпами(ЛЧМ) и более сложными. Так максимально правдоподобное оценивание делается. Дифференциальные методы интуитивно понятнее, но работают плохо при шуме. Разумеется можно делать оценку отсчёт за отсчётом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/27/2023 at 5:16 PM, gridinp said:

зачем растягивать? вот у нас например сигнал 8 отсчетов и спектр получится длиной 8, тогда частоты (от 0) 1..3 - умножаем на 2, а 5..7 обнуляем

Т.е. значения спектра на частотах в точках 0..3 умножаем на 2, а амплитуду спектра в точках 5..7 зануляем? Ну про это я еще почитаю, в скором времени, так что не буду пока тупые вопросы дальше задавать.

On 1/27/2023 at 4:06 PM, des00 said:

тогда еще как вариант, классический частотный детектор, на основе фильтра с линейным наклоном АЧХ в исследуемой плоскости. Но он требует калибровки к уровню сигнала)

Спасибо. Поизучаю.

On 1/27/2023 at 2:11 PM, soldat_shveyk said:

Если есть синусоидальный сигнал с хорошим SNR, частоту которого надо изменять, то можно воспользоваться свойством производной от синуса:

diff[sin(wt)] = w*cos(w*t)

Если дифференцировать синусоидальный сигнал по времени, то амплитуда его производной будет меньше на w. Посчитав RMS-уровни сигнала и его производной на некоторой длине (чем длиннее, тем точнее) можно по соотношению этих уровней найти частоту самого сигнала.

Чем меньше частота оцифрованного синуса, тем ниже будет уровень производной. Разность уровней, поделенная на 2*pi - это частота сигнала относительно частоты дискретизации.

freq = [(RMS(sig_diff) / RMS(sig)) / 2*pi ] * Fs

Обдумал. Не совсем ясно как это применяется. Чтобы определить частоту получается надо определить действующее значение. А для определения действующего значения, как известно, нужен период интегрирования, то есть по знание частоты. Получается какой-то барон Мюнхгаузен, сам себя за волосы. или я чего-то недопонял ?

On 1/27/2023 at 1:53 PM, _pv said:

стандартное отклонение производной сигнала поделить на стандартное отклонение сигнала

Отклонение от чего? Имеется сигнал и больше ничего? Что с чем нужно сравнить для расчета СКО?

On 1/27/2023 at 6:10 PM, looser said:

а вообще-то если сигнал гармонический частота вычисляется по 3-м точкам

Спасибо. В процессе.

Гармонический то он гармонический. Только частоты могут меняться. Т.е. сигнал не постоянный.
ри точки не мало? помехоустойчивость с тремя точками хорошая???

 

On 1/27/2023 at 6:25 PM, petrov said:

Дифференциальные методы интуитивно понятнее, но работают плохо при шуме. Разумеется можно делать оценку отсчёт за отсчётом.

Дело ясное.

On 1/27/2023 at 6:25 PM, petrov said:

Делается банк фильтров, ИХ которых похожа на сигнал, определяется фильтр с максимальной амплитудой, по выходу этого фильтра и соседним слева и справа вычисляется частота. Если частота меняется быстро, то полосовых фильтров(FFT и т. п.) недостаточно, ещё нужно анализировать чирпами(ЛЧМ) и более сложными.

Три вопроса возникли: 1. Количество фильтров надо получается подбирать для каждого конкретного сигнала? создать фильтры на все случаи в жизни представляется очень громоздкой задачей. 2. ИХ получается синус, т.к. сигнал гармонический? Какой длительности? Просто представлялось что ИХ д.б. затухающей, иначе неустойчивая система получится? 3. Ясно что ЛЧМом можно достать частоту. плюс кореляция возможна к применению. Я просто сталкивался когда-то с лчм. не ощутил точности в подходе.

Ps: спасибо всем за быстрые ответы. С уважением.

Изменено пользователем aBoomest

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 minutes ago, aBoomest said:

Чтобы определить частоту получается надо определить действующее значение. А для определения действующего значения, как известно, нужен период интегрирования, то есть по знание частоты.

RMS - среднеквадратическое значение. Корень из суммы квадратов отсчетов :)

Вот простой пример:

L = 2000; 
Fs = 96000; 
f = 337;
nt = 0:L-1;
sig = sin(2*pi*(f/Fs)*nt);  % Signal for frequency measurment
sig_diff = diff(sig);       % Differentiation the sinus signal

pt = 1:L-1; 
plot(pt, sig(1:L-1), pt, sig_diff); grid on; 
legend('Original signal', 'Derivative');

% RMS power is calculated for sinus and its derivative
power_sin = sqrt(sum(sig(1:L-1).^2)/(L-1));
power_diff = sqrt(sum(sig_diff(1:L-1).^2)/(L-1));
pw_ratio = power_diff / power_sin; 

f_estim = (pw_ratio / (2*pi)) * Fs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, aBoomest сказал:

Спасибо. В процессе.

Гармонический то он гармонический. Только частоты могут меняться. Т.е. сигнал не постоянный.
ри точки не мало? помехоустойчивость с тремя точками хорошая???

А какая точность нужна? Как быстро меняется частота?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, aBoomest said:

Имеется сигнал и больше ничего? Что с чем нужно сравнить для расчета СКО?

среднеквадратичное отклонение сигнала и среднеквадратичное отклонение производной от сигнала Y(i) = X(i) - X(i-1), для синуса отличаются ровно в 2*Pi*f раз

 

вы бы пример сигнала приложили, большинство уточняющих вопросов отпало бы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

aBoomest

1. Количество фильтров надо получается подбирать для каждого конкретного сигнала? создать фильтры на все случаи в жизни представляется очень громоздкой задачей.

Надо начинать с разработки модели сигнала. Количество, например, зависит от длительности ИХ фильтров, более узкополосные фильтры, большее количество требуется для покрытия.

_

2. ИХ получается синус, т.к. сигнал гармонический?

Уже не гармонический, если что-то меняется.

_

Какой длительности?

Зависит от требуемой фильтрации шума, подавления помех и т. п.

_

Просто представлялось что ИХ д.б. затухающей, иначе неустойчивая система получится?

Речь о КИХ фильтрах, разумеется они не в лоб делаются, а с помощью быстрых алгоритмов, простейший пример - FFT.

_

3. Ясно что ЛЧМом можно достать частоту. плюс кореляция возможна к применению. Я просто сталкивался когда-то с лчм. не ощутил точности в подходе.

Если сигнал быстро меняется по частоте в сравнении с длительностью ИХ полосовых фильтров, то это просто перестаёт работать, а банк фильтров включающий ЛЧМ ИХ позволяет точно оценивать частоту и скорость изменения частоты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 hours ago, gridinp said:

точку 0 не трогаем это DC, 1..3 умножаем на 2

Понял. Буду пробовать.

12 hours ago, soldat_shveyk said:

RMS - среднеквадратическое значение. Корень из суммы квадратов отсчетов :)

Вот простой пример:

L = 2000; 
Fs = 96000; 
f = 337;
nt = 0:L-1;
sig = sin(2*pi*(f/Fs)*nt);  % Signal for frequency measurment
sig_diff = diff(sig);       % Differentiation the sinus signal

pt = 1:L-1; 
plot(pt, sig(1:L-1), pt, sig_diff); grid on; 
legend('Original signal', 'Derivative');

% RMS power is calculated for sinus and its derivative
power_sin = sqrt(sum(sig(1:L-1).^2)/(L-1));
power_diff = sqrt(sum(sig_diff(1:L-1).^2)/(L-1));
pw_ratio = power_diff / power_sin; 

f_estim = (pw_ratio / (2*pi)) * Fs

Спасибо! Вопрос. А L Вы откуда берете? Откуда вы узнаете период интегрирования? Если знаете период интегрирования, то это уже частота. Смысла в дальнейших телодвижениях понять не могу. L должно быть кратно периоду. Иначе RMS будет не верное.

10 hours ago, thermit said:

А какая точность нужна? Как быстро меняется частота?

Про точность для меня честно говоря пока сложный вопрос. Не могу ответить. Понятно что чем точнее тем лучше. Но я понимаю, то эта фраза "ни о чем". 
Как быстро? Думаю можно считать что быстро. За 1 период частоты основной гармоники запросто. Думаю это можно считать быстро.

6 hours ago, petrov said:

1. Количество фильтров надо получается подбирать для каждого конкретного сигнала? создать фильтры на все случаи в жизни представляется очень громоздкой задачей.

Надо начинать с разработки модели сигнала. Количество, например, зависит от длительности ИХ фильтров, более узкополосные фильтры, большее количество требуется для покрытия.

_

2. ИХ получается синус, т.к. сигнал гармонический?

Уже не гармонический, если что-то меняется.

_

Какой длительности?

Зависит от требуемой фильтрации шума, подавления помех и т. п.

_

Просто представлялось что ИХ д.б. затухающей, иначе неустойчивая система получится?

Речь о КИХ фильтрах, разумеется они не в лоб делаются, а с помощью быстрых алгоритмов, простейший пример - FFT.

_

3. Ясно что ЛЧМом можно достать частоту. плюс кореляция возможна к применению. Я просто сталкивался когда-то с лчм. не ощутил точности в подходе.

Если сигнал быстро меняется по частоте в сравнении с длительностью ИХ полосовых фильтров, то это просто перестаёт работать, а банк фильтров включающий ЛЧМ ИХ позволяет точно оценивать частоту и скорость изменения частоты.

Спасибо. В это нужно глубоко вникать. Так быстро прокомментировать не могу, ни разу не имел дела с подобным.

Спасибо за информацию всем откликнувшимся!

Изменено пользователем aBoomest

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как частота на выходе банка фильтров вычисляется.

Eric Jacobsen and
Peter Kootsookos

Fast, Accurate Frequency Estimators

http://www.radioscanner.ru/files/signals-analysis/file22090/

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 минуты назад, aBoomest сказал:

За 1 период частоты основной гармоники запросто.

Успехов в измерении частоты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, thermit said:

Успехов в измерении частоты.

Сарказм просек. И да, я в курсе проблем. Поэтому и начал на форуме обсуждение. 😉
Вот и к слову. Критерий какой-то есть взаимосвязи быстроты изменения частоты и точности ее вычисления?

1 hour ago, petrov said:

Как частота на выходе банка фильтров вычисляется.

Eric Jacobsen and
Peter Kootsookos

Fast, Accurate Frequency Estimators

http://www.radioscanner.ru/files/signals-analysis/file22090/

Спасибо!

Изменено пользователем aBoomest

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/30/2023 at 11:41 AM, aBoomest said:

Критерий какой-то есть взаимосвязи быстроты изменения частоты и точности ее вычисления?

С.Л.Марпл-мл. "Цифровой спектральный анализ и его приложения".

Разд.: 2.11, стр.67: "Разрешение и произведение длительности на ширину полосы":

"Общепринятое эмпирическое правило, часто используемое при спектральном анализе, гласит, что спектральное разрешение в герцах приближенно равно величине, обратной интервалу времени наблюдения сигнала в секундах."

 

 

On 1/30/2023 at 9:31 AM, aBoomest said:

Как быстро? Думаю можно считать что быстро. За 1 период частоты основной гармоники запросто.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

blackfin

"Общепринятое эмпирическое правило, часто используемое при спектральном анализе, гласит, что спектральное разрешение в герцах приближенно равно величине, обратной интервалу времени наблюдения сигнала в секундах."

Разрешение - про отделение одной гармоники от другой, а не про точность.

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

Да может быть оценка изменяющейся частоты по нескольким периодам, ничем она не хуже константной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/30/2023 at 12:11 PM, petrov said:

Да может быть оценка изменяющейся частоты по нескольким периодам, ничем она не хуже константной.

Это если известен закон по которому изменяется частота. Если закон по которому изменяется частота заранее не известен, то имеем смесь гармоник с неизвестными частотами и фазами..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...