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 –