【无线通信】OQPSK

调制

sps = 8;
RolloffFactor = 0.2;
FilterSpanInSymbols = 10;

bits = randi([0, 1], 224*8, 1); % 1792

symbols = bits*2 - 1;   % 1792
re = -symbols(2:2:end); % 896
im = -symbols(1:2:end); % 896


pFilterTx = comm.RaisedCosineTransmitFilter(...
    'Shape', 'Square root', ...
    'RolloffFactor', RolloffFactor, ...
    'FilterSpanInSymbols', FilterSpanInSymbols, ...
    'OutputSamplesPerSymbol', sps, ...
    'Gain', sqrt(sps/2));

filtered   = pFilterTx([re im]);% 896 * sps = 3584
filteredRe = filtered(:, 1);
filteredIm = filtered(:, 2);

% oqpskWaveform       = complex(filteredRe, filteredIm);
% oqpskWaveform       = complex(filteredRe, filteredAligned);
oqpskWaveform       = complex(...
                    [filteredRe ; zeros(sps/2, 1)], ...
                    [zeros(sps/2, 1) ; filteredIm]); %  3586 * 2 

查看TX的中间状态

% 绘制相位图
plot(unwrap(angle(oqpskWaveform)),'o-')
% 绘制IQ图
plot(1:length(oqpskWaveform),real(oqpskWaveform),1:length(oqpskWaveform),imag(oqpskWaveform))
% 频谱图
plot(abs(fftshift(fft(oqpskWaveform))))
% 星座图
scatterplot(oqpskWaveform);

信道

snr = 7;
rxWaveform = awgn(oqpskWaveform,snr);

解调

pFilterRx = comm.RaisedCosineReceiveFilter(...
    'Shape', 'Square root', ...
    'RolloffFactor', RolloffFactor, ...
    'FilterSpanInSymbols', FilterSpanInSymbols, ...
    'InputSamplesPerSymbol', sps, ...
    'DecimationFactor', sps, ...
    'DecimationOffset', sps/2, ...
    'Gain', sqrt(sps/2));

alignedRx = complex(...
    [zeros(sps/2, 1); real(rxWaveform)], ...
    [imag(rxWaveform);zeros(sps/2, 1)]);  %  3588 * 2 

filteredRx = pFilterRx(alignedRx); % 3588/4 = 897

demodulatedRx = qamdemod(filteredRx, 4, [1 3 0 2]); %  897 
outputBits = int2bit(demodulatedRx, 2); % 1792

BER

delay = 2 * FilterSpanInSymbols; % 20
[~, ber] = biterr(bits(1:end-delay), outputBits(delay+1:end-2))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

  1. 通信行业无线基本概念

    2024-04-24 03:08:03       54 阅读
  2. 无线通信:多址(Multiple Access)方式

    2024-04-24 03:08:03       47 阅读
  3. 商用无线通信:信道带宽

    2024-04-24 03:08:03       32 阅读
  4. 【东枫科技 招聘】实习:无线通信工程

    2024-04-24 03:08:03       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 03:08:03       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 03:08:03       97 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 03:08:03       78 阅读
  4. Python语言-面向对象

    2024-04-24 03:08:03       88 阅读

热门阅读

  1. 大华相机C#学习之Enumerator类

    2024-04-24 03:08:03       36 阅读
  2. 数据治理——元数据管理实施步骤

    2024-04-24 03:08:03       37 阅读
  3. python基本语法与使用

    2024-04-24 03:08:03       162 阅读
  4. vue纯前端实现表格分页及条件查询功能

    2024-04-24 03:08:03       31 阅读
  5. 挂在Avalon总线上的AD7656芯片驱动verilog程序实现

    2024-04-24 03:08:03       29 阅读
  6. 【C语言笔记】memcpy和memncpy函数的异同点

    2024-04-24 03:08:03       39 阅读
  7. 力扣经典150题解析之三十四:有效的数独

    2024-04-24 03:08:03       55 阅读
  8. 【无标题】

    2024-04-24 03:08:03       34 阅读