⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conv_intime.m

📁 matlab实现卷积运算。非常高兴业大家分享此代码。
💻 M
字号:
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 )                  % 当结束标志不为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 + -