BER 测量和下采样 MATLAB

BER measurement and Downsampling MATLAB

我正在尝试测量下采样(无滤波)后 4-QAM 调制信号的 BER。 问题是我不确定在我下采样后要测量什么,因为信号要短得多并且原始信号是相同的。 这是我的代码:

n=2;
sig = randi([0 1],1,10E4);
sig_d=downsample(sig,n);
sig_mod=qammod(sig_d,4);
y=awgn(sig_mod,5);
sig_demod=qamdemod(y,4);
z=sig_demod>0;
BER = biterr(sig,z)

我可能遗漏了一些基本的东西。此代码的目标是降低采样频率并测量采样信号的 BER。

如果要对原始信号进行BER,需要在解调后对原始信号进行重构。您可以进行插值以返回相同数量的样本。像这样:

a=interp(sig_demod,2);
b=double(a>0.5);
BER = biterr(sig,b);