在MATLAB中以错误的幅度绘图

时间:2017-11-03 13:04:02

标签: matlab plot

我试图绘制信号的幅度谱。 这是代码:

1-p

enter image description here

但它以错误的幅度绘制。 5x10 ^ -4而不是5x10 ^ -3。 我在哪里犯了错误?

1 个答案:

答案 0 :(得分:3)

你的情节大小是正确的。

位于基频的脉冲的大小来自余弦波的比例,并除以2:0.001 / 2 = 5e-4。这是因为cos函数可以使用欧拉公式表示,使得它是两个复数指数的组合,它们都缩放了一半。

来源:Wikipedia

这样,在期望频率处的复指数的傅里叶变换是单位长度脉冲(即,幅度是1)。余弦波可以表示为以基频的正负版为中心的两个复指数。由于欧拉公式,我们进一步按1/2进行缩放,并且傅里叶变换具有线性属性,脉冲还可以1/2进行缩放。您的余弦波还有一个额外的缩放因子,它可以再次缩放脉冲。比例组合(1)(1/2)(0.001)因此得出5e-4

输出没什么问题。此外,您的比例应为赫兹,不是rad / s 。这是因为你的指数的表达式中有pi

我可以理解你为什么要在这里使用符号toobox,但我强烈建议使用fft代替。当fft是更快的算法时,不需要得到慢速符号计算器来计算信号的频率表示。如果你这样做纯粹是为了验证信号的理论幅度响应是什么,那么这很好,但在实际中计算频率响应时却不这样做。