我正在为一个基本概念而苦苦挣扎。假设我有一个系统我想使用 Matlab conv() 函数以不同的采样率绘制脉冲响应和阶跃响应。我很难理解我应该应用什么增益以及为什么。我试过:
a = 0.05;
cutoffTime = 250;
T = 1/samplingRates(i); %assume this is defined somewhere [1, 10, 20]
timeRange = 0:T:cutoffTime;
step = ones(1, length(timeRange));
impulse = zeros(1, length(timeRange));
impulse(1) = 1;
exponential = exp(-a*timeRange);
stepResponse = conv(exponential, step, 'full');
impulseResponse = conv(exponential, step, 'full');
我知道数学上的采样被建模为脉冲序列的乘法,它引入了增益到离散系统。所以重建滤波器需要 T 的增益。在上面的代码中,对于不同的采样率(比如 1、10、20 个样本/秒),如果我不将 T 的增益应用于阶跃响应,我会得到不同大小的阶跃响应。但是,如果我将增益 T 应用于脉冲响应,我不会得到我期望的所有 3 个采样率的脉冲响应。谁能澄清我在实施中哪里出错了?
谢谢你。