π/4-DQPSK 调制:MATLAB 代码生成 [01100110] 序列的波形和频谱
% 生成π/4-DQPSK的调制映射表 mapping_table = exp(j*[pi/4, 3pi/4, -3pi/4, -pi/4]);
% 生成输入序列 input_seq = [0, 1, 1, 0, 0, 1, 1, 0];
% 将输入序列分为两个分支 branch1 = input_seq(1:2:end); branch2 = input_seq(2:2:end);
% 对每个分支进行π/4-DQPSK调制 phase1 = cumsum(branch1)pi/2; phase2 = cumsum(branch2)pi/2; modulated_symbols = mapping_table(rem(round(phase1/pi2+1)+round(phase2/pi2+1), 4)+1);
% 将调制后的符号串转换为连续的信号波形 upsampled_symbols = upsample(modulated_symbols, 8); tx_signal = real(ifft(upsampled_symbols));
% 绘制调制前的输入序列波形和频谱图 subplot(2, 1, 1); stem(input_seq); title('Input Sequence'); xlabel('Time'); ylabel('Amplitude'); xlim([0, length(input_seq)+1]); subplot(2, 1, 2); plot(abs(fft(input_seq))); title('Input Sequence Spectrum'); xlabel('Frequency'); ylabel('Magnitude');
% 绘制调制后的信号波形和频谱图 figure; subplot(2, 1, 1); plot(tx_signal); title('π/4-DQPSK Modulated Signal'); xlabel('Time'); ylabel('Amplitude'); xlim([0, length(tx_signal)]); subplot(2, 1, 2); plot(abs(fft(tx_signal))); title('π/4-DQPSK Modulated Signal Spectrum'); xlabel('Frequency'); ylabel('Magnitude');
原文地址: https://www.cveoy.top/t/topic/ntMK 著作权归作者所有。请勿转载和采集!