📄 evm.m
字号:
%%%%%误差矢量幅值法(EVM)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
format long
A=2;%ampitude of signal
a=[-1,1];
snr_theory=-10:0.5:12;%仿真信噪比范围(理论值)
QQ=10.^(snr_theory/10);
var_noise2=A^2./10.^(snr_theory/10);%EVM噪声方差范围
L=500;%数据长度
for m=1:length(snr_theory)
for n=1:500
noise2=sqrt(var_noise2(m))*randn(1,L)+i*sqrt(var_noise2(m))*randn(1,L);%产生复高斯白噪声
for k=1:L
y_i(k)=A*a(randint(1)+1)+real(noise2(k));%接收信号的实部
end
b1=find(y_i>0);
snr_est12(n)=10*log10(mean(y_i(b1))^2/(var(y_i(b1))));
snr_est13(n)=(mean(y_i(b1))^2/(var(y_i(b1))));
snr_est2(m)=mean(snr_est12);
snr_est3(m)=mean(snr_est13);
MSE(m)=abs((QQ(m)-snr_est3(m))/QQ(m));%归一化MSE
end
end
figure(1)
plot(snr_theory,snr_theory);
hold on
plot(snr_theory,snr_est2,'-o');
hold off
figure(2)
plot(snr_theory,MSE,'-o');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -