Почему я в 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') делаю сюжет.

Другие вопросы по тегам