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

📄 self_conv.m

📁 matlab实现卷积运算。非常高兴业大家分享此代码。
💻 M
字号:
function [ y ] = self_conv ( x, h )
% --------------------------------------------------------------
% The function of compute the convolution sum y[n] = x[n] * h[n]
% 求离散序列卷积函数
% --------------------------------------------------------------
% 利用多项式乘法的原理求解输入信号与系统的卷积
% x:  输入序列x[n]非零样值向量
% h:  系统序列h[n]非零样值向量
% ---------------------------------------------------------------
nx = length(x);                                     % 输入序列x[n]的长度
nh = length(h);                                     % 系统序列h[n]的长度
if nx ~= prod(size(x)) | nh ~= prod(size(h))        % x,h不是向量,返回错误
  error ( 'x and h must be vectors.' );
end
y = x .* h ( 1 );                                   % 系统第一个序列与输入信号相乘
for i = 2 : nh                                      % 将系统每个序列与输入信号相乘,
                                                    % 将乘积作相应的平移后相加
    temp = x .* h ( i );
    for j = 1 : i - 1
        temp = [ 0 temp ];                          % 乘积平移
    end;
    y = [ y 0 ];                                    % 输出信号补位
    y = y + temp;
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -