【发布时间】:2017-06-05 13:55:54
【问题描述】:
我想使用 Matlab 生成一个从正弦波转换为矩形的信号,该信号具有递增的参数f。
对于f = 0,信号应该是正弦波,而对于f = 1,信号应该是具有相同频率的矩形信号。对于在0 和1 之间增加的值,信号应该变得类似于矩形信号增加。
不幸的是,我不知道如何使用 Matlab 实现这一点。有谁知道如何做到这一点?
我的想法是使用矩形信号的傅里叶级数,并根据参数f 来考虑不同数量的和数。
【问题讨论】:
-
一个简单的方法是
x = 0:.1:2*pi; y = min(max(sin(x)./(1-f), -1), 1)。另外,请注意,使用傅里叶级数方法,您将获得Gibbs pehenomenon,因此结果永远不会像uniform metric 意义上的矩形(即,始终会有幅度不减小的尖峰) -
非常感谢!这正是我想要的。
标签: matlab signals signal-processing numeric