Почему я в 10 раз?
Следующий код работает очень хорошо, за исключением того, что вывод отключен в 10 раз:
%// Part 3: Discrete-Time Signal Sampling and Recovery
%// Original and Sampling
W = -3:.1:3;
W_for_X = -30:30;
H = zeros(size(W));
H(23:37) = 4;
nA = -30:.1:30;
xnA = cos(.1*pi*nA)-(4*sin(.2*pi*nA));
n = -30:30;
xn = zeros(size(n));
remB = rem(n,4)==0;
xn(remB) = cos(.1*pi*n(remB))-(4*sin(.2*pi*n(remB)));
Я уверен, что проблема не в W
а также W_for_X
часть кодирования. Однако я не уверен, как проверить. Я пытался изменить масштаб обоих значений, но поскольку они должны масштабироваться линейно друг с другом (с учетом соотношения, необходимого для умножения матриц), я не думаю, что проблема здесь.
У меня есть ощущение, что проблема заключается в N = 4
и п = -30:30
, Было бы хорошо, если N
останется в 4, потому что изменение этого числа в десять раз, похоже, не решит проблему.
Так как H
а также Xw
умножаются вместе n
должен масштабироваться с W
а также W_for_X
,
Очевидно, что вывод этого кода отключен в десять раз, как указано ниже:
Красный вывод на графике слева должен, по крайней мере, выглядеть (как и он) на графике справа. Вопрос в том, какая часть кода сделала вывод в десять раз меньше, и как я могу это исправить?
Примечание: значение xn
помещается в trapz
функция, а затем умножается на H
, Полученное значение затем помещается в еще один trapz
функция, а затем отображается. Эта часть кода более или менее удерживается от другого кода, который я написал, и я проверил эти части, и я почти уверен, что проблемы нет. Если вы думаете, это не стесняйтесь сказать.
РЕДАКТИРОВАТЬ / УТОЧНИТЬ - 1
На входе находится синий график слева, который xnA
, Красная пунктирная диаграмма слева - образец xn
взяты из ввода. Красный график слева - результат, заданный переменной y
который не был включен в исходный код.
Для уточнения красный график слева должен напоминать синий график справа. Хотя он немного острее, он имеет ту же основную форму.
Вы должны посмотреть на цифры на X-axis
графика, чтобы увидеть разницу. Хотя каждый выглядит одинаково, это происходит с частотой 1:10 (слева направо от красного до красного), то есть от -30:30
вирши -3:3
другое изображение графика, где красный вывод лежит на синем входе, показано здесь:
Код, который сделал это изображение здесь:
figure(1);
subplot(1,2,1);plot(nA,xnA,n,xn,'r--o');
subplot(1,2,2);plot(nA,xnA,W,y,'r');
Преобразование Фурье выполняется при xn
перемещая его в частотную область, то это .*
от H
и произведение этого тогда обратный Фурье преобразован обратно во временную область и нанесен на график. Есть ли что-то в том, как я это нарисовал, чтобы уменьшить ось X?
1 ответ
Замещать
W
от
W_for_X
в соответствии plot(nA,xnA,W,y,'r')
делаю сюжет.