如何计算脉冲响应?

82次(过去30天)
dhanshri kulkarni
dhanshri kulkarni 2015年2月26日
回答: K Karthika2021年8月27日8:39
我如何编写代码,以得到下列方程的脉冲响应:
y [n] = [n] + x (n - 1) + x [2]

接受的答案

迈克尔scheinfeild
迈克尔scheinfeild 2015年2月26日
f = 100;% frequanecy
fs = 1000;
n = [1:1000] * f / fs;
u = 1 (n, 1)
x (n) = 2 * cos(0.5 *π* n) .u (n);
% ~(检查索引我不确定..)
y (n) = x (n (3:1000)) + x (n (2:999)) + ((1:998))
1评论
Jens Kritian保尔森
Jens Kritian保尔森 2021年3月2日
Michael scheinfeld给出的解决方案有错误,例如最后一行,它没有计算脉冲响应。
John D’errico的解决方案是可行的(尽管有点短)
这个问题本身很简单,你不需要Matlab([1 1 1]是脉冲响应)。

登录评论。

更多的答案(3)

约翰D 'Errico
约翰D 'Errico 2015年2月26日
使用filter,还是conv. WTP?
计算向量x,然后从x得到y。
Y = conv(x,[1 1 1]);
如果x =[0 0 1 0 0],那么通过上面调用conv, y会是多少?

MathWorks支万博1manbetx持团队
要计算一个3抽头FIR滤波器的脉冲响应,使用“fft”与相应的系数。在这种情况下,
>> fft([1 1 1])
根据您需要的频率分辨率,您还必须指定转换的长度。

K Karthika
K Karthika 2021年8月27日8:39
A2 + B2 + 2 ab = (A + B) 2

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!