基于Matlab模拟Alamouti 编码附代码

简介: 基于Matlab模拟Alamouti 编码附代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

一种基于Alamouti编码的通信方法及系统,其中,方法包括:发射端对远端用户的数据或发送给远端用户的数据进行Alamouti编码,并且对近端用户的数据在两个时隙内分别发送近端用户的数据的信号及近端用户的数据的共轭信号;接收端根据第一次估计得到的信道信息对接收到的信号进行远端用户信号的解调和Alamouti解码,并且根据第二次估计得到的信道信息对解调后的远端用户的信号进行重构,并由接收到的总信号减去远端用户的信号,且对近端用户的信息进行解码,以获取远端用户和近端用户的信息.该方法可以提升信息的传输可靠性,使得解调的误码率更低,从而有效提高信息传输的可靠性,降低系统的误码率.

⛄ 部分代码

clear; clc;

ber=[];

BER=[];

snr=[0:10];


for i=0:10

   ber=[ber Alamoudi_2T1R(i,500)];

   BER=[BER Alamoudi_2T2R(i,500)];

end


N = 10^3;   % Total no of of bits per simulation per SNR_dB


bitstrm = [];             %initialisation of matrices


for i = 1:N

            bitstrm = [bitstrm (-1+2*round(rand(1,1)))];    %creating random data      

end


Eb_No_dB = [0:10]; % multiple Eb/No values


for i = 1:length(Eb_No_dB)

  sig = sqrt(1/10^(Eb_No_dB(i)/10)); % noise variance

  n = sig*(randn(1,N) + 1i*randn(1,N));  % Additive white gaussian noise prototype

 

  h = randn(1,N) + 1i*randn(1,N);  % Rayleigh channel

 

  y = h.*bitstrm + n; % bit-streams corrupted by Rayleigh channel & AWGN

  y_rcv = y./h; % equalization of received data by channel information at the receiver

 

  Data_rcv = Refresh(real(y_rcv));  % Regenerating the received bits by threshold comparison

 

  Err(i) = sum(sum(round(bitstrm) ~= round(Data_rcv))); % computing the bit error in each simulation

end


simBer = Err/N; % average BER on total no. of bits simulated

simBer = berfit(Eb_No_dB,simBer);

Eb_No_lin = 10.^(Eb_No_dB/10);

theoryBer = 0.5.*(1-sqrt(Eb_No_lin./(Eb_No_lin+1)));


ber = berfit(snr,ber);

BER = berfit(snr,BER);


% plotting the simulated results

semilogy(snr,ber,'--*g');

hold on;

semilogy(snr,BER,'--*r');

semilogy(Eb_No_dB,theoryBer,'m--p');

semilogy(Eb_No_dB,simBer,'b--*');

axis([0 10 10^-5 1])

legend('simulated Alamouti 2T1R','simulated Alamouti 2T2R','BPSK over Rayleigh channel- Theoretical','BPSK over Rayleigh channel- Simulated');

xlabel('snr Eb/No(dB)');

ylabel('Bit error probability(BER)');

title('simulated performances of Alamouti 2T1R & 2T2R schemes for BPSK');



⛄ 运行结果

⛄ 参考文献

[1]朱红海. 采用分集Alamouti编码的WiMAX增强系统的仿真[D]. 华中科技大学.

[2]杨丽园, 陈理想, 陈万里,等. 基于Alamouti编码的通信方法及系统:, CN108616333A[P]. 2018.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料



相关文章
|
2月前
|
机器学习/深度学习
信道编码译码及MATLAB仿真(三)
信道编码译码及MATLAB仿真
144 3
|
2月前
|
算法
信道编码译码及MATLAB仿真(二)
信道编码译码及MATLAB仿真
55 3
|
9月前
|
存储 算法 语音技术
基于ACF,AMDF算法的语音编码matlab仿真
基于ACF,AMDF算法的语音编码matlab仿真
|
10月前
|
算法
基于DCT变换和huffman编码的语音压缩算法matlab仿真
基于DCT变换和huffman编码的语音压缩算法matlab仿真
|
10月前
|
机器学习/深度学习 传感器 算法
【图像压缩】基于霍夫曼+行程+算术编码多种算法得灰色图像无损+有损压缩附Matlab代码
【图像压缩】基于霍夫曼+行程+算术编码多种算法得灰色图像无损+有损压缩附Matlab代码
|
10天前
|
缓存 算法
基于机会网络编码(COPE)的卫星网络路由算法matlab仿真
**摘要:** 该程序实现了一个基于机会网络编码(COPE)的卫星网络路由算法,旨在提升无线网络的传输效率和吞吐量。在MATLAB2022a中测试,结果显示了不同数据流个数下的网络吞吐量。算法通过Dijkstra函数寻找路径,计算编码机会(Nab和Nx),并根据编码机会减少传输次数。当有编码机会时,中间节点执行编码和解码操作,优化传输路径。结果以图表形式展示,显示数据流与吞吐量的关系,并保存为`R0.mat`。COPE算法预测和利用编码机会,适应卫星网络的动态特性,提高数据传输的可靠性和效率。
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于有序抖动块截断编码的水印嵌入和提取算法matlab仿真
这是一个关于数字图像水印嵌入的算法介绍。使用MATLAB2022a,该算法基于DOTC,结合抖动和量化误差隐藏,确保水印的鲁棒性和隐蔽性。图像被分为N*N块,根据水印信号进行二值化处理,通过调整重建电平的奇偶性嵌入水印。水印提取是嵌入过程的逆操作,通过重建电平恢复隐藏的水印比特。提供的代码片段展示了从块处理、水印嵌入到噪声攻击模拟及水印提取的过程,还包括PSNR和NC的计算,用于评估水印在不同噪声水平下的性能。
|
2月前
|
机器学习/深度学习 编解码 关系型数据库
信道编码译码及MATLAB仿真(一)
信道编码译码及MATLAB仿真
75 2
|
10月前
|
机器学习/深度学习 数据采集 算法
基于AutoEncoder自编码器的人脸识别matlab仿真
基于AutoEncoder自编码器的人脸识别matlab仿真
|
10月前
|
算法 计算机视觉
基于方向编码的模板匹配算法matlab仿真
基于方向编码的模板匹配算法matlab仿真