2
我必须分析一个已经用QPSK调制的信号,使用matlab,我似乎无法得到正确的结果。频率功率与信号功率
我拥有:以已知频率采样的复杂信号。
我想要的是:某个频率的功率比。所以如果信号的形式是a*cos(wt)+a*cos(2wt)
那么我应该得到0.5 for w
和0.5 for 2w
。
我不知道我的代码问题在哪里,但我得到的频率功率比信号功率更高,如下图所示(blue: signalPower
,red: Fm
)。
这里是我的代码:
% Nsym : Number of symbol used for the detection
% Ns : Number ofsamples per symbol
% IQrx : Complex signal to analyse
% Fmod : Modulation frequency
Nt = Nsym*Ns;
signalPower = zeros(1, length(IQrx));
Fp = zeros(1, length(IQrx));
Fm = zeros(1, length(IQrx));
for ii = 1:length(IQrx)
for jj = 0:Nt-1
if ii-jj > 0 && ii-jj <= length(IQrx)
signalPower(ii) = signalPower(ii) + ...
abs(IQrx(ii-jj))^2;
Fp(ii) = Fp(ii) + ...
IQrx(ii-jj) * ...
exp(1i*2*pi*Fmod*(ii-jj)/obj.Fs);
Fm(ii) = Fm(ii) + ...
IQrx(ii-jj) * ...
exp(-1i*2*pi*Fmod*(ii-jj)/obj.Fs);
end
end
Fp(ii) = abs(Fp(ii))^2;
Fm(ii) = abs(Fm(ii))^2;
end
编辑:正如在评论中要求我用的公式是: 考虑到我在去关心的时间窗口。
signalPower =总和(信号(I)^ 2)
Fp的= ABS(总和(信号* EXP(1I * 2 * PI FMOD(ⅰ)/obj.Fs)))^ 2
Fp的= ABS(总和(信号* EXP(-1i * 2 * PI FMOD(ⅰ)/obj.Fs)))^ 2
看起来像是将信号与接收信号的幅度平方进行卷积并且还将接收到的信号与时域中的狄拉克三角形进行卷积,并将每个回路的幅度平方进行卷积。你可以参考你用来确定光谱功率的公式吗? – macduff
@macduff我参考了你建议的公式! – Leo
这真的属于dsp.stackexchange.com –