2016-06-14 3 views
0

Поэтому я дал определенную систему: y(n) = 10x(n)cos(0.25pi*n + 0.1pi)MATLAB с помощью рандов для проверки времени инвариантности

И я, чтобы проверить, если система не зависящий от времени, откладывая два входных сигнала х (п) и х (п-2) и соответствующие им выходные сигналы. Предполагается, что X (n) является причинным сигналом с 10 элементами, использующими функцию rand.

Это код, который я написал до сих пор:

clear all; clc; close all; 
n = 0:9; n2 = 0:11;       
xN1 = [rand(1,10) 0 0];     %x(n) 
xN2 = [0 0 rand(1,10)];     %x(n-2) 
yN1 = 10.*xN1.*cos(0.25.*pi.*n2+0.1.*pi); %y(n) 
yN2 = 10.*xN2.*cos(0.25.*pi.*n2+0.1.*pi); %y(n-2) 

figure, 
subplot(2,2,1) 
    stem(n2,xN1),title('x1') 
subplot(2,2,2) 
    stem(n2,yN1),title('y1') 
subplot(2,2,3) 
    stem(n2,xN2),title('x2') 
subplot(2,2,4) 
    stem(n2,yN2),title('y2') 

Мой вопрос, что меня просят построить? x1 против x2, а затем y1 против y2? Или x1 против n и x2 против n и т. Д.

Это результат, который я получаю с моим текущим кодом, http://imgur.com/iho2LDX. Означает ли это, что сигнал является вариантом времени?

+0

Я думаю, что [this] (https://en.wikipedia.org/wiki/Time-invariant_system#Formal_example) пример в Wiki объясняет это мило. Кстати, вы не задерживаете сигналы, это два разных сигнала, так как вывод 'rand' разный (или случайный) каждый раз, если вы не укажете семя. Поэтому сначала нужно сохранить результат 'rand' в переменной и использовать для создания' xN1' и 'xN2'. –

ответ

0

Нет, с вашим кодом очень проблематично. Чтобы доказать, что система является временной инвариантностью, мы сначала задерживаем вход и получаем выход, а затем задерживаем вывод для того же входа и видим, что оба входа одинаковы, вы принимаете rand(), который меняет вход для y1 и y2, поэтому вы никогда не сможет увидеть, если система времени инвариантны Вот пример для инвариантной системы времени:

n0 = 1;     %delay 
n = 0:0.1:1; 
x1 = [zeros(1,n0) cos(n)]%delaying the input 
y1 = 2.5*x1; 
x2 = [cos(n)] 
y2 = [zeros(1,n0) 2.5*x2]%delaying the ouput 
subplot(2,1,1) 
stem(1:length(n) + 1,y1) 
title('DELAYED INPUT') 
subplot(2,1,2) 
stem(1:length(n) + 1,y2) 
title('DELAYED OUTPUT') 

enter image description here

Вы можете заметить, что вход остается неизменным только с задержкой на входе в первый раз и выход задерживается во второй раз, но выход остается неизменным. Плюс еще одна вещь, что ваш вход не зависит от времени xn1 и xn2 не зависят от времени