(7)下变频:乘以10KHz相干载波。 (8)匹配滤波接收:接收信号经过匹配滤波器(滚降系数为0.5,平方根升余弦滤波器) (9)抽样,绘制解调后的星座图。对比与(2)中的星座图,分析发送和经过AWGN信道后星座图。改变Eb/n0,对比不同Eb/n0下的星座图。 (10)星座反映射,恢复原始比特序列,统计误比特率,Eb/n0取6dB~12dB
时间: 2024-02-07 19:04:02 浏览: 220
match_filter.rar_BPSK 匹配滤波_BPSK 匹配滤波_psk 升余弦_根升余弦_根升余弦信号
5星 · 资源好评率100%
好的,以下是对你的问题的回答:
(7)下变频:
将接收信号乘以10kHz相干载波,代码如下:
```
t = 0:1/100e3:(length(noisy_seq)-1)/100e3;
downconverted_seq = noisy_seq .* exp(-1i*2*pi*10e3*t); % 下变频
```
(8)匹配滤波接收:
接收信号经过匹配滤波器(滚降系数为0.5,平方根升余弦滤波器),代码如下:
```
h_matched = rcosdesign(0.5, 6, 100,'sqrt');
received_seq = filter(h_matched, 1, downconverted_seq); % 匹配滤波接收
```
(9)抽样,绘制解调后的星座图:
对接收信号进行抽样,然后进行16QAM解调映射,得到解调后的复基带符号,代码如下:
```
sampled_seq = received_seq(6:6:end); % 抽样
demod_seq = qamdemod(sampled_seq, 16); % 进行16QAM解调映射,得到解调后的复基带符号
scatterplot(demod_seq); % 绘制解调后的星座图
```
可以发现,经过AWGN信道后的星座图比发送端的星座图更加分散,且有一定的噪声。
改变Eb/n0,对比不同Eb/n0下的星座图,代码如下:
```
EbN0dB = 6:0.5:12;
ber = zeros(1,length(EbN0dB)); % 误比特率
for i = 1:length(EbN0dB)
N0 = Eb./(10^(EbN0dB(i)/10)); % 计算噪声的功率谱密度
noise = sqrt(N0/2)*(randn(1,length(modulated_seq))+1i*randn(1,length(modulated_seq))); % 生成高斯白噪声
noisy_seq = modulated_seq + noise; % 加噪声
downconverted_seq = noisy_seq .* exp(-1i*2*pi*10e3*t); % 下变频
received_seq = filter(h_matched, 1, downconverted_seq); % 匹配滤波接收
sampled_seq = received_seq(6:6:end); % 抽样
demod_seq = qamdemod(sampled_seq, 16); % 进行16QAM解调映射,得到解调后的复基带符号
ber(i) = sum(demod_seq~=hex_seq)/length(hex_seq); % 统计误比特率
end
semilogy(EbN0dB, ber); % 绘制误比特率曲线
```
可以发现,随着Eb/n0的增大,误比特率逐渐减小,符合误比特率和信噪比的对数关系。
阅读全文