【发布时间】:2012-12-19 17:45:22
【问题描述】:
我正在设计复合正弦波,例如
input=sin(2*pi*Fm_1*t) + sin(2*pi*Fm_2*t);
其中 Fm_1 和 Fm_2 由用户给出,
t=0:Ts:2*Tm;
在哪里
Ts=1/Fs;
Tm=1/(maxof(Fm_1,Fm_2) (NOT A FUNCTION, just to explain)
和Fm_1 = 5和Fm_2 = 10和Fs = 30
并使用plot(t,input);进行绘图
现在由于某种原因,输出是正确的,但不是正弦波,而是三角波(直线)。除此之外,输出是正确的。
编辑:
我刚刚发现,因为我以相同的比例绘制了两张图,所以第二张图中的错误搞砸了第一张。
现在的问题是使用这个过滤输入:
output = filtfilt(B,A,input);
为什么当我绘制它时它什么也没给我(我也尝试过使用filter)?
【问题讨论】:
-
您的
Fs可能很小。增加它并重试。又是三角波吗? -
我重试使用 Fs=300 .. 情节完全改变了。变成了一条水平线
-
您的
Ts应该非常小,以使您的情节顺利。 -
两个不同频率的正弦波之和不会是另一个正弦波。
-
@user1111726 如果您有新问题,请单独发布。不要更改现有帖子以包含这两个问题,否则会更难回答。
标签: matlab plot trigonometry