RS信道编码(matlab)

 

%BPSK调制在AWGN信道下,RS码
clear all

SNR=-10:10;
N=30000;      %消息比特个数
ber1=zeros(1,length(SNR));

n=7;
k=5;
T=1;                        %符号周期
fs=2;                     %每个符号的采样点数
% fc=2;                      %载波频率
ts=1/fs;                    %采样时间间隔
t=0:ts:T-ts;                %时间向量

msg=randi([0,1],1,N);

msg8=bi2ba(msg);%二进制转成八进制
msg81=reshape(msg8,5,length(msg8)/5).'; %待转换的矩阵就生成了
msgGF=gf(msg81,3);   
msgrs=rsenc(msgGF,n,k); %(5,7)RS编码成功 7个输入 5个输出
%msgrs的格式为length(msg8)/k行,n列
msgrs1=reshape(msgrs.',1,length(msg8)/k*n); 
msgrs2=de2bi(double(msgrs1.x),'left-msb');%十进制转二进制
%msgrs2的格式为length(msg8)/k*n行,3列
msgy=reshape(msgrs2',1,length(msg8)/k*n*3);%待调制信号


x1=pskmod(msgy,2);

 for ii=1:length(SNR)
  
y=awgn(x1,SNR(ii));    %高斯信道   
y1=pskdemod(y,2);
    
[hnum,lnum]=size(y1);
yrsgs8=reshape(y1,3,hnum*lnum/3).';
yrsgs81&#
  • 6
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值