📄 conv_intime.asv
字号:
function [ y ] = conv_intime ( h )
% ------------------------------------------------------------------
% The function of compute the intime convolution y[n] = x[n] * h[n]
% 求系统固定,输入信号不定的离散时间序列卷积函数
% ------------------------------------------------------------------
% 计算对于固定系统h[n],实时输入一个非零信号,
% 函数自动计算卷积,并通过图像输出。
% 当连续输入三个零序列时,结束程序。
% ------------------------------------------------------------------
nh = length(h); % 系统序列h[n]的长度
if nh ~= prod(size(h))
error ( 'h must be vectors.' ); % h不是向量,返回错误
end
disp ( 'If enter three zero continuously, the program will end.' );
x = input ( 'Please input the first signal: ' );
y = h .* x;
k = 0; % 输入信号长度
endflag = 0; % 程序结束标志,当endflag=3时程序结束
n = [ 0 : nh - 1 ];
stem ( n , y);
title ( 'y[n]=x[n]*h[n]' );
xlabel ( 'n' );
ylabel ( 'y[n]' );
while ( endflag ~= 3 ) % 当结束
x = input ( 'Please input the next signal: ' );
if x == 0
endflag = endflag + 1;
else
endlag = 0;
end;
k = k + 1;
temp = h .* x;
for i = 1 : k
temp = [ 0 temp ];
end;
y = [ y 0 ];
y = y + temp;
n = [ 0 : nh + k - 1 ];
stem ( n, y );
title ( 'y[n]=x[n]*h[n]' );
xlabel ( 'n' );
ylabel ( 'y[n]' );
end;
disp ( 'Input Signals End.' );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -