Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Функция неопределенности сигнала
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
petr0ff
возник следующий вопрос.
функция неопределенности ЛЧМ-сигнала имеет вытянутую форму по диагонали, если смотреть сверху.

однако столкнулся со следующей проблемой. скачал файл для вычисления ФН по ссылке
Matlab central
аналогично тут еще вариант

если по ней вычислять ФН ЛЧМ сигнала, то ФН получается в форме креста, если смотреть сверху.
На этой же странице приведен скрин скрипта. Там тоже ФН в форме креста. Почему так и какой должна быть ФН ЛЧМ-сигнала????
petr0ff
вот результат вычисления ФН ЛЧМ-сигнала

тут тоже приведен скрин работы функции
http://www.mathworks.com/matlabcentral/fil...y-function-plot
Serg76
Цитата(petr0ff @ May 22 2010, 23:13) *
если по ней вычислять ФН ЛЧМ сигнала, то ФН получается в форме креста, если смотреть сверху.
На этой же странице приведен скрин скрипта. Там тоже ФН в форме креста. Почему так и какой должна быть ФН ЛЧМ-сигнала????

По-видимому у вас сигнал представлен суммой двух ЛЧМ импульсов - со спадающей и возрастающей частотой
petr0ff
Цитата(Serg76 @ May 23 2010, 14:52) *
По-видимому у вас сигнал представлен суммой двух ЛЧМ импульсов - со спадающей и возрастающей частотой

проверял на двух сигналах - chirp и свой ЛЧМ - тот же результат...

вот полученные квадратуры:

по ним - вроде бы действительно частота возрастает, потом спадает. но использую стандартную функцию chirp - она ведь формирует линейно возрастающую частоту...
petr0ff
на предыдущем графике перепутана одни из квадратур

вроде бы получил какие-то результаты.
но они оказались разными. Находил ФН ЛЧМ-сигнала с помощью двух функций:
ссылка 1
ссылка 2
получил следующие результаты:




какая из этих функций работает верно????
Serg76
Цитата(petr0ff @ May 24 2010, 00:49) *
проверял на двух сигналах - chirp и свой ЛЧМ - тот же результат...

вот полученные квадратуры:

по ним - вроде бы действительно частота возрастает, потом спадает. но использую стандартную функцию chirp - она ведь формирует линейно возрастающую частоту...

как я вам и говорил, сигнал представлен сначала спадающей частотой, затем возрастающей. а вообще смоделируйте сигнал сами, так, по крайней мере, достоверно будете знать, что синтезировали
petr0ff
Цитата(Serg76 @ May 24 2010, 10:57) *
как я вам и говорил, сигнал представлен сначала спадающей частотой, затем возрастающей. а вообще смоделируйте сигнал сами, так, по крайней мере, достоверно будете знать, что синтезировали

хм... я вот тоже так думал, но строил график ЛЧМ сигнала и на нем видно, что частота только возрастает.
А это квадратуры. При расчете ФН я вместо (Q, I) взял (Q, Q). На графике видно, что эти квадратуры одинаковые. На самом деле квадратуры имеют вид:

после нахождения ошибки и еще небольшой доработки получилась диагональная ФН. т.е. все как надо. Крестообразная ФН получалась из-за того, что обрабатывал вещественный сигнал и ФН находил от вещественных сигналов т.е. p(S, S) а не p(S, S*).

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

И ещё. Почему-то не вижу в чем причина. Использую функцию chirp и свою функцию для ЛЧМ. И они дают разный результат. Почему????
f0 = 25;
df = 20;
f1 = f0 - df;
f2 = f0 + df;
t = 0:0.0001:1;
s1 = chirp(t, f1, 1, f2, 'linear');

beta = (f2 - f1) / 1;
s2 = cos(2 * pi * (f1 + beta * t) .* t);

figure
subplot(2,1,1)
plot(t, s1), grid on
subplot(2,1,2)
plot(t, s2), grid on


видно, что на 2-ом графике в конце сигнала частота в 2 раза выше.
От моего сигнала квадратуры имеют такой же вид.
mdmitry
Цитата(petr0ff @ May 25 2010, 00:31) *
[sub]
beta = (f2 - f1) / 1;

Это правильное значение для beta? (деление на 1, а не на t_max)
petr0ff
Цитата(mdmitry @ May 25 2010, 18:06) *
Это правильное значение для beta? (деление на 1, а не на t_max)

в приведенном примере t_max = 1.
можно изменить код:
...
tmax = 0.5;
t = 0:0.0001:tmax;
s1 = chirp(t, f1, tmax, f2, 'linear');

beta = (f2 - f1) / tmax;
s2 = cos(2 * pi * (f1 + beta * t) .* t);
...

но результат от этого почему-то не изменился...
petr0ff
Цитата
Потому что в формуле для ЛЧМ beta пополам разделить забыли.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.