谈谈 WiFi STBC

Stbc是一个很简单的MIMO技术。是空间和时间复合的技术。

先来上公式:

[y1] =  [ h11 h12 ] * [ x1 ] + [n1]

[y2] =  [ h21 h22 ] * [ x2 ] + [n2]

那么就是Y = H*X + N

以上是编码(发送端)

那么在解码(接收端),

它是这样的,

X= H-1*Y+H-1*N

这是称为ZF的方法(Zero Forcing)。这个方法可以将干扰残余减到0,但是噪声不一定是最优的。

特别之处在于,这里的x1, x2不是对应两个发送天线,y1,y2也不是对应两个接收天线。

一般的情况,如果是这样,那么h11对应是t1->r1, h12对应的是t2->r1. h21和h22照此。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是STBC-OFDM的MATLAB代码示例: 首先定义STBC矩阵: ```matlab % STBC矩阵 STBC = [1 1; -1 1; -1 -1; 1 -1]; ``` 然后定义OFDM参数: ```matlab % OFDM参数 N = 64; % 子载波数量 cp_len = 16; % 循环前缀长度 sig_len = N; % 信号长度 ``` 接着生成随机QPSK调制信号: ```matlab % 生成随机QPSK调制信号 data = randi([0 3], 1, sig_len); % 随机生成0~3之间的整数 mod_data = exp(1j*pi/2*data).'; % QPSK调制 ``` 将调制信号转换为OFDM符号: ```matlab % 将调制信号转换为OFDM符号 ofdm_sym = zeros(N, 1); ofdm_sym(1:2:end) = mod_data(1:N/2); ofdm_sym(2:2:end) = mod_data(N/2+1:end); ``` 对OFDM符号进行STBC编码: ```matlab % 对OFDM符号进行STBC编码 stbc_sym = zeros(size(STBC, 2), sig_len+cp_len); for n = 1:size(STBC, 2) stbc_data = [ofdm_sym; zeros(cp_len, 1)]; for k = 1:N stbc_data(k:k+cp_len-1) = stbc_data(k:k+cp_len-1) + STBC(n, k)*ofdm_sym(k); end stbc_sym(n, :) = stbc_data.'; end ``` 最后将编码后的信号发送到接收端进行解码: ```matlab % 在接收端解码 rx_stbc_sym = rand(size(stbc_sym)) + 1j*rand(size(stbc_sym)); % 假设接收到了编码后的信号 rx_ofdm_sym = zeros(sig_len, 1); for n = 1:size(STBC, 2) rx_data = rx_stbc_sym(n, cp_len+1:end).'; for k = 1:N rx_data(k) = rx_data(k)*conj(STBC(n, k)); end rx_ofdm_sym(1:N/2) = rx_data(1:2:end); rx_ofdm_sym(N/2+1:end) = rx_data(2:2:end); end rx_mod_data = angle(rx_ofdm_sym)/pi*2; % 解调 ``` 以上就是STBC-OFDM的MATLAB代码示例,可以根据实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

relis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值