У меня есть следующий код, который используется для деконволюции сигнала. Он работает очень хорошо, в пределах моего предела ошибки ... пока я делю свой окончательный результат на очень большой фактор (11000).Масштабный коэффициент в Matlabs `conv()`
width = 83.66;
x = linspace(-400,400,1000);
a2 = 1.205e+004 ;
al = 1.778e+005 ;
b1 = 94.88 ;
c1 = 224.3 ;
d = 4.077 ;
measured = al*exp(-((abs((x-b1)./c1).^d)))+a2;
rect = @(x) 0.5*(sign(x+0.5) - sign(x-0.5));
rt = rect(x/83.66);
signal = conv(rt,measured,'same');
check = (1/11000)*conv(signal,rt,'same');
Вот что у меня есть. measured
представляет собой сигнал, который мне дал. Сигнал - это то, что я пытаюсь найти. И проверьте, чтобы убедиться, что если я сверлю свою щель с найденным сигналом, я получаю тот же результат. Если вы используете то, что у меня есть, вы увидите, что проверка и измерение отключены на этот коэффициент 11000 ~ иш, который я выбрал там.
У кого-нибудь есть предложения. Мои мысли состоят в том, что высота разреза не точно равна 1, или что свертка фактически не будет эффективно деконверсироваться, как я прошу. (Использование deconv только дает мне 1 балл, поэтому я использовал convolve вместо этого).
Для меня коэффициент масштабирования ближе к '100'. – Schorsch
Итак, система подобна: 'y (t) = h (t) * u (t)' и вам заданы 'h (t)' и 'y (t)'? – macduff
Мне дано y и u – yankeefan11