我有一个具有一定方差的给定噪声向量。这无法改变。我有一个IQ调制信号,需要放大才能获得20dB的SNR。我该怎么做?
k = 3/2; %certain variance
n = sqrt(k).*randn(1, N); %noise vector
noise_power = var(n);
SNR = 10*log10(var(Xiq)/noise_power) %current SNR in dB of the IQ modulated signal
%% Part 4
amp = 13.5; %some amplification, I can't figure out what it should be
Xamp = amp.* Xiq;
SNR = 10*log10(var(Xamp)/noise_power) %SNR in dB should be 20 dBs
目前我使用的是固定比例因子,但我知道这不是正确的方法。有人能帮帮我吗?
答案 0 :(得分:4)
作为差异的一般规则:
Var (A*X) = A^2*Var(X)
(如果A是常数)。
所以
SNR = 10*log10(var( amp* Xiq)/noise_power)
= 10*log10(amp^2*var(Xiq)/noise_power)
= 10*log10(amp^2) + 10*log10(var(Xiq)/noise_power)
= 20*log10(amp) + SNR_original
= 20
麦角
20*log10(amp) = 20 - SNR_original
log10(amp) = (20 - SNR_original)/20
amp = 10^((20 - SNR_original)/20)