在Matlab双面频谱

176(30天)
黄平君
黄平君 2013年11月3日
评论道: 若昂Nizer2021年7月2日
亲爱的我的同事,我是一个新用户的Matlab。现在,我有一个信号像x (t) = A1 * sin(2 *π* f1 * t) + A2 *罪(2 *π* f2 * t), f1, f2 > 0。谁能告诉我我是否可以获得的x光谱频率f2只存在双面的负频率谱(通常,f2 Matlab将出现在双方的FFT) ?
非常感谢。
Lomath。

接受的答案

韦恩王
韦恩王 2013年11月3日
编辑:韦恩王 2013年11月3日
约瑟夫是正确的。为什么你认为f2只会显示为一个“负面”的频率。
sin()是一个奇函数所以罪(- t) = sin (t)
因此,等于你的信号
Fs = 40;
Ts = 1 / f;
t = 0: Ts: 10-Ts;
f1 = 4;f2 = 15;
y =罪(2 *π* t * f1) sin(2 *π* t * f2);
如果你真的想要组件只发生在一个方面,你的信号必须是复数。这里有一个例子与复指数。
Fs = 40;
Ts = 1 / f;
t = 0: Ts: 10-Ts;
f1 = 4;f2 = -15;
y = exp(1 * 2 *π* f1 * t) + exp(1 * 2 *π* f2 * t);
ydft = fftshift (fft (y));
df = Fs /长度(y);
freqvec = - f / 2 + df: df: Fs / 2;
情节(freqvec、abs (ydft))
包含(“赫兹”);
2的评论
若昂Nizer
若昂Nizer 2021年7月2日
freqvec = - f / 2 + df: df: Fs / 2;
应该是
freqvec = - f / 2: df: Fs /第二代;

登录置评。

答案(1)

优素福Khmou
优素福Khmou 2013年11月3日
很多教程,你可以每个DFT问题提供了不同的方法,在分辨率和振幅估计,我给你写了2站示例,验证一下:
Fs = 40;
Ts = 1 / f;
t = 0: Ts: 10-Ts;
f1 = 4; f2 = 15;
y =罪(2 *π* t * f1) +罪(2 *π* t * f2);
N =长度(y);
F = fft (y);
fr = (- N / 2: N / 2 - 1) * Fs / (N);
人物,情节(fr, abs (F))
包含(“赫兹频率”)
4评论
升里贝罗
升里贝罗 2018年10月15日
抱歉恢复后,但是给定的代码没有使用我(也许我扰乱一些)。给出的代码 帖子 工作得很好。

登录置评。

社区寻宝

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

开始狩猎!