如何从离散时间脉冲响应向量频谱的阴谋

16个视图(30天)
你好,
我很新的DSP信号处理的概念和在MATLAB所以请对我。我有下面的代码,我已经开始工作的BZT RLC滤波器。我想带我的脉冲响应的DFT y [n]和最终级情节y (f)。我知道我可以使用fft()和图()函数。
我见过的例子使用linspace / logspace向量能够阴谋之前我需要定义这个东西,和一些诸如NFFTs(使更快的fft ?),但我不知道如何把它放在一起。
任何帮助/洞察力将非常感激。
谢谢你,乔。
代码:
R = 0.1;%电阻器
L = 0.0016;%电感器
C = 0.0016;%电容器
resF = 1 /√(L * C);%的共振频率
sampRate = 44100;%抽样频率(赫兹)
T = 1 / sampRate;%样本时期
谭prewarpF = (2 / T) * (resF * T / 2);% prewarp因素
= (2 / T) * R * C;
b = (2 / (T * prewarpF)) ^ 2;
e0 = / (a + b + 1);
e1 = (2 * 2) / (a + b + 1);
e2 = (1 + b) / (a + b + 1);
N = 2048;%的水龙头
x = 0 (1, N);%的输入向量
x (5) = 1;%的冲动在三角洲(存在)
y = 0 (1, N);%输出向量
为n = 5: n
y (n) = e0 * x (n) - e0 * x (n - 2) - e1 * y (n - 1) - e2 * y (n - 2);
结束
1评论
约瑟夫
约瑟夫 2013年11月3日
如果有人能够回答关于如何定义频率向量根据已经在我的代码中定义的参数,这将是对我非常有用。洞察力是一样漂亮的代码。

登录置评。

接受的答案

韦恩王
韦恩王 2013年11月3日
编辑:韦恩王 2013年11月3日
因为你有一个离散时间序列与数据采样44.1 kHz,你将从-22050赫兹到22050赫兹频率向量双面频谱,或者只是单面的0到22050。
你有信号处理工具箱吗?如果是这样,那么使用freqz()和差分方程的系数。从这条线:
y (n) = e0 * x (n) - e0 * x (n - 2) - e1 * y (n - 1) - e2 * y (n - 2);
你差分方程有以下形式作为一个理性的传递函数。
一个= [1 e1 e2];
B = (e0 e0);
因此,频率响应
[H F] = freqz (B, A, [], 44100);
情节(F, 20 * log10 (abs (H)));
包含(“赫兹”);
从上面可以看出,响应低通滤波器。
2的评论
阿卜杜拉·阿什拉夫
阿卜杜拉·阿什拉夫 2021年6月6日
@Wayne王 我登录,谢谢!它帮助我和我的作业太多,所以,谢谢你! !
我有另一个问题,你能告诉我这个表达式的方括号符号是什么意思吗?
[H F] = freqz (B, A, [], 44100);

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!