将上一个问题的调制信号用平方根升余弦脉冲成形,滚降系数为0.5; 绘制脉冲成形滤波器的传输函数,标出其带宽。对(2)产生的复基带符号上采样,过脉冲成形滤波器得到复基带信号。绘制复基带信号的功率谱,标出带宽,对比基带信号带宽和符号速率。
时间: 2024-02-26 09:56:42 浏览: 185
平方根升余弦滤波器_发送滤波器_MATLAB仿真在现代通信中的应用_平方根升余弦_滤波器仿真
5星 · 资源好评率100%
以下是matlab代码实现:
调制信号用平方根升余弦脉冲成形,滚降系数为0.5
```matlab
% 构造滤波器,平方根升余弦脉冲成形,滚降系数为0.5,时域长度为50个符号
span = 50; % 滤波器时域长度
rolloff = 0.5; % 滚降系数
srrc_filter = rcosdesign(rolloff, span, Ns/Fs, 'sqrt');
% 将滤波器归一化
srrc_filter = srrc_filter / max(srrc_filter);
% 显示滤波器的时域响应和频域响应
fvtool(srrc_filter, 'Analysis', 'freq')
% 对调制信号进行滤波
tx_signal_filtered = conv(qam_symbols, srrc_filter, 'same');
```
绘制脉冲成形滤波器的传输函数,标出其带宽
```matlab
% 绘制滤波器的传输函数
freqz(srrc_filter, 1, 1024, Fs);
% 获取滤波器的带宽
bw = bandwidth(srrc_filter, Fs);
% 在图上标出带宽
hold on
plot([-bw/2, -bw/2], [-100, 0], 'r--');
plot([bw/2, bw/2], [-100, 0], 'r--');
hold off
% 显示图形标题和轴标签
title('脉冲成形滤波器的传输函数');
xlabel('频率(Hz)');
ylabel('增益(dB)');
```
对(2)产生的复基带符号上采样,过脉冲成形滤波器得到复基带信号。绘制复基带信号的功率谱,标出带宽,对比基带信号带宽和符号速率。
```matlab
% 上采样
tx_signal_upsampled = upsample(qam_symbols, Ns);
% 滤波
tx_signal_bb = conv(tx_signal_upsampled, srrc_filter, 'same');
% 计算功率谱密度
[p, w] = periodogram(tx_signal_bb, [], [], Fs, 'centered', 'psd');
% 绘制功率谱密度图
plot(w, 10*log10(p));
hold on
% 标出带宽
plot([-bw/2, -bw/2], [-200, 0], 'r--');
plot([bw/2, bw/2], [-200, 0], 'r--');
% 显示图形标题和轴标签
title('复基带信号的功率谱密度');
xlabel('频率(Hz)');
ylabel('功率谱密度(dB/Hz)');
% 计算基带信号的带宽
bw_baseband = Rs * (1 + rolloff) / 2;
% 在图上标出基带信号的带宽和符号速率
plot([-bw_baseband/2, -bw_baseband/2], [-200, 0], 'g--');
plot([bw_baseband/2, bw_baseband/2], [-200, 0], 'g--');
plot([Rs/2, Rs/2], [-200, 0], 'm--');
hold off
% 添加图例
legend('功率谱密度', '复基带信号带宽', '基带信号带宽', '符号速率');
```
说明:
通过平方根升余弦脉冲成形滤波器,可以对调制信号进行滤波,使其变为复基带信号。滤波器的带宽可以通过bandwidth函数计算得到,也可以通过freqz函数绘制频域响应图并标出带宽。复基带信号的功率谱密度可以通过periodogram函数计算得到,可以看到其带宽与滤波器的带宽相对应。与基带信号带宽和符号速率相比较,可以看到复基带信号的带宽更宽,这是因为通过脉冲成形滤波器升采样后,信号的带宽被扩展了,但是传输的信息速率仍然为4Kbps。
阅读全文