📄 self_conv.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 + -