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

📄 conv_sum.asv

📁 matlab实现卷积运算。非常高兴业大家分享此代码。
💻 ASV
字号:
function [ y, n ] = conv_sum ( x, nx, h, nh )

% The function of compute the convolution sum y[n] = x[n] * h[n]
% --------------------------------------------------------------
% y:  卷积和输出序列y[n]对应的非零样值向量
% n:  输出序列y[n]的对应序号向量
% x:  输入序列x[n]非零样值向量
% h:  系统序列h[n]非零样值向量
% nx: 输入序列x[n]的对应序号向量
% nh: 系统序列h[n]的对应序号向量
% --------------------------------------------------------------

y = conv ( x, h );                          % 计算序列x与h的卷积y
n0 = nx ( 1 ) + nh ( 1 );                   % 计算序列y非零样值的起点位置
nk = length ( x ) + length ( h ) - 2;       % 计算卷积y的非零样值的宽度
n = n0 : n0 + nk;                           % 确定卷积y非零样值的序号向量
subplot ( 221 );
stem ( nx, x );                             % 在子图1绘序列x[n]时域波形图
title ( 'Input Signals x[n]' );
xlabel ( 'n' );
ylabel ( 'x[n]' );
subplot ( 222 );
stem ( nh, h );                             % 在子图2绘序列h[n]时域波形图
title ( 'System h[n]' );
xlabel ( 'n' );
ylabel ( 'h[n]' );
subplot ( 223 );
stem ( n, y );                              % 在子图3绘序列y(n)时域波形图
title ( 'Output Signals y[n]=x[n]*h[n]' );
xlabel ( 'n' );
ylabel ( 'y[n]' );
h = get ( gca, 'position' );                % 修正输出信号窗口
h ( 3 ) = 2.5 * h ( 3 );
set ( gca, 'position', h );

⌨️ 快捷键说明

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