#matlab #signal-processing #correlation #cross-correlation
#matlab #обработка сигналов #корреляция #взаимная корреляция
Вопрос:
У меня есть две сложные функции (размер 1x1x2501), и мне нужно провести корреляцию между ними (взаимная корреляция).
Я пытался использовать эту команду:
r=corrcoef(Hmimo_tb(1,:)',Hmimo_tb1(1,:)','coeff');
Где Hmimo_tb
и Hmimo_tb1
— мои два сигнала, в которых единственным отличием является тот факт, что они были измерены в разных положениях. Разница между этими двумя сигналами максимально равна 1,5 e-13, поэтому на них влияет только шум.
В результате я получаю:
ans =
1.0000 1.0000 0.0000i
1.0000 - 0.0000i 1.0000
Функция, которую я собираюсь сопоставить, сложна, но значение 0.0000i оставляет у меня некоторые сомнения….
Еще одно сомнение заключается в том, что сигналы не равны на самом деле, как я уже говорил ранее, существует разница в 1,5 e-13, о которой не сообщается на вторичной диагонали, почему?
В чем разница между corrcoef и xcorr?
да, это правда, я пробовал с:
форматирование длинного g
и я получил в результате это:
Столбец 1
1
1 3.73593550274545e-11i
Столбец 2
1 - 3.73593550274545e-11i
1
теперь, как я могу интерпретировать небольшое комплексное значение?что это представляет? Спасибо
Ответ №1:
Ответ может быть напечатан с меньшим количеством цифр, чем требуется, чтобы показать разницу порядка 1e-13. Возможно, оно было округлено до нуля, возможно, во время форматирования печати или, возможно, где-то еще при вычислении.
Комментарии:
1. да, это правда, я пробовал с: format long g и получил в результате это: Столбец 1 1 1 3.73593550274545 e-11i Столбец 2 1 — 3.73593550274545e-11i 1 теперь, как я могу интерпретировать небольшое комплексное значение? что это представляет? Спасибо