matlab 【判断线性和移不变 程序实现】

 
%判断一个系统是否为线性系统
%差分方程系统:y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]

%输入
a1=3;
b1=4;
n1 = 0:60;
n2 = 0:60;
f1 =200;
f2 = 700;
x1 = sin(2*f1*pi*n1);
x2 = sin(2*f2*pi*n2);
xn = a1*x1+b1*x2;
%系统
num=[1 -1];
denum = [1,0.75 ,0.125];
%输出序列(通过系统)
y1 = filter(num,denum,x1);
y2 = filter(num,denum,x2);
yn = filter(num,denum,xn)
Y = a1*y1+b1*y2
if Y==yn
    disp('相等')
else
    disp('不相等')
end
线性判断

%判断一个函数系统是否为移不变系统
%输入
n = 0:60;
f1 = 200;
k=2;
x1 = sin(2*pi*f1*n);      %输入后移位
xn = sin(2*pi*f1*(n-k));  %先移位后输入
%系统
num = [1 -1];
denum = [1,0.75,0.125];
Y1= filter(num,denum,x1-k); %x1输入进入系统
subplot(2,1,1)
plot(Y1);
Yn = filter(num,denum,xn);
subplot(2,1,2);
plot(Yn);
判断移不变

移不变的重点:

     先移动后进入系统  = 先进入系统后移动

 

posted @ 2019-04-04 21:47  Crown-V  阅读(556)  评论(0)    收藏  举报