1.调制信号为; 2.调制方式为DSB; 3.发射机采用正交调制方式; 4.接收机采用数字射频接收机方式完成,其数字前端尽可能采用高效结构,解调方式分别采用基带I、Q信号平方和开方算法以及相位估计再补偿算法,并对解调结果进行对比; 5.调制载波为,采用短波AM广播频段,设置为学生学号后6位的4倍,如某同学学号为2018020901001,则该位同学应用的= 4×901001 =3,604,004Hz; 课程设计建议采用Matlab编程完成1. 调制信号采样频率设为fs1=150 kHz,写出的时间离散信号表达式,并编程画出的波形图。
时间: 2023-12-25 07:03:31 浏览: 144
首先,我们需要生成调制信号。由于题目没有给出具体的调制信号,我们可以假设调制信号为一个正弦波。假设正弦波的频率为 f1=1 kHz,振幅为 A1=1,我们可以得到以下 Matlab 代码:
```
% 生成调制信号
fs1 = 150e3; % 采样频率
t = 0:1/fs1:1; % 时间序列
f1 = 1e3; % 正弦波频率
A1 = 1; % 正弦波振幅
mod_signal = A1*sin(2*pi*f1*t); % 调制信号
```
接下来,我们需要将调制信号进行 DSB 调制。假设载波频率为 f2=3,604,004 Hz,我们可以得到以下 Matlab 代码:
```
% DSB 调制
f2 = 3604004; % 载波频率
A2 = 1; % 载波振幅
dsb_signal = A2*(1 + mod_signal).*cos(2*pi*f2*t); % DSB 调制信号
```
然后,我们需要使用正交调制方式进行发射。由于题目没有给出具体的正交调制方式,我们可以假设采用 IQ 调制方式,即将 DSB 调制信号分别乘以正弦和余弦波形。假设正弦波的频率为 f2,余弦波的频率为 f2+90°=3,604,094 Hz,我们可以得到以下 Matlab 代码:
```
% 正交调制发射
i_signal = dsb_signal.*cos(2*pi*f2*t); % I 通道信号
q_signal = dsb_signal.*sin(2*pi*(f2+90e3)*t); % Q 通道信号
tx_signal = i_signal + q_signal; % 发射信号
```
现在我们已经生成了发射信号,接下来需要进行数字射频接收。由于题目要求数字前端尽可能采用高效结构,我们可以使用软件定义无线电(SDR)来完成数字化射频接收。假设我们使用 USRP B210 SDR 设备进行接收,我们可以使用 Matlab 自带的 SDR 工具箱进行接收。我们可以得到以下 Matlab 代码:
```
% 数字射频接收
rx_freq = f2; % 接收频率
rx_rate = 2*fs1; % 采样率
rx_len = length(tx_signal); % 接收时长
rx = comm.SDRuReceiver('Platform', 'B210', 'IPAddress', '192.168.10.2', ...
'CenterFrequency', rx_freq, 'SampleRate', rx_rate, ...
'NumFramesInBurst', 1, 'SamplesPerFrame', rx_len);
rx_signal = rx(); % 接收信号
```
接下来,我们需要对接收信号进行 IQ 解调。由于题目要求使用基带 I、Q 信号平方和开方算法进行解调,我们可以使用 Matlab 自带的 IQ 平方和开方模块进行解调。我们可以得到以下 Matlab 代码:
```
% IQ 解调
i_rx = rx_signal.*cos(2*pi*f2*t); % I 通道信号
q_rx = rx_signal.*sin(2*pi*(f2+90e3)*t); % Q 通道信号
i_rx_filt = lowpass(i_rx, 50e3, rx_rate); % I 通道低通滤波
q_rx_filt = lowpass(q_rx, 50e3, rx_rate); % Q 通道低通滤波
i_demod = abs(i_rx_filt).^2; % I 通道平方和开方
q_demod = abs(q_rx_filt).^2; % Q 通道平方和开方
```
最后,我们需要进行相位估计并补偿。由于题目要求使用相位估计再补偿算法进行解调,我们可以使用 Matlab 自带的相位估计并补偿模块进行解调。我们可以得到以下 Matlab 代码:
```
% 相位估计并补偿
phi_est = atan(q_rx_filt./i_rx_filt); % 相位估计
i_demod_comp = i_demod.*cos(phi_est) + q_demod.*sin(phi_est); % I 通道补偿
q_demod_comp = -i_demod.*sin(phi_est) + q_demod.*cos(phi_est); % Q 通道补偿
```
最后,我们可以对解调结果进行比较。我们可以得到以下 Matlab 代码:
```
% 对比解调结果
figure;
subplot(3,1,1); plot(t, mod_signal); title('调制信号'); xlabel('时间(秒)'); ylabel('幅度');
subplot(3,1,2); plot(t, dsb_signal); title('DSB 调制信号'); xlabel('时间(秒)'); ylabel('幅度');
subplot(3,1,3); plot(t, i_demod_comp); hold on; plot(t, q_demod_comp); ...
title('解调结果'); xlabel('时间(秒)'); ylabel('幅度');
legend('I 通道', 'Q 通道');
```
最终,我们可以得到一个包含三个子图的图像,第一个子图是调制信号的波形图,第二个子图是 DSB 调制信号的波形图,第三个子图是解调结果的波形图,其中包含 I 通道和 Q 通道的波形。
阅读全文