matlab 模拟离散信道的图像传输

主函数

clear;
clc;
I=imread('star.jpg');
Imgray=rgb2gray(I);
thresh=graythresh(I);   %灰度阈值
Im=im2bw(I,thresh);
p=abs(eye(256)+0.02*random('Normal',0,0.03,256,256));
p=p./sum(p);%归一化处理
figure
subplot(2,2,1);imshow(I,[]);title('原图');
I(:,:,1)=Mybsc(I(:,:,1),p);
I(:,:,2)=Mybsc(I(:,:,2),p);
I(:,:,3)=Mybsc(I(:,:,3),p);
subplot(2,2,2);imshow(I,[]);title('256传输');%。。。。。。。程序正确性验证

信道函数

function [ A ] = Mybsc(I,p)
%MYBSC2 bsc信道函数
%   I-输入的二值图像或0,1矩阵;p-BSC信道参数
I=im2double(I)*255;
[m,n]=size(I);
x=zeros(m,n);
pn=zeros(m,n);%像素属于第几个通道
%%
%确定列数,以及轮盘赌累加
c=[];%列数
[rr,c]=size(p);
for jjj=1:rr
pb(1,jjj)=p(1,jjj);
for iii=2:c
    pb(iii,jjj)=pb(iii-1,jjj)+p(iii,jjj);
end
end
%pb为轮盘赌累加向量
%%
for i=1:m
    for j=1:n 
        pn(i,j)=ceil((I(i,j))*rr/255);
        if pn(i,j)==0
            pn(i,j)=1;
        end
        r=rand();
      for jj=1:c-1
       if r>pb(jj,pn(i,j))&&r<pb(jj+1,pn(i,j)) 
           x(i,j)=floor((jj+1)*255/c);
           break;
       elseif r==pb(jj+1,pn(i,j))
           x(i,j)=floor((jj+1)*255/c);
           break;
       elseif r<=pb(1,pn(i,j))
           x(i,j)=floor(255/c);
           break;
       end
      end

        
    end
end
A=x;
end

实现结果

在这里插入图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Matlab是一款流行的工具箱,用于数学计算、数据可视化和算法开发。离散对称信道是一种特殊的信道,它具有多种应用,包括通信和信息传输。通过使用Matlab,我们可以进行离散对称信道信道容量仿真,以验证理论分析并优化信道参数。 离散对称信道信道容量可以通过Shannon公式计算,可以利用Matlab编写通用计算程序,并从多个信道参数下计算它们的信道容量。通常情况下,我们会假定离散对称信道上两个可发送的符号具有相等的概率,并且使用等概率发送。Shannon公式给出了最大的平均传输速率,可以在给定平均错误率和信噪比(SNR)的情况下计算信道容量。 在仿真中,我们可以改变信道参数并比较容量的变化。例如,我们可以增加信噪比来提高信道容量。我们还可以测试不同子载波下的OFDM系统中的信道容量,并确定理论信道容量与仿真结果之间的一般一致性。此外,我们可以采用不同的编码技术和纠错技术来改善信道传输性能,并分析仿真结果。最终,我们可以使用Matlab软件中的数据分析和可视化工具来生成图形并展示仿真结果。 总之,Matlab是进行离散对称信道信道容量仿真的有用工具。通过理解离散对称信道的数学模型,并使用Shannon公式进行模拟,我们可以比较容易地计算出信道容量,并进一步优化信道参数以提高信道传输性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值