我想在频域上对5个信号进行上采样,然后绘制(干)它。我想到了如何上采样,
Fk=(1/5)*upsample(ak_new,5);
现在这会创建一个比原始矢量大5倍的矢量,我需要采用此信号的逆傅里叶级数
Fn=(Fk*(exp((1i*2*pi/N*n'*n))));
其中n
是示例向量(-1000:1000)
,正如您所看到的,我无法进行转换,因为n
与Fk
的大小不再相同。我该如何解决这个问题?
答案 0 :(得分:0)
您需要在频域上以类似的“上采样”频率矢量绘制上采样信号。
如果您的初始频率向量是-1000, -999, -998 ...
,那么现在应该是-1000, -999.8, -999.6
。
这是一个简单的例子:
Fs = 2000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 2000; % Length of signal
t = (0:L-1)*T; % Time vector
S = sin(2*pi*400*t); % Signal
Y = fft(S);
ak_new = fftshift(abs(Y/L)); % Initial signal in frequency domain
Fk = upsample(ak_new,5); % Upsampled signal
f = (Fs/L)*(-L/2: 1 :L/2-1); % Initial frequency vector
fup = (Fs/L)*(-L/2:(1/5):L/2-1/5); % Upsampled frequency vector
subplot(2, 1, 1);
stem(f, ak_new);
title('Before upsampling');
subplot(2, 1, 2);
stem(fup, Fk);
title('After upsampling');